mirror of
https://github.com/zeldaret/oot.git
synced 2025-05-11 11:33:48 +00:00
En_Dh (#474)
* 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 * Is this where I make a Mr Hands joke? * Manos: the Hands of Fate * cleanup * and format
This commit is contained in:
parent
fd97e8433e
commit
bf9a1aadd9
31 changed files with 597 additions and 1942 deletions
|
@ -1,19 +0,0 @@
|
|||
glabel EnDh_Destroy
|
||||
/* 00140 809EAE80 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00144 809EAE84 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00148 809EAE88 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 0014C 809EAE8C 0C03D6D6 */ jal func_800F5B58
|
||||
/* 00150 809EAE90 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00154 809EAE94 8FA50018 */ lw $a1, 0x0018($sp)
|
||||
/* 00158 809EAE98 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 0015C 809EAE9C 0C0170EB */ jal Collider_DestroyCylinder
|
||||
|
||||
/* 00160 809EAEA0 24A50260 */ addiu $a1, $a1, 0x0260 ## $a1 = 00000260
|
||||
/* 00164 809EAEA4 8FA50018 */ lw $a1, 0x0018($sp)
|
||||
/* 00168 809EAEA8 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 0016C 809EAEAC 0C016F32 */ jal Collider_DestroyJntSph
|
||||
/* 00170 809EAEB0 24A502AC */ addiu $a1, $a1, 0x02AC ## $a1 = 000002AC
|
||||
/* 00174 809EAEB4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00178 809EAEB8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 0017C 809EAEBC 03E00008 */ jr $ra
|
||||
/* 00180 809EAEC0 00000000 */ nop
|
|
@ -1,245 +0,0 @@
|
|||
.rdata
|
||||
glabel D_809EC680
|
||||
.asciz "../z_en_dh.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_809EC690
|
||||
.asciz "../z_en_dh.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_809EC6A0
|
||||
.asciz "../z_en_dh.c"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_809EC6EC
|
||||
.float 0.01
|
||||
|
||||
.text
|
||||
glabel EnDh_Draw
|
||||
/* 014F0 809EC230 27BDFF70 */ addiu $sp, $sp, 0xFF70 ## $sp = FFFFFF70
|
||||
/* 014F4 809EC234 AFB20040 */ sw $s2, 0x0040($sp)
|
||||
/* 014F8 809EC238 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
|
||||
/* 014FC 809EC23C AFBF0044 */ sw $ra, 0x0044($sp)
|
||||
/* 01500 809EC240 AFB1003C */ sw $s1, 0x003C($sp)
|
||||
/* 01504 809EC244 AFB00038 */ sw $s0, 0x0038($sp)
|
||||
/* 01508 809EC248 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 0150C 809EC24C 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 01510 809EC250 3C06809F */ lui $a2, %hi(D_809EC680) ## $a2 = 809F0000
|
||||
/* 01514 809EC254 24C6C680 */ addiu $a2, $a2, %lo(D_809EC680) ## $a2 = 809EC680
|
||||
/* 01518 809EC258 27A40074 */ addiu $a0, $sp, 0x0074 ## $a0 = FFFFFFE4
|
||||
/* 0151C 809EC25C 2407044B */ addiu $a3, $zero, 0x044B ## $a3 = 0000044B
|
||||
/* 01520 809EC260 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 01524 809EC264 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 01528 809EC268 922E025A */ lbu $t6, 0x025A($s1) ## 0000025A
|
||||
/* 0152C 809EC26C 240100FF */ addiu $at, $zero, 0x00FF ## $at = 000000FF
|
||||
/* 01530 809EC270 15C10021 */ bne $t6, $at, .L809EC2F8
|
||||
/* 01534 809EC274 00000000 */ nop
|
||||
/* 01538 809EC278 0C024F46 */ jal func_80093D18
|
||||
/* 0153C 809EC27C 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
|
||||
/* 01540 809EC280 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
|
||||
/* 01544 809EC284 3C18FB00 */ lui $t8, 0xFB00 ## $t8 = FB000000
|
||||
/* 01548 809EC288 3C0BDB06 */ lui $t3, 0xDB06 ## $t3 = DB060000
|
||||
/* 0154C 809EC28C 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
|
||||
/* 01550 809EC290 AE0F02C0 */ sw $t7, 0x02C0($s0) ## 000002C0
|
||||
/* 01554 809EC294 AC780000 */ sw $t8, 0x0000($v1) ## 00000000
|
||||
/* 01558 809EC298 9229025A */ lbu $t1, 0x025A($s1) ## 0000025A
|
||||
/* 0155C 809EC29C 3C0C8011 */ lui $t4, %hi(D_80116280+0x10)
|
||||
/* 01560 809EC2A0 258C6290 */ addiu $t4, %lo(D_80116280+0x10)
|
||||
/* 01564 809EC2A4 AC690004 */ sw $t1, 0x0004($v1) ## 00000004
|
||||
/* 01568 809EC2A8 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
|
||||
/* 0156C 809EC2AC 356B0020 */ ori $t3, $t3, 0x0020 ## $t3 = DB060020
|
||||
/* 01570 809EC2B0 3C0D809F */ lui $t5, %hi(func_809EC1A0) ## $t5 = 809F0000
|
||||
/* 01574 809EC2B4 246A0008 */ addiu $t2, $v1, 0x0008 ## $t2 = 00000008
|
||||
/* 01578 809EC2B8 AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0
|
||||
/* 0157C 809EC2BC AC6C0004 */ sw $t4, 0x0004($v1) ## 00000004
|
||||
/* 01580 809EC2C0 AC6B0000 */ sw $t3, 0x0000($v1) ## 00000000
|
||||
/* 01584 809EC2C4 9227014E */ lbu $a3, 0x014E($s1) ## 0000014E
|
||||
/* 01588 809EC2C8 8E26016C */ lw $a2, 0x016C($s1) ## 0000016C
|
||||
/* 0158C 809EC2CC 8E250150 */ lw $a1, 0x0150($s1) ## 00000150
|
||||
/* 01590 809EC2D0 25ADC1A0 */ addiu $t5, $t5, %lo(func_809EC1A0) ## $t5 = 809EC1A0
|
||||
/* 01594 809EC2D4 AFAD0014 */ sw $t5, 0x0014($sp)
|
||||
/* 01598 809EC2D8 AFB10018 */ sw $s1, 0x0018($sp)
|
||||
/* 0159C 809EC2DC AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 015A0 809EC2E0 8E0E02C0 */ lw $t6, 0x02C0($s0) ## 000002C0
|
||||
/* 015A4 809EC2E4 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
|
||||
/* 015A8 809EC2E8 0C0289CF */ jal SkelAnime_DrawFlex
|
||||
/* 015AC 809EC2EC AFAE001C */ sw $t6, 0x001C($sp)
|
||||
/* 015B0 809EC2F0 1000001E */ beq $zero, $zero, .L809EC36C
|
||||
/* 015B4 809EC2F4 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0
|
||||
.L809EC2F8:
|
||||
/* 015B8 809EC2F8 0C024F61 */ jal func_80093D84
|
||||
/* 015BC 809EC2FC 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
|
||||
/* 015C0 809EC300 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 015C4 809EC304 3C18FB00 */ lui $t8, 0xFB00 ## $t8 = FB000000
|
||||
/* 015C8 809EC308 3C0BDB06 */ lui $t3, 0xDB06 ## $t3 = DB060000
|
||||
/* 015CC 809EC30C 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
|
||||
/* 015D0 809EC310 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0
|
||||
/* 015D4 809EC314 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
|
||||
/* 015D8 809EC318 9229025A */ lbu $t1, 0x025A($s1) ## 0000025A
|
||||
/* 015DC 809EC31C 3C0C8011 */ lui $t4, %hi(D_80116280)
|
||||
/* 015E0 809EC320 258C6280 */ addiu $t4, %lo(D_80116280)
|
||||
/* 015E4 809EC324 AC490004 */ sw $t1, 0x0004($v0) ## 00000004
|
||||
/* 015E8 809EC328 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 015EC 809EC32C 356B0020 */ ori $t3, $t3, 0x0020 ## $t3 = DB060020
|
||||
/* 015F0 809EC330 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
|
||||
/* 015F4 809EC334 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
|
||||
/* 015F8 809EC338 AE0A02D0 */ sw $t2, 0x02D0($s0) ## 000002D0
|
||||
/* 015FC 809EC33C AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
|
||||
/* 01600 809EC340 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
|
||||
/* 01604 809EC344 9227014E */ lbu $a3, 0x014E($s1) ## 0000014E
|
||||
/* 01608 809EC348 8E26016C */ lw $a2, 0x016C($s1) ## 0000016C
|
||||
/* 0160C 809EC34C 8E250150 */ lw $a1, 0x0150($s1) ## 00000150
|
||||
/* 01610 809EC350 AFB10018 */ sw $s1, 0x0018($sp)
|
||||
/* 01614 809EC354 AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 01618 809EC358 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 0161C 809EC35C 8E0D02D0 */ lw $t5, 0x02D0($s0) ## 000002D0
|
||||
/* 01620 809EC360 0C0289CF */ jal SkelAnime_DrawFlex
|
||||
/* 01624 809EC364 AFAD001C */ sw $t5, 0x001C($sp)
|
||||
/* 01628 809EC368 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0
|
||||
.L809EC36C:
|
||||
/* 0162C 809EC36C 922E0252 */ lbu $t6, 0x0252($s1) ## 00000252
|
||||
/* 01630 809EC370 11C0007F */ beq $t6, $zero, .L809EC570
|
||||
/* 01634 809EC374 00000000 */ nop
|
||||
/* 01638 809EC378 0C024F61 */ jal func_80093D84
|
||||
/* 0163C 809EC37C 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
|
||||
/* 01640 809EC380 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 01644 809EC384 3C195537 */ lui $t9, 0x5537 ## $t9 = 55370000
|
||||
/* 01648 809EC388 37390082 */ ori $t9, $t9, 0x0082 ## $t9 = 55370082
|
||||
/* 0164C 809EC38C 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
|
||||
/* 01650 809EC390 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0
|
||||
/* 01654 809EC394 3C18FB00 */ lui $t8, 0xFB00 ## $t8 = FB000000
|
||||
/* 01658 809EC398 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
|
||||
/* 0165C 809EC39C AC590004 */ sw $t9, 0x0004($v0) ## 00000004
|
||||
/* 01660 809EC3A0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 01664 809EC3A4 3C0ADB06 */ lui $t2, 0xDB06 ## $t2 = DB060000
|
||||
/* 01668 809EC3A8 354A0020 */ ori $t2, $t2, 0x0020 ## $t2 = DB060020
|
||||
/* 0166C 809EC3AC 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
|
||||
/* 01670 809EC3B0 AE0902D0 */ sw $t1, 0x02D0($s0) ## 000002D0
|
||||
/* 01674 809EC3B4 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
||||
/* 01678 809EC3B8 8E43009C */ lw $v1, 0x009C($s2) ## 0000009C
|
||||
/* 0167C 809EC3BC 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
|
||||
/* 01680 809EC3C0 240A0040 */ addiu $t2, $zero, 0x0040 ## $t2 = 00000040
|
||||
/* 01684 809EC3C4 00030823 */ subu $at, $zero, $v1
|
||||
/* 01688 809EC3C8 00017080 */ sll $t6, $at, 2
|
||||
/* 0168C 809EC3CC 0001C080 */ sll $t8, $at, 2
|
||||
/* 01690 809EC3D0 0301C021 */ addu $t8, $t8, $at
|
||||
/* 01694 809EC3D4 01C17021 */ addu $t6, $t6, $at
|
||||
/* 01698 809EC3D8 000E7040 */ sll $t6, $t6, 1
|
||||
/* 0169C 809EC3DC 0018C080 */ sll $t8, $t8, 2
|
||||
/* 016A0 809EC3E0 00013080 */ sll $a2, $at, 2
|
||||
/* 016A4 809EC3E4 00C13023 */ subu $a2, $a2, $at
|
||||
/* 016A8 809EC3E8 331900FF */ andi $t9, $t8, 0x00FF ## $t9 = 00000000
|
||||
/* 016AC 809EC3EC 31CF007F */ andi $t7, $t6, 0x007F ## $t7 = 00000000
|
||||
/* 016B0 809EC3F0 24090020 */ addiu $t1, $zero, 0x0020 ## $t1 = 00000020
|
||||
/* 016B4 809EC3F4 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020
|
||||
/* 016B8 809EC3F8 240C0040 */ addiu $t4, $zero, 0x0040 ## $t4 = 00000040
|
||||
/* 016BC 809EC3FC 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
|
||||
/* 016C0 809EC400 AFAD0018 */ sw $t5, 0x0018($sp)
|
||||
/* 016C4 809EC404 AFAC0014 */ sw $t4, 0x0014($sp)
|
||||
/* 016C8 809EC408 AFAB0010 */ sw $t3, 0x0010($sp)
|
||||
/* 016CC 809EC40C AFA90024 */ sw $t1, 0x0024($sp)
|
||||
/* 016D0 809EC410 AFAF001C */ sw $t7, 0x001C($sp)
|
||||
/* 016D4 809EC414 AFB90020 */ sw $t9, 0x0020($sp)
|
||||
/* 016D8 809EC418 30C6007F */ andi $a2, $a2, 0x007F ## $a2 = 00000000
|
||||
/* 016DC 809EC41C AFAA0028 */ sw $t2, 0x0028($sp)
|
||||
/* 016E0 809EC420 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 016E4 809EC424 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 016E8 809EC428 0C0253D0 */ jal Gfx_TwoTexScroll
|
||||
/* 016EC 809EC42C AFA2005C */ sw $v0, 0x005C($sp)
|
||||
/* 016F0 809EC430 8FA8005C */ lw $t0, 0x005C($sp)
|
||||
/* 016F4 809EC434 3C0CFA00 */ lui $t4, 0xFA00 ## $t4 = FA000000
|
||||
/* 016F8 809EC438 358C8080 */ ori $t4, $t4, 0x8080 ## $t4 = FA008080
|
||||
/* 016FC 809EC43C AD020004 */ sw $v0, 0x0004($t0) ## 00000004
|
||||
/* 01700 809EC440 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0
|
||||
/* 01704 809EC444 444DF800 */ cfc1 $t5, $31
|
||||
/* 01708 809EC448 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 0170C 809EC44C 246B0008 */ addiu $t3, $v1, 0x0008 ## $t3 = 00000008
|
||||
/* 01710 809EC450 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0
|
||||
/* 01714 809EC454 AC6C0000 */ sw $t4, 0x0000($v1) ## 00000000
|
||||
/* 01718 809EC458 44CEF800 */ ctc1 $t6, $31
|
||||
/* 0171C 809EC45C C6240320 */ lwc1 $f4, 0x0320($s1) ## 00000320
|
||||
/* 01720 809EC460 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
|
||||
/* 01724 809EC464 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 01728 809EC468 460021A4 */ cvt.w.s $f6, $f4
|
||||
/* 0172C 809EC46C 444EF800 */ cfc1 $t6, $31
|
||||
/* 01730 809EC470 00000000 */ nop
|
||||
/* 01734 809EC474 31CE0078 */ andi $t6, $t6, 0x0078 ## $t6 = 00000000
|
||||
/* 01738 809EC478 51C00013 */ beql $t6, $zero, .L809EC4C8
|
||||
/* 0173C 809EC47C 440E3000 */ mfc1 $t6, $f6
|
||||
/* 01740 809EC480 44813000 */ mtc1 $at, $f6 ## $f6 = 2147483648.00
|
||||
/* 01744 809EC484 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 01748 809EC488 46062181 */ sub.s $f6, $f4, $f6
|
||||
/* 0174C 809EC48C 44CEF800 */ ctc1 $t6, $31
|
||||
/* 01750 809EC490 00000000 */ nop
|
||||
/* 01754 809EC494 460031A4 */ cvt.w.s $f6, $f6
|
||||
/* 01758 809EC498 444EF800 */ cfc1 $t6, $31
|
||||
/* 0175C 809EC49C 00000000 */ nop
|
||||
/* 01760 809EC4A0 31CE0078 */ andi $t6, $t6, 0x0078 ## $t6 = 00000000
|
||||
/* 01764 809EC4A4 15C00005 */ bne $t6, $zero, .L809EC4BC
|
||||
/* 01768 809EC4A8 00000000 */ nop
|
||||
/* 0176C 809EC4AC 440E3000 */ mfc1 $t6, $f6
|
||||
/* 01770 809EC4B0 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 01774 809EC4B4 10000007 */ beq $zero, $zero, .L809EC4D4
|
||||
/* 01778 809EC4B8 01C17025 */ or $t6, $t6, $at ## $t6 = 80000000
|
||||
.L809EC4BC:
|
||||
/* 0177C 809EC4BC 10000005 */ beq $zero, $zero, .L809EC4D4
|
||||
/* 01780 809EC4C0 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 01784 809EC4C4 440E3000 */ mfc1 $t6, $f6
|
||||
.L809EC4C8:
|
||||
/* 01788 809EC4C8 00000000 */ nop
|
||||
/* 0178C 809EC4CC 05C0FFFB */ bltz $t6, .L809EC4BC
|
||||
/* 01790 809EC4D0 00000000 */ nop
|
||||
.L809EC4D4:
|
||||
/* 01794 809EC4D4 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
|
||||
/* 01798 809EC4D8 31CF00FF */ andi $t7, $t6, 0x00FF ## $t7 = 000000FF
|
||||
/* 0179C 809EC4DC AC6F0004 */ sw $t7, 0x0004($v1) ## 00000004
|
||||
/* 017A0 809EC4E0 44CDF800 */ ctc1 $t5, $31
|
||||
/* 017A4 809EC4E4 C62E00BC */ lwc1 $f14, 0x00BC($s1) ## 000000BC
|
||||
/* 017A8 809EC4E8 44066000 */ mfc1 $a2, $f12
|
||||
/* 017AC 809EC4EC 0C034261 */ jal Matrix_Translate
|
||||
/* 017B0 809EC4F0 46007387 */ neg.s $f14, $f14
|
||||
/* 017B4 809EC4F4 3C01809F */ lui $at, %hi(D_809EC6EC) ## $at = 809F0000
|
||||
/* 017B8 809EC4F8 C420C6EC */ lwc1 $f0, %lo(D_809EC6EC)($at)
|
||||
/* 017BC 809EC4FC C6280318 */ lwc1 $f8, 0x0318($s1) ## 00000318
|
||||
/* 017C0 809EC500 C62A031C */ lwc1 $f10, 0x031C($s1) ## 0000031C
|
||||
/* 017C4 809EC504 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 017C8 809EC508 46004302 */ mul.s $f12, $f8, $f0
|
||||
/* 017CC 809EC50C 44066000 */ mfc1 $a2, $f12
|
||||
/* 017D0 809EC510 46005382 */ mul.s $f14, $f10, $f0
|
||||
/* 017D4 809EC514 0C0342A3 */ jal Matrix_Scale
|
||||
/* 017D8 809EC518 00000000 */ nop
|
||||
/* 017DC 809EC51C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 017E0 809EC520 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
|
||||
/* 017E4 809EC524 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
|
||||
/* 017E8 809EC528 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 017EC 809EC52C AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0
|
||||
/* 017F0 809EC530 3C05809F */ lui $a1, %hi(D_809EC690) ## $a1 = 809F0000
|
||||
/* 017F4 809EC534 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 017F8 809EC538 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
|
||||
/* 017FC 809EC53C 24A5C690 */ addiu $a1, $a1, %lo(D_809EC690) ## $a1 = 809EC690
|
||||
/* 01800 809EC540 24060488 */ addiu $a2, $zero, 0x0488 ## $a2 = 00000488
|
||||
/* 01804 809EC544 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 01808 809EC548 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000
|
||||
/* 0180C 809EC54C AE220004 */ sw $v0, 0x0004($s1) ## 00000004
|
||||
/* 01810 809EC550 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 01814 809EC554 3C0B0600 */ lui $t3, 0x0600 ## $t3 = 06000000
|
||||
/* 01818 809EC558 256B7FC0 */ addiu $t3, $t3, 0x7FC0 ## $t3 = 06007FC0
|
||||
/* 0181C 809EC55C 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
|
||||
/* 01820 809EC560 AE0902D0 */ sw $t1, 0x02D0($s0) ## 000002D0
|
||||
/* 01824 809EC564 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000
|
||||
/* 01828 809EC568 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
||||
/* 0182C 809EC56C AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004
|
||||
.L809EC570:
|
||||
/* 01830 809EC570 3C06809F */ lui $a2, %hi(D_809EC6A0) ## $a2 = 809F0000
|
||||
/* 01834 809EC574 24C6C6A0 */ addiu $a2, $a2, %lo(D_809EC6A0) ## $a2 = 809EC6A0
|
||||
/* 01838 809EC578 27A40074 */ addiu $a0, $sp, 0x0074 ## $a0 = FFFFFFE4
|
||||
/* 0183C 809EC57C 8E450000 */ lw $a1, 0x0000($s2) ## 00000000
|
||||
/* 01840 809EC580 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 01844 809EC584 2407048E */ addiu $a3, $zero, 0x048E ## $a3 = 0000048E
|
||||
/* 01848 809EC588 8FBF0044 */ lw $ra, 0x0044($sp)
|
||||
/* 0184C 809EC58C 8FB00038 */ lw $s0, 0x0038($sp)
|
||||
/* 01850 809EC590 8FB1003C */ lw $s1, 0x003C($sp)
|
||||
/* 01854 809EC594 8FB20040 */ lw $s2, 0x0040($sp)
|
||||
/* 01858 809EC598 03E00008 */ jr $ra
|
||||
/* 0185C 809EC59C 27BD0090 */ addiu $sp, $sp, 0x0090 ## $sp = 00000000
|
|
@ -1,85 +0,0 @@
|
|||
glabel EnDh_Init
|
||||
/* 00008 809EAD48 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 0000C 809EAD4C AFB10028 */ sw $s1, 0x0028($sp)
|
||||
/* 00010 809EAD50 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00014 809EAD54 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00018 809EAD58 AFB00024 */ sw $s0, 0x0024($sp)
|
||||
/* 0001C 809EAD5C 3C05809F */ lui $a1, %hi(D_809EC640) ## $a1 = 809F0000
|
||||
/* 00020 809EAD60 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00024 809EAD64 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 00028 809EAD68 24A5C640 */ addiu $a1, $a1, %lo(D_809EC640) ## $a1 = 809EC640
|
||||
/* 0002C 809EAD6C 3C0E809F */ lui $t6, %hi(D_809EC620) ## $t6 = 809F0000
|
||||
/* 00030 809EAD70 25CEC620 */ addiu $t6, $t6, %lo(D_809EC620) ## $t6 = 809EC620
|
||||
/* 00034 809EAD74 AE0E0098 */ sw $t6, 0x0098($s0) ## 00000098
|
||||
/* 00038 809EAD78 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000
|
||||
/* 0003C 809EAD7C 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
|
||||
/* 00040 809EAD80 260F0190 */ addiu $t7, $s0, 0x0190 ## $t7 = 00000190
|
||||
/* 00044 809EAD84 261801F0 */ addiu $t8, $s0, 0x01F0 ## $t8 = 000001F0
|
||||
/* 00048 809EAD88 24190010 */ addiu $t9, $zero, 0x0010 ## $t9 = 00000010
|
||||
/* 0004C 809EAD8C AFB90018 */ sw $t9, 0x0018($sp)
|
||||
/* 00050 809EAD90 AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 00054 809EAD94 AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 00058 809EAD98 24E75880 */ addiu $a3, $a3, 0x5880 ## $a3 = 06005880
|
||||
/* 0005C 809EAD9C 24C67E88 */ addiu $a2, $a2, 0x7E88 ## $a2 = 06007E88
|
||||
/* 00060 809EADA0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00064 809EADA4 0C0291BE */ jal SkelAnime_InitFlex
|
||||
/* 00068 809EADA8 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
|
||||
/* 0006C 809EADAC 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle)
|
||||
/* 00070 809EADB0 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle)
|
||||
/* 00074 809EADB4 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 00078 809EADB8 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 0007C 809EADBC 0C00AC78 */ jal ActorShape_Init
|
||||
|
||||
/* 00080 809EADC0 3C074280 */ lui $a3, 0x4280 ## $a3 = 42800000
|
||||
/* 00084 809EADC4 240800FE */ addiu $t0, $zero, 0x00FE ## $t0 = 000000FE
|
||||
/* 00088 809EADC8 A600001C */ sh $zero, 0x001C($s0) ## 0000001C
|
||||
/* 0008C 809EADCC A20800AE */ sb $t0, 0x00AE($s0) ## 000000AE
|
||||
/* 00090 809EADD0 3C098016 */ lui $t1, %hi(gSaveContext+4)
|
||||
/* 00094 809EADD4 8D29E664 */ lw $t1, %lo(gSaveContext+4)($t1)
|
||||
/* 00098 809EADD8 240D00FF */ addiu $t5, $zero, 0x00FF ## $t5 = 000000FF
|
||||
/* 0009C 809EADDC 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
|
||||
/* 000A0 809EADE0 15200004 */ bne $t1, $zero, .L809EADF4
|
||||
/* 000A4 809EADE4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 000A8 809EADE8 240A000E */ addiu $t2, $zero, 0x000E ## $t2 = 0000000E
|
||||
/* 000AC 809EADEC 10000003 */ beq $zero, $zero, .L809EADFC
|
||||
/* 000B0 809EADF0 A20A00AF */ sb $t2, 0x00AF($s0) ## 000000AF
|
||||
.L809EADF4:
|
||||
/* 000B4 809EADF4 240B0014 */ addiu $t3, $zero, 0x0014 ## $t3 = 00000014
|
||||
/* 000B8 809EADF8 A20B00AF */ sb $t3, 0x00AF($s0) ## 000000AF
|
||||
.L809EADFC:
|
||||
/* 000BC 809EADFC 8E0E0004 */ lw $t6, 0x0004($s0) ## 00000004
|
||||
/* 000C0 809EAE00 A20D0258 */ sb $t5, 0x0258($s0) ## 00000258
|
||||
/* 000C4 809EAE04 A20D025A */ sb $t5, 0x025A($s0) ## 0000025A
|
||||
/* 000C8 809EAE08 01C17824 */ and $t7, $t6, $at
|
||||
/* 000CC 809EAE0C AE0F0004 */ sw $t7, 0x0004($s0) ## 00000004
|
||||
/* 000D0 809EAE10 26050260 */ addiu $a1, $s0, 0x0260 ## $a1 = 00000260
|
||||
/* 000D4 809EAE14 0C0170D9 */ jal Collider_InitCylinder
|
||||
|
||||
/* 000D8 809EAE18 AFA50030 */ sw $a1, 0x0030($sp)
|
||||
/* 000DC 809EAE1C 3C07809F */ lui $a3, %hi(D_809EC5C0) ## $a3 = 809F0000
|
||||
/* 000E0 809EAE20 8FA50030 */ lw $a1, 0x0030($sp)
|
||||
/* 000E4 809EAE24 24E7C5C0 */ addiu $a3, $a3, %lo(D_809EC5C0) ## $a3 = 809EC5C0
|
||||
/* 000E8 809EAE28 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 000EC 809EAE2C 0C01712B */ jal Collider_SetCylinder
|
||||
|
||||
/* 000F0 809EAE30 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 000F4 809EAE34 260502AC */ addiu $a1, $s0, 0x02AC ## $a1 = 000002AC
|
||||
/* 000F8 809EAE38 AFA50030 */ sw $a1, 0x0030($sp)
|
||||
/* 000FC 809EAE3C 0C016EFE */ jal Collider_InitJntSph
|
||||
/* 00100 809EAE40 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00104 809EAE44 3C07809F */ lui $a3, %hi(D_809EC610) ## $a3 = 809F0000
|
||||
/* 00108 809EAE48 261802CC */ addiu $t8, $s0, 0x02CC ## $t8 = 000002CC
|
||||
/* 0010C 809EAE4C 8FA50030 */ lw $a1, 0x0030($sp)
|
||||
/* 00110 809EAE50 AFB80010 */ sw $t8, 0x0010($sp)
|
||||
/* 00114 809EAE54 24E7C610 */ addiu $a3, $a3, %lo(D_809EC610) ## $a3 = 809EC610
|
||||
/* 00118 809EAE58 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 0011C 809EAE5C 0C017014 */ jal Collider_SetJntSph
|
||||
/* 00120 809EAE60 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00124 809EAE64 0C27AC17 */ jal func_809EB05C
|
||||
/* 00128 809EAE68 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0012C 809EAE6C 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00130 809EAE70 8FB00024 */ lw $s0, 0x0024($sp)
|
||||
/* 00134 809EAE74 8FB10028 */ lw $s1, 0x0028($sp)
|
||||
/* 00138 809EAE78 03E00008 */ jr $ra
|
||||
/* 0013C 809EAE7C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
|
@ -1,123 +0,0 @@
|
|||
glabel EnDh_Update
|
||||
/* 012B8 809EBFF8 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 012BC 809EBFFC AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 012C0 809EC000 AFB20028 */ sw $s2, 0x0028($sp)
|
||||
/* 012C4 809EC004 AFB10024 */ sw $s1, 0x0024($sp)
|
||||
/* 012C8 809EC008 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 012CC 809EC00C 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
|
||||
/* 012D0 809EC010 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 012D4 809EC014 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 012D8 809EC018 0C27AFAA */ jal func_809EBEA8
|
||||
/* 012DC 809EC01C AFAE0044 */ sw $t6, 0x0044($sp)
|
||||
/* 012E0 809EC020 8E190254 */ lw $t9, 0x0254($s0) ## 00000254
|
||||
/* 012E4 809EC024 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 012E8 809EC028 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 012EC 809EC02C 0320F809 */ jalr $ra, $t9
|
||||
/* 012F0 809EC030 00000000 */ nop
|
||||
/* 012F4 809EC034 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 012F8 809EC038 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 012FC 809EC03C 3C014234 */ lui $at, 0x4234 ## $at = 42340000
|
||||
/* 01300 809EC040 44810000 */ mtc1 $at, $f0 ## $f0 = 45.00
|
||||
/* 01304 809EC044 240F001D */ addiu $t7, $zero, 0x001D ## $t7 = 0000001D
|
||||
/* 01308 809EC048 AFAF0014 */ sw $t7, 0x0014($sp)
|
||||
/* 0130C 809EC04C 44070000 */ mfc1 $a3, $f0
|
||||
/* 01310 809EC050 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 01314 809EC054 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 01318 809EC058 3C0641A0 */ lui $a2, 0x41A0 ## $a2 = 41A00000
|
||||
/* 0131C 809EC05C 0C00B92D */ jal func_8002E4B4
|
||||
/* 01320 809EC060 E7A00010 */ swc1 $f0, 0x0010($sp)
|
||||
/* 01324 809EC064 8E08030C */ lw $t0, 0x030C($s0) ## 0000030C
|
||||
/* 01328 809EC068 8E180310 */ lw $t8, 0x0310($s0) ## 00000310
|
||||
/* 0132C 809EC06C 26050260 */ addiu $a1, $s0, 0x0260 ## $a1 = 00000260
|
||||
/* 01330 809EC070 AE080038 */ sw $t0, 0x0038($s0) ## 00000038
|
||||
/* 01334 809EC074 8E080314 */ lw $t0, 0x0314($s0) ## 00000314
|
||||
/* 01338 809EC078 AE18003C */ sw $t8, 0x003C($s0) ## 0000003C
|
||||
/* 0133C 809EC07C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01340 809EC080 AE080040 */ sw $t0, 0x0040($s0) ## 00000040
|
||||
/* 01344 809EC084 0C0189B7 */ jal Collider_CylinderUpdate
|
||||
|
||||
/* 01348 809EC088 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 0134C 809EC08C 920900AF */ lbu $t1, 0x00AF($s0) ## 000000AF
|
||||
/* 01350 809EC090 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 01354 809EC094 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 01358 809EC098 19200033 */ blez $t1, .L809EC168
|
||||
/* 0135C 809EC09C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 01360 809EC0A0 920A025B */ lbu $t2, 0x025B($s0) ## 0000025B
|
||||
/* 01364 809EC0A4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 01368 809EC0A8 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 0136C 809EC0AC 1540000A */ bne $t2, $zero, .L809EC0D8
|
||||
/* 01370 809EC0B0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 01374 809EC0B4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 01378 809EC0B8 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 0137C 809EC0BC 02219021 */ addu $s2, $s1, $at
|
||||
/* 01380 809EC0C0 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
|
||||
/* 01384 809EC0C4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 01388 809EC0C8 0C01767D */ jal CollisionCheck_SetAC
|
||||
## CollisionCheck_setAC
|
||||
/* 0138C 809EC0CC 8FA60034 */ lw $a2, 0x0034($sp)
|
||||
/* 01390 809EC0D0 10000006 */ beq $zero, $zero, .L809EC0EC
|
||||
/* 01394 809EC0D4 920B025B */ lbu $t3, 0x025B($s0) ## 0000025B
|
||||
.L809EC0D8:
|
||||
/* 01398 809EC0D8 02219021 */ addu $s2, $s1, $at
|
||||
/* 0139C 809EC0DC 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
|
||||
/* 013A0 809EC0E0 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOT
|
||||
/* 013A4 809EC0E4 8FA60034 */ lw $a2, 0x0034($sp)
|
||||
/* 013A8 809EC0E8 920B025B */ lbu $t3, 0x025B($s0) ## 0000025B
|
||||
.L809EC0EC:
|
||||
/* 013AC 809EC0EC 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
|
||||
/* 013B0 809EC0F0 8FA20044 */ lw $v0, 0x0044($sp)
|
||||
/* 013B4 809EC0F4 51610008 */ beql $t3, $at, .L809EC118
|
||||
/* 013B8 809EC0F8 804C0844 */ lb $t4, 0x0844($v0) ## 00000844
|
||||
/* 013BC 809EC0FC 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 013C0 809EC100 C60600BC */ lwc1 $f6, 0x00BC($s0) ## 000000BC
|
||||
/* 013C4 809EC104 46062032 */ c.eq.s $f4, $f6
|
||||
/* 013C8 809EC108 00000000 */ nop
|
||||
/* 013CC 809EC10C 45030008 */ bc1tl .L809EC130
|
||||
/* 013D0 809EC110 260602AC */ addiu $a2, $s0, 0x02AC ## $a2 = 000002AC
|
||||
/* 013D4 809EC114 804C0844 */ lb $t4, 0x0844($v0) ## 00000844
|
||||
.L809EC118:
|
||||
/* 013D8 809EC118 5180001C */ beql $t4, $zero, .L809EC18C
|
||||
/* 013DC 809EC11C 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 013E0 809EC120 920D0258 */ lbu $t5, 0x0258($s0) ## 00000258
|
||||
/* 013E4 809EC124 904E0845 */ lbu $t6, 0x0845($v0) ## 00000845
|
||||
/* 013E8 809EC128 11AE0017 */ beq $t5, $t6, .L809EC188
|
||||
/* 013EC 809EC12C 260602AC */ addiu $a2, $s0, 0x02AC ## $a2 = 000002AC
|
||||
.L809EC130:
|
||||
/* 013F0 809EC130 AFA60038 */ sw $a2, 0x0038($sp)
|
||||
/* 013F4 809EC134 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 013F8 809EC138 0C01767D */ jal CollisionCheck_SetAC
|
||||
## CollisionCheck_setAC
|
||||
/* 013FC 809EC13C 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
|
||||
/* 01400 809EC140 8FA60038 */ lw $a2, 0x0038($sp)
|
||||
/* 01404 809EC144 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 01408 809EC148 0C0175E7 */ jal CollisionCheck_SetAT
|
||||
## CollisionCheck_setAT
|
||||
/* 0140C 809EC14C 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
|
||||
/* 01410 809EC150 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 01414 809EC154 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
|
||||
/* 01418 809EC158 0C0175E7 */ jal CollisionCheck_SetAT
|
||||
## CollisionCheck_setAT
|
||||
/* 0141C 809EC15C 8FA60034 */ lw $a2, 0x0034($sp)
|
||||
/* 01420 809EC160 1000000A */ beq $zero, $zero, .L809EC18C
|
||||
/* 01424 809EC164 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L809EC168:
|
||||
/* 01428 809EC168 02219021 */ addu $s2, $s1, $at
|
||||
/* 0142C 809EC16C 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
|
||||
/* 01430 809EC170 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOT
|
||||
/* 01434 809EC174 8FA60034 */ lw $a2, 0x0034($sp)
|
||||
/* 01438 809EC178 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 0143C 809EC17C 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
|
||||
/* 01440 809EC180 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOT
|
||||
/* 01444 809EC184 260602AC */ addiu $a2, $s0, 0x02AC ## $a2 = 000002AC
|
||||
.L809EC188:
|
||||
/* 01448 809EC188 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L809EC18C:
|
||||
/* 0144C 809EC18C 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 01450 809EC190 8FB10024 */ lw $s1, 0x0024($sp)
|
||||
/* 01454 809EC194 8FB20028 */ lw $s2, 0x0028($sp)
|
||||
/* 01458 809EC198 03E00008 */ jr $ra
|
||||
/* 0145C 809EC19C 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
|
@ -1,3 +0,0 @@
|
|||
glabel func_809EAD40
|
||||
/* 00000 809EAD40 03E00008 */ jr $ra
|
||||
/* 00004 809EAD44 AC850254 */ sw $a1, 0x0254($a0) ## 00000254
|
|
@ -1,113 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809EC6B0
|
||||
.float 6.28
|
||||
|
||||
.text
|
||||
glabel func_809EAEC4
|
||||
/* 00184 809EAEC4 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98
|
||||
/* 00188 809EAEC8 3C0F809F */ lui $t7, %hi(D_809EC650) ## $t7 = 809F0000
|
||||
/* 0018C 809EAECC AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00190 809EAED0 AFA40068 */ sw $a0, 0x0068($sp)
|
||||
/* 00194 809EAED4 AFA5006C */ sw $a1, 0x006C($sp)
|
||||
/* 00198 809EAED8 AFA60070 */ sw $a2, 0x0070($sp)
|
||||
/* 0019C 809EAEDC AFA70074 */ sw $a3, 0x0074($sp)
|
||||
/* 001A0 809EAEE0 25EFC650 */ addiu $t7, $t7, %lo(D_809EC650) ## $t7 = 809EC650
|
||||
/* 001A4 809EAEE4 8DF90000 */ lw $t9, 0x0000($t7) ## 809EC650
|
||||
/* 001A8 809EAEE8 27AE0050 */ addiu $t6, $sp, 0x0050 ## $t6 = FFFFFFE8
|
||||
/* 001AC 809EAEEC 8DF80004 */ lw $t8, 0x0004($t7) ## 809EC654
|
||||
/* 001B0 809EAEF0 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFE8
|
||||
/* 001B4 809EAEF4 8DF90008 */ lw $t9, 0x0008($t7) ## 809EC658
|
||||
/* 001B8 809EAEF8 3C09809F */ lui $t1, %hi(D_809EC65C) ## $t1 = 809F0000
|
||||
/* 001BC 809EAEFC 2529C65C */ addiu $t1, $t1, %lo(D_809EC65C) ## $t1 = 809EC65C
|
||||
/* 001C0 809EAF00 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFEC
|
||||
/* 001C4 809EAF04 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFF0
|
||||
/* 001C8 809EAF08 8D2B0000 */ lw $t3, 0x0000($t1) ## 809EC65C
|
||||
/* 001CC 809EAF0C 27A80044 */ addiu $t0, $sp, 0x0044 ## $t0 = FFFFFFDC
|
||||
/* 001D0 809EAF10 8D2A0004 */ lw $t2, 0x0004($t1) ## 809EC660
|
||||
/* 001D4 809EAF14 AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFDC
|
||||
/* 001D8 809EAF18 8D2B0008 */ lw $t3, 0x0008($t1) ## 809EC664
|
||||
/* 001DC 809EAF1C AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFE0
|
||||
/* 001E0 809EAF20 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 001E4 809EAF24 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFE4
|
||||
/* 001E8 809EAF28 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 001EC 809EAF2C 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
|
||||
/* 001F0 809EAF30 3C01809F */ lui $at, %hi(D_809EC6B0) ## $at = 809F0000
|
||||
/* 001F4 809EAF34 C428C6B0 */ lwc1 $f8, %lo(D_809EC6B0)($at)
|
||||
/* 001F8 809EAF38 46040181 */ sub.s $f6, $f0, $f4
|
||||
/* 001FC 809EAF3C 8FAC006C */ lw $t4, 0x006C($sp)
|
||||
/* 00200 809EAF40 46083302 */ mul.s $f12, $f6, $f8
|
||||
/* 00204 809EAF44 E7AC0040 */ swc1 $f12, 0x0040($sp)
|
||||
/* 00208 809EAF48 C58A0080 */ lwc1 $f10, 0x0080($t4) ## 00000080
|
||||
/* 0020C 809EAF4C 0C0329C8 */ jal func_800CA720
|
||||
/* 00210 809EAF50 E7AA0060 */ swc1 $f10, 0x0060($sp)
|
||||
/* 00214 809EAF54 C7B00074 */ lwc1 $f16, 0x0074($sp)
|
||||
/* 00218 809EAF58 8FAD0070 */ lw $t5, 0x0070($sp)
|
||||
/* 0021C 809EAF5C C7AC0040 */ lwc1 $f12, 0x0040($sp)
|
||||
/* 00220 809EAF60 46100482 */ mul.s $f18, $f0, $f16
|
||||
/* 00224 809EAF64 C5A40000 */ lwc1 $f4, 0x0000($t5) ## 00000000
|
||||
/* 00228 809EAF68 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 0022C 809EAF6C 0C0329DD */ jal func_800CA774
|
||||
/* 00230 809EAF70 E7A6005C */ swc1 $f6, 0x005C($sp)
|
||||
/* 00234 809EAF74 C7A80074 */ lwc1 $f8, 0x0074($sp)
|
||||
/* 00238 809EAF78 8FAE0070 */ lw $t6, 0x0070($sp)
|
||||
/* 0023C 809EAF7C 46080282 */ mul.s $f10, $f0, $f8
|
||||
/* 00240 809EAF80 C5D00008 */ lwc1 $f16, 0x0008($t6) ## 00000008
|
||||
/* 00244 809EAF84 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 00248 809EAF88 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 0024C 809EAF8C E7B20064 */ swc1 $f18, 0x0064($sp)
|
||||
/* 00250 809EAF90 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00254 809EAF94 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
|
||||
/* 00258 809EAF98 C7A8007C */ lwc1 $f8, 0x007C($sp)
|
||||
/* 0025C 809EAF9C 46040181 */ sub.s $f6, $f0, $f4
|
||||
/* 00260 809EAFA0 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 00264 809EAFA4 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00268 809EAFA8 E7AA0044 */ swc1 $f10, 0x0044($sp)
|
||||
/* 0026C 809EAFAC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00270 809EAFB0 44818000 */ mtc1 $at, $f16 ## $f16 = 0.50
|
||||
/* 00274 809EAFB4 C7A4007C */ lwc1 $f4, 0x007C($sp)
|
||||
/* 00278 809EAFB8 46100481 */ sub.s $f18, $f0, $f16
|
||||
/* 0027C 809EAFBC 46049182 */ mul.s $f6, $f18, $f4
|
||||
/* 00280 809EAFC0 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00284 809EAFC4 E7A6004C */ swc1 $f6, 0x004C($sp)
|
||||
/* 00288 809EAFC8 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 0028C 809EAFCC 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50
|
||||
/* 00290 809EAFD0 3C014080 */ lui $at, 0x4080 ## $at = 40800000
|
||||
/* 00294 809EAFD4 44818000 */ mtc1 $at, $f16 ## $f16 = 4.00
|
||||
/* 00298 809EAFD8 46080281 */ sub.s $f10, $f0, $f8
|
||||
/* 0029C 809EAFDC C7A40054 */ lwc1 $f4, 0x0054($sp)
|
||||
/* 002A0 809EAFE0 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 002A4 809EAFE4 46122180 */ add.s $f6, $f4, $f18
|
||||
/* 002A8 809EAFE8 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 002AC 809EAFEC E7A60054 */ swc1 $f6, 0x0054($sp)
|
||||
/* 002B0 809EAFF0 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 002B4 809EAFF4 44814000 */ mtc1 $at, $f8 ## $f8 = 5.00
|
||||
/* 002B8 809EAFF8 3C014140 */ lui $at, 0x4140 ## $at = 41400000
|
||||
/* 002BC 809EAFFC 44818000 */ mtc1 $at, $f16 ## $f16 = 12.00
|
||||
/* 002C0 809EB000 46080282 */ mul.s $f10, $f0, $f8
|
||||
/* 002C4 809EB004 C7B20080 */ lwc1 $f18, 0x0080($sp)
|
||||
/* 002C8 809EB008 8FAF0078 */ lw $t7, 0x0078($sp)
|
||||
/* 002CC 809EB00C 2408FFFF */ addiu $t0, $zero, 0xFFFF ## $t0 = FFFFFFFF
|
||||
/* 002D0 809EB010 2409000A */ addiu $t1, $zero, 0x000A ## $t1 = 0000000A
|
||||
/* 002D4 809EB014 AFA9001C */ sw $t1, 0x001C($sp)
|
||||
/* 002D8 809EB018 AFA80018 */ sw $t0, 0x0018($sp)
|
||||
/* 002DC 809EB01C 46105100 */ add.s $f4, $f10, $f16
|
||||
/* 002E0 809EB020 8FA40068 */ lw $a0, 0x0068($sp)
|
||||
/* 002E4 809EB024 27A5005C */ addiu $a1, $sp, 0x005C ## $a1 = FFFFFFF4
|
||||
/* 002E8 809EB028 27A60050 */ addiu $a2, $sp, 0x0050 ## $a2 = FFFFFFE8
|
||||
/* 002EC 809EB02C 46122182 */ mul.s $f6, $f4, $f18
|
||||
/* 002F0 809EB030 27A70044 */ addiu $a3, $sp, 0x0044 ## $a3 = FFFFFFDC
|
||||
/* 002F4 809EB034 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 002F8 809EB038 AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 002FC 809EB03C 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 00300 809EB040 44194000 */ mfc1 $t9, $f8
|
||||
/* 00304 809EB044 0C00A5C9 */ jal EffectSsHahen_Spawn
|
||||
/* 00308 809EB048 AFB90014 */ sw $t9, 0x0014($sp)
|
||||
/* 0030C 809EB04C 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00310 809EB050 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000
|
||||
/* 00314 809EB054 03E00008 */ jr $ra
|
||||
/* 00318 809EB058 00000000 */ nop
|
|
@ -1,53 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809EC6B4
|
||||
.word 0xC66A6000
|
||||
|
||||
.text
|
||||
glabel func_809EB05C
|
||||
/* 0031C 809EB05C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00320 809EB060 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00324 809EB064 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00328 809EB068 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 0032C 809EB06C 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00330 809EB070 24A53A8C */ addiu $a1, $a1, 0x3A8C ## $a1 = 06003A8C
|
||||
/* 00334 809EB074 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
|
||||
/* 00338 809EB078 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 0033C 809EB07C 3C014416 */ lui $at, 0x4416 ## $at = 44160000
|
||||
/* 00340 809EB080 44816000 */ mtc1 $at, $f12 ## $f12 = 600.00
|
||||
/* 00344 809EB084 0C00CFC8 */ jal Math_Rand_CenteredFloat
|
||||
|
||||
/* 00348 809EB088 A200025B */ sb $zero, 0x025B($s0) ## 0000025B
|
||||
/* 0034C 809EB08C C6040008 */ lwc1 $f4, 0x0008($s0) ## 00000008
|
||||
/* 00350 809EB090 3C014416 */ lui $at, 0x4416 ## $at = 44160000
|
||||
/* 00354 809EB094 44816000 */ mtc1 $at, $f12 ## $f12 = 600.00
|
||||
/* 00358 809EB098 46040180 */ add.s $f6, $f0, $f4
|
||||
/* 0035C 809EB09C 0C00CFC8 */ jal Math_Rand_CenteredFloat
|
||||
|
||||
/* 00360 809EB0A0 E6060024 */ swc1 $f6, 0x0024($s0) ## 00000024
|
||||
/* 00364 809EB0A4 C6080010 */ lwc1 $f8, 0x0010($s0) ## 00000010
|
||||
/* 00368 809EB0A8 3C01809F */ lui $at, %hi(D_809EC6B4) ## $at = 809F0000
|
||||
/* 0036C 809EB0AC 8E0F0004 */ lw $t7, 0x0004($s0) ## 00000004
|
||||
/* 00370 809EB0B0 46080280 */ add.s $f10, $f0, $f8
|
||||
/* 00374 809EB0B4 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 00378 809EB0B8 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6
|
||||
/* 0037C 809EB0BC 3C05809F */ lui $a1, %hi(func_809EB110) ## $a1 = 809F0000
|
||||
/* 00380 809EB0C0 E60A002C */ swc1 $f10, 0x002C($s0) ## 0000002C
|
||||
/* 00384 809EB0C4 C430C6B4 */ lwc1 $f16, %lo(D_809EC6B4)($at)
|
||||
/* 00388 809EB0C8 A600001C */ sh $zero, 0x001C($s0) ## 0000001C
|
||||
/* 0038C 809EB0CC 9202001D */ lbu $v0, 0x001D($s0) ## 0000001D
|
||||
/* 00390 809EB0D0 35F80080 */ ori $t8, $t7, 0x0080 ## $t8 = 00000080
|
||||
/* 00394 809EB0D4 AE180004 */ sw $t8, 0x0004($s0) ## 00000004
|
||||
/* 00398 809EB0D8 24A5B110 */ addiu $a1, $a1, %lo(func_809EB110) ## $a1 = 809EB110
|
||||
/* 0039C 809EB0DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 003A0 809EB0E0 E6020318 */ swc1 $f2, 0x0318($s0) ## 00000318
|
||||
/* 003A4 809EB0E4 E6020068 */ swc1 $f2, 0x0068($s0) ## 00000068
|
||||
/* 003A8 809EB0E8 A60E0032 */ sh $t6, 0x0032($s0) ## 00000032
|
||||
/* 003AC 809EB0EC E61000BC */ swc1 $f16, 0x00BC($s0) ## 000000BC
|
||||
/* 003B0 809EB0F0 A2020250 */ sb $v0, 0x0250($s0) ## 00000250
|
||||
/* 003B4 809EB0F4 0C27AB50 */ jal func_809EAD40
|
||||
/* 003B8 809EB0F8 A602025E */ sh $v0, 0x025E($s0) ## 0000025E
|
||||
/* 003BC 809EB0FC 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 003C0 809EB100 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 003C4 809EB104 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 003C8 809EB108 03E00008 */ jr $ra
|
||||
/* 003CC 809EB10C 00000000 */ nop
|
|
@ -1,161 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809EC6B8
|
||||
.word 0x40033333
|
||||
glabel D_809EC6BC
|
||||
.float 1.2
|
||||
|
||||
.text
|
||||
glabel func_809EB110
|
||||
/* 003D0 809EB110 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 003D4 809EB114 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 003D8 809EB118 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 003DC 809EB11C AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 003E0 809EB120 C4840164 */ lwc1 $f4, 0x0164($a0) ## 00000164
|
||||
/* 003E4 809EB124 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
/* 003E8 809EB128 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 003EC 809EB12C 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 003F0 809EB130 440F3000 */ mfc1 $t7, $f6
|
||||
/* 003F4 809EB134 00000000 */ nop
|
||||
/* 003F8 809EB138 55E10004 */ bnel $t7, $at, .L809EB14C
|
||||
/* 003FC 809EB13C 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00400 809EB140 0C03D6B3 */ jal func_800F5ACC
|
||||
/* 00404 809EB144 24040038 */ addiu $a0, $zero, 0x0038 ## $a0 = 00000038
|
||||
/* 00408 809EB148 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
.L809EB14C:
|
||||
/* 0040C 809EB14C 0C00CD90 */ jal Actor_GetCollidedExplosive
|
||||
/* 00410 809EB150 26050260 */ addiu $a1, $s0, 0x0260 ## $a1 = 00000260
|
||||
/* 00414 809EB154 10400002 */ beq $v0, $zero, .L809EB160
|
||||
/* 00418 809EB158 24180005 */ addiu $t8, $zero, 0x0005 ## $t8 = 00000005
|
||||
/* 0041C 809EB15C A618001C */ sh $t8, 0x001C($s0) ## 0000001C
|
||||
.L809EB160:
|
||||
/* 00420 809EB160 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 00424 809EB164 1C400003 */ bgtz $v0, .L809EB174
|
||||
/* 00428 809EB168 2841FFFD */ slti $at, $v0, 0xFFFD
|
||||
/* 0042C 809EB16C 5020006D */ beql $at, $zero, .L809EB324
|
||||
/* 00430 809EB170 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L809EB174:
|
||||
/* 00434 809EB174 92030250 */ lbu $v1, 0x0250($s0) ## 00000250
|
||||
/* 00438 809EB178 2401FF7F */ addiu $at, $zero, 0xFF7F ## $at = FFFFFF7F
|
||||
/* 0043C 809EB17C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00440 809EB180 10600008 */ beq $v1, $zero, .L809EB1A4
|
||||
/* 00444 809EB184 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
|
||||
/* 00448 809EB188 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 0044C 809EB18C 10410013 */ beq $v0, $at, .L809EB1DC
|
||||
/* 00450 809EB190 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00454 809EB194 10410051 */ beq $v0, $at, .L809EB2DC
|
||||
/* 00458 809EB198 00000000 */ nop
|
||||
/* 0045C 809EB19C 10000052 */ beq $zero, $zero, .L809EB2E8
|
||||
/* 00460 809EB1A0 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
|
||||
.L809EB1A4:
|
||||
/* 00464 809EB1A4 8E190004 */ lw $t9, 0x0004($s0) ## 00000004
|
||||
/* 00468 809EB1A8 920D0252 */ lbu $t5, 0x0252($s0) ## 00000252
|
||||
/* 0046C 809EB1AC 8609008A */ lh $t1, 0x008A($s0) ## 0000008A
|
||||
/* 00470 809EB1B0 37280001 */ ori $t0, $t9, 0x0001 ## $t0 = 00000001
|
||||
/* 00474 809EB1B4 AE080004 */ sw $t0, 0x0004($s0) ## 00000004
|
||||
/* 00478 809EB1B8 01015824 */ and $t3, $t0, $at
|
||||
/* 0047C 809EB1BC 246C0001 */ addiu $t4, $v1, 0x0001 ## $t4 = 00000001
|
||||
/* 00480 809EB1C0 25AE0001 */ addiu $t6, $t5, 0x0001 ## $t6 = 00000001
|
||||
/* 00484 809EB1C4 AE0B0004 */ sw $t3, 0x0004($s0) ## 00000004
|
||||
/* 00488 809EB1C8 A20C0250 */ sb $t4, 0x0250($s0) ## 00000250
|
||||
/* 0048C 809EB1CC A20E0252 */ sb $t6, 0x0252($s0) ## 00000252
|
||||
/* 00490 809EB1D0 240539A8 */ addiu $a1, $zero, 0x39A8 ## $a1 = 000039A8
|
||||
/* 00494 809EB1D4 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00498 809EB1D8 A60900B6 */ sh $t1, 0x00B6($s0) ## 000000B6
|
||||
.L809EB1DC:
|
||||
/* 0049C 809EB1DC 860F025E */ lh $t7, 0x025E($s0) ## 0000025E
|
||||
/* 004A0 809EB1E0 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 004A4 809EB1E4 26040318 */ addiu $a0, $s0, 0x0318 ## $a0 = 00000318
|
||||
/* 004A8 809EB1E8 25F803A7 */ addiu $t8, $t7, 0x03A7 ## $t8 = 000003A7
|
||||
/* 004AC 809EB1EC A618025E */ sh $t8, 0x025E($s0) ## 0000025E
|
||||
/* 004B0 809EB1F0 3C054396 */ lui $a1, 0x4396 ## $a1 = 43960000
|
||||
/* 004B4 809EB1F4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 004B8 809EB1F8 3C0740A0 */ lui $a3, 0x40A0 ## $a3 = 40A00000
|
||||
/* 004BC 809EB1FC 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
|
||||
|
||||
/* 004C0 809EB200 E7A80010 */ swc1 $f8, 0x0010($sp)
|
||||
/* 004C4 809EB204 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 004C8 809EB208 8604025E */ lh $a0, 0x025E($s0) ## 0000025E
|
||||
/* 004CC 809EB20C 3C01425C */ lui $at, 0x425C ## $at = 425C0000
|
||||
/* 004D0 809EB210 44815000 */ mtc1 $at, $f10 ## $f10 = 55.00
|
||||
/* 004D4 809EB214 8604025E */ lh $a0, 0x025E($s0) ## 0000025E
|
||||
/* 004D8 809EB218 460A0402 */ mul.s $f16, $f0, $f10
|
||||
/* 004DC 809EB21C 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 004E0 809EB220 E610031C */ swc1 $f16, 0x031C($s0) ## 0000031C
|
||||
/* 004E4 809EB224 3C01437F */ lui $at, 0x437F ## $at = 437F0000
|
||||
/* 004E8 809EB228 44819000 */ mtc1 $at, $f18 ## $f18 = 255.00
|
||||
/* 004EC 809EB22C 3C01809F */ lui $at, %hi(D_809EC6B8) ## $at = 809F0000
|
||||
/* 004F0 809EB230 8E070318 */ lw $a3, 0x0318($s0) ## 00000318
|
||||
/* 004F4 809EB234 46120102 */ mul.s $f4, $f0, $f18
|
||||
/* 004F8 809EB238 240B0004 */ addiu $t3, $zero, 0x0004 ## $t3 = 00000004
|
||||
/* 004FC 809EB23C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00500 809EB240 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
|
||||
/* 00504 809EB244 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00508 809EB248 44083000 */ mfc1 $t0, $f6
|
||||
/* 0050C 809EB24C 00000000 */ nop
|
||||
/* 00510 809EB250 00084C00 */ sll $t1, $t0, 16
|
||||
/* 00514 809EB254 00095403 */ sra $t2, $t1, 16
|
||||
/* 00518 809EB258 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00
|
||||
/* 0051C 809EB25C 00000000 */ nop
|
||||
/* 00520 809EB260 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00524 809EB264 E60A0320 */ swc1 $f10, 0x0320($s0) ## 00000320
|
||||
/* 00528 809EB268 C430C6B8 */ lwc1 $f16, %lo(D_809EC6B8)($at)
|
||||
/* 0052C 809EB26C 3C01809F */ lui $at, %hi(D_809EC6BC) ## $at = 809F0000
|
||||
/* 00530 809EB270 C432C6BC */ lwc1 $f18, %lo(D_809EC6BC)($at)
|
||||
/* 00534 809EB274 AFAB0010 */ sw $t3, 0x0010($sp)
|
||||
/* 00538 809EB278 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 0053C 809EB27C E7B00014 */ swc1 $f16, 0x0014($sp)
|
||||
/* 00540 809EB280 0C27ABB1 */ jal func_809EAEC4
|
||||
/* 00544 809EB284 E7B20018 */ swc1 $f18, 0x0018($sp)
|
||||
/* 00548 809EB288 C60000BC */ lwc1 $f0, 0x00BC($s0) ## 000000BC
|
||||
/* 0054C 809EB28C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00550 809EB290 00000000 */ nop
|
||||
/* 00554 809EB294 46002032 */ c.eq.s $f4, $f0
|
||||
/* 00558 809EB298 00000000 */ nop
|
||||
/* 0055C 809EB29C 45020007 */ bc1fl .L809EB2BC
|
||||
/* 00560 809EB2A0 860E025E */ lh $t6, 0x025E($s0) ## 0000025E
|
||||
/* 00564 809EB2A4 920C0250 */ lbu $t4, 0x0250($s0) ## 00000250
|
||||
/* 00568 809EB2A8 A2000252 */ sb $zero, 0x0252($s0) ## 00000252
|
||||
/* 0056C 809EB2AC 258D0001 */ addiu $t5, $t4, 0x0001 ## $t5 = 00000001
|
||||
/* 00570 809EB2B0 1000000C */ beq $zero, $zero, .L809EB2E4
|
||||
/* 00574 809EB2B4 A20D0250 */ sb $t5, 0x0250($s0) ## 00000250
|
||||
/* 00578 809EB2B8 860E025E */ lh $t6, 0x025E($s0) ## 0000025E
|
||||
.L809EB2BC:
|
||||
/* 0057C 809EB2BC 29C112C1 */ slti $at, $t6, 0x12C1
|
||||
/* 00580 809EB2C0 14200008 */ bne $at, $zero, .L809EB2E4
|
||||
/* 00584 809EB2C4 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000
|
||||
/* 00588 809EB2C8 44813000 */ mtc1 $at, $f6 ## $f6 = 500.00
|
||||
/* 0058C 809EB2CC 00000000 */ nop
|
||||
/* 00590 809EB2D0 46060200 */ add.s $f8, $f0, $f6
|
||||
/* 00594 809EB2D4 10000003 */ beq $zero, $zero, .L809EB2E4
|
||||
/* 00598 809EB2D8 E60800BC */ swc1 $f8, 0x00BC($s0) ## 000000BC
|
||||
.L809EB2DC:
|
||||
/* 0059C 809EB2DC 0C27ACCD */ jal func_809EB334
|
||||
/* 005A0 809EB2E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L809EB2E4:
|
||||
/* 005A4 809EB2E4 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
|
||||
.L809EB2E8:
|
||||
/* 005A8 809EB2E8 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 005AC 809EB2EC 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
|
||||
/* 005B0 809EB2F0 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
|
||||
/* 005B4 809EB2F4 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 005B8 809EB2F8 240707D0 */ addiu $a3, $zero, 0x07D0 ## $a3 = 000007D0
|
||||
/* 005BC 809EB2FC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 005C0 809EB300 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 005C4 809EB304 860F001C */ lh $t7, 0x001C($s0) ## 0000001C
|
||||
/* 005C8 809EB308 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
||||
/* 005CC 809EB30C 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 005D0 809EB310 51E10004 */ beql $t7, $at, .L809EB324
|
||||
/* 005D4 809EB314 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 005D8 809EB318 0C023BAB */ jal func_8008EEAC
|
||||
/* 005DC 809EB31C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 005E0 809EB320 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L809EB324:
|
||||
/* 005E4 809EB324 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 005E8 809EB328 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 005EC 809EB32C 03E00008 */ jr $ra
|
||||
/* 005F0 809EB330 00000000 */ nop
|
|
@ -1,42 +0,0 @@
|
|||
glabel func_809EB334
|
||||
/* 005F4 809EB334 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 005F8 809EB338 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 005FC 809EB33C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00600 809EB340 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00604 809EB344 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00608 809EB348 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 0060C 809EB34C 24843A8C */ addiu $a0, $a0, 0x3A8C ## $a0 = 06003A8C
|
||||
/* 00610 809EB350 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 00614 809EB354 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 00618 809EB358 44814000 */ mtc1 $at, $f8 ## $f8 = 3.00
|
||||
/* 0061C 809EB35C 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00620 809EB360 3C01C0C0 */ lui $at, 0xC0C0 ## $at = C0C00000
|
||||
/* 00624 809EB364 44818000 */ mtc1 $at, $f16 ## $f16 = -6.00
|
||||
/* 00628 809EB368 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 0062C 809EB36C 24A53A8C */ addiu $a1, $a1, 0x3A8C ## $a1 = 06003A8C
|
||||
/* 00630 809EB370 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 00634 809EB374 46083281 */ sub.s $f10, $f6, $f8
|
||||
/* 00638 809EB378 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 0063C 809EB37C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
|
||||
/* 00640 809EB380 AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 00644 809EB384 E7AA0010 */ swc1 $f10, 0x0010($sp)
|
||||
/* 00648 809EB388 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 0064C 809EB38C E7B00018 */ swc1 $f16, 0x0018($sp)
|
||||
/* 00650 809EB390 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00654 809EB394 44819000 */ mtc1 $at, $f18 ## $f18 = 1.00
|
||||
/* 00658 809EB398 240E0003 */ addiu $t6, $zero, 0x0003 ## $t6 = 00000003
|
||||
/* 0065C 809EB39C 240F012C */ addiu $t7, $zero, 0x012C ## $t7 = 0000012C
|
||||
/* 00660 809EB3A0 3C05809F */ lui $a1, %hi(func_809EB3D0) ## $a1 = 809F0000
|
||||
/* 00664 809EB3A4 A20E025B */ sb $t6, 0x025B($s0) ## 0000025B
|
||||
/* 00668 809EB3A8 A60F025C */ sh $t7, 0x025C($s0) ## 0000025C
|
||||
/* 0066C 809EB3AC 24A5B3D0 */ addiu $a1, $a1, %lo(func_809EB3D0) ## $a1 = 809EB3D0
|
||||
/* 00670 809EB3B0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00674 809EB3B4 0C27AB50 */ jal func_809EAD40
|
||||
/* 00678 809EB3B8 E6120068 */ swc1 $f18, 0x0068($s0) ## 00000068
|
||||
/* 0067C 809EB3BC 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00680 809EB3C0 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00684 809EB3C4 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00688 809EB3C8 03E00008 */ jr $ra
|
||||
/* 0068C 809EB3CC 00000000 */ nop
|
|
@ -1,75 +0,0 @@
|
|||
glabel func_809EB3D0
|
||||
/* 00690 809EB3D0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00694 809EB3D4 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00698 809EB3D8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0069C 809EB3DC AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 006A0 809EB3E0 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 006A4 809EB3E4 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
|
||||
/* 006A8 809EB3E8 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 006AC 809EB3EC 248400B6 */ addiu $a0, $a0, 0x00B6 ## $a0 = 000000B6
|
||||
/* 006B0 809EB3F0 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
|
||||
/* 006B4 809EB3F4 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 006B8 809EB3F8 240700FA */ addiu $a3, $zero, 0x00FA ## $a3 = 000000FA
|
||||
/* 006BC 809EB3FC 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6
|
||||
/* 006C0 809EB400 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 006C4 809EB404 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 006C8 809EB408 A60E0032 */ sh $t6, 0x0032($s0) ## 00000032
|
||||
/* 006CC 809EB40C C6040164 */ lwc1 $f4, 0x0164($s0) ## 00000164
|
||||
/* 006D0 809EB410 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 006D4 809EB414 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 006D8 809EB418 44183000 */ mfc1 $t8, $f6
|
||||
/* 006DC 809EB41C 00000000 */ nop
|
||||
/* 006E0 809EB420 33190007 */ andi $t9, $t8, 0x0007 ## $t9 = 00000000
|
||||
/* 006E4 809EB424 57200004 */ bnel $t9, $zero, .L809EB438
|
||||
/* 006E8 809EB428 8FA8002C */ lw $t0, 0x002C($sp)
|
||||
/* 006EC 809EB42C 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 006F0 809EB430 24053901 */ addiu $a1, $zero, 0x3901 ## $a1 = 00003901
|
||||
/* 006F4 809EB434 8FA8002C */ lw $t0, 0x002C($sp)
|
||||
.L809EB438:
|
||||
/* 006F8 809EB438 3C090001 */ lui $t1, 0x0001 ## $t1 = 00010000
|
||||
/* 006FC 809EB43C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00700 809EB440 01284821 */ addu $t1, $t1, $t0
|
||||
/* 00704 809EB444 8D291DE4 */ lw $t1, 0x1DE4($t1) ## 00011DE4
|
||||
/* 00708 809EB448 312A005F */ andi $t2, $t1, 0x005F ## $t2 = 00000000
|
||||
/* 0070C 809EB44C 55400004 */ bnel $t2, $zero, .L809EB460
|
||||
/* 00710 809EB450 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 00714 809EB454 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00718 809EB458 240539A7 */ addiu $a1, $zero, 0x39A7 ## $a1 = 000039A7
|
||||
/* 0071C 809EB45C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
.L809EB460:
|
||||
/* 00720 809EB460 44814000 */ mtc1 $at, $f8 ## $f8 = 100.00
|
||||
/* 00724 809EB464 C60A0090 */ lwc1 $f10, 0x0090($s0) ## 00000090
|
||||
/* 00728 809EB468 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0072C 809EB46C 4608503E */ c.le.s $f10, $f8
|
||||
/* 00730 809EB470 00000000 */ nop
|
||||
/* 00734 809EB474 4502000C */ bc1fl .L809EB4A8
|
||||
/* 00738 809EB478 860B025C */ lh $t3, 0x025C($s0) ## 0000025C
|
||||
/* 0073C 809EB47C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
|
||||
/* 00740 809EB480 24052AAA */ addiu $a1, $zero, 0x2AAA ## $a1 = 00002AAA
|
||||
/* 00744 809EB484 0C00B821 */ jal func_8002E084
|
||||
/* 00748 809EB488 E6100068 */ swc1 $f16, 0x0068($s0) ## 00000068
|
||||
/* 0074C 809EB48C 5040000E */ beql $v0, $zero, .L809EB4C8
|
||||
/* 00750 809EB490 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00754 809EB494 0C27AD71 */ jal func_809EB5C4
|
||||
/* 00758 809EB498 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0075C 809EB49C 1000000A */ beq $zero, $zero, .L809EB4C8
|
||||
/* 00760 809EB4A0 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00764 809EB4A4 860B025C */ lh $t3, 0x025C($s0) ## 0000025C
|
||||
.L809EB4A8:
|
||||
/* 00768 809EB4A8 256CFFFF */ addiu $t4, $t3, 0xFFFF ## $t4 = FFFFFFFF
|
||||
/* 0076C 809EB4AC A60C025C */ sh $t4, 0x025C($s0) ## 0000025C
|
||||
/* 00770 809EB4B0 860D025C */ lh $t5, 0x025C($s0) ## 0000025C
|
||||
/* 00774 809EB4B4 55A00004 */ bnel $t5, $zero, .L809EB4C8
|
||||
/* 00778 809EB4B8 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 0077C 809EB4BC 0C27AE4D */ jal func_809EB934
|
||||
/* 00780 809EB4C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00784 809EB4C4 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L809EB4C8:
|
||||
/* 00788 809EB4C8 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 0078C 809EB4CC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00790 809EB4D0 03E00008 */ jr $ra
|
||||
/* 00794 809EB4D4 00000000 */ nop
|
|
@ -1,26 +0,0 @@
|
|||
glabel func_809EB4D8
|
||||
/* 00798 809EB4D8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 0079C 809EB4DC AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 007A0 809EB4E0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 007A4 809EB4E4 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 007A8 809EB4E8 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 007AC 809EB4EC 24A55880 */ addiu $a1, $a1, 0x5880 ## $a1 = 06005880
|
||||
/* 007B0 809EB4F0 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 007B4 809EB4F4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 007B8 809EB4F8 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
|
||||
/* 007BC 809EB4FC 3C06C080 */ lui $a2, 0xC080 ## $a2 = C0800000
|
||||
/* 007C0 809EB500 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 007C4 809EB504 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 007C8 809EB508 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
|
||||
/* 007CC 809EB50C 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 007D0 809EB510 240F0046 */ addiu $t7, $zero, 0x0046 ## $t7 = 00000046
|
||||
/* 007D4 809EB514 3C05809F */ lui $a1, %hi(func_809EB53C) ## $a1 = 809F0000
|
||||
/* 007D8 809EB518 24A5B53C */ addiu $a1, $a1, %lo(func_809EB53C) ## $a1 = 809EB53C
|
||||
/* 007DC 809EB51C A08E025B */ sb $t6, 0x025B($a0) ## 0000025B
|
||||
/* 007E0 809EB520 A48F025C */ sh $t7, 0x025C($a0) ## 0000025C
|
||||
/* 007E4 809EB524 0C27AB50 */ jal func_809EAD40
|
||||
/* 007E8 809EB528 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
|
||||
/* 007EC 809EB52C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 007F0 809EB530 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 007F4 809EB534 03E00008 */ jr $ra
|
||||
/* 007F8 809EB538 00000000 */ nop
|
|
@ -1,39 +0,0 @@
|
|||
glabel func_809EB53C
|
||||
/* 007FC 809EB53C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00800 809EB540 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00804 809EB544 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00808 809EB548 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 0080C 809EB54C 848E025C */ lh $t6, 0x025C($a0) ## 0000025C
|
||||
/* 00810 809EB550 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00814 809EB554 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
|
||||
/* 00818 809EB558 25CFFFFF */ addiu $t7, $t6, 0xFFFF ## $t7 = FFFFFFFF
|
||||
/* 0081C 809EB55C A48F025C */ sh $t7, 0x025C($a0) ## 0000025C
|
||||
/* 00820 809EB560 8498025C */ lh $t8, 0x025C($a0) ## 0000025C
|
||||
/* 00824 809EB564 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
|
||||
/* 00828 809EB568 24070BB8 */ addiu $a3, $zero, 0x0BB8 ## $a3 = 00000BB8
|
||||
/* 0082C 809EB56C 57000006 */ bnel $t8, $zero, .L809EB588
|
||||
/* 00830 809EB570 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
|
||||
/* 00834 809EB574 0C27AE4D */ jal func_809EB934
|
||||
/* 00838 809EB578 A0800251 */ sb $zero, 0x0251($a0) ## 00000251
|
||||
/* 0083C 809EB57C 10000009 */ beq $zero, $zero, .L809EB5A4
|
||||
/* 00840 809EB580 861900B6 */ lh $t9, 0x00B6($s0) ## 000000B6
|
||||
/* 00844 809EB584 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
|
||||
.L809EB588:
|
||||
/* 00848 809EB588 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 0084C 809EB58C 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
|
||||
/* 00850 809EB590 00A12821 */ addu $a1, $a1, $at
|
||||
/* 00854 809EB594 00052C00 */ sll $a1, $a1, 16
|
||||
/* 00858 809EB598 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 0085C 809EB59C 00052C03 */ sra $a1, $a1, 16
|
||||
/* 00860 809EB5A0 861900B6 */ lh $t9, 0x00B6($s0) ## 000000B6
|
||||
.L809EB5A4:
|
||||
/* 00864 809EB5A4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 00868 809EB5A8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 0086C 809EB5AC A6190032 */ sh $t9, 0x0032($s0) ## 00000032
|
||||
/* 00870 809EB5B0 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00874 809EB5B4 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00878 809EB5B8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 0087C 809EB5BC 03E00008 */ jr $ra
|
||||
/* 00880 809EB5C0 00000000 */ nop
|
|
@ -1,25 +0,0 @@
|
|||
glabel func_809EB5C4
|
||||
/* 00884 809EB5C4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00888 809EB5C8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0088C 809EB5CC 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 00890 809EB5D0 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00894 809EB5D4 24A54658 */ addiu $a1, $a1, 0x4658 ## $a1 = 06004658
|
||||
/* 00898 809EB5D8 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 0089C 809EB5DC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 008A0 809EB5E0 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
|
||||
/* 008A4 809EB5E4 3C06C0C0 */ lui $a2, 0xC0C0 ## $a2 = C0C00000
|
||||
/* 008A8 809EB5E8 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 008AC 809EB5EC 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 008B0 809EB5F0 300E00FF */ andi $t6, $zero, 0x00FF ## $t6 = 00000000
|
||||
/* 008B4 809EB5F4 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004
|
||||
/* 008B8 809EB5F8 3C05809F */ lui $a1, %hi(func_809EB624) ## $a1 = 809F0000
|
||||
/* 008BC 809EB5FC 24A5B624 */ addiu $a1, $a1, %lo(func_809EB624) ## $a1 = 809EB624
|
||||
/* 008C0 809EB600 A48E025C */ sh $t6, 0x025C($a0) ## 0000025C
|
||||
/* 008C4 809EB604 A0800250 */ sb $zero, 0x0250($a0) ## 00000250
|
||||
/* 008C8 809EB608 A08F025B */ sb $t7, 0x025B($a0) ## 0000025B
|
||||
/* 008CC 809EB60C 0C27AB50 */ jal func_809EAD40
|
||||
/* 008D0 809EB610 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
|
||||
/* 008D4 809EB614 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 008D8 809EB618 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 008DC 809EB61C 03E00008 */ jr $ra
|
||||
/* 008E0 809EB620 00000000 */ nop
|
|
@ -1,229 +0,0 @@
|
|||
.late_rodata
|
||||
glabel jtbl_809EC6C0
|
||||
.word L809EB730
|
||||
.word L809EB708
|
||||
.word L809EB750
|
||||
.word L809EB81C
|
||||
.word L809EB918
|
||||
.word L809EB910
|
||||
|
||||
.text
|
||||
glabel func_809EB624
|
||||
/* 008E4 809EB624 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 008E8 809EB628 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 008EC 809EB62C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 008F0 809EB630 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 008F4 809EB634 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 008F8 809EB638 AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 008FC 809EB63C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 00900 809EB640 AFA40034 */ sw $a0, 0x0034($sp)
|
||||
/* 00904 809EB644 10400005 */ beq $v0, $zero, .L809EB65C
|
||||
/* 00908 809EB648 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 0090C 809EB64C 920E0250 */ lbu $t6, 0x0250($s0) ## 00000250
|
||||
/* 00910 809EB650 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001
|
||||
/* 00914 809EB654 10000023 */ beq $zero, $zero, .L809EB6E4
|
||||
/* 00918 809EB658 A20F0250 */ sb $t7, 0x0250($s0) ## 00000250
|
||||
.L809EB65C:
|
||||
/* 0091C 809EB65C 44812000 */ mtc1 $at, $f4 ## $f4 = 100.00
|
||||
/* 00920 809EB660 C6060090 */ lwc1 $f6, 0x0090($s0) ## 00000090
|
||||
/* 00924 809EB664 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00928 809EB668 4606203C */ c.lt.s $f4, $f6
|
||||
/* 0092C 809EB66C 00000000 */ nop
|
||||
/* 00930 809EB670 45030005 */ bc1tl .L809EB688
|
||||
/* 00934 809EB674 3C01C080 */ lui $at, 0xC080 ## $at = C0800000
|
||||
/* 00938 809EB678 0C00B821 */ jal func_8002E084
|
||||
/* 0093C 809EB67C 24052AAA */ addiu $a1, $zero, 0x2AAA ## $a1 = 00002AAA
|
||||
/* 00940 809EB680 14400018 */ bne $v0, $zero, .L809EB6E4
|
||||
/* 00944 809EB684 3C01C080 */ lui $at, 0xC080 ## $at = C0800000
|
||||
.L809EB688:
|
||||
/* 00948 809EB688 44815000 */ mtc1 $at, $f10 ## $f10 = -4.00
|
||||
/* 0094C 809EB68C 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 00950 809EB690 8E070164 */ lw $a3, 0x0164($s0) ## 00000164
|
||||
/* 00954 809EB694 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00958 809EB698 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002
|
||||
/* 0095C 809EB69C AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 00960 809EB6A0 24A54658 */ addiu $a1, $a1, 0x4658 ## $a1 = 06004658
|
||||
/* 00964 809EB6A4 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00968 809EB6A8 3C06BF80 */ lui $a2, 0xBF80 ## $a2 = BF800000
|
||||
/* 0096C 809EB6AC E7AA0018 */ swc1 $f10, 0x0018($sp)
|
||||
/* 00970 809EB6B0 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 00974 809EB6B4 E7A80010 */ swc1 $f8, 0x0010($sp)
|
||||
/* 00978 809EB6B8 8E0802C8 */ lw $t0, 0x02C8($s0) ## 000002C8
|
||||
/* 0097C 809EB6BC 24190004 */ addiu $t9, $zero, 0x0004 ## $t9 = 00000004
|
||||
/* 00980 809EB6C0 A2190250 */ sb $t9, 0x0250($s0) ## 00000250
|
||||
/* 00984 809EB6C4 A1000015 */ sb $zero, 0x0015($t0) ## 00000015
|
||||
/* 00988 809EB6C8 8E0202C8 */ lw $v0, 0x02C8($s0) ## 000002C8
|
||||
/* 0098C 809EB6CC 90490015 */ lbu $t1, 0x0015($v0) ## 00000015
|
||||
/* 00990 809EB6D0 A20902BC */ sb $t1, 0x02BC($s0) ## 000002BC
|
||||
/* 00994 809EB6D4 A0400005 */ sb $zero, 0x0005($v0) ## 00000005
|
||||
/* 00998 809EB6D8 8E0202C8 */ lw $v0, 0x02C8($s0) ## 000002C8
|
||||
/* 0099C 809EB6DC 904A0005 */ lbu $t2, 0x0005($v0) ## 00000005
|
||||
/* 009A0 809EB6E0 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
||||
.L809EB6E4:
|
||||
/* 009A4 809EB6E4 920B0250 */ lbu $t3, 0x0250($s0) ## 00000250
|
||||
/* 009A8 809EB6E8 2D610006 */ sltiu $at, $t3, 0x0006
|
||||
/* 009AC 809EB6EC 1020008A */ beq $at, $zero, .L809EB918
|
||||
/* 009B0 809EB6F0 000B5880 */ sll $t3, $t3, 2
|
||||
/* 009B4 809EB6F4 3C01809F */ lui $at, %hi(jtbl_809EC6C0) ## $at = 809F0000
|
||||
/* 009B8 809EB6F8 002B0821 */ addu $at, $at, $t3
|
||||
/* 009BC 809EB6FC 8C2BC6C0 */ lw $t3, %lo(jtbl_809EC6C0)($at)
|
||||
/* 009C0 809EB700 01600008 */ jr $t3
|
||||
/* 009C4 809EB704 00000000 */ nop
|
||||
glabel L809EB708
|
||||
/* 009C8 809EB708 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 009CC 809EB70C 24A51A3C */ addiu $a1, $a1, 0x1A3C ## $a1 = 06001A3C
|
||||
/* 009D0 809EB710 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
|
||||
/* 009D4 809EB714 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 009D8 809EB718 920C0250 */ lbu $t4, 0x0250($s0) ## 00000250
|
||||
/* 009DC 809EB71C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 009E0 809EB720 24053900 */ addiu $a1, $zero, 0x3900 ## $a1 = 00003900
|
||||
/* 009E4 809EB724 258D0001 */ addiu $t5, $t4, 0x0001 ## $t5 = 00000001
|
||||
/* 009E8 809EB728 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 009EC 809EB72C A20D0250 */ sb $t5, 0x0250($s0) ## 00000250
|
||||
glabel L809EB730
|
||||
/* 009F0 809EB730 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
|
||||
/* 009F4 809EB734 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 009F8 809EB738 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
|
||||
/* 009FC 809EB73C 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
|
||||
/* 00A00 809EB740 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 00A04 809EB744 240705DC */ addiu $a3, $zero, 0x05DC ## $a3 = 000005DC
|
||||
/* 00A08 809EB748 10000074 */ beq $zero, $zero, .L809EB91C
|
||||
/* 00A0C 809EB74C 861800B6 */ lh $t8, 0x00B6($s0) ## 000000B6
|
||||
glabel L809EB750
|
||||
/* 00A10 809EB750 3C014080 */ lui $at, 0x4080 ## $at = 40800000
|
||||
/* 00A14 809EB754 44819000 */ mtc1 $at, $f18 ## $f18 = 4.00
|
||||
/* 00A18 809EB758 C6100164 */ lwc1 $f16, 0x0164($s0) ## 00000164
|
||||
/* 00A1C 809EB75C 4610903E */ c.le.s $f18, $f16
|
||||
/* 00A20 809EB760 00000000 */ nop
|
||||
/* 00A24 809EB764 4502000E */ bc1fl .L809EB7A0
|
||||
/* 00A28 809EB768 920302BC */ lbu $v1, 0x02BC($s0) ## 000002BC
|
||||
/* 00A2C 809EB76C 8E0F02C8 */ lw $t7, 0x02C8($s0) ## 000002C8
|
||||
/* 00A30 809EB770 240E0011 */ addiu $t6, $zero, 0x0011 ## $t6 = 00000011
|
||||
/* 00A34 809EB774 3C19FFCF */ lui $t9, 0xFFCF ## $t9 = FFCF0000
|
||||
/* 00A38 809EB778 A1EE0015 */ sb $t6, 0x0015($t7) ## 00000015
|
||||
/* 00A3C 809EB77C 8E0202C8 */ lw $v0, 0x02C8($s0) ## 000002C8
|
||||
/* 00A40 809EB780 3739FFFF */ ori $t9, $t9, 0xFFFF ## $t9 = FFCFFFFF
|
||||
/* 00A44 809EB784 24080008 */ addiu $t0, $zero, 0x0008 ## $t0 = 00000008
|
||||
/* 00A48 809EB788 90580015 */ lbu $t8, 0x0015($v0) ## 00000015
|
||||
/* 00A4C 809EB78C A21802BC */ sb $t8, 0x02BC($s0) ## 000002BC
|
||||
/* 00A50 809EB790 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 00A54 809EB794 8E0902C8 */ lw $t1, 0x02C8($s0) ## 000002C8
|
||||
/* 00A58 809EB798 A1280005 */ sb $t0, 0x0005($t1) ## 00000005
|
||||
/* 00A5C 809EB79C 920302BC */ lbu $v1, 0x02BC($s0) ## 000002BC
|
||||
.L809EB7A0:
|
||||
/* 00A60 809EB7A0 306A0004 */ andi $t2, $v1, 0x0004 ## $t2 = 00000000
|
||||
/* 00A64 809EB7A4 11400010 */ beq $t2, $zero, .L809EB7E8
|
||||
/* 00A68 809EB7A8 30790002 */ andi $t9, $v1, 0x0002 ## $t9 = 00000000
|
||||
/* 00A6C 809EB7AC 8E0C02C8 */ lw $t4, 0x02C8($s0) ## 000002C8
|
||||
/* 00A70 809EB7B0 306BFFF9 */ andi $t3, $v1, 0xFFF9 ## $t3 = 00000000
|
||||
/* 00A74 809EB7B4 A20B02BC */ sb $t3, 0x02BC($s0) ## 000002BC
|
||||
/* 00A78 809EB7B8 A1800015 */ sb $zero, 0x0015($t4) ## 00000015
|
||||
/* 00A7C 809EB7BC 8E0202C8 */ lw $v0, 0x02C8($s0) ## 000002C8
|
||||
/* 00A80 809EB7C0 904D0015 */ lbu $t5, 0x0015($v0) ## 00000015
|
||||
/* 00A84 809EB7C4 A20D02BC */ sb $t5, 0x02BC($s0) ## 000002BC
|
||||
/* 00A88 809EB7C8 A0400005 */ sb $zero, 0x0005($v0) ## 00000005
|
||||
/* 00A8C 809EB7CC 8E0202C8 */ lw $v0, 0x02C8($s0) ## 000002C8
|
||||
/* 00A90 809EB7D0 904E0005 */ lbu $t6, 0x0005($v0) ## 00000005
|
||||
/* 00A94 809EB7D4 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
|
||||
/* 00A98 809EB7D8 920F0250 */ lbu $t7, 0x0250($s0) ## 00000250
|
||||
/* 00A9C 809EB7DC 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
|
||||
/* 00AA0 809EB7E0 1000004D */ beq $zero, $zero, .L809EB918
|
||||
/* 00AA4 809EB7E4 A2180250 */ sb $t8, 0x0250($s0) ## 00000250
|
||||
.L809EB7E8:
|
||||
/* 00AA8 809EB7E8 1320004B */ beq $t9, $zero, .L809EB918
|
||||
/* 00AAC 809EB7EC 3C014100 */ lui $at, 0x4100 ## $at = 41000000
|
||||
/* 00AB0 809EB7F0 44810000 */ mtc1 $at, $f0 ## $f0 = 8.00
|
||||
/* 00AB4 809EB7F4 3068FFFD */ andi $t0, $v1, 0xFFFD ## $t0 = 00000000
|
||||
/* 00AB8 809EB7F8 A20802BC */ sb $t0, 0x02BC($s0) ## 000002BC
|
||||
/* 00ABC 809EB7FC 860700B6 */ lh $a3, 0x00B6($s0) ## 000000B6
|
||||
/* 00AC0 809EB800 44060000 */ mfc1 $a2, $f0
|
||||
/* 00AC4 809EB804 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 00AC8 809EB808 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00ACC 809EB80C 0C00BDC7 */ jal func_8002F71C
|
||||
/* 00AD0 809EB810 E7A00010 */ swc1 $f0, 0x0010($sp)
|
||||
/* 00AD4 809EB814 10000041 */ beq $zero, $zero, .L809EB91C
|
||||
/* 00AD8 809EB818 861800B6 */ lh $t8, 0x00B6($s0) ## 000000B6
|
||||
glabel L809EB81C
|
||||
/* 00ADC 809EB81C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 00AE0 809EB820 44812000 */ mtc1 $at, $f4 ## $f4 = 100.00
|
||||
/* 00AE4 809EB824 C6060090 */ lwc1 $f6, 0x0090($s0) ## 00000090
|
||||
/* 00AE8 809EB828 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00AEC 809EB82C 4604303E */ c.le.s $f6, $f4
|
||||
/* 00AF0 809EB830 00000000 */ nop
|
||||
/* 00AF4 809EB834 45000017 */ bc1f .L809EB894
|
||||
/* 00AF8 809EB838 00000000 */ nop
|
||||
/* 00AFC 809EB83C 0C00B821 */ jal func_8002E084
|
||||
/* 00B00 809EB840 24052AAA */ addiu $a1, $zero, 0x2AAA ## $a1 = 00002AAA
|
||||
/* 00B04 809EB844 10400013 */ beq $v0, $zero, .L809EB894
|
||||
/* 00B08 809EB848 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00B0C 809EB84C 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 00B10 809EB850 24844658 */ addiu $a0, $a0, 0x4658 ## $a0 = 06004658
|
||||
/* 00B14 809EB854 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
|
||||
/* 00B18 809EB858 3C01C0C0 */ lui $at, 0xC0C0 ## $at = C0C00000
|
||||
/* 00B1C 809EB85C 44818000 */ mtc1 $at, $f16 ## $f16 = -6.00
|
||||
/* 00B20 809EB860 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00B24 809EB864 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00B28 809EB868 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002
|
||||
/* 00B2C 809EB86C AFA90014 */ sw $t1, 0x0014($sp)
|
||||
/* 00B30 809EB870 24A54658 */ addiu $a1, $a1, 0x4658 ## $a1 = 06004658
|
||||
/* 00B34 809EB874 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00B38 809EB878 E7AA0010 */ swc1 $f10, 0x0010($sp)
|
||||
/* 00B3C 809EB87C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00B40 809EB880 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000
|
||||
/* 00B44 809EB884 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 00B48 809EB888 E7B00018 */ swc1 $f16, 0x0018($sp)
|
||||
/* 00B4C 809EB88C 10000022 */ beq $zero, $zero, .L809EB918
|
||||
/* 00B50 809EB890 A2000250 */ sb $zero, 0x0250($s0) ## 00000250
|
||||
.L809EB894:
|
||||
/* 00B54 809EB894 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00B58 809EB898 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 00B5C 809EB89C 24844658 */ addiu $a0, $a0, 0x4658 ## $a0 = 06004658
|
||||
/* 00B60 809EB8A0 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
|
||||
/* 00B64 809EB8A4 3C01C080 */ lui $at, 0xC080 ## $at = C0800000
|
||||
/* 00B68 809EB8A8 44813000 */ mtc1 $at, $f6 ## $f6 = -4.00
|
||||
/* 00B6C 809EB8AC 468094A0 */ cvt.s.w $f18, $f18
|
||||
/* 00B70 809EB8B0 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00B74 809EB8B4 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00B78 809EB8B8 240A0002 */ addiu $t2, $zero, 0x0002 ## $t2 = 00000002
|
||||
/* 00B7C 809EB8BC AFAA0014 */ sw $t2, 0x0014($sp)
|
||||
/* 00B80 809EB8C0 24A54658 */ addiu $a1, $a1, 0x4658 ## $a1 = 06004658
|
||||
/* 00B84 809EB8C4 44079000 */ mfc1 $a3, $f18
|
||||
/* 00B88 809EB8C8 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00B8C 809EB8CC 3C06BF80 */ lui $a2, 0xBF80 ## $a2 = BF800000
|
||||
/* 00B90 809EB8D0 E7A60018 */ swc1 $f6, 0x0018($sp)
|
||||
/* 00B94 809EB8D4 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 00B98 809EB8D8 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 00B9C 809EB8DC 920B0250 */ lbu $t3, 0x0250($s0) ## 00000250
|
||||
/* 00BA0 809EB8E0 8E0D02C8 */ lw $t5, 0x02C8($s0) ## 000002C8
|
||||
/* 00BA4 809EB8E4 256C0001 */ addiu $t4, $t3, 0x0001 ## $t4 = 00000001
|
||||
/* 00BA8 809EB8E8 A20C0250 */ sb $t4, 0x0250($s0) ## 00000250
|
||||
/* 00BAC 809EB8EC A1A00015 */ sb $zero, 0x0015($t5) ## 00000015
|
||||
/* 00BB0 809EB8F0 8E0202C8 */ lw $v0, 0x02C8($s0) ## 000002C8
|
||||
/* 00BB4 809EB8F4 904E0015 */ lbu $t6, 0x0015($v0) ## 00000015
|
||||
/* 00BB8 809EB8F8 A20E02BC */ sb $t6, 0x02BC($s0) ## 000002BC
|
||||
/* 00BBC 809EB8FC A0400005 */ sb $zero, 0x0005($v0) ## 00000005
|
||||
/* 00BC0 809EB900 8E0202C8 */ lw $v0, 0x02C8($s0) ## 000002C8
|
||||
/* 00BC4 809EB904 904F0005 */ lbu $t7, 0x0005($v0) ## 00000005
|
||||
/* 00BC8 809EB908 10000003 */ beq $zero, $zero, .L809EB918
|
||||
/* 00BCC 809EB90C AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
|
||||
glabel L809EB910
|
||||
/* 00BD0 809EB910 0C27ACCD */ jal func_809EB334
|
||||
/* 00BD4 809EB914 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
glabel L809EB918
|
||||
.L809EB918:
|
||||
/* 00BD8 809EB918 861800B6 */ lh $t8, 0x00B6($s0) ## 000000B6
|
||||
.L809EB91C:
|
||||
/* 00BDC 809EB91C A6180032 */ sh $t8, 0x0032($s0) ## 00000032
|
||||
/* 00BE0 809EB920 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00BE4 809EB924 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00BE8 809EB928 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
/* 00BEC 809EB92C 03E00008 */ jr $ra
|
||||
/* 00BF0 809EB930 00000000 */ nop
|
|
@ -1,35 +0,0 @@
|
|||
glabel func_809EB934
|
||||
/* 00BF4 809EB934 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00BF8 809EB938 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00BFC 809EB93C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 00C00 809EB940 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00C04 809EB944 24A52148 */ addiu $a1, $a1, 0x2148 ## $a1 = 06002148
|
||||
/* 00C08 809EB948 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00C0C 809EB94C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 00C10 809EB950 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
|
||||
/* 00C14 809EB954 3C06C0C0 */ lui $a2, 0xC0C0 ## $a2 = C0C00000
|
||||
/* 00C18 809EB958 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00C1C 809EB95C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00C20 809EB960 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
|
||||
/* 00C24 809EB964 8C980004 */ lw $t8, 0x0004($a0) ## 00000004
|
||||
/* 00C28 809EB968 848F00B6 */ lh $t7, 0x00B6($a0) ## 000000B6
|
||||
/* 00C2C 809EB96C 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
|
||||
/* 00C30 809EB970 0301C824 */ and $t9, $t8, $at
|
||||
/* 00C34 809EB974 240539A8 */ addiu $a1, $zero, 0x39A8 ## $a1 = 000039A8
|
||||
/* 00C38 809EB978 A08E025B */ sb $t6, 0x025B($a0) ## 0000025B
|
||||
/* 00C3C 809EB97C A480025E */ sh $zero, 0x025E($a0) ## 0000025E
|
||||
/* 00C40 809EB980 A0800250 */ sb $zero, 0x0250($a0) ## 00000250
|
||||
/* 00C44 809EB984 AC990004 */ sw $t9, 0x0004($a0) ## 00000004
|
||||
/* 00C48 809EB988 E4800068 */ swc1 $f0, 0x0068($a0) ## 00000068
|
||||
/* 00C4C 809EB98C E4800318 */ swc1 $f0, 0x0318($a0) ## 00000318
|
||||
/* 00C50 809EB990 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00C54 809EB994 A48F0032 */ sh $t7, 0x0032($a0) ## 00000032
|
||||
/* 00C58 809EB998 3C05809F */ lui $a1, %hi(func_809EB9B8) ## $a1 = 809F0000
|
||||
/* 00C5C 809EB99C 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00C60 809EB9A0 0C27AB50 */ jal func_809EAD40
|
||||
/* 00C64 809EB9A4 24A5B9B8 */ addiu $a1, $a1, %lo(func_809EB9B8) ## $a1 = 809EB9B8
|
||||
/* 00C68 809EB9A8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00C6C 809EB9AC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00C70 809EB9B0 03E00008 */ jr $ra
|
||||
/* 00C74 809EB9B4 00000000 */ nop
|
|
@ -1,120 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809EC6D8
|
||||
.word 0x40033333
|
||||
glabel D_809EC6DC
|
||||
.float 1.2
|
||||
|
||||
glabel D_809EC6E0
|
||||
.float 0.6
|
||||
|
||||
.text
|
||||
glabel func_809EB9B8
|
||||
/* 00C78 809EB9B8 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00C7C 809EB9BC AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00C80 809EB9C0 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00C84 809EB9C4 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00C88 809EB9C8 90830250 */ lbu $v1, 0x0250($a0) ## 00000250
|
||||
/* 00C8C 809EB9CC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00C90 809EB9D0 24080011 */ addiu $t0, $zero, 0x0011 ## $t0 = 00000011
|
||||
/* 00C94 809EB9D4 10600008 */ beq $v1, $zero, .L809EB9F8
|
||||
/* 00C98 809EB9D8 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
|
||||
/* 00C9C 809EB9DC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00CA0 809EB9E0 10410011 */ beq $v0, $at, .L809EBA28
|
||||
/* 00CA4 809EB9E4 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00CA8 809EB9E8 10410049 */ beq $v0, $at, .L809EBB10
|
||||
/* 00CAC 809EB9EC 240C0023 */ addiu $t4, $zero, 0x0023 ## $t4 = 00000023
|
||||
/* 00CB0 809EB9F0 10000051 */ beq $zero, $zero, .L809EBB38
|
||||
/* 00CB4 809EB9F4 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L809EB9F8:
|
||||
/* 00CB8 809EB9F8 920F0252 */ lbu $t7, 0x0252($s0) ## 00000252
|
||||
/* 00CBC 809EB9FC 3C09FFCF */ lui $t1, 0xFFCF ## $t1 = FFCF0000
|
||||
/* 00CC0 809EBA00 246E0001 */ addiu $t6, $v1, 0x0001 ## $t6 = 00000001
|
||||
/* 00CC4 809EBA04 3529FFFF */ ori $t1, $t1, 0xFFFF ## $t1 = FFCFFFFF
|
||||
/* 00CC8 809EBA08 240A0004 */ addiu $t2, $zero, 0x0004 ## $t2 = 00000004
|
||||
/* 00CCC 809EBA0C 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
|
||||
/* 00CD0 809EBA10 A20E0250 */ sb $t6, 0x0250($s0) ## 00000250
|
||||
/* 00CD4 809EBA14 A2180252 */ sb $t8, 0x0252($s0) ## 00000252
|
||||
/* 00CD8 809EBA18 A208028D */ sb $t0, 0x028D($s0) ## 0000028D
|
||||
/* 00CDC 809EBA1C A2080270 */ sb $t0, 0x0270($s0) ## 00000270
|
||||
/* 00CE0 809EBA20 AE090278 */ sw $t1, 0x0278($s0) ## 00000278
|
||||
/* 00CE4 809EBA24 A20A027D */ sb $t2, 0x027D($s0) ## 0000027D
|
||||
.L809EBA28:
|
||||
/* 00CE8 809EBA28 860B025E */ lh $t3, 0x025E($s0) ## 0000025E
|
||||
/* 00CEC 809EBA2C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00CF0 809EBA30 26040318 */ addiu $a0, $s0, 0x0318 ## $a0 = 00000318
|
||||
/* 00CF4 809EBA34 256C047E */ addiu $t4, $t3, 0x047E ## $t4 = 0000047E
|
||||
/* 00CF8 809EBA38 A60C025E */ sh $t4, 0x025E($s0) ## 0000025E
|
||||
/* 00CFC 809EBA3C 3C054396 */ lui $a1, 0x4396 ## $a1 = 43960000
|
||||
/* 00D00 809EBA40 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00D04 809EBA44 3C074100 */ lui $a3, 0x4100 ## $a3 = 41000000
|
||||
/* 00D08 809EBA48 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
|
||||
|
||||
/* 00D0C 809EBA4C E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 00D10 809EBA50 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 00D14 809EBA54 8604025E */ lh $a0, 0x025E($s0) ## 0000025E
|
||||
/* 00D18 809EBA58 3C01425C */ lui $at, 0x425C ## $at = 425C0000
|
||||
/* 00D1C 809EBA5C 44813000 */ mtc1 $at, $f6 ## $f6 = 55.00
|
||||
/* 00D20 809EBA60 8604025E */ lh $a0, 0x025E($s0) ## 0000025E
|
||||
/* 00D24 809EBA64 46060202 */ mul.s $f8, $f0, $f6
|
||||
/* 00D28 809EBA68 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 00D2C 809EBA6C E608031C */ swc1 $f8, 0x031C($s0) ## 0000031C
|
||||
/* 00D30 809EBA70 3C01437F */ lui $at, 0x437F ## $at = 437F0000
|
||||
/* 00D34 809EBA74 44815000 */ mtc1 $at, $f10 ## $f10 = 255.00
|
||||
/* 00D38 809EBA78 3C01809F */ lui $at, %hi(D_809EC6D8) ## $at = 809F0000
|
||||
/* 00D3C 809EBA7C 8E070318 */ lw $a3, 0x0318($s0) ## 00000318
|
||||
/* 00D40 809EBA80 460A0402 */ mul.s $f16, $f0, $f10
|
||||
/* 00D44 809EBA84 24190004 */ addiu $t9, $zero, 0x0004 ## $t9 = 00000004
|
||||
/* 00D48 809EBA88 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00D4C 809EBA8C 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
|
||||
/* 00D50 809EBA90 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 00D54 809EBA94 440E9000 */ mfc1 $t6, $f18
|
||||
/* 00D58 809EBA98 00000000 */ nop
|
||||
/* 00D5C 809EBA9C 000E7C00 */ sll $t7, $t6, 16
|
||||
/* 00D60 809EBAA0 000FC403 */ sra $t8, $t7, 16
|
||||
/* 00D64 809EBAA4 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00
|
||||
/* 00D68 809EBAA8 00000000 */ nop
|
||||
/* 00D6C 809EBAAC 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00D70 809EBAB0 E6060320 */ swc1 $f6, 0x0320($s0) ## 00000320
|
||||
/* 00D74 809EBAB4 C428C6D8 */ lwc1 $f8, %lo(D_809EC6D8)($at)
|
||||
/* 00D78 809EBAB8 3C01809F */ lui $at, %hi(D_809EC6DC) ## $at = 809F0000
|
||||
/* 00D7C 809EBABC C42AC6DC */ lwc1 $f10, %lo(D_809EC6DC)($at)
|
||||
/* 00D80 809EBAC0 AFB90010 */ sw $t9, 0x0010($sp)
|
||||
/* 00D84 809EBAC4 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00D88 809EBAC8 E7A80014 */ swc1 $f8, 0x0014($sp)
|
||||
/* 00D8C 809EBACC 0C27ABB1 */ jal func_809EAEC4
|
||||
/* 00D90 809EBAD0 E7AA0018 */ swc1 $f10, 0x0018($sp)
|
||||
/* 00D94 809EBAD4 3C01809F */ lui $at, %hi(D_809EC6E0) ## $at = 809F0000
|
||||
/* 00D98 809EBAD8 C432C6E0 */ lwc1 $f18, %lo(D_809EC6E0)($at)
|
||||
/* 00D9C 809EBADC C6100318 */ lwc1 $f16, 0x0318($s0) ## 00000318
|
||||
/* 00DA0 809EBAE0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 00DA4 809EBAE4 46128102 */ mul.s $f4, $f16, $f18
|
||||
/* 00DA8 809EBAE8 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00DAC 809EBAEC 44093000 */ mfc1 $t1, $f6
|
||||
/* 00DB0 809EBAF0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 00DB4 809EBAF4 A60902A0 */ sh $t1, 0x02A0($s0) ## 000002A0
|
||||
/* 00DB8 809EBAF8 5040000F */ beql $v0, $zero, .L809EBB38
|
||||
/* 00DBC 809EBAFC 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00DC0 809EBB00 920A0250 */ lbu $t2, 0x0250($s0) ## 00000250
|
||||
/* 00DC4 809EBB04 254B0001 */ addiu $t3, $t2, 0x0001 ## $t3 = 00000001
|
||||
/* 00DC8 809EBB08 1000000A */ beq $zero, $zero, .L809EBB34
|
||||
/* 00DCC 809EBB0C A20B0250 */ sb $t3, 0x0250($s0) ## 00000250
|
||||
.L809EBB10:
|
||||
/* 00DD0 809EBB10 300E00FF */ andi $t6, $zero, 0x00FF ## $t6 = 00000000
|
||||
/* 00DD4 809EBB14 A2000252 */ sb $zero, 0x0252($s0) ## 00000252
|
||||
/* 00DD8 809EBB18 A60C02A0 */ sh $t4, 0x02A0($s0) ## 000002A0
|
||||
/* 00DDC 809EBB1C A200028D */ sb $zero, 0x028D($s0) ## 0000028D
|
||||
/* 00DE0 809EBB20 A2000270 */ sb $zero, 0x0270($s0) ## 00000270
|
||||
/* 00DE4 809EBB24 AE0E0278 */ sw $t6, 0x0278($s0) ## 00000278
|
||||
/* 00DE8 809EBB28 A200027D */ sb $zero, 0x027D($s0) ## 0000027D
|
||||
/* 00DEC 809EBB2C 0C27AC17 */ jal func_809EB05C
|
||||
/* 00DF0 809EBB30 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L809EBB34:
|
||||
/* 00DF4 809EBB34 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L809EBB38:
|
||||
/* 00DF8 809EBB38 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00DFC 809EBB3C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00E00 809EBB40 03E00008 */ jr $ra
|
||||
/* 00E04 809EBB44 00000000 */ nop
|
|
@ -1,35 +0,0 @@
|
|||
glabel func_809EBB48
|
||||
/* 00E08 809EBB48 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00E0C 809EBB4C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00E10 809EBB50 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 00E14 809EBB54 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00E18 809EBB58 24A53D6C */ addiu $a1, $a1, 0x3D6C ## $a1 = 06003D6C
|
||||
/* 00E1C 809EBB5C AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00E20 809EBB60 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 00E24 809EBB64 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
|
||||
/* 00E28 809EBB68 3C06C0C0 */ lui $a2, 0xC0C0 ## $a2 = C0C00000
|
||||
/* 00E2C 809EBB6C 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 00E30 809EBB70 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
|
||||
/* 00E34 809EBB74 240539A9 */ addiu $a1, $zero, 0x39A9 ## $a1 = 000039A9
|
||||
/* 00E38 809EBB78 94EE0088 */ lhu $t6, 0x0088($a3) ## 00000088
|
||||
/* 00E3C 809EBB7C 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
/* 00E40 809EBB80 31CF0001 */ andi $t7, $t6, 0x0001 ## $t7 = 00000000
|
||||
/* 00E44 809EBB84 11E00004 */ beq $t7, $zero, .L809EBB98
|
||||
/* 00E48 809EBB88 00000000 */ nop
|
||||
/* 00E4C 809EBB8C 44812000 */ mtc1 $at, $f4 ## $f4 = -1.00
|
||||
/* 00E50 809EBB90 00000000 */ nop
|
||||
/* 00E54 809EBB94 E4E40068 */ swc1 $f4, 0x0068($a3) ## 00000068
|
||||
.L809EBB98:
|
||||
/* 00E58 809EBB98 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00E5C 809EBB9C AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00E60 809EBBA0 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00E64 809EBBA4 24180006 */ addiu $t8, $zero, 0x0006 ## $t8 = 00000006
|
||||
/* 00E68 809EBBA8 3C05809F */ lui $a1, %hi(func_809EBBC8) ## $a1 = 809F0000
|
||||
/* 00E6C 809EBBAC 24A5BBC8 */ addiu $a1, $a1, %lo(func_809EBBC8) ## $a1 = 809EBBC8
|
||||
/* 00E70 809EBBB0 0C27AB50 */ jal func_809EAD40
|
||||
/* 00E74 809EBBB4 A098025B */ sb $t8, 0x025B($a0) ## 0000025B
|
||||
/* 00E78 809EBBB8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00E7C 809EBBBC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00E80 809EBBC0 03E00008 */ jr $ra
|
||||
/* 00E84 809EBBC4 00000000 */ nop
|
|
@ -1,88 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809EC6E4
|
||||
.float 0.15
|
||||
|
||||
.text
|
||||
glabel func_809EBBC8
|
||||
/* 00E88 809EBBC8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00E8C 809EBBCC AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00E90 809EBBD0 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00E94 809EBBD4 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 00E98 809EBBD8 C4800068 */ lwc1 $f0, 0x0068($a0) ## 00000068
|
||||
/* 00E9C 809EBBDC 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00EA0 809EBBE0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00EA4 809EBBE4 3C01809F */ lui $at, %hi(D_809EC6E4) ## $at = 809F0000
|
||||
/* 00EA8 809EBBE8 4604003C */ c.lt.s $f0, $f4
|
||||
/* 00EAC 809EBBEC 00000000 */ nop
|
||||
/* 00EB0 809EBBF0 45020005 */ bc1fl .L809EBC08
|
||||
/* 00EB4 809EBBF4 860E008A */ lh $t6, 0x008A($s0) ## 0000008A
|
||||
/* 00EB8 809EBBF8 C426C6E4 */ lwc1 $f6, %lo(D_809EC6E4)($at)
|
||||
/* 00EBC 809EBBFC 46060200 */ add.s $f8, $f0, $f6
|
||||
/* 00EC0 809EBC00 E4880068 */ swc1 $f8, 0x0068($a0) ## 00000068
|
||||
/* 00EC4 809EBC04 860E008A */ lh $t6, 0x008A($s0) ## 0000008A
|
||||
.L809EBC08:
|
||||
/* 00EC8 809EBC08 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 00ECC 809EBC0C A60E0032 */ sh $t6, 0x0032($s0) ## 00000032
|
||||
/* 00ED0 809EBC10 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 00ED4 809EBC14 AFA40030 */ sw $a0, 0x0030($sp)
|
||||
/* 00ED8 809EBC18 50400031 */ beql $v0, $zero, .L809EBCE0
|
||||
/* 00EDC 809EBC1C 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00EE0 809EBC20 92180251 */ lbu $t8, 0x0251($s0) ## 00000251
|
||||
/* 00EE4 809EBC24 860F00B6 */ lh $t7, 0x00B6($s0) ## 000000B6
|
||||
/* 00EE8 809EBC28 3C0142D2 */ lui $at, 0x42D2 ## $at = 42D20000
|
||||
/* 00EEC 809EBC2C 13000006 */ beq $t8, $zero, .L809EBC48
|
||||
/* 00EF0 809EBC30 A60F0032 */ sh $t7, 0x0032($s0) ## 00000032
|
||||
/* 00EF4 809EBC34 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00EF8 809EBC38 0C27AD36 */ jal func_809EB4D8
|
||||
/* 00EFC 809EBC3C 8FA5003C */ lw $a1, 0x003C($sp)
|
||||
/* 00F00 809EBC40 10000025 */ beq $zero, $zero, .L809EBCD8
|
||||
/* 00F04 809EBC44 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF
|
||||
.L809EBC48:
|
||||
/* 00F08 809EBC48 44815000 */ mtc1 $at, $f10 ## $f10 = 0.00
|
||||
/* 00F0C 809EBC4C C6100090 */ lwc1 $f16, 0x0090($s0) ## 00000090
|
||||
/* 00F10 809EBC50 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00F14 809EBC54 460A803E */ c.le.s $f16, $f10
|
||||
/* 00F18 809EBC58 00000000 */ nop
|
||||
/* 00F1C 809EBC5C 4500001B */ bc1f .L809EBCCC
|
||||
/* 00F20 809EBC60 00000000 */ nop
|
||||
/* 00F24 809EBC64 0C00B821 */ jal func_8002E084
|
||||
/* 00F28 809EBC68 24052AAA */ addiu $a1, $zero, 0x2AAA ## $a1 = 00002AAA
|
||||
/* 00F2C 809EBC6C 10400017 */ beq $v0, $zero, .L809EBCCC
|
||||
/* 00F30 809EBC70 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00F34 809EBC74 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 00F38 809EBC78 24844658 */ addiu $a0, $a0, 0x4658 ## $a0 = 06004658
|
||||
/* 00F3C 809EBC7C 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
|
||||
/* 00F40 809EBC80 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00F44 809EBC84 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 00F48 809EBC88 0C27AD71 */ jal func_809EB5C4
|
||||
/* 00F4C 809EBC8C E7A40034 */ swc1 $f4, 0x0034($sp)
|
||||
/* 00F50 809EBC90 3C01C0C0 */ lui $at, 0xC0C0 ## $at = C0C00000
|
||||
/* 00F54 809EBC94 44814000 */ mtc1 $at, $f8 ## $f8 = -6.00
|
||||
/* 00F58 809EBC98 C7A60034 */ lwc1 $f6, 0x0034($sp)
|
||||
/* 00F5C 809EBC9C 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00F60 809EBCA0 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002
|
||||
/* 00F64 809EBCA4 AFB90014 */ sw $t9, 0x0014($sp)
|
||||
/* 00F68 809EBCA8 24A54658 */ addiu $a1, $a1, 0x4658 ## $a1 = 06004658
|
||||
/* 00F6C 809EBCAC 8FA40030 */ lw $a0, 0x0030($sp)
|
||||
/* 00F70 809EBCB0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00F74 809EBCB4 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000
|
||||
/* 00F78 809EBCB8 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 00F7C 809EBCBC 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 00F80 809EBCC0 E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
/* 00F84 809EBCC4 10000004 */ beq $zero, $zero, .L809EBCD8
|
||||
/* 00F88 809EBCC8 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF
|
||||
.L809EBCCC:
|
||||
/* 00F8C 809EBCCC 0C27ACCD */ jal func_809EB334
|
||||
/* 00F90 809EBCD0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00F94 809EBCD4 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF
|
||||
.L809EBCD8:
|
||||
/* 00F98 809EBCD8 A2080258 */ sb $t0, 0x0258($s0) ## 00000258
|
||||
/* 00F9C 809EBCDC 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L809EBCE0:
|
||||
/* 00FA0 809EBCE0 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00FA4 809EBCE4 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00FA8 809EBCE8 03E00008 */ jr $ra
|
||||
/* 00FAC 809EBCEC 00000000 */ nop
|
|
@ -1,36 +0,0 @@
|
|||
glabel func_809EBCF0
|
||||
/* 00FB0 809EBCF0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00FB4 809EBCF4 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00FB8 809EBCF8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00FBC 809EBCFC AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00FC0 809EBD00 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00FC4 809EBD04 24A532BC */ addiu $a1, $a1, 0x32BC ## $a1 = 060032BC
|
||||
/* 00FC8 809EBD08 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 00FCC 809EBD0C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
|
||||
/* 00FD0 809EBD10 3C06BF80 */ lui $a2, 0xBF80 ## $a2 = BF800000
|
||||
/* 00FD4 809EBD14 8E180004 */ lw $t8, 0x0004($s0) ## 00000004
|
||||
/* 00FD8 809EBD18 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00FDC 809EBD1C 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
|
||||
/* 00FE0 809EBD20 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005
|
||||
/* 00FE4 809EBD24 240F012C */ addiu $t7, $zero, 0x012C ## $t7 = 0000012C
|
||||
/* 00FE8 809EBD28 0301C824 */ and $t9, $t8, $at
|
||||
/* 00FEC 809EBD2C A20E025B */ sb $t6, 0x025B($s0) ## 0000025B
|
||||
/* 00FF0 809EBD30 A60F025C */ sh $t7, 0x025C($s0) ## 0000025C
|
||||
/* 00FF4 809EBD34 AE190004 */ sw $t9, 0x0004($s0) ## 00000004
|
||||
/* 00FF8 809EBD38 0C03D6D6 */ jal func_800F5B58
|
||||
/* 00FFC 809EBD3C E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
|
||||
/* 01000 809EBD40 2408000A */ addiu $t0, $zero, 0x000A ## $t0 = 0000000A
|
||||
/* 01004 809EBD44 A608001C */ sh $t0, 0x001C($s0) ## 0000001C
|
||||
/* 01008 809EBD48 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0100C 809EBD4C 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 01010 809EBD50 240539AB */ addiu $a1, $zero, 0x39AB ## $a1 = 000039AB
|
||||
/* 01014 809EBD54 3C05809F */ lui $a1, %hi(func_809EBD78) ## $a1 = 809F0000
|
||||
/* 01018 809EBD58 24A5BD78 */ addiu $a1, $a1, %lo(func_809EBD78) ## $a1 = 809EBD78
|
||||
/* 0101C 809EBD5C 0C27AB50 */ jal func_809EAD40
|
||||
/* 01020 809EBD60 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01024 809EBD64 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 01028 809EBD68 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 0102C 809EBD6C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 01030 809EBD70 03E00008 */ jr $ra
|
||||
/* 01034 809EBD74 00000000 */ nop
|
|
@ -1,94 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809EC6E8
|
||||
.word 0x389D4952
|
||||
|
||||
.text
|
||||
glabel func_809EBD78
|
||||
/* 01038 809EBD78 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 0103C 809EBD7C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 01040 809EBD80 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 01044 809EBD84 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 01048 809EBD88 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 0104C 809EBD8C AFA4001C */ sw $a0, 0x001C($sp)
|
||||
/* 01050 809EBD90 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 01054 809EBD94 AFA60020 */ sw $a2, 0x0020($sp)
|
||||
/* 01058 809EBD98 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 0105C 809EBD9C 14400005 */ bne $v0, $zero, .L809EBDB4
|
||||
/* 01060 809EBDA0 8FA60020 */ lw $a2, 0x0020($sp)
|
||||
/* 01064 809EBDA4 84CE025C */ lh $t6, 0x025C($a2) ## 0000025C
|
||||
/* 01068 809EBDA8 2401012C */ addiu $at, $zero, 0x012C ## $at = 0000012C
|
||||
/* 0106C 809EBDAC 51C10021 */ beql $t6, $at, .L809EBE34
|
||||
/* 01070 809EBDB0 C4CA0164 */ lwc1 $f10, 0x0164($a2) ## 00000164
|
||||
.L809EBDB4:
|
||||
/* 01074 809EBDB4 84C2025C */ lh $v0, 0x025C($a2) ## 0000025C
|
||||
/* 01078 809EBDB8 2401012C */ addiu $at, $zero, 0x012C ## $at = 0000012C
|
||||
/* 0107C 809EBDBC 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 01080 809EBDC0 14410005 */ bne $v0, $at, .L809EBDD8
|
||||
/* 01084 809EBDC4 24A5375C */ addiu $a1, $a1, 0x375C ## $a1 = 0600375C
|
||||
/* 01088 809EBDC8 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
|
||||
/* 0108C 809EBDCC AFA60020 */ sw $a2, 0x0020($sp)
|
||||
/* 01090 809EBDD0 8FA60020 */ lw $a2, 0x0020($sp)
|
||||
/* 01094 809EBDD4 84C2025C */ lh $v0, 0x025C($a2) ## 0000025C
|
||||
.L809EBDD8:
|
||||
/* 01098 809EBDD8 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
|
||||
/* 0109C 809EBDDC A4CF025C */ sh $t7, 0x025C($a2) ## 0000025C
|
||||
/* 010A0 809EBDE0 84D8025C */ lh $t8, 0x025C($a2) ## 0000025C
|
||||
/* 010A4 809EBDE4 2B010096 */ slti $at, $t8, 0x0096
|
||||
/* 010A8 809EBDE8 5020002C */ beql $at, $zero, .L809EBE9C
|
||||
/* 010AC 809EBDEC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 010B0 809EBDF0 90C2025A */ lbu $v0, 0x025A($a2) ## 0000025A
|
||||
/* 010B4 809EBDF4 3C01809F */ lui $at, %hi(D_809EC6E8) ## $at = 809F0000
|
||||
/* 010B8 809EBDF8 10400009 */ beq $v0, $zero, .L809EBE20
|
||||
/* 010BC 809EBDFC 00000000 */ nop
|
||||
/* 010C0 809EBE00 C4C40054 */ lwc1 $f4, 0x0054($a2) ## 00000054
|
||||
/* 010C4 809EBE04 C426C6E8 */ lwc1 $f6, %lo(D_809EC6E8)($at)
|
||||
/* 010C8 809EBE08 2448FFFB */ addiu $t0, $v0, 0xFFFB ## $t0 = FFFFFFFB
|
||||
/* 010CC 809EBE0C A0C8025A */ sb $t0, 0x025A($a2) ## 0000025A
|
||||
/* 010D0 809EBE10 46062201 */ sub.s $f8, $f4, $f6
|
||||
/* 010D4 809EBE14 A0C800C8 */ sb $t0, 0x00C8($a2) ## 000000C8
|
||||
/* 010D8 809EBE18 1000001F */ beq $zero, $zero, .L809EBE98
|
||||
/* 010DC 809EBE1C E4C80054 */ swc1 $f8, 0x0054($a2) ## 00000054
|
||||
.L809EBE20:
|
||||
/* 010E0 809EBE20 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 010E4 809EBE24 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 010E8 809EBE28 1000001C */ beq $zero, $zero, .L809EBE9C
|
||||
/* 010EC 809EBE2C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 010F0 809EBE30 C4CA0164 */ lwc1 $f10, 0x0164($a2) ## 00000164
|
||||
.L809EBE34:
|
||||
/* 010F4 809EBE34 24010035 */ addiu $at, $zero, 0x0035 ## $at = 00000035
|
||||
/* 010F8 809EBE38 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 010FC 809EBE3C 4600540D */ trunc.w.s $f16, $f10
|
||||
/* 01100 809EBE40 2405387A */ addiu $a1, $zero, 0x387A ## $a1 = 0000387A
|
||||
/* 01104 809EBE44 44028000 */ mfc1 $v0, $f16
|
||||
/* 01108 809EBE48 00000000 */ nop
|
||||
/* 0110C 809EBE4C 10410005 */ beq $v0, $at, .L809EBE64
|
||||
/* 01110 809EBE50 24010038 */ addiu $at, $zero, 0x0038 ## $at = 00000038
|
||||
/* 01114 809EBE54 10410003 */ beq $v0, $at, .L809EBE64
|
||||
/* 01118 809EBE58 2401003D */ addiu $at, $zero, 0x003D ## $at = 0000003D
|
||||
/* 0111C 809EBE5C 54410009 */ bnel $v0, $at, .L809EBE84
|
||||
/* 01120 809EBE60 2401003D */ addiu $at, $zero, 0x003D ## $at = 0000003D
|
||||
.L809EBE64:
|
||||
/* 01124 809EBE64 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 01128 809EBE68 AFA60020 */ sw $a2, 0x0020($sp)
|
||||
/* 0112C 809EBE6C 8FA60020 */ lw $a2, 0x0020($sp)
|
||||
/* 01130 809EBE70 C4D20164 */ lwc1 $f18, 0x0164($a2) ## 00000164
|
||||
/* 01134 809EBE74 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 01138 809EBE78 44022000 */ mfc1 $v0, $f4
|
||||
/* 0113C 809EBE7C 00000000 */ nop
|
||||
/* 01140 809EBE80 2401003D */ addiu $at, $zero, 0x003D ## $at = 0000003D
|
||||
.L809EBE84:
|
||||
/* 01144 809EBE84 14410004 */ bne $v0, $at, .L809EBE98
|
||||
/* 01148 809EBE88 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 0114C 809EBE8C 24851C24 */ addiu $a1, $a0, 0x1C24 ## $a1 = 00001C24
|
||||
/* 01150 809EBE90 0C00CDD2 */ jal Actor_ChangeType
|
||||
|
||||
/* 01154 809EBE94 24070006 */ addiu $a3, $zero, 0x0006 ## $a3 = 00000006
|
||||
.L809EBE98:
|
||||
/* 01158 809EBE98 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L809EBE9C:
|
||||
/* 0115C 809EBE9C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 01160 809EBEA0 03E00008 */ jr $ra
|
||||
/* 01164 809EBEA4 00000000 */ nop
|
|
@ -1,95 +0,0 @@
|
|||
glabel func_809EBEA8
|
||||
/* 01168 809EBEA8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 0116C 809EBEAC AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 01170 809EBEB0 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 01174 809EBEB4 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 01178 809EBEB8 908202BD */ lbu $v0, 0x02BD($a0) ## 000002BD
|
||||
/* 0117C 809EBEBC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 01180 809EBEC0 8CA61C44 */ lw $a2, 0x1C44($a1) ## 00001C44
|
||||
/* 01184 809EBEC4 304F0002 */ andi $t7, $v0, 0x0002 ## $t7 = 00000000
|
||||
/* 01188 809EBEC8 51E00047 */ beql $t7, $zero, .L809EBFE8
|
||||
/* 0118C 809EBECC 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 01190 809EBED0 90980251 */ lbu $t8, 0x0251($a0) ## 00000251
|
||||
/* 01194 809EBED4 57000044 */ bnel $t8, $zero, .L809EBFE8
|
||||
/* 01198 809EBED8 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 0119C 809EBEDC 908300B1 */ lbu $v1, 0x00B1($a0) ## 000000B1
|
||||
/* 011A0 809EBEE0 3059FFFD */ andi $t9, $v0, 0xFFFD ## $t9 = 00000000
|
||||
/* 011A4 809EBEE4 A09902BD */ sb $t9, 0x02BD($a0) ## 000002BD
|
||||
/* 011A8 809EBEE8 1060003E */ beq $v1, $zero, .L809EBFE4
|
||||
/* 011AC 809EBEEC 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
|
||||
/* 011B0 809EBEF0 1061003C */ beq $v1, $at, .L809EBFE4
|
||||
/* 011B4 809EBEF4 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
|
||||
/* 011B8 809EBEF8 8C8802C8 */ lw $t0, 0x02C8($a0) ## 000002C8
|
||||
/* 011BC 809EBEFC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 011C0 809EBF00 240D0008 */ addiu $t5, $zero, 0x0008 ## $t5 = 00000008
|
||||
/* 011C4 809EBF04 A1000015 */ sb $zero, 0x0015($t0) ## 00000015
|
||||
/* 011C8 809EBF08 8C8202C8 */ lw $v0, 0x02C8($a0) ## 000002C8
|
||||
/* 011CC 809EBF0C 90490015 */ lbu $t1, 0x0015($v0) ## 00000015
|
||||
/* 011D0 809EBF10 A08902BC */ sb $t1, 0x02BC($a0) ## 000002BC
|
||||
/* 011D4 809EBF14 A0400005 */ sb $zero, 0x0005($v0) ## 00000005
|
||||
/* 011D8 809EBF18 8C8202C8 */ lw $v0, 0x02C8($a0) ## 000002C8
|
||||
/* 011DC 809EBF1C 904A0005 */ lbu $t2, 0x0005($v0) ## 00000005
|
||||
/* 011E0 809EBF20 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
||||
/* 011E4 809EBF24 80CB0844 */ lb $t3, 0x0844($a2) ## 00000844
|
||||
/* 011E8 809EBF28 51600004 */ beql $t3, $zero, .L809EBF3C
|
||||
/* 011EC 809EBF2C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 011F0 809EBF30 90CC0845 */ lbu $t4, 0x0845($a2) ## 00000845
|
||||
/* 011F4 809EBF34 A08C0258 */ sb $t4, 0x0258($a0) ## 00000258
|
||||
/* 011F8 809EBF38 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L809EBF3C:
|
||||
/* 011FC 809EBF3C 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
|
||||
/* 01200 809EBF40 0C00D09B */ jal func_8003426C
|
||||
/* 01204 809EBF44 AFAD0010 */ sw $t5, 0x0010($sp)
|
||||
/* 01208 809EBF48 920300AF */ lbu $v1, 0x00AF($s0) ## 000000AF
|
||||
/* 0120C 809EBF4C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01210 809EBF50 0C00D58A */ jal Actor_ApplyDamage
|
||||
|
||||
/* 01214 809EBF54 AFA3002C */ sw $v1, 0x002C($sp)
|
||||
/* 01218 809EBF58 1440000A */ bne $v0, $zero, .L809EBF84
|
||||
/* 0121C 809EBF5C 8FA3002C */ lw $v1, 0x002C($sp)
|
||||
/* 01220 809EBF60 0C27AF3C */ jal func_809EBCF0
|
||||
/* 01224 809EBF64 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01228 809EBF68 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 0122C 809EBF6C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 01230 809EBF70 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
|
||||
/* 01234 809EBF74 0C007E50 */ jal Item_DropCollectibleRandom
|
||||
|
||||
/* 01238 809EBF78 24070090 */ addiu $a3, $zero, 0x0090 ## $a3 = 00000090
|
||||
/* 0123C 809EBF7C 1000001A */ beq $zero, $zero, .L809EBFE8
|
||||
/* 01240 809EBF80 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L809EBF84:
|
||||
/* 01244 809EBF84 2861000F */ slti $at, $v1, 0x000F
|
||||
/* 01248 809EBF88 54200005 */ bnel $at, $zero, .L809EBFA0
|
||||
/* 0124C 809EBF8C 28610009 */ slti $at, $v1, 0x0009
|
||||
/* 01250 809EBF90 920E00AF */ lbu $t6, 0x00AF($s0) ## 000000AF
|
||||
/* 01254 809EBF94 29C1000F */ slti $at, $t6, 0x000F
|
||||
/* 01258 809EBF98 1420000D */ bne $at, $zero, .L809EBFD0
|
||||
/* 0125C 809EBF9C 28610009 */ slti $at, $v1, 0x0009
|
||||
.L809EBFA0:
|
||||
/* 01260 809EBFA0 54200005 */ bnel $at, $zero, .L809EBFB8
|
||||
/* 01264 809EBFA4 28610003 */ slti $at, $v1, 0x0003
|
||||
/* 01268 809EBFA8 920F00AF */ lbu $t7, 0x00AF($s0) ## 000000AF
|
||||
/* 0126C 809EBFAC 29E10009 */ slti $at, $t7, 0x0009
|
||||
/* 01270 809EBFB0 14200007 */ bne $at, $zero, .L809EBFD0
|
||||
/* 01274 809EBFB4 28610003 */ slti $at, $v1, 0x0003
|
||||
.L809EBFB8:
|
||||
/* 01278 809EBFB8 14200008 */ bne $at, $zero, .L809EBFDC
|
||||
/* 0127C 809EBFBC 00000000 */ nop
|
||||
/* 01280 809EBFC0 921800AF */ lbu $t8, 0x00AF($s0) ## 000000AF
|
||||
/* 01284 809EBFC4 2B010003 */ slti $at, $t8, 0x0003
|
||||
/* 01288 809EBFC8 10200004 */ beq $at, $zero, .L809EBFDC
|
||||
/* 0128C 809EBFCC 00000000 */ nop
|
||||
.L809EBFD0:
|
||||
/* 01290 809EBFD0 92190251 */ lbu $t9, 0x0251($s0) ## 00000251
|
||||
/* 01294 809EBFD4 27280001 */ addiu $t0, $t9, 0x0001 ## $t0 = 00000001
|
||||
/* 01298 809EBFD8 A2080251 */ sb $t0, 0x0251($s0) ## 00000251
|
||||
.L809EBFDC:
|
||||
/* 0129C 809EBFDC 0C27AED2 */ jal func_809EBB48
|
||||
/* 012A0 809EBFE0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L809EBFE4:
|
||||
/* 012A4 809EBFE4 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L809EBFE8:
|
||||
/* 012A8 809EBFE8 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 012AC 809EBFEC 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 012B0 809EBFF0 03E00008 */ jr $ra
|
||||
/* 012B4 809EBFF4 00000000 */ nop
|
|
@ -1,38 +0,0 @@
|
|||
glabel func_809EC1A0
|
||||
/* 01460 809EC1A0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 01464 809EC1A4 3C0E809F */ lui $t6, %hi(D_809EC668) ## $t6 = 809F0000
|
||||
/* 01468 809EC1A8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0146C 809EC1AC AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 01470 809EC1B0 AFA60030 */ sw $a2, 0x0030($sp)
|
||||
/* 01474 809EC1B4 AFA70034 */ sw $a3, 0x0034($sp)
|
||||
/* 01478 809EC1B8 25CEC668 */ addiu $t6, $t6, %lo(D_809EC668) ## $t6 = 809EC668
|
||||
/* 0147C 809EC1BC 8DD80000 */ lw $t8, 0x0000($t6) ## 809EC668
|
||||
/* 01480 809EC1C0 27A4001C */ addiu $a0, $sp, 0x001C ## $a0 = FFFFFFF4
|
||||
/* 01484 809EC1C4 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D
|
||||
/* 01488 809EC1C8 AC980000 */ sw $t8, 0x0000($a0) ## FFFFFFF4
|
||||
/* 0148C 809EC1CC 8DCF0004 */ lw $t7, 0x0004($t6) ## 809EC66C
|
||||
/* 01490 809EC1D0 AC8F0004 */ sw $t7, 0x0004($a0) ## FFFFFFF8
|
||||
/* 01494 809EC1D4 8DD80008 */ lw $t8, 0x0008($t6) ## 809EC670
|
||||
/* 01498 809EC1D8 14A10011 */ bne $a1, $at, .L809EC220
|
||||
/* 0149C 809EC1DC AC980008 */ sw $t8, 0x0008($a0) ## FFFFFFFC
|
||||
/* 014A0 809EC1E0 8FA50038 */ lw $a1, 0x0038($sp)
|
||||
/* 014A4 809EC1E4 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 014A8 809EC1E8 24A5030C */ addiu $a1, $a1, 0x030C ## $a1 = 0000030C
|
||||
/* 014AC 809EC1EC 0C034213 */ jal Matrix_Push
|
||||
/* 014B0 809EC1F0 00000000 */ nop
|
||||
/* 014B4 809EC1F4 C7AC001C */ lwc1 $f12, 0x001C($sp)
|
||||
/* 014B8 809EC1F8 C7AE0020 */ lwc1 $f14, 0x0020($sp)
|
||||
/* 014BC 809EC1FC 8FA60024 */ lw $a2, 0x0024($sp)
|
||||
/* 014C0 809EC200 0C034261 */ jal Matrix_Translate
|
||||
/* 014C4 809EC204 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 014C8 809EC208 8FA50038 */ lw $a1, 0x0038($sp)
|
||||
/* 014CC 809EC20C 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
|
||||
/* 014D0 809EC210 0C018A29 */ jal func_800628A4
|
||||
/* 014D4 809EC214 24A502AC */ addiu $a1, $a1, 0x02AC ## $a1 = 000002AC
|
||||
/* 014D8 809EC218 0C034221 */ jal Matrix_Pull
|
||||
/* 014DC 809EC21C 00000000 */ nop
|
||||
.L809EC220:
|
||||
/* 014E0 809EC220 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 014E4 809EC224 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 014E8 809EC228 03E00008 */ jr $ra
|
||||
/* 014EC 809EC22C 00000000 */ nop
|
|
@ -1,35 +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_Dh_InitVars
|
||||
.word 0x00A40500, 0x00000415, 0x00A60000, 0x00000324
|
||||
.word EnDh_Init
|
||||
.word EnDh_Destroy
|
||||
.word EnDh_Update
|
||||
.word EnDh_Draw
|
||||
glabel D_809EC5C0
|
||||
.word 0x00000D09, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000000, 0x00010100, 0x00230046, 0x00000000, 0x00000000
|
||||
glabel D_809EC5EC
|
||||
.word 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010900, 0x01000000, 0x00000000, 0x00140064
|
||||
glabel D_809EC610
|
||||
.word 0x06000909, 0x10000000, 0x00000001
|
||||
.word D_809EC5EC
|
||||
glabel D_809EC620
|
||||
.word 0x00F20000, 0x00000000, 0xF2F2F400, 0x00000000, 0x00000000, 0x0000F2F4, 0xF2F4F8F4, 0x0000F400
|
||||
glabel D_809EC640
|
||||
.word 0x8917002F, 0xB04C07D0, 0xC850000A, 0x386CF254
|
||||
glabel D_809EC650
|
||||
.word 0x00000000, 0x41000000, 0x00000000
|
||||
glabel D_809EC65C
|
||||
.word 0x00000000, 0xBFC00000, 0x00000000
|
||||
glabel D_809EC668
|
||||
.word 0x44FA0000, 0x447A0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||
|
|
@ -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_809EC6F0
|
||||
.incbin "baserom/ovl_En_Dh", 0x19B0, 0x00000190
|
|
@ -1181,6 +1181,7 @@ void Player_SetEquipmentData(GlobalContext* globalCtx, Player* player);
|
|||
void Player_UpdateBottleHeld(GlobalContext* globalCtx, Player* player, s32 item, s32 actionParam);
|
||||
void func_8008EDF0(Player* player);
|
||||
void func_8008EE08(Player* player);
|
||||
void func_8008EEAC(GlobalContext* globalCtx, Actor* actor);
|
||||
s32 func_8008EF44(GlobalContext* globalCtx, s32 ammo);
|
||||
s32 Player_IsBurningStickInRange(GlobalContext* globalCtx, Vec3f* pos, f32 radius, f32 arg3);
|
||||
s32 Player_GetStrength(void);
|
||||
|
|
3
spec
3
spec
|
@ -2118,8 +2118,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Dh"
|
||||
include "build/src/overlays/actors/ovl_En_Dh/z_en_dh.o"
|
||||
include "build/data/overlays/actors/z_en_dh.data.o"
|
||||
include "build/data/overlays/actors/z_en_dh.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Dh/ovl_En_Dh_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -4,12 +4,45 @@
|
|||
|
||||
#define THIS ((EnDh*)thisx)
|
||||
|
||||
void EnDh_Init(Actor* thisx, GlobalContext* globalCtx);
|
||||
typedef enum {
|
||||
DH_WAIT,
|
||||
DH_RETREAT,
|
||||
DH_BURROW,
|
||||
DH_WALK,
|
||||
DH_ATTACK,
|
||||
DH_DEATH,
|
||||
DH_DAMAGE
|
||||
} EnDhAction;
|
||||
|
||||
void EnDh_Init(Actor* this, GlobalContext* globalCtx);
|
||||
void EnDh_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnDh_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnDh_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void EnDh_SetupWait(EnDh* this);
|
||||
void EnDh_SetupWalk(EnDh* this);
|
||||
void EnDh_SetupAttack(EnDh* this);
|
||||
void EnDh_SetupBurrow(EnDh* this);
|
||||
|
||||
void EnDh_Wait(EnDh* this, GlobalContext* globalCtx);
|
||||
void EnDh_Walk(EnDh* this, GlobalContext* globalCtx);
|
||||
void EnDh_Retreat(EnDh* this, GlobalContext* globalCtx);
|
||||
void EnDh_Attack(EnDh* this, GlobalContext* globalCtx);
|
||||
void EnDh_Burrow(EnDh* this, GlobalContext* globalCtx);
|
||||
void EnDh_Damage(EnDh* this, GlobalContext* globalCtx);
|
||||
void EnDh_Death(EnDh* this, GlobalContext* globalCtx);
|
||||
|
||||
extern FlexSkeletonHeader D_06007E88;
|
||||
extern AnimationHeader D_06005880;
|
||||
extern AnimationHeader D_06003A8C;
|
||||
extern AnimationHeader D_06004658;
|
||||
extern AnimationHeader D_06002148;
|
||||
extern AnimationHeader D_06003D6C;
|
||||
extern AnimationHeader D_060032BC;
|
||||
extern AnimationHeader D_06001A3C;
|
||||
extern AnimationHeader D_0600375C;
|
||||
extern Gfx D_06007FC0[];
|
||||
|
||||
const ActorInit En_Dh_InitVars = {
|
||||
ACTOR_EN_DH,
|
||||
ACTORTYPE_ENEMY,
|
||||
|
@ -21,47 +54,477 @@ const ActorInit En_Dh_InitVars = {
|
|||
(ActorFunc)EnDh_Update,
|
||||
(ActorFunc)EnDh_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/func_809EAD40.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/EnDh_Init.s")
|
||||
static ColliderCylinderInit sCylinderInit = {
|
||||
{ COLTYPE_UNK0, 0x00, 0x0D, 0x09, 0x10, COLSHAPE_CYLINDER },
|
||||
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, 0x00, 0x01, 0x01 },
|
||||
{ 35, 70, 0, { 0, 0, 0 } },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/EnDh_Destroy.s")
|
||||
static ColliderJntSphItemInit sJntSphItemsInit[1] = {
|
||||
{
|
||||
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x00, 0x01, 0x09 },
|
||||
{ 1, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/func_809EAEC4.s")
|
||||
static ColliderJntSphInit sJntSphInit = {
|
||||
{ COLTYPE_UNK6, 0x00, 0x09, 0x09, 0x10, COLSHAPE_JNTSPH },
|
||||
1,
|
||||
sJntSphItemsInit,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/func_809EB05C.s")
|
||||
static DamageTable D_809EC620 = { {
|
||||
0x00, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0xF2, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0xF4, 0xF2, 0xF4, 0xF8, 0xF4, 0x00, 0x00, 0xF4, 0x00,
|
||||
} };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/func_809EB110.s")
|
||||
static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_S8(naviEnemyId, 47, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(unk_4C, 2000, ICHAIN_CONTINUE),
|
||||
ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32_DIV1000(gravity, -3500, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/func_809EB334.s")
|
||||
void EnDh_SetupAction(EnDh* this, EnDhActionFunc actionFunc) {
|
||||
this->actionFunc = actionFunc;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/func_809EB3D0.s")
|
||||
void EnDh_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnDh* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/func_809EB4D8.s")
|
||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
this->actor.colChkInfo.damageTable = &D_809EC620;
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007E88, &D_06005880, this->limbDrawTable, this->limbRotTable,
|
||||
16);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, &ActorShadow_DrawFunc_Circle, 64.0f);
|
||||
this->actor.params = ENDH_WAIT_UNDERGROUND;
|
||||
this->actor.colChkInfo.mass = 0xFE;
|
||||
this->actor.colChkInfo.health = (gSaveContext.linkAge == 0) ? 14 : 20;
|
||||
this->alpha = this->unk_258 = 255;
|
||||
this->actor.flags &= ~1;
|
||||
Collider_InitCylinder(globalCtx, &this->collider1);
|
||||
Collider_SetCylinder(globalCtx, &this->collider1, &this->actor, &sCylinderInit);
|
||||
Collider_InitJntSph(globalCtx, &this->collider2);
|
||||
Collider_SetJntSph(globalCtx, &this->collider2, &this->actor, &sJntSphInit, this->elements);
|
||||
EnDh_SetupWait(this);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/func_809EB53C.s")
|
||||
void EnDh_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
EnDh* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/func_809EB5C4.s")
|
||||
func_800F5B58();
|
||||
Collider_DestroyCylinder(globalCtx, &this->collider1);
|
||||
Collider_DestroyJntSph(globalCtx, &this->collider2);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/func_809EB624.s")
|
||||
void EnDh_SpawnDebris(GlobalContext* globalCtx, EnDh* this, Vec3f* spawnPos, f32 spread, s32 arg4, f32 accelXZ,
|
||||
f32 scale) {
|
||||
Vec3f pos;
|
||||
Vec3f vel = { 0.0f, 8.0f, 0.0f };
|
||||
Vec3f accel = { 0.0f, -1.5f, 0.0f };
|
||||
f32 spreadAngle;
|
||||
f32 scaleMod;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/func_809EB934.s")
|
||||
spreadAngle = (Math_Rand_ZeroOne() - 0.5f) * 6.28f;
|
||||
pos.y = this->actor.groundY;
|
||||
pos.x = (func_800CA720(spreadAngle) * spread) + spawnPos->x;
|
||||
pos.z = (func_800CA774(spreadAngle) * spread) + spawnPos->z;
|
||||
accel.x = (Math_Rand_ZeroOne() - 0.5f) * accelXZ;
|
||||
accel.z = (Math_Rand_ZeroOne() - 0.5f) * accelXZ;
|
||||
vel.y += (Math_Rand_ZeroOne() - 0.5f) * 4.0f;
|
||||
scaleMod = (Math_Rand_ZeroOne() * 5.0f) + 12.0f;
|
||||
EffectSsHahen_Spawn(globalCtx, &pos, &vel, &accel, arg4, scaleMod * scale, -1, 10, NULL);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/func_809EB9B8.s")
|
||||
void EnDh_SetupWait(EnDh* this) {
|
||||
SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06003A8C);
|
||||
this->curAction = DH_WAIT;
|
||||
this->actor.posRot.pos.x = Math_Rand_CenteredFloat(600.0f) + this->actor.initPosRot.pos.x;
|
||||
this->actor.posRot.pos.z = Math_Rand_CenteredFloat(600.0f) + this->actor.initPosRot.pos.z;
|
||||
this->actor.shape.unk_08 = -15000.0f;
|
||||
this->dirtWaveSpread = this->actor.speedXZ = 0.0f;
|
||||
this->actor.posRot.rot.y = this->actor.shape.rot.y;
|
||||
this->actor.flags |= 0x80;
|
||||
this->dirtWavePhase = this->actionState = this->actor.params = ENDH_WAIT_UNDERGROUND;
|
||||
EnDh_SetupAction(this, EnDh_Wait);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/func_809EBB48.s")
|
||||
void EnDh_Wait(EnDh* this, GlobalContext* globalCtx) {
|
||||
if ((s32)this->skelAnime.animCurrentFrame == 5) {
|
||||
func_800F5ACC(0x38);
|
||||
}
|
||||
if (Actor_GetCollidedExplosive(globalCtx, &this->collider1.base)) {
|
||||
this->actor.params = ENDH_START_ATTACK_BOMB;
|
||||
}
|
||||
if ((this->actor.params >= ENDH_START_ATTACK_GRAB) || (this->actor.params <= ENDH_HANDS_KILLED_4)) {
|
||||
switch (this->actionState) {
|
||||
case 0:
|
||||
this->actor.flags |= 1;
|
||||
this->actor.shape.rot.y = this->actor.yawTowardsLink;
|
||||
this->actor.flags &= ~0x80;
|
||||
this->actionState++;
|
||||
this->drawDirtWave++;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEADHAND_HIDE);
|
||||
case 1:
|
||||
this->dirtWavePhase += 0x3A7;
|
||||
Math_SmoothScaleMaxMinF(&this->dirtWaveSpread, 300.0f, 1.0f, 5.0f, 0.0f);
|
||||
this->dirtWaveHeight = Math_Sins(this->dirtWavePhase) * 55.0f;
|
||||
this->dirtWaveAlpha = (s16)(Math_Sins(this->dirtWavePhase) * 255.0f);
|
||||
EnDh_SpawnDebris(globalCtx, this, &this->actor.posRot.pos, this->dirtWaveSpread, 4, 2.05f, 1.2f);
|
||||
if (this->actor.shape.unk_08 == 0.0f) {
|
||||
this->drawDirtWave = false;
|
||||
this->actionState++;
|
||||
} else if (this->dirtWavePhase > 0x12C0) {
|
||||
this->actor.shape.unk_08 += 500.0f;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
EnDh_SetupWalk(this);
|
||||
break;
|
||||
}
|
||||
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 1, 0x7D0, 0);
|
||||
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
|
||||
if (this->actor.params != ENDH_START_ATTACK_BOMB) {
|
||||
func_8008EEAC(globalCtx, &this->actor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/func_809EBBC8.s")
|
||||
void EnDh_SetupWalk(EnDh* this) {
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_06003A8C, 1.0f, 0.0f,
|
||||
SkelAnime_GetFrameCount(&D_06003A8C.genericHeader) - 3.0f, 0, -6.0f);
|
||||
this->curAction = DH_WALK;
|
||||
this->timer = 300;
|
||||
this->actor.speedXZ = 1.0f;
|
||||
EnDh_SetupAction(this, EnDh_Walk);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/func_809EBCF0.s")
|
||||
void EnDh_Walk(EnDh* this, GlobalContext* globalCtx) {
|
||||
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 1, 0xFA, 0);
|
||||
this->actor.posRot.rot.y = this->actor.shape.rot.y;
|
||||
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
|
||||
if (((s32)this->skelAnime.animCurrentFrame % 8) == 0) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEADHAND_WALK);
|
||||
}
|
||||
if ((globalCtx->gameplayFrames & 0x5F) == 0) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEADHAND_LAUGH);
|
||||
}
|
||||
if (this->actor.xzDistFromLink <= 100.0f) {
|
||||
this->actor.speedXZ = 0.0f;
|
||||
if (func_8002E084(&this->actor, 60 * 0x10000 / 360)) {
|
||||
EnDh_SetupAttack(this);
|
||||
}
|
||||
} else if (--this->timer == 0) {
|
||||
EnDh_SetupBurrow(this);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/func_809EBD78.s")
|
||||
void EnDh_SetupRetreat(EnDh* this, GlobalContext* globalCtx) {
|
||||
SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06005880, -4.0f);
|
||||
this->curAction = DH_RETREAT;
|
||||
this->timer = 70;
|
||||
this->actor.speedXZ = 1.0f;
|
||||
EnDh_SetupAction(this, EnDh_Retreat);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/func_809EBEA8.s")
|
||||
void EnDh_Retreat(EnDh* this, GlobalContext* globalCtx) {
|
||||
this->timer--;
|
||||
if (this->timer == 0) {
|
||||
this->retreat = false;
|
||||
EnDh_SetupBurrow(this);
|
||||
} else {
|
||||
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.y, (s16)(this->actor.yawTowardsLink + 0x8000), 1, 0xBB8, 0);
|
||||
}
|
||||
this->actor.posRot.rot.y = this->actor.shape.rot.y;
|
||||
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/EnDh_Update.s")
|
||||
void EnDh_SetupAttack(EnDh* this) {
|
||||
SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06004658, -6.0f);
|
||||
this->timer = this->actionState = 0;
|
||||
this->curAction = DH_ATTACK;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
EnDh_SetupAction(this, EnDh_Attack);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/func_809EC1A0.s")
|
||||
void EnDh_Attack(EnDh* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Dh/EnDh_Draw.s")
|
||||
if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
|
||||
this->actionState++;
|
||||
} else if ((this->actor.xzDistFromLink > 100.0f) || !func_8002E084(&this->actor, 60 * 0x10000 / 360)) {
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_06004658, -1.0f, this->skelAnime.animCurrentFrame, 0.0f, 2, -4.0f);
|
||||
this->actionState = 4;
|
||||
this->collider2.base.atFlags = this->collider2.list[0].body.toucherFlags = 0;
|
||||
this->collider2.list[0].body.toucher.flags = this->collider2.list[0].body.toucher.damage = 0;
|
||||
}
|
||||
switch (this->actionState) {
|
||||
case 1:
|
||||
SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06001A3C);
|
||||
this->actionState++;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEADHAND_BITE);
|
||||
case 0:
|
||||
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 1, 0x5DC, 0);
|
||||
break;
|
||||
case 2:
|
||||
if (this->skelAnime.animCurrentFrame >= 4.0f) {
|
||||
this->collider2.base.atFlags = this->collider2.list[0].body.toucherFlags = 0x11;
|
||||
this->collider2.list[0].body.toucher.flags = 0xFFCFFFFF;
|
||||
this->collider2.list->body.toucher.damage = 8;
|
||||
}
|
||||
if (this->collider2.base.atFlags & 4) {
|
||||
this->collider2.base.atFlags &= ~6;
|
||||
this->collider2.base.atFlags = this->collider2.list[0].body.toucherFlags = 0;
|
||||
this->collider2.list[0].body.toucher.flags = this->collider2.list[0].body.toucher.damage = 0;
|
||||
this->actionState++;
|
||||
} else if (this->collider2.base.atFlags & 2) {
|
||||
this->collider2.base.atFlags &= ~2;
|
||||
func_8002F71C(globalCtx, &this->actor, 8.0f, this->actor.shape.rot.y, 8.0f);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if ((this->actor.xzDistFromLink <= 100.0f) && (func_8002E084(&this->actor, 60 * 0x10000 / 360) != 0)) {
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_06004658, 1.0f, 20.0f,
|
||||
SkelAnime_GetFrameCount(&D_06004658.genericHeader), 2, -6.0f);
|
||||
this->actionState = 0;
|
||||
} else {
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_06004658, -1.0f,
|
||||
SkelAnime_GetFrameCount(&D_06004658.genericHeader), 0.0f, 2, -4.0f);
|
||||
this->actionState++;
|
||||
this->collider2.base.atFlags = this->collider2.list[0].body.toucherFlags = 0;
|
||||
this->collider2.list[0].body.toucher.flags = this->collider2.list[0].body.toucher.damage = 0;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
EnDh_SetupWalk(this);
|
||||
break;
|
||||
case 4:
|
||||
break;
|
||||
}
|
||||
this->actor.posRot.rot.y = this->actor.shape.rot.y;
|
||||
}
|
||||
|
||||
void EnDh_SetupBurrow(EnDh* this) {
|
||||
SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06002148, -6.0f);
|
||||
this->curAction = DH_BURROW;
|
||||
this->dirtWaveSpread = this->actor.speedXZ = 0.0f;
|
||||
this->actor.posRot.rot.y = this->actor.shape.rot.y;
|
||||
this->dirtWavePhase = 0;
|
||||
this->actionState = 0;
|
||||
this->actor.flags &= ~1;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEADHAND_HIDE);
|
||||
EnDh_SetupAction(this, EnDh_Burrow);
|
||||
}
|
||||
|
||||
void EnDh_Burrow(EnDh* this, GlobalContext* globalCtx) {
|
||||
switch (this->actionState) {
|
||||
case 0:
|
||||
this->actionState++;
|
||||
this->drawDirtWave++;
|
||||
this->collider1.base.atFlags = this->collider1.body.toucherFlags = 0x11;
|
||||
this->collider1.body.toucher.flags = 0xFFCFFFFF;
|
||||
this->collider1.body.toucher.damage = 4;
|
||||
case 1:
|
||||
this->dirtWavePhase += 0x47E;
|
||||
Math_SmoothScaleMaxMinF(&this->dirtWaveSpread, 300.0f, 1.0f, 8.0f, 0.0f);
|
||||
this->dirtWaveHeight = Math_Sins(this->dirtWavePhase) * 55.0f;
|
||||
this->dirtWaveAlpha = (s16)(Math_Sins(this->dirtWavePhase) * 255.0f);
|
||||
EnDh_SpawnDebris(globalCtx, this, &this->actor.posRot.pos, this->dirtWaveSpread, 4, 2.05f, 1.2f);
|
||||
this->collider1.dim.radius = this->dirtWaveSpread * 0.6f;
|
||||
if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
|
||||
this->actionState++;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
this->drawDirtWave = false;
|
||||
this->collider1.dim.radius = 35;
|
||||
this->collider1.base.atFlags = this->collider1.body.toucherFlags = 0;
|
||||
this->collider1.body.toucher.flags = this->collider1.body.toucher.damage = 0;
|
||||
EnDh_SetupWait(this);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void EnDh_SetupDamage(EnDh* this) {
|
||||
SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06003D6C, -6.0f);
|
||||
if (this->actor.bgCheckFlags & 1) {
|
||||
this->actor.speedXZ = -1.0f;
|
||||
}
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEADHAND_DAMAGE);
|
||||
this->curAction = DH_DAMAGE;
|
||||
EnDh_SetupAction(this, EnDh_Damage);
|
||||
}
|
||||
|
||||
void EnDh_Damage(EnDh* this, GlobalContext* globalCtx) {
|
||||
if (this->actor.speedXZ < 0.0f) {
|
||||
this->actor.speedXZ += 0.15f;
|
||||
}
|
||||
this->actor.posRot.rot.y = this->actor.yawTowardsLink;
|
||||
if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
|
||||
this->actor.posRot.rot.y = this->actor.shape.rot.y;
|
||||
if (this->retreat) {
|
||||
EnDh_SetupRetreat(this, globalCtx);
|
||||
} else if ((this->actor.xzDistFromLink <= 105.0f) && func_8002E084(&this->actor, 60 * 0x10000 / 360)) {
|
||||
f32 frames = SkelAnime_GetFrameCount(&D_06004658.genericHeader);
|
||||
|
||||
EnDh_SetupAttack(this);
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_06004658, 1.0f, 20.0f, frames, 2, -6.0f);
|
||||
} else {
|
||||
EnDh_SetupWalk(this);
|
||||
}
|
||||
this->unk_258 = 255;
|
||||
}
|
||||
}
|
||||
|
||||
void EnDh_SetupDeath(EnDh* this) {
|
||||
SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_060032BC, -1.0f);
|
||||
this->curAction = DH_DEATH;
|
||||
this->timer = 300;
|
||||
this->actor.flags &= ~1;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
func_800F5B58();
|
||||
this->actor.params = ENDH_DEATH;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEADHAND_DEAD);
|
||||
EnDh_SetupAction(this, EnDh_Death);
|
||||
}
|
||||
|
||||
void EnDh_Death(EnDh* this, GlobalContext* globalCtx) {
|
||||
if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) || (this->timer != 300)) {
|
||||
if (this->timer == 300) {
|
||||
SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_0600375C);
|
||||
}
|
||||
this->timer--;
|
||||
if (this->timer < 150) {
|
||||
if (this->alpha != 0) {
|
||||
this->actor.scale.y -= 0.000075f;
|
||||
this->actor.shape.unk_14 = this->alpha -= 5;
|
||||
} else {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (((s32)this->skelAnime.animCurrentFrame == 53) || ((s32)this->skelAnime.animCurrentFrame == 56) ||
|
||||
((s32)this->skelAnime.animCurrentFrame == 61)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_DOWN);
|
||||
}
|
||||
if ((s32)this->skelAnime.animCurrentFrame == 61) {
|
||||
Actor_ChangeType(globalCtx, &globalCtx->actorCtx, &this->actor, ACTORTYPE_PROP);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnDh_CollisionCheck(EnDh* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
Player* player = PLAYER;
|
||||
s32 lastHealth;
|
||||
|
||||
if ((this->collider2.base.acFlags & 2) && !this->retreat) {
|
||||
this->collider2.base.acFlags &= ~2;
|
||||
if ((this->actor.colChkInfo.damageEffect != 0) && (this->actor.colChkInfo.damageEffect != 6)) {
|
||||
this->collider2.base.atFlags = this->collider2.list[0].body.toucherFlags = 0;
|
||||
this->collider2.list[0].body.toucher.flags = this->collider2.list[0].body.toucher.damage = 0;
|
||||
if (player->unk_844 != 0) {
|
||||
this->unk_258 = player->unk_845;
|
||||
}
|
||||
func_8003426C(&this->actor, 0x4000, 0xFF, 0, 8);
|
||||
lastHealth = this->actor.colChkInfo.health;
|
||||
if (Actor_ApplyDamage(&this->actor) == 0) {
|
||||
EnDh_SetupDeath(this);
|
||||
Item_DropCollectibleRandom(globalCtx, &this->actor, &this->actor.posRot.pos, 0x90);
|
||||
} else {
|
||||
if (((lastHealth >= 15) && (this->actor.colChkInfo.health < 15)) ||
|
||||
((lastHealth >= 9) && (this->actor.colChkInfo.health < 9)) ||
|
||||
((lastHealth >= 3) && (this->actor.colChkInfo.health < 3))) {
|
||||
|
||||
this->retreat++;
|
||||
}
|
||||
EnDh_SetupDamage(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnDh_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
EnDh* this = THIS;
|
||||
Player* player = PLAYER;
|
||||
s32 pad40;
|
||||
|
||||
EnDh_CollisionCheck(this, globalCtx);
|
||||
this->actionFunc(this, globalCtx);
|
||||
Actor_MoveForward(&this->actor);
|
||||
func_8002E4B4(globalCtx, &this->actor, 20.0f, 45.0f, 45.0f, 0x1D);
|
||||
this->actor.posRot2.pos = this->headPos;
|
||||
Collider_CylinderUpdate(&this->actor, &this->collider1);
|
||||
if (this->actor.colChkInfo.health > 0) {
|
||||
if (this->curAction == DH_WAIT) {
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider1.base);
|
||||
} else {
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider1.base);
|
||||
}
|
||||
if (((this->curAction != DH_DAMAGE) && (this->actor.shape.unk_08 == 0.0f)) ||
|
||||
((player->unk_844 != 0) && (player->unk_845 != this->unk_258))) {
|
||||
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider2.base);
|
||||
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider2.base);
|
||||
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider1.base);
|
||||
}
|
||||
} else {
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider1.base);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider2.base);
|
||||
}
|
||||
}
|
||||
|
||||
void EnDh_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) {
|
||||
Vec3f headOffset = { 2000.0f, 1000.0f, 0.0f };
|
||||
EnDh* this = THIS;
|
||||
|
||||
if (limbIndex == 13) {
|
||||
Matrix_MultVec3f(&headOffset, &this->headPos);
|
||||
Matrix_Push();
|
||||
Matrix_Translate(headOffset.x, headOffset.y, headOffset.z, MTXMODE_APPLY);
|
||||
func_800628A4(1, &this->collider2);
|
||||
Matrix_Pull();
|
||||
}
|
||||
}
|
||||
|
||||
void EnDh_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
EnDh* this = THIS;
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_dh.c", 1099);
|
||||
if (this->alpha == 255) {
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, this->alpha);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, &D_80116280[2]);
|
||||
POLY_OPA_DISP =
|
||||
SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
|
||||
this->skelAnime.dListCount, NULL, EnDh_PostLimbDraw, &this->actor, POLY_OPA_DISP);
|
||||
} else {
|
||||
func_80093D84(globalCtx->state.gfxCtx);
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alpha);
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, &D_80116280[0]);
|
||||
POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
|
||||
this->skelAnime.dListCount, NULL, NULL, &this->actor, POLY_XLU_DISP);
|
||||
}
|
||||
if (this->drawDirtWave) {
|
||||
func_80093D84(globalCtx->state.gfxCtx);
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, 85, 55, 0, 130);
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08,
|
||||
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (globalCtx->state.frames * -3) % 0x80, 0, 0x20, 0x40, 1,
|
||||
(globalCtx->state.frames * -10) % 0x80, (globalCtx->state.frames * -20) % 0x100,
|
||||
0x20, 0x40));
|
||||
gDPSetPrimColor(POLY_XLU_DISP++, 0x80, 0x80, 0, 0, 0, this->dirtWaveAlpha);
|
||||
|
||||
Matrix_Translate(0.0f, -this->actor.shape.unk_08, 0.0f, MTXMODE_APPLY);
|
||||
Matrix_Scale(this->dirtWaveSpread * 0.01f, this->dirtWaveHeight * 0.01f, this->dirtWaveSpread * 0.01f,
|
||||
MTXMODE_APPLY);
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_dh.c", 1160),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_XLU_DISP++, D_06007FC0);
|
||||
}
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_dh.c", 1166);
|
||||
}
|
||||
|
|
|
@ -6,11 +6,43 @@
|
|||
|
||||
struct EnDh;
|
||||
|
||||
typedef void (*EnDhActionFunc)(struct EnDh*, GlobalContext*);
|
||||
|
||||
typedef struct EnDh {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x1D8];
|
||||
/* 0x014C */ SkelAnime skelAnime;
|
||||
/* 0x0170 */ Vec3s limbDrawTable[16];
|
||||
/* 0x01F0 */ Vec3s limbRotTable[16];
|
||||
/* 0x0250 */ u8 actionState;
|
||||
/* 0x0251 */ u8 retreat;
|
||||
/* 0x0252 */ u8 drawDirtWave;
|
||||
/* 0x0254 */ EnDhActionFunc actionFunc;
|
||||
/* 0x0258 */ u8 unk_258; // Related to player->unk_845
|
||||
/* 0x0259 */ u8 unused_259;
|
||||
/* 0x025A */ u8 alpha;
|
||||
/* 0x025B */ u8 curAction;
|
||||
/* 0x025C */ s16 timer;
|
||||
/* 0x025E */ s16 dirtWavePhase;
|
||||
/* 0x0260 */ ColliderCylinder collider1;
|
||||
/* 0x02AC */ ColliderJntSph collider2;
|
||||
/* 0x02CC */ ColliderJntSphItem elements[1];
|
||||
/* 0x030C */ Vec3f headPos;
|
||||
/* 0x0318 */ f32 dirtWaveSpread;
|
||||
/* 0x031C */ f32 dirtWaveHeight;
|
||||
/* 0x0320 */ f32 dirtWaveAlpha;
|
||||
} EnDh; // size = 0x0324
|
||||
|
||||
extern const ActorInit En_Dh_InitVars;
|
||||
|
||||
typedef enum {
|
||||
ENDH_HANDS_KILLED_4 = -4,
|
||||
ENDH_HANDS_KILLED_3,
|
||||
ENDH_HANDS_KILLED_2,
|
||||
ENDH_HANDS_KILLED_1,
|
||||
ENDH_WAIT_UNDERGROUND,
|
||||
ENDH_START_ATTACK_GRAB,
|
||||
ENDH_START_ATTACK_BOMB = 5,
|
||||
ENDH_DEATH = 10
|
||||
} EnDhParams;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_en_dha.h"
|
||||
#include "overlays/actors/ovl_En_Dh/z_en_dh.h"
|
||||
|
||||
#define FLAGS 0x00000015
|
||||
|
||||
|
@ -66,7 +67,7 @@ static ColliderJntSphItemInit sJntSphItemsInit[] = {
|
|||
static ColliderJntSphInit sJntSphInit = {
|
||||
{ COLTYPE_UNK6, 0x00, 0x09, 0x19, 0x10, COLSHAPE_JNTSPH },
|
||||
5,
|
||||
&sJntSphItemsInit,
|
||||
sJntSphItemsInit,
|
||||
};
|
||||
|
||||
static InitChainEntry sInitChain[] = {
|
||||
|
@ -96,12 +97,13 @@ void EnDha_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
this->actor.colChkInfo.health = 8;
|
||||
this->unk_1CE = -0x4000;
|
||||
Collider_InitJntSph(globalCtx, &this->collider);
|
||||
Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sJntSphInit, &this->colliderItem);
|
||||
Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sJntSphInit, this->colliderItem);
|
||||
this->actor.flags &= ~1;
|
||||
func_809EC9C8(this);
|
||||
}
|
||||
|
||||
void EnDha_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
EnDha* this = THIS;
|
||||
|
||||
Collider_DestroyJntSph(globalCtx, &this->collider);
|
||||
|
@ -123,40 +125,34 @@ void func_809ECA50(EnDha* this, GlobalContext* globalCtx) {
|
|||
Vec3f D_809ED758 = { 0.0f, 0.0f, -54.0f };
|
||||
Player* player = PLAYER;
|
||||
s32 pad;
|
||||
s32 unkVar;
|
||||
Vec3f playerPos;
|
||||
s32 pad2;
|
||||
s16 unkVar2;
|
||||
s16 unkVar3;
|
||||
s32 result;
|
||||
Vec3f playerPos = player->actor.posRot.pos;
|
||||
Vec3s test;
|
||||
s16 result;
|
||||
s32 resultAbs;
|
||||
s32 pad3;
|
||||
playerPos = player->actor.posRot.pos;
|
||||
|
||||
playerPos.x += (Math_Sins(player->actor.shape.rot.y) * -5.0f);
|
||||
playerPos.z += (Math_Coss(player->actor.shape.rot.y) * -5.0f);
|
||||
playerPos.x += Math_Sins(player->actor.shape.rot.y) * -5.0f;
|
||||
playerPos.z += Math_Coss(player->actor.shape.rot.y) * -5.0f;
|
||||
if (LINK_IS_CHILD) {
|
||||
playerPos.y += 38.0f;
|
||||
} else {
|
||||
playerPos.y += 56.0f;
|
||||
}
|
||||
if (this->actor.xzDistFromLink <= 100.0f) {
|
||||
this->unk_1D0.y = 0;
|
||||
this->unk_1D0.z = this->unk_1D0.y;
|
||||
this->unk_1D6.x = this->unk_1D0.y;
|
||||
this->unk_1D6.x = this->unk_1D0.z = this->unk_1D0.y = 0;
|
||||
if (Math_Vec3f_DistXYZ(&playerPos, &this->unk_1DC) <= 12.0f) {
|
||||
if (this->unk_1CC == 0) {
|
||||
if (globalCtx->grabPlayer(globalCtx, player) != 0) {
|
||||
if (globalCtx->grabPlayer(globalCtx, player)) {
|
||||
this->unk_1CA = 0;
|
||||
this->unk_1CC++;
|
||||
if (this->actor.parent != NULL) {
|
||||
this->actor.parent->params = 1;
|
||||
this->actor.parent->params = ENDH_START_ATTACK_GRAB;
|
||||
}
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEADHAND_GRIP);
|
||||
}
|
||||
} else {
|
||||
this->unk_1CA += 0x1194;
|
||||
this->unk_1D0.y = (Math_Sins(this->unk_1CA) * 1820.0f);
|
||||
this->unk_1D0.y = Math_Sins(this->unk_1CA) * 1820.0f;
|
||||
if (!(player->stateFlags2 & 0x80)) {
|
||||
this->unk_1CC = 0;
|
||||
func_809ECF60(this);
|
||||
|
@ -167,56 +163,50 @@ void func_809ECA50(EnDha* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
}
|
||||
func_80035844(&this->unk_1E8, &playerPos, &this->unk_1D0.z, 0);
|
||||
this->unk_1D6.x = ((this->unk_1D6.x - this->actor.shape.rot.y) - this->unk_1D0.y);
|
||||
this->unk_1D0.z = (((this->unk_1D0.z - this->actor.shape.rot.x) - this->unk_1CE) - this->unk_1D0.x);
|
||||
this->unk_1D6.x -= this->actor.shape.rot.y + this->unk_1D0.y;
|
||||
this->unk_1D0.z -= this->actor.shape.rot.x + this->unk_1CE + this->unk_1D0.x;
|
||||
} else {
|
||||
if (player->stateFlags2 & 0x80) {
|
||||
if (&this->actor == player->actor.parent) {
|
||||
player->stateFlags2 &= ~0x80;
|
||||
player->actor.parent = NULL;
|
||||
player->unk_850 = 200;
|
||||
}
|
||||
if ((player->stateFlags2 & 0x80) && (&this->actor == player->actor.parent)) {
|
||||
player->stateFlags2 &= ~0x80;
|
||||
player->actor.parent = NULL;
|
||||
player->unk_850 = 200;
|
||||
}
|
||||
if (this->actor.initPosRot.rot.z != 0) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEADHAND_HAND_AT);
|
||||
this->actor.initPosRot.rot.z = 0;
|
||||
}
|
||||
}
|
||||
this->actor.shape.rot.y = Math_Vec3f_Yaw(&this->actor.posRot, &playerPos);
|
||||
Math_SmoothScaleMaxMinF(&this->unk_1DC, playerPos.x, 1.0f, 16.0f, 0.0f);
|
||||
this->actor.shape.rot.y = Math_Vec3f_Yaw(&this->actor.posRot.pos, &playerPos);
|
||||
Math_SmoothScaleMaxMinF(&this->unk_1DC.x, playerPos.x, 1.0f, 16.0f, 0.0f);
|
||||
Math_SmoothScaleMaxMinF(&this->unk_1DC.y, playerPos.y, 1.0f, 16.0f, 0.0f);
|
||||
Math_SmoothScaleMaxMinF(&this->unk_1DC.z, playerPos.z, 1.0f, 16.0f, 0.0f);
|
||||
func_80035844(&this->unk_1F4, &this->unk_1DC, &unkVar3, 0);
|
||||
Matrix_Translate(this->unk_1DC.x, this->unk_1DC.y, this->unk_1DC.z, 0);
|
||||
Matrix_RotateRPY(unkVar3, unkVar2, 0, 1);
|
||||
func_80035844(&this->unk_1F4, &this->unk_1DC, &test, 0);
|
||||
Matrix_Translate(this->unk_1DC.x, this->unk_1DC.y, this->unk_1DC.z, MTXMODE_NEW);
|
||||
Matrix_RotateRPY(test.x, test.y, 0, MTXMODE_APPLY);
|
||||
Matrix_MultVec3f(&D_809ED758, &this->unk_1F4);
|
||||
Matrix_Translate(this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z, 0);
|
||||
func_80035844(&this->actor.posRot, &this->unk_1F4, &unkVar3, 0);
|
||||
Matrix_RotateRPY(unkVar3, unkVar2, 0, 1);
|
||||
Matrix_Translate(this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z, MTXMODE_NEW);
|
||||
func_80035844(&this->actor.posRot.pos, &this->unk_1F4, &test, 0);
|
||||
Matrix_RotateRPY(test.x, test.y, 0, MTXMODE_APPLY);
|
||||
Matrix_MultVec3f(&D_809ED74C, &this->unk_1F4);
|
||||
this->unk_1CE = Math_Vec3f_Pitch(&this->actor.posRot, &this->unk_1F4);
|
||||
result = (s16)(Math_Vec3f_Yaw(&this->actor.posRot, &this->unk_1F4) - this->actor.shape.rot.y);
|
||||
this->unk_1CE = Math_Vec3f_Pitch(&this->actor.posRot.pos, &this->unk_1F4);
|
||||
result = Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->unk_1F4) - this->actor.shape.rot.y;
|
||||
resultAbs = ABS(result);
|
||||
if (resultAbs >= 0x4000) {
|
||||
this->unk_1CE = -0x8000 - this->unk_1CE;
|
||||
}
|
||||
this->unk_1D0.x = (Math_Vec3f_Pitch(&this->unk_1F4, &this->unk_1DC) - this->unk_1CE);
|
||||
if (this->unk_1D0.x < 0) {
|
||||
this->unk_1CE += (this->unk_1D0.x * 2);
|
||||
this->unk_1CE += this->unk_1D0.x * 2;
|
||||
this->unk_1D0.x *= -2;
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
unkVar = ~0x80;
|
||||
if (player->stateFlags2 & 0x80) {
|
||||
if (&this->actor == player->actor.parent) {
|
||||
player->stateFlags2 &= unkVar;
|
||||
player->actor.parent = NULL;
|
||||
player->unk_850 = 200;
|
||||
}
|
||||
if ((player->stateFlags2 & 0x80) && (&this->actor == player->actor.parent)) {
|
||||
player->stateFlags2 &= ~0x80;
|
||||
player->actor.parent = NULL;
|
||||
player->unk_850 = 200;
|
||||
}
|
||||
this->actor.initPosRot.rot.z = 1;
|
||||
Math_SmoothScaleMaxMinS(&this->unk_1D0, 0, 1, 0x3E8, 0);
|
||||
Math_SmoothScaleMaxMinS(&this->unk_1D0.x, 0, 1, 0x3E8, 0);
|
||||
Math_SmoothScaleMaxMinS(&this->unk_1CE, -0x4000, 1, 0x3E8, 0);
|
||||
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
|
||||
}
|
||||
|
@ -230,12 +220,10 @@ void func_809ECF60(EnDha* this) {
|
|||
void func_809ECF8C(EnDha* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
if (player->stateFlags2 & 0x80) {
|
||||
if (&this->actor == player->actor.parent) {
|
||||
player->stateFlags2 &= ~0x80;
|
||||
player->actor.parent = NULL;
|
||||
player->unk_850 = 200;
|
||||
}
|
||||
if ((player->stateFlags2 & 0x80) && (&this->actor == player->actor.parent)) {
|
||||
player->stateFlags2 &= ~0x80;
|
||||
player->actor.parent = NULL;
|
||||
player->unk_850 = 200;
|
||||
}
|
||||
Math_SmoothScaleMaxMinS(&this->unk_1D0.x, 0, 1, 2000, 0);
|
||||
Math_SmoothScaleMaxMinS(&this->unk_1D0.y, 0, 1, 600, 0);
|
||||
|
@ -252,10 +240,10 @@ void EnDha_SetupDeath(EnDha* this) {
|
|||
this->unk_1C8 = 300;
|
||||
|
||||
if (this->actor.parent != NULL) {
|
||||
if (this->actor.parent->params != 0xA) {
|
||||
if (this->actor.parent->params != ENDH_DEATH) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEADHAND_HAND_DEAD);
|
||||
}
|
||||
if (this->actor.parent->params <= 0) {
|
||||
if (this->actor.parent->params <= ENDH_WAIT_UNDERGROUND) {
|
||||
this->actor.parent->params--;
|
||||
}
|
||||
}
|
||||
|
@ -267,14 +255,12 @@ void EnDha_Die(EnDha* this, GlobalContext* globalCtx) {
|
|||
Vec3f vector;
|
||||
Player* player = PLAYER;
|
||||
|
||||
if (player->stateFlags2 & 0x80) {
|
||||
if (&this->actor == player->actor.parent) {
|
||||
player->stateFlags2 &= ~0x80;
|
||||
player->actor.parent = NULL;
|
||||
player->unk_850 = 200;
|
||||
}
|
||||
if ((player->stateFlags2 & 0x80) && (&this->actor == player->actor.parent)) {
|
||||
player->stateFlags2 &= ~0x80;
|
||||
player->actor.parent = NULL;
|
||||
player->unk_850 = 200;
|
||||
}
|
||||
Math_SmoothScaleMaxMinS(&this->unk_1D0, 0, 1, 0x7D0, 0);
|
||||
Math_SmoothScaleMaxMinS(&this->unk_1D0.x, 0, 1, 0x7D0, 0);
|
||||
result = Math_SmoothScaleMaxMinS(&this->unk_1CE, -0x4000, 1, 0x7D0, 0);
|
||||
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
|
||||
if (result == 0) {
|
||||
|
@ -284,11 +270,9 @@ void EnDha_Die(EnDha* this, GlobalContext* globalCtx) {
|
|||
if (-12000.0f < this->actor.shape.unk_08) {
|
||||
this->actor.shape.unk_08 -= 1000.0f;
|
||||
func_80033480(globalCtx, &vector, 7.0f, 1, 0x5A, 0x14, 1);
|
||||
return;
|
||||
}
|
||||
this->unk_1C8--;
|
||||
if (this->actor.parent != 0) {
|
||||
if (this->actor.parent->params == 0xA) {
|
||||
} else {
|
||||
this->unk_1C8--;
|
||||
if ((this->actor.parent != NULL) && (this->actor.parent->params == ENDH_DEATH)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
@ -315,54 +299,44 @@ void EnDha_UpdateHealth(EnDha* this, GlobalContext* globalCtx) {
|
|||
this->actor.colChkInfo.health = 8;
|
||||
Item_DropCollectibleRandom(globalCtx, &this->actor, &this->actor.posRot.pos, 0xE0);
|
||||
} else {
|
||||
Audio_PlayActorSound2(this, NA_SE_EN_DEADHAND_DAMAGE);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEADHAND_DAMAGE);
|
||||
this->unk_1C0 = 9;
|
||||
func_809ECF60(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this->actor.parent != NULL) {
|
||||
if (this->actor.parent->params == 0xA) {
|
||||
EnDha_SetupDeath(this);
|
||||
}
|
||||
if ((this->actor.parent != NULL) && (this->actor.parent->params == ENDH_DEATH)) {
|
||||
EnDha_SetupDeath(this);
|
||||
}
|
||||
}
|
||||
|
||||
void EnDha_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
EnDha* this = THIS;
|
||||
CollisionCheckContext* colChkCtx;
|
||||
|
||||
colChkCtx = &globalCtx->colChkCtx;
|
||||
|
||||
if (this->actor.parent == NULL) {
|
||||
this->actor.parent = Actor_FindNearby(globalCtx, &this->actor, ACTOR_EN_DH, ACTORTYPE_ENEMY, 10000.0f);
|
||||
}
|
||||
EnDha_UpdateHealth(this, globalCtx);
|
||||
this->actionFunc(this, globalCtx);
|
||||
CollisionCheck_SetAC(globalCtx, colChkCtx, &this->collider);
|
||||
CollisionCheck_SetOC(globalCtx, colChkCtx, &this->collider);
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
}
|
||||
|
||||
s32 EnDha_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
|
||||
EnDha* this = THIS;
|
||||
s32 retVar;
|
||||
|
||||
if (limbIndex == 1) {
|
||||
rot->y = -(s16)(this->unk_1CE + 0x4000);
|
||||
rot->z += this->unk_1D0.y;
|
||||
retVar = 0;
|
||||
} else if (limbIndex == 2) {
|
||||
rot->z = this->unk_1D0.x;
|
||||
rot->y -= this->unk_1D0.y;
|
||||
retVar = 0;
|
||||
} else if (limbIndex == 3) {
|
||||
rot->y = -(this->unk_1D6.x);
|
||||
rot->z = -(this->unk_1D0.z);
|
||||
retVar = 0;
|
||||
} else {
|
||||
retVar = 0;
|
||||
rot->y = -this->unk_1D6.x;
|
||||
rot->z = -this->unk_1D0.z;
|
||||
}
|
||||
return retVar;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void EnDha_OverridePostDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
|
||||
|
@ -392,6 +366,7 @@ void EnDha_OverridePostDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList
|
|||
}
|
||||
|
||||
void EnDha_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
EnDha* this = THIS;
|
||||
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import struct
|
||||
|
||||
ROM_ADDR = 0xB94CC0
|
||||
COUNT = 23
|
||||
ROM_ADDR = 0xDA3210
|
||||
COUNT = 1
|
||||
|
||||
rom = open("../../baserom.z64", "rb")
|
||||
rom.seek(ROM_ADDR)
|
||||
|
@ -19,4 +19,4 @@ for i in range(3):
|
|||
sfmt = "{{ {{ " + sfmt + "}} }},"
|
||||
for i in range(COUNT):
|
||||
line = struct.unpack_from(">32B", data, i * 0x20)
|
||||
print(sfmt.format(*line))
|
||||
print(sfmt.format(*line))
|
||||
|
|
|
@ -1434,6 +1434,18 @@ D_06000A3C = 0x06000A3C;
|
|||
D_06000830 = 0x06000830;
|
||||
D_0600040C = 0x0600040C;
|
||||
|
||||
// z_en_dh
|
||||
D_06007E88 = 0x06007E88;
|
||||
D_06005880 = 0x06005880;
|
||||
D_06003A8C = 0x06003A8C;
|
||||
D_06004658 = 0x06004658;
|
||||
D_06002148 = 0x06002148;
|
||||
D_06003D6C = 0x06003D6C;
|
||||
D_060032BC = 0x060032BC;
|
||||
D_06001A3C = 0x06001A3C;
|
||||
D_0600375C = 0x0600375C;
|
||||
D_06007FC0 = 0x06007FC0;
|
||||
|
||||
// z_obj_ice_poly
|
||||
D_04033EE0 = 0x04033EE0;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue