1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-12-27 07:07:09 +00:00

Decompiled and documentedKarebaba (withered Deku Baba enemy), all functions OK (#391)

* Renamed functions based on decomp

* Update function name changes

* Karebaba decomp and documentation with one non-matching function

* Cleaned up some messiness

* Forgot a file

* Addressing code review

* Updated based on code review

* Unnecessary define

* This function is going down

* Removed remaining asm, renamed symbols as recommended, and added comments to give context around the display lists

* Forgot a file

* Fix renamed function

* Addressed issues raised in code review

* Minor cleanup

* Addressed issues identified in code review

* Addressed the issues betterer

* Updated to use poly disp macros

* review 2

Co-authored-by: fig <fig02srl@gmail.com>
This commit is contained in:
MNGoldenEagle 2020-12-03 15:05:32 -06:00 committed by GitHub
parent 3cfafb2574
commit cbb0c6da06
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
32 changed files with 495 additions and 1752 deletions

View file

@ -1,19 +0,0 @@
glabel EnKarebaba_Destroy
/* 00130 80A95480 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00134 80A95484 AFA40018 */ sw $a0, 0x0018($sp)
/* 00138 80A95488 AFA5001C */ sw $a1, 0x001C($sp)
/* 0013C 80A9548C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00140 80A95490 8FA50018 */ lw $a1, 0x0018($sp)
/* 00144 80A95494 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00148 80A95498 0C0170EB */ jal Collider_DestroyCylinder
/* 0014C 80A9549C 24A50244 */ addiu $a1, $a1, 0x0244 ## $a1 = 00000244
/* 00150 80A954A0 8FA50018 */ lw $a1, 0x0018($sp)
/* 00154 80A954A4 8FA4001C */ lw $a0, 0x001C($sp)
/* 00158 80A954A8 0C0170EB */ jal Collider_DestroyCylinder
/* 0015C 80A954AC 24A501F8 */ addiu $a1, $a1, 0x01F8 ## $a1 = 000001F8
/* 00160 80A954B0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00164 80A954B4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00168 80A954B8 03E00008 */ jr $ra
/* 0016C 80A954BC 00000000 */ nop

View file

@ -1,333 +0,0 @@
.rdata
glabel D_80A96ACC
.asciz "../z_en_karebaba.c"
.balign 4
glabel D_80A96AE0
.asciz "../z_en_karebaba.c"
.balign 4
glabel D_80A96AF4
.asciz "../z_en_karebaba.c"
.balign 4
glabel D_80A96B08
.asciz "../z_en_karebaba.c"
.balign 4
glabel D_80A96B1C
.asciz "../z_en_karebaba.c"
.balign 4
glabel D_80A96B30
.asciz "../z_en_karebaba.c"
.balign 4
.late_rodata
glabel D_80A96B64
.word 0x3A03126F
glabel D_80A96B68
.float 0.01
glabel D_80A96B6C
.float 0.01
glabel D_80A96B70
.float 9.58738019108e-05
.text
glabel EnKarebaba_Draw
/* 01228 80A96578 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68
/* 0122C 80A9657C AFB40038 */ sw $s4, 0x0038($sp)
/* 01230 80A96580 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
/* 01234 80A96584 AFBF003C */ sw $ra, 0x003C($sp)
/* 01238 80A96588 AFB30034 */ sw $s3, 0x0034($sp)
/* 0123C 80A9658C AFB20030 */ sw $s2, 0x0030($sp)
/* 01240 80A96590 AFB1002C */ sw $s1, 0x002C($sp)
/* 01244 80A96594 AFB00028 */ sw $s0, 0x0028($sp)
/* 01248 80A96598 F7B40020 */ sdc1 $f20, 0x0020($sp)
/* 0124C 80A9659C 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 01250 80A965A0 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000
/* 01254 80A965A4 3C0680A9 */ lui $a2, %hi(D_80A96ACC) ## $a2 = 80A90000
/* 01258 80A965A8 24C66ACC */ addiu $a2, $a2, %lo(D_80A96ACC) ## $a2 = 80A96ACC
/* 0125C 80A965AC 27A40074 */ addiu $a0, $sp, 0x0074 ## $a0 = FFFFFFDC
/* 01260 80A965B0 24070420 */ addiu $a3, $zero, 0x0420 ## $a3 = 00000420
/* 01264 80A965B4 0C031AB1 */ jal Graph_OpenDisps
/* 01268 80A965B8 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
/* 0126C 80A965BC 0C024F46 */ jal func_80093D18
/* 01270 80A965C0 8E840000 */ lw $a0, 0x0000($s4) ## 00000000
/* 01274 80A965C4 8E620190 */ lw $v0, 0x0190($s3) ## 00000190
/* 01278 80A965C8 3C0E80A9 */ lui $t6, %hi(func_80A96048) ## $t6 = 80A90000
/* 0127C 80A965CC 25CE6048 */ addiu $t6, $t6, %lo(func_80A96048) ## $t6 = 80A96048
/* 01280 80A965D0 15C20021 */ bne $t6, $v0, .L80A96658
/* 01284 80A965D4 00000000 */ nop
/* 01288 80A965D8 8662001C */ lh $v0, 0x001C($s3) ## 0000001C
/* 0128C 80A965DC 3C064348 */ lui $a2, 0x4348 ## $a2 = 43480000
/* 01290 80A965E0 28410029 */ slti $at, $v0, 0x0029
/* 01294 80A965E4 10200003 */ beq $at, $zero, .L80A965F4
/* 01298 80A965E8 304F0001 */ andi $t7, $v0, 0x0001 ## $t7 = 00000000
/* 0129C 80A965EC 11E00087 */ beq $t7, $zero, .L80A9680C
/* 012A0 80A965F0 00000000 */ nop
.L80A965F4:
/* 012A4 80A965F4 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00
/* 012A8 80A965F8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 012AC 80A965FC 0C034261 */ jal Matrix_Translate
/* 012B0 80A96600 46007306 */ mov.s $f12, $f14
/* 012B4 80A96604 8E5002C0 */ lw $s0, 0x02C0($s2) ## 000002C0
/* 012B8 80A96608 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
/* 012BC 80A9660C 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
/* 012C0 80A96610 26180008 */ addiu $t8, $s0, 0x0008 ## $t8 = 00000008
/* 012C4 80A96614 AE5802C0 */ sw $t8, 0x02C0($s2) ## 000002C0
/* 012C8 80A96618 3C0580A9 */ lui $a1, %hi(D_80A96AE0) ## $a1 = 80A90000
/* 012CC 80A9661C AE190000 */ sw $t9, 0x0000($s0) ## 00000000
/* 012D0 80A96620 8E840000 */ lw $a0, 0x0000($s4) ## 00000000
/* 012D4 80A96624 24A56AE0 */ addiu $a1, $a1, %lo(D_80A96AE0) ## $a1 = 80A96AE0
/* 012D8 80A96628 0C0346A2 */ jal Matrix_NewMtx
/* 012DC 80A9662C 2406042A */ addiu $a2, $zero, 0x042A ## $a2 = 0000042A
/* 012E0 80A96630 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
/* 012E4 80A96634 8E4302C0 */ lw $v1, 0x02C0($s2) ## 000002C0
/* 012E8 80A96638 3C0A0600 */ lui $t2, 0x0600 ## $t2 = 06000000
/* 012EC 80A9663C 254A3070 */ addiu $t2, $t2, 0x3070 ## $t2 = 06003070
/* 012F0 80A96640 24680008 */ addiu $t0, $v1, 0x0008 ## $t0 = 00000008
/* 012F4 80A96644 AE4802C0 */ sw $t0, 0x02C0($s2) ## 000002C0
/* 012F8 80A96648 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000
/* 012FC 80A9664C AC690000 */ sw $t1, 0x0000($v1) ## 00000000
/* 01300 80A96650 1000006E */ beq $zero, $zero, .L80A9680C
/* 01304 80A96654 AC6A0004 */ sw $t2, 0x0004($v1) ## 00000004
.L80A96658:
/* 01308 80A96658 3C0B80A9 */ lui $t3, %hi(func_80A96184) ## $t3 = 80A90000
/* 0130C 80A9665C 256B6184 */ addiu $t3, $t3, %lo(func_80A96184) ## $t3 = 80A96184
/* 01310 80A96660 1162006A */ beq $t3, $v0, .L80A9680C
/* 01314 80A96664 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 01318 80A96668 3C0580A9 */ lui $a1, %hi(D_80A96A68) ## $a1 = 80A90000
/* 0131C 80A9666C 24A56A68 */ addiu $a1, $a1, %lo(D_80A96A68) ## $a1 = 80A96A68
/* 01320 80A96670 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 01324 80A96674 0C00988C */ jal func_80026230
/* 01328 80A96678 24070002 */ addiu $a3, $zero, 0x0002 ## $a3 = 00000002
/* 0132C 80A9667C 8E650150 */ lw $a1, 0x0150($s3) ## 00000150
/* 01330 80A96680 8E66016C */ lw $a2, 0x016C($s3) ## 0000016C
/* 01334 80A96684 AFA00014 */ sw $zero, 0x0014($sp)
/* 01338 80A96688 AFA00010 */ sw $zero, 0x0010($sp)
/* 0133C 80A9668C 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 01340 80A96690 0C028572 */ jal SkelAnime_DrawOpa
/* 01344 80A96694 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 01348 80A96698 C66C0024 */ lwc1 $f12, 0x0024($s3) ## 00000024
/* 0134C 80A9669C C66E0028 */ lwc1 $f14, 0x0028($s3) ## 00000028
/* 01350 80A966A0 8E66002C */ lw $a2, 0x002C($s3) ## 0000002C
/* 01354 80A966A4 0C034261 */ jal Matrix_Translate
/* 01358 80A966A8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 0135C 80A966AC 8E620190 */ lw $v0, 0x0190($s3) ## 00000190
/* 01360 80A966B0 3C0C80A9 */ lui $t4, %hi(func_80A961DC) ## $t4 = 80A90000
/* 01364 80A966B4 258C61DC */ addiu $t4, $t4, %lo(func_80A961DC) ## $t4 = 80A961DC
/* 01368 80A966B8 11820004 */ beq $t4, $v0, .L80A966CC
/* 0136C 80A966BC 3C0D80A9 */ lui $t5, %hi(func_80A95940) ## $t5 = 80A90000
/* 01370 80A966C0 25AD5940 */ addiu $t5, $t5, %lo(func_80A95940) ## $t5 = 80A95940
/* 01374 80A966C4 15A2000A */ bne $t5, $v0, .L80A966F0
/* 01378 80A966C8 3C0180A9 */ lui $at, %hi(D_80A96B68) ## $at = 80A90000
.L80A966CC:
/* 0137C 80A966CC 866E001C */ lh $t6, 0x001C($s3) ## 0000001C
/* 01380 80A966D0 3C0180A9 */ lui $at, %hi(D_80A96B64) ## $at = 80A90000
/* 01384 80A966D4 C4286B64 */ lwc1 $f8, %lo(D_80A96B64)($at)
/* 01388 80A966D8 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00
/* 0138C 80A966DC 00000000 */ nop
/* 01390 80A966E0 468021A0 */ cvt.s.w $f6, $f4
/* 01394 80A966E4 46083302 */ mul.s $f12, $f6, $f8
/* 01398 80A966E8 10000003 */ beq $zero, $zero, .L80A966F8
/* 0139C 80A966EC E7AC0088 */ swc1 $f12, 0x0088($sp)
.L80A966F0:
/* 013A0 80A966F0 C42A6B68 */ lwc1 $f10, %lo(D_80A96B68)($at)
/* 013A4 80A966F4 E7AA0088 */ swc1 $f10, 0x0088($sp)
.L80A966F8:
/* 013A8 80A966F8 C7AC0088 */ lwc1 $f12, 0x0088($sp)
/* 013AC 80A966FC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 013B0 80A96700 44066000 */ mfc1 $a2, $f12
/* 013B4 80A96704 0C0342A3 */ jal Matrix_Scale
/* 013B8 80A96708 46006386 */ mov.s $f14, $f12
/* 013BC 80A9670C 866400B4 */ lh $a0, 0x00B4($s3) ## 000000B4
/* 013C0 80A96710 866500B6 */ lh $a1, 0x00B6($s3) ## 000000B6
/* 013C4 80A96714 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 013C8 80A96718 0C034421 */ jal Matrix_RotateRPY
/* 013CC 80A9671C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 013D0 80A96720 8E6F0190 */ lw $t7, 0x0190($s3) ## 00000190
/* 013D4 80A96724 3C0380A9 */ lui $v1, %hi(func_80A95D90) ## $v1 = 80A90000
/* 013D8 80A96728 24635D90 */ addiu $v1, $v1, %lo(func_80A95D90) ## $v1 = 80A95D90
/* 013DC 80A9672C 146F0004 */ bne $v1, $t7, .L80A96740
/* 013E0 80A96730 24190003 */ addiu $t9, $zero, 0x0003 ## $t9 = 00000003
/* 013E4 80A96734 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002
/* 013E8 80A96738 10000002 */ beq $zero, $zero, .L80A96744
/* 013EC 80A9673C AFB8008C */ sw $t8, 0x008C($sp)
.L80A96740:
/* 013F0 80A96740 AFB9008C */ sw $t9, 0x008C($sp)
.L80A96744:
/* 013F4 80A96744 8FA8008C */ lw $t0, 0x008C($sp)
/* 013F8 80A96748 3C0980A9 */ lui $t1, %hi(D_80A96A6C) ## $t1 = 80A90000
/* 013FC 80A9674C 25316A6C */ addiu $s1, $t1, %lo(D_80A96A6C) ## $s1 = 80A96A6C
/* 01400 80A96750 1900002C */ blez $t0, .L80A96804
/* 01404 80A96754 00085080 */ sll $t2, $t0, 2
/* 01408 80A96758 01515821 */ addu $t3, $t2, $s1
/* 0140C 80A9675C 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00
/* 01410 80A96760 AFAB0048 */ sw $t3, 0x0048($sp)
/* 01414 80A96764 AFA3004C */ sw $v1, 0x004C($sp)
/* 01418 80A96768 4600A306 */ mov.s $f12, $f20
.L80A9676C:
/* 0141C 80A9676C 4600A386 */ mov.s $f14, $f20
/* 01420 80A96770 3C06C4FA */ lui $a2, 0xC4FA ## $a2 = C4FA0000
/* 01424 80A96774 0C034261 */ jal Matrix_Translate
/* 01428 80A96778 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 0142C 80A9677C 8E5002C0 */ lw $s0, 0x02C0($s2) ## 000002C0
/* 01430 80A96780 3C0DDA38 */ lui $t5, 0xDA38 ## $t5 = DA380000
/* 01434 80A96784 35AD0003 */ ori $t5, $t5, 0x0003 ## $t5 = DA380003
/* 01438 80A96788 260C0008 */ addiu $t4, $s0, 0x0008 ## $t4 = 00000008
/* 0143C 80A9678C AE4C02C0 */ sw $t4, 0x02C0($s2) ## 000002C0
/* 01440 80A96790 3C0580A9 */ lui $a1, %hi(D_80A96AF4) ## $a1 = 80A90000
/* 01444 80A96794 AE0D0000 */ sw $t5, 0x0000($s0) ## 00000000
/* 01448 80A96798 8E840000 */ lw $a0, 0x0000($s4) ## 00000000
/* 0144C 80A9679C 24A56AF4 */ addiu $a1, $a1, %lo(D_80A96AF4) ## $a1 = 80A96AF4
/* 01450 80A967A0 0C0346A2 */ jal Matrix_NewMtx
/* 01454 80A967A4 2406045C */ addiu $a2, $zero, 0x045C ## $a2 = 0000045C
/* 01458 80A967A8 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
/* 0145C 80A967AC 8E4302C0 */ lw $v1, 0x02C0($s2) ## 000002C0
/* 01460 80A967B0 3C0FDE00 */ lui $t7, 0xDE00 ## $t7 = DE000000
/* 01464 80A967B4 3C1980A9 */ lui $t9, %hi(D_80A96A6C) ## $t9 = 80A90000
/* 01468 80A967B8 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
/* 0146C 80A967BC AE4E02C0 */ sw $t6, 0x02C0($s2) ## 000002C0
/* 01470 80A967C0 AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000
/* 01474 80A967C4 8E380000 */ lw $t8, 0x0000($s1) ## 80A96A6C
/* 01478 80A967C8 27396A6C */ addiu $t9, $t9, %lo(D_80A96A6C) ## $t9 = 80A96A6C
/* 0147C 80A967CC 16390009 */ bne $s1, $t9, .L80A967F4
/* 01480 80A967D0 AC780004 */ sw $t8, 0x0004($v1) ## 00000004
/* 01484 80A967D4 8FA8004C */ lw $t0, 0x004C($sp)
/* 01488 80A967D8 8E6A0190 */ lw $t2, 0x0190($s3) ## 00000190
/* 0148C 80A967DC 3C0480A9 */ lui $a0, %hi(D_80A96A78) ## $a0 = 80A90000
/* 01490 80A967E0 24846A78 */ addiu $a0, $a0, %lo(D_80A96A78) ## $a0 = 80A96A78
/* 01494 80A967E4 550A0004 */ bnel $t0, $t2, .L80A967F8
/* 01498 80A967E8 8FA90048 */ lw $t1, 0x0048($sp)
/* 0149C 80A967EC 0C0346BD */ jal Matrix_MultVec3f
/* 014A0 80A967F0 26650038 */ addiu $a1, $s3, 0x0038 ## $a1 = 00000038
.L80A967F4:
/* 014A4 80A967F4 8FA90048 */ lw $t1, 0x0048($sp)
.L80A967F8:
/* 014A8 80A967F8 26310004 */ addiu $s1, $s1, 0x0004 ## $s1 = 80A96A70
/* 014AC 80A967FC 5629FFDB */ bnel $s1, $t1, .L80A9676C
/* 014B0 80A96800 4600A306 */ mov.s $f12, $f20
.L80A96804:
/* 014B4 80A96804 0C009982 */ jal func_80026608
/* 014B8 80A96808 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
.L80A9680C:
/* 014BC 80A9680C 3C0B80A9 */ lui $t3, %hi(func_80A95D90) ## $t3 = 80A90000
/* 014C0 80A96810 256B5D90 */ addiu $t3, $t3, %lo(func_80A95D90) ## $t3 = 80A95D90
/* 014C4 80A96814 3C0580A9 */ lui $a1, %hi(D_80A96A68) ## $a1 = 80A90000
/* 014C8 80A96818 3C1080A9 */ lui $s0, %hi(func_80A95940) ## $s0 = 80A90000
/* 014CC 80A9681C 26105940 */ addiu $s0, $s0, %lo(func_80A95940) ## $s0 = 80A95940
/* 014D0 80A96820 24A56A68 */ addiu $a1, $a1, %lo(D_80A96A68) ## $a1 = 80A96A68
/* 014D4 80A96824 AFAB004C */ sw $t3, 0x004C($sp)
/* 014D8 80A96828 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 014DC 80A9682C 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 014E0 80A96830 0C00988C */ jal func_80026230
/* 014E4 80A96834 24070002 */ addiu $a3, $zero, 0x0002 ## $a3 = 00000002
/* 014E8 80A96838 C66C0008 */ lwc1 $f12, 0x0008($s3) ## 00000008
/* 014EC 80A9683C C66E000C */ lwc1 $f14, 0x000C($s3) ## 0000000C
/* 014F0 80A96840 8E660010 */ lw $a2, 0x0010($s3) ## 00000010
/* 014F4 80A96844 0C034261 */ jal Matrix_Translate
/* 014F8 80A96848 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 014FC 80A9684C 8E6C0190 */ lw $t4, 0x0190($s3) ## 00000190
/* 01500 80A96850 3C0180A9 */ lui $at, %hi(D_80A96B6C) ## $at = 80A90000
/* 01504 80A96854 520C0004 */ beql $s0, $t4, .L80A96868
/* 01508 80A96858 C7AC0088 */ lwc1 $f12, 0x0088($sp)
/* 0150C 80A9685C C42C6B6C */ lwc1 $f12, %lo(D_80A96B6C)($at)
/* 01510 80A96860 E7AC0088 */ swc1 $f12, 0x0088($sp)
/* 01514 80A96864 C7AC0088 */ lwc1 $f12, 0x0088($sp)
.L80A96868:
/* 01518 80A96868 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 0151C 80A9686C 44066000 */ mfc1 $a2, $f12
/* 01520 80A96870 0C0342A3 */ jal Matrix_Scale
/* 01524 80A96874 46006386 */ mov.s $f14, $f12
/* 01528 80A96878 866D0016 */ lh $t5, 0x0016($s3) ## 00000016
/* 0152C 80A9687C 3C0180A9 */ lui $at, %hi(D_80A96B70) ## $at = 80A90000
/* 01530 80A96880 C4246B70 */ lwc1 $f4, %lo(D_80A96B70)($at)
/* 01534 80A96884 448D8000 */ mtc1 $t5, $f16 ## $f16 = 0.00
/* 01538 80A96888 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 0153C 80A9688C 468084A0 */ cvt.s.w $f18, $f16
/* 01540 80A96890 46049302 */ mul.s $f12, $f18, $f4
/* 01544 80A96894 0C034348 */ jal Matrix_RotateY
/* 01548 80A96898 00000000 */ nop
/* 0154C 80A9689C 8E5002C0 */ lw $s0, 0x02C0($s2) ## 000002C0
/* 01550 80A968A0 3C0FDA38 */ lui $t7, 0xDA38 ## $t7 = DA380000
/* 01554 80A968A4 35EF0003 */ ori $t7, $t7, 0x0003 ## $t7 = DA380003
/* 01558 80A968A8 260E0008 */ addiu $t6, $s0, 0x0008 ## $t6 = 80A95948
/* 0155C 80A968AC AE4E02C0 */ sw $t6, 0x02C0($s2) ## 000002C0
/* 01560 80A968B0 3C0580A9 */ lui $a1, %hi(D_80A96B08) ## $a1 = 80A90000
/* 01564 80A968B4 AE0F0000 */ sw $t7, 0x0000($s0) ## 80A95940
/* 01568 80A968B8 8E840000 */ lw $a0, 0x0000($s4) ## 00000000
/* 0156C 80A968BC 24A56B08 */ addiu $a1, $a1, %lo(D_80A96B08) ## $a1 = 80A96B08
/* 01570 80A968C0 0C0346A2 */ jal Matrix_NewMtx
/* 01574 80A968C4 24060478 */ addiu $a2, $zero, 0x0478 ## $a2 = 00000478
/* 01578 80A968C8 AE020004 */ sw $v0, 0x0004($s0) ## 80A95944
/* 0157C 80A968CC 8E4302C0 */ lw $v1, 0x02C0($s2) ## 000002C0
/* 01580 80A968D0 3C080600 */ lui $t0, 0x0600 ## $t0 = 06000000
/* 01584 80A968D4 250810F0 */ addiu $t0, $t0, 0x10F0 ## $t0 = 060010F0
/* 01588 80A968D8 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008
/* 0158C 80A968DC AE5802C0 */ sw $t8, 0x02C0($s2) ## 000002C0
/* 01590 80A968E0 3C19DE00 */ lui $t9, 0xDE00 ## $t9 = DE000000
/* 01594 80A968E4 AC790000 */ sw $t9, 0x0000($v1) ## 00000000
/* 01598 80A968E8 AC680004 */ sw $t0, 0x0004($v1) ## 00000004
/* 0159C 80A968EC 8E690190 */ lw $t1, 0x0190($s3) ## 00000190
/* 015A0 80A968F0 8FAA004C */ lw $t2, 0x004C($sp)
/* 015A4 80A968F4 2404C000 */ addiu $a0, $zero, 0xC000 ## $a0 = FFFFC000
/* 015A8 80A968F8 1549001D */ bne $t2, $t1, .L80A96970
/* 015AC 80A968FC 00000000 */ nop
/* 015B0 80A96900 866B00B6 */ lh $t3, 0x00B6($s3) ## 000000B6
/* 015B4 80A96904 866C0016 */ lh $t4, 0x0016($s3) ## 00000016
/* 015B8 80A96908 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 015BC 80A9690C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 015C0 80A96910 016C2823 */ subu $a1, $t3, $t4
/* 015C4 80A96914 00052C00 */ sll $a1, $a1, 16
/* 015C8 80A96918 0C034421 */ jal Matrix_RotateRPY
/* 015CC 80A9691C 00052C03 */ sra $a1, $a1, 16
/* 015D0 80A96920 8E5002C0 */ lw $s0, 0x02C0($s2) ## 000002C0
/* 015D4 80A96924 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000
/* 015D8 80A96928 35CE0003 */ ori $t6, $t6, 0x0003 ## $t6 = DA380003
/* 015DC 80A9692C 260D0008 */ addiu $t5, $s0, 0x0008 ## $t5 = 80A95948
/* 015E0 80A96930 AE4D02C0 */ sw $t5, 0x02C0($s2) ## 000002C0
/* 015E4 80A96934 3C0580A9 */ lui $a1, %hi(D_80A96B1C) ## $a1 = 80A90000
/* 015E8 80A96938 AE0E0000 */ sw $t6, 0x0000($s0) ## 80A95940
/* 015EC 80A9693C 8E840000 */ lw $a0, 0x0000($s4) ## 00000000
/* 015F0 80A96940 24A56B1C */ addiu $a1, $a1, %lo(D_80A96B1C) ## $a1 = 80A96B1C
/* 015F4 80A96944 0C0346A2 */ jal Matrix_NewMtx
/* 015F8 80A96948 24060483 */ addiu $a2, $zero, 0x0483 ## $a2 = 00000483
/* 015FC 80A9694C AE020004 */ sw $v0, 0x0004($s0) ## 80A95944
/* 01600 80A96950 8E4302C0 */ lw $v1, 0x02C0($s2) ## 000002C0
/* 01604 80A96954 3C190600 */ lui $t9, 0x0600 ## $t9 = 06000000
/* 01608 80A96958 27391828 */ addiu $t9, $t9, 0x1828 ## $t9 = 06001828
/* 0160C 80A9695C 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
/* 01610 80A96960 AE4F02C0 */ sw $t7, 0x02C0($s2) ## 000002C0
/* 01614 80A96964 3C18DE00 */ lui $t8, 0xDE00 ## $t8 = DE000000
/* 01618 80A96968 AC780000 */ sw $t8, 0x0000($v1) ## 00000000
/* 0161C 80A9696C AC790004 */ sw $t9, 0x0004($v1) ## 00000004
.L80A96970:
/* 01620 80A96970 0C009982 */ jal func_80026608
/* 01624 80A96974 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 01628 80A96978 3C0680A9 */ lui $a2, %hi(D_80A96B30) ## $a2 = 80A90000
/* 0162C 80A9697C 24C66B30 */ addiu $a2, $a2, %lo(D_80A96B30) ## $a2 = 80A96B30
/* 01630 80A96980 27A40074 */ addiu $a0, $sp, 0x0074 ## $a0 = FFFFFFDC
/* 01634 80A96984 8E850000 */ lw $a1, 0x0000($s4) ## 00000000
/* 01638 80A96988 0C031AD5 */ jal Graph_CloseDisps
/* 0163C 80A9698C 2407048B */ addiu $a3, $zero, 0x048B ## $a3 = 0000048B
/* 01640 80A96990 8E6801F4 */ lw $t0, 0x01F4($s3) ## 000001F4
/* 01644 80A96994 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 01648 80A96998 51000004 */ beql $t0, $zero, .L80A969AC
/* 0164C 80A9699C 8FBF003C */ lw $ra, 0x003C($sp)
/* 01650 80A969A0 0C2A5913 */ jal func_80A9644C
/* 01654 80A969A4 02802825 */ or $a1, $s4, $zero ## $a1 = 00000000
/* 01658 80A969A8 8FBF003C */ lw $ra, 0x003C($sp)
.L80A969AC:
/* 0165C 80A969AC D7B40020 */ ldc1 $f20, 0x0020($sp)
/* 01660 80A969B0 8FB00028 */ lw $s0, 0x0028($sp)
/* 01664 80A969B4 8FB1002C */ lw $s1, 0x002C($sp)
/* 01668 80A969B8 8FB20030 */ lw $s2, 0x0030($sp)
/* 0166C 80A969BC 8FB30034 */ lw $s3, 0x0034($sp)
/* 01670 80A969C0 8FB40038 */ lw $s4, 0x0038($sp)
/* 01674 80A969C4 03E00008 */ jr $ra
/* 01678 80A969C8 27BD0098 */ addiu $sp, $sp, 0x0098 ## $sp = 00000000
/* 0167C 80A969CC 00000000 */ nop

View file

@ -1,89 +0,0 @@
glabel EnKarebaba_Init
/* 00000 80A95350 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00004 80A95354 AFB10028 */ sw $s1, 0x0028($sp)
/* 00008 80A95358 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 0000C 80A9535C AFBF002C */ sw $ra, 0x002C($sp)
/* 00010 80A95360 AFB00024 */ sw $s0, 0x0024($sp)
/* 00014 80A95364 3C0580A9 */ lui $a1, %hi(D_80A96A50) ## $a1 = 80A90000
/* 00018 80A95368 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0001C 80A9536C 0C01E037 */ jal Actor_ProcessInitChain
/* 00020 80A95370 24A56A50 */ addiu $a1, $a1, %lo(D_80A96A50) ## $a1 = 80A96A50
/* 00024 80A95374 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle)
/* 00028 80A95378 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle)
/* 0002C 80A9537C 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 00030 80A95380 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00034 80A95384 0C00AC78 */ jal ActorShape_Init
/* 00038 80A95388 3C0741B0 */ lui $a3, 0x41B0 ## $a3 = 41B00000
/* 0003C 80A9538C 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000
/* 00040 80A95390 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
/* 00044 80A95394 260E0194 */ addiu $t6, $s0, 0x0194 ## $t6 = 00000194
/* 00048 80A95398 260F01C4 */ addiu $t7, $s0, 0x01C4 ## $t7 = 000001C4
/* 0004C 80A9539C 24180008 */ addiu $t8, $zero, 0x0008 ## $t8 = 00000008
/* 00050 80A953A0 AFB80018 */ sw $t8, 0x0018($sp)
/* 00054 80A953A4 AFAF0014 */ sw $t7, 0x0014($sp)
/* 00058 80A953A8 AFAE0010 */ sw $t6, 0x0010($sp)
/* 0005C 80A953AC 24E702B8 */ addiu $a3, $a3, 0x02B8 ## $a3 = 060002B8
/* 00060 80A953B0 24C62A40 */ addiu $a2, $a2, 0x2A40 ## $a2 = 06002A40
/* 00064 80A953B4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00068 80A953B8 0C02915F */ jal SkelAnime_Init
/* 0006C 80A953BC 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 00070 80A953C0 26050244 */ addiu $a1, $s0, 0x0244 ## $a1 = 00000244
/* 00074 80A953C4 AFA50034 */ sw $a1, 0x0034($sp)
/* 00078 80A953C8 0C0170D9 */ jal Collider_InitCylinder
/* 0007C 80A953CC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00080 80A953D0 3C0780A9 */ lui $a3, %hi(D_80A969F0) ## $a3 = 80A90000
/* 00084 80A953D4 24E769F0 */ addiu $a3, $a3, %lo(D_80A969F0) ## $a3 = 80A969F0
/* 00088 80A953D8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0008C 80A953DC 8FA50034 */ lw $a1, 0x0034($sp)
/* 00090 80A953E0 0C01712B */ jal Collider_SetCylinder
/* 00094 80A953E4 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00098 80A953E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0009C 80A953EC 0C0189B7 */ jal Collider_CylinderUpdate
/* 000A0 80A953F0 8FA50034 */ lw $a1, 0x0034($sp)
/* 000A4 80A953F4 260501F8 */ addiu $a1, $s0, 0x01F8 ## $a1 = 000001F8
/* 000A8 80A953F8 AFA50034 */ sw $a1, 0x0034($sp)
/* 000AC 80A953FC 0C0170D9 */ jal Collider_InitCylinder
/* 000B0 80A95400 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 000B4 80A95404 3C0780A9 */ lui $a3, %hi(D_80A96A1C) ## $a3 = 80A90000
/* 000B8 80A95408 24E76A1C */ addiu $a3, $a3, %lo(D_80A96A1C) ## $a3 = 80A96A1C
/* 000BC 80A9540C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 000C0 80A95410 8FA50034 */ lw $a1, 0x0034($sp)
/* 000C4 80A95414 0C01712B */ jal Collider_SetCylinder
/* 000C8 80A95418 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 000CC 80A9541C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000D0 80A95420 0C0189B7 */ jal Collider_CylinderUpdate
/* 000D4 80A95424 8FA50034 */ lw $a1, 0x0034($sp)
/* 000D8 80A95428 0C016C80 */ jal DamageTable_Get
/* 000DC 80A9542C 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
/* 000E0 80A95430 3C0680A9 */ lui $a2, %hi(D_80A96A48) ## $a2 = 80A90000
/* 000E4 80A95434 24C66A48 */ addiu $a2, $a2, %lo(D_80A96A48) ## $a2 = 80A96A48
/* 000E8 80A95438 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
/* 000EC 80A9543C 0C0187B5 */ jal func_80061ED4
/* 000F0 80A95440 00402825 */ or $a1, $v0, $zero ## $a1 = 00000000
/* 000F4 80A95444 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
/* 000F8 80A95448 AE0001F4 */ sw $zero, 0x01F4($s0) ## 000001F4
/* 000FC 80A9544C 17200005 */ bne $t9, $zero, .L80A95464
/* 00100 80A95450 00000000 */ nop
/* 00104 80A95454 0C2A553E */ jal func_80A954F8
/* 00108 80A95458 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0010C 80A9545C 10000004 */ beq $zero, $zero, .L80A95470
/* 00110 80A95460 8FBF002C */ lw $ra, 0x002C($sp)
.L80A95464:
/* 00114 80A95464 0C2A5552 */ jal func_80A95548
/* 00118 80A95468 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0011C 80A9546C 8FBF002C */ lw $ra, 0x002C($sp)
.L80A95470:
/* 00120 80A95470 8FB00024 */ lw $s0, 0x0024($sp)
/* 00124 80A95474 8FB10028 */ lw $s1, 0x0028($sp)
/* 00128 80A95478 03E00008 */ jr $ra
/* 0012C 80A9547C 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000

View file

@ -1,124 +0,0 @@
.late_rodata
glabel D_80A96B5C
.float 0.01
.text
glabel EnKarebaba_Update
/* 00F50 80A962A0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00F54 80A962A4 AFB0001C */ sw $s0, 0x001C($sp)
/* 00F58 80A962A8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00F5C 80A962AC AFBF0024 */ sw $ra, 0x0024($sp)
/* 00F60 80A962B0 AFB10020 */ sw $s1, 0x0020($sp)
/* 00F64 80A962B4 8E190190 */ lw $t9, 0x0190($s0) ## 00000190
/* 00F68 80A962B8 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00F6C 80A962BC 0320F809 */ jalr $ra, $t9
/* 00F70 80A962C0 00000000 */ nop
/* 00F74 80A962C4 8E020190 */ lw $v0, 0x0190($s0) ## 00000190
/* 00F78 80A962C8 3C0E80A9 */ lui $t6, %hi(func_80A96184) ## $t6 = 80A90000
/* 00F7C 80A962CC 25CE6184 */ addiu $t6, $t6, %lo(func_80A96184) ## $t6 = 80A96184
/* 00F80 80A962D0 11C20059 */ beq $t6, $v0, .L80A96438
/* 00F84 80A962D4 3C0F80A9 */ lui $t7, %hi(func_80A95D90) ## $t7 = 80A90000
/* 00F88 80A962D8 25EF5D90 */ addiu $t7, $t7, %lo(func_80A95D90) ## $t7 = 80A95D90
/* 00F8C 80A962DC 15E2000F */ bne $t7, $v0, .L80A9631C
/* 00F90 80A962E0 AFAF002C */ sw $t7, 0x002C($sp)
/* 00F94 80A962E4 0C00B638 */ jal Actor_MoveForward
/* 00F98 80A962E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00F9C 80A962EC 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00FA0 80A962F0 44810000 */ mtc1 $at, $f0 ## $f0 = 10.00
/* 00FA4 80A962F4 24180005 */ addiu $t8, $zero, 0x0005 ## $t8 = 00000005
/* 00FA8 80A962F8 AFB80014 */ sw $t8, 0x0014($sp)
/* 00FAC 80A962FC 44060000 */ mfc1 $a2, $f0
/* 00FB0 80A96300 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00FB4 80A96304 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00FB8 80A96308 3C074170 */ lui $a3, 0x4170 ## $a3 = 41700000
/* 00FBC 80A9630C 0C00B92D */ jal func_8002E4B4
/* 00FC0 80A96310 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00FC4 80A96314 10000010 */ beq $zero, $zero, .L80A96358
/* 00FC8 80A96318 8E020190 */ lw $v0, 0x0190($s0) ## 00000190
.L80A9631C:
/* 00FCC 80A9631C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00FD0 80A96320 24080004 */ addiu $t0, $zero, 0x0004 ## $t0 = 00000004
/* 00FD4 80A96324 AFA80014 */ sw $t0, 0x0014($sp)
/* 00FD8 80A96328 44060000 */ mfc1 $a2, $f0
/* 00FDC 80A9632C 44070000 */ mfc1 $a3, $f0
/* 00FE0 80A96330 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00FE4 80A96334 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00FE8 80A96338 0C00B92D */ jal func_8002E4B4
/* 00FEC 80A9633C E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00FF0 80A96340 8E0901F4 */ lw $t1, 0x01F4($s0) ## 000001F4
/* 00FF4 80A96344 55200004 */ bnel $t1, $zero, .L80A96358
/* 00FF8 80A96348 8E020190 */ lw $v0, 0x0190($s0) ## 00000190
/* 00FFC 80A9634C 8E0A0078 */ lw $t2, 0x0078($s0) ## 00000078
/* 01000 80A96350 AE0A01F4 */ sw $t2, 0x01F4($s0) ## 000001F4
/* 01004 80A96354 8E020190 */ lw $v0, 0x0190($s0) ## 00000190
.L80A96358:
/* 01008 80A96358 8FAB002C */ lw $t3, 0x002C($sp)
/* 0100C 80A9635C 3C0C80A9 */ lui $t4, %hi(func_80A96048) ## $t4 = 80A90000
/* 01010 80A96360 258C6048 */ addiu $t4, $t4, %lo(func_80A96048) ## $t4 = 80A96048
/* 01014 80A96364 51620035 */ beql $t3, $v0, .L80A9643C
/* 01018 80A96368 8FBF0024 */ lw $ra, 0x0024($sp)
/* 0101C 80A9636C 11820032 */ beq $t4, $v0, .L80A96438
/* 01020 80A96370 3C0D80A9 */ lui $t5, %hi(func_80A961DC) ## $t5 = 80A90000
/* 01024 80A96374 25AD61DC */ addiu $t5, $t5, %lo(func_80A961DC) ## $t5 = 80A961DC
/* 01028 80A96378 11A2000E */ beq $t5, $v0, .L80A963B4
/* 0102C 80A9637C 3C1980A9 */ lui $t9, %hi(func_80A95940) ## $t9 = 80A90000
/* 01030 80A96380 27395940 */ addiu $t9, $t9, %lo(func_80A95940) ## $t9 = 80A95940
/* 01034 80A96384 1322000B */ beq $t9, $v0, .L80A963B4
/* 01038 80A96388 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0103C 80A9638C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01040 80A96390 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01044 80A96394 02212821 */ addu $a1, $s1, $at
/* 01048 80A96398 AFA50030 */ sw $a1, 0x0030($sp)
/* 0104C 80A9639C 0C0175E7 */ jal CollisionCheck_SetAT
## CollisionCheck_setAT
/* 01050 80A963A0 260601F8 */ addiu $a2, $s0, 0x01F8 ## $a2 = 000001F8
/* 01054 80A963A4 8FA50030 */ lw $a1, 0x0030($sp)
/* 01058 80A963A8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0105C 80A963AC 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 01060 80A963B0 26060244 */ addiu $a2, $s0, 0x0244 ## $a2 = 00000244
.L80A963B4:
/* 01064 80A963B4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01068 80A963B8 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 0106C 80A963BC 02212821 */ addu $a1, $s1, $at
/* 01070 80A963C0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01074 80A963C4 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 01078 80A963C8 260601F8 */ addiu $a2, $s0, 0x01F8 ## $a2 = 000001F8
/* 0107C 80A963CC 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 01080 80A963D0 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00
/* 01084 80A963D4 C6040050 */ lwc1 $f4, 0x0050($s0) ## 00000050
/* 01088 80A963D8 3C0180A9 */ lui $at, %hi(D_80A96B5C) ## $at = 80A90000
/* 0108C 80A963DC C42A6B5C */ lwc1 $f10, %lo(D_80A96B5C)($at)
/* 01090 80A963E0 46062202 */ mul.s $f8, $f4, $f6
/* 01094 80A963E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01098 80A963E8 460A4403 */ div.s $f16, $f8, $f10
/* 0109C 80A963EC 44058000 */ mfc1 $a1, $f16
/* 010A0 80A963F0 0C00B56E */ jal Actor_SetHeight
/* 010A4 80A963F4 00000000 */ nop
/* 010A8 80A963F8 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 010AC 80A963FC 44812000 */ mtc1 $at, $f4 ## $f4 = 40.00
/* 010B0 80A96400 C612000C */ lwc1 $f18, 0x000C($s0) ## 0000000C
/* 010B4 80A96404 C602003C */ lwc1 $f2, 0x003C($s0) ## 0000003C
/* 010B8 80A96408 C6060008 */ lwc1 $f6, 0x0008($s0) ## 00000008
/* 010BC 80A9640C 46049000 */ add.s $f0, $f18, $f4
/* 010C0 80A96410 E6060038 */ swc1 $f6, 0x0038($s0) ## 00000038
/* 010C4 80A96414 4602003C */ c.lt.s $f0, $f2
/* 010C8 80A96418 00000000 */ nop
/* 010CC 80A9641C 45020004 */ bc1fl .L80A96430
/* 010D0 80A96420 E602003C */ swc1 $f2, 0x003C($s0) ## 0000003C
/* 010D4 80A96424 10000002 */ beq $zero, $zero, .L80A96430
/* 010D8 80A96428 E600003C */ swc1 $f0, 0x003C($s0) ## 0000003C
/* 010DC 80A9642C E602003C */ swc1 $f2, 0x003C($s0) ## 0000003C
.L80A96430:
/* 010E0 80A96430 C6080010 */ lwc1 $f8, 0x0010($s0) ## 00000010
/* 010E4 80A96434 E6080040 */ swc1 $f8, 0x0040($s0) ## 00000040
.L80A96438:
/* 010E8 80A96438 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A9643C:
/* 010EC 80A9643C 8FB0001C */ lw $s0, 0x001C($sp)
/* 010F0 80A96440 8FB10020 */ lw $s1, 0x0020($sp)
/* 010F4 80A96444 03E00008 */ jr $ra
/* 010F8 80A96448 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000

View file

@ -1,15 +0,0 @@
glabel func_80A954C0
/* 00170 80A954C0 90980255 */ lbu $t8, 0x0255($a0) ## 00000255
/* 00174 80A954C4 3C08FFCF */ lui $t0, 0xFFCF ## $t0 = FFCF0000
/* 00178 80A954C8 24020019 */ addiu $v0, $zero, 0x0019 ## $v0 = 00000019
/* 0017C 80A954CC 240E0007 */ addiu $t6, $zero, 0x0007 ## $t6 = 00000007
/* 00180 80A954D0 240F000C */ addiu $t7, $zero, 0x000C ## $t7 = 0000000C
/* 00184 80A954D4 3508FFFF */ ori $t0, $t0, 0xFFFF ## $t0 = FFCFFFFF
/* 00188 80A954D8 37190004 */ ori $t9, $t8, 0x0004 ## $t9 = 00000004
/* 0018C 80A954DC A48E0284 */ sh $t6, 0x0284($a0) ## 00000284
/* 00190 80A954E0 A4820286 */ sh $v0, 0x0286($a0) ## 00000286
/* 00194 80A954E4 A08F0258 */ sb $t7, 0x0258($a0) ## 00000258
/* 00198 80A954E8 A0990255 */ sb $t9, 0x0255($a0) ## 00000255
/* 0019C 80A954EC AC880264 */ sw $t0, 0x0264($a0) ## 00000264
/* 001A0 80A954F0 03E00008 */ jr $ra
/* 001A4 80A954F4 A482023A */ sh $v0, 0x023A($a0) ## 0000023A

View file

@ -1,22 +0,0 @@
glabel func_80A954F8
/* 001A8 80A954F8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 001AC 80A954FC AFBF0014 */ sw $ra, 0x0014($sp)
/* 001B0 80A95500 AFA40018 */ sw $a0, 0x0018($sp)
/* 001B4 80A95504 0C00B58B */ jal Actor_SetScale
/* 001B8 80A95508 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 001BC 80A9550C 8FA40018 */ lw $a0, 0x0018($sp)
/* 001C0 80A95510 3C014160 */ lui $at, 0x4160 ## $at = 41600000
/* 001C4 80A95514 44813000 */ mtc1 $at, $f6 ## $f6 = 14.00
/* 001C8 80A95518 C484000C */ lwc1 $f4, 0x000C($a0) ## 0000000C
/* 001CC 80A9551C 3C0F80A9 */ lui $t7, %hi(func_80A95940) ## $t7 = 80A90000
/* 001D0 80A95520 240EC000 */ addiu $t6, $zero, 0xC000 ## $t6 = FFFFC000
/* 001D4 80A95524 46062200 */ add.s $f8, $f4, $f6
/* 001D8 80A95528 25EF5940 */ addiu $t7, $t7, %lo(func_80A95940) ## $t7 = 80A95940
/* 001DC 80A9552C A48E00B4 */ sh $t6, 0x00B4($a0) ## 000000B4
/* 001E0 80A95530 AC8F0190 */ sw $t7, 0x0190($a0) ## 00000190
/* 001E4 80A95534 E4880028 */ swc1 $f8, 0x0028($a0) ## 00000028
/* 001E8 80A95538 8FBF0014 */ lw $ra, 0x0014($sp)
/* 001EC 80A9553C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 001F0 80A95540 03E00008 */ jr $ra
/* 001F4 80A95544 00000000 */ nop

View file

@ -1,23 +0,0 @@
glabel func_80A95548
/* 001F8 80A95548 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 001FC 80A9554C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00200 80A95550 3C053BA3 */ lui $a1, 0x3BA3 ## $a1 = 3BA30000
/* 00204 80A95554 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3BA3D70A
/* 00208 80A95558 0C00B58B */ jal Actor_SetScale
/* 0020C 80A9555C AFA40018 */ sw $a0, 0x0018($sp)
/* 00210 80A95560 8FA40018 */ lw $a0, 0x0018($sp)
/* 00214 80A95564 3C014160 */ lui $at, 0x4160 ## $at = 41600000
/* 00218 80A95568 44813000 */ mtc1 $at, $f6 ## $f6 = 14.00
/* 0021C 80A9556C C484000C */ lwc1 $f4, 0x000C($a0) ## 0000000C
/* 00220 80A95570 3C0F80A9 */ lui $t7, %hi(func_80A959D8) ## $t7 = 80A90000
/* 00224 80A95574 240EC000 */ addiu $t6, $zero, 0xC000 ## $t6 = FFFFC000
/* 00228 80A95578 46062200 */ add.s $f8, $f4, $f6
/* 0022C 80A9557C 25EF59D8 */ addiu $t7, $t7, %lo(func_80A959D8) ## $t7 = 80A959D8
/* 00230 80A95580 A48E00B4 */ sh $t6, 0x00B4($a0) ## 000000B4
/* 00234 80A95584 AC8F0190 */ sw $t7, 0x0190($a0) ## 00000190
/* 00238 80A95588 E4880028 */ swc1 $f8, 0x0028($a0) ## 00000028
/* 0023C 80A9558C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00240 80A95590 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00244 80A95594 03E00008 */ jr $ra
/* 00248 80A95598 00000000 */ nop

View file

@ -1,35 +0,0 @@
glabel func_80A9559C
/* 0024C 80A9559C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00250 80A955A0 AFA40028 */ sw $a0, 0x0028($sp)
/* 00254 80A955A4 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00258 80A955A8 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 0025C 80A955AC 0C028800 */ jal SkelAnime_GetFrameCount
/* 00260 80A955B0 248402B8 */ addiu $a0, $a0, 0x02B8 ## $a0 = 060002B8
/* 00264 80A955B4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00268 80A955B8 3C01C040 */ lui $at, 0xC040 ## $at = C0400000
/* 0026C 80A955BC 44814000 */ mtc1 $at, $f8 ## $f8 = -3.00
/* 00270 80A955C0 468021A0 */ cvt.s.w $f6, $f4
/* 00274 80A955C4 8FA40028 */ lw $a0, 0x0028($sp)
/* 00278 80A955C8 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 0027C 80A955CC 24A502B8 */ addiu $a1, $a1, 0x02B8 ## $a1 = 060002B8
/* 00280 80A955D0 3C064080 */ lui $a2, 0x4080 ## $a2 = 40800000
/* 00284 80A955D4 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00288 80A955D8 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 0028C 80A955DC AFA00014 */ sw $zero, 0x0014($sp)
/* 00290 80A955E0 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00294 80A955E4 0C029468 */ jal SkelAnime_ChangeAnim
/* 00298 80A955E8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0029C 80A955EC 8FA40028 */ lw $a0, 0x0028($sp)
/* 002A0 80A955F0 0C00BE0A */ jal Audio_PlayActorSound2
/* 002A4 80A955F4 240539E2 */ addiu $a1, $zero, 0x39E2 ## $a1 = 000039E2
/* 002A8 80A955F8 8FAF0028 */ lw $t7, 0x0028($sp)
/* 002AC 80A955FC 3C0E80A9 */ lui $t6, %hi(func_80A95A38) ## $t6 = 80A90000
/* 002B0 80A95600 25CE5A38 */ addiu $t6, $t6, %lo(func_80A95A38) ## $t6 = 80A95A38
/* 002B4 80A95604 ADEE0190 */ sw $t6, 0x0190($t7) ## 00000190
/* 002B8 80A95608 8FBF0024 */ lw $ra, 0x0024($sp)
/* 002BC 80A9560C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 002C0 80A95610 03E00008 */ jr $ra
/* 002C4 80A95614 00000000 */ nop

View file

@ -1,45 +0,0 @@
glabel func_80A95618
/* 002C8 80A95618 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 002CC 80A9561C AFBF0014 */ sw $ra, 0x0014($sp)
/* 002D0 80A95620 8C8F0190 */ lw $t7, 0x0190($a0) ## 00000190
/* 002D4 80A95624 3C0E80A9 */ lui $t6, %hi(func_80A95BFC) ## $t6 = 80A90000
/* 002D8 80A95628 25CE5BFC */ addiu $t6, $t6, %lo(func_80A95BFC) ## $t6 = 80A95BFC
/* 002DC 80A9562C 11CF0019 */ beq $t6, $t7, .L80A95694
/* 002E0 80A95630 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
/* 002E4 80A95634 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
/* 002E8 80A95638 0C00B58B */ jal Actor_SetScale
/* 002EC 80A9563C AFA40018 */ sw $a0, 0x0018($sp)
/* 002F0 80A95640 8FA40018 */ lw $a0, 0x0018($sp)
/* 002F4 80A95644 24180006 */ addiu $t8, $zero, 0x0006 ## $t8 = 00000006
/* 002F8 80A95648 3C098016 */ lui $t1, %hi(gSaveContext+4)
/* 002FC 80A9564C 90990255 */ lbu $t9, 0x0255($a0) ## 00000255
/* 00300 80A95650 A0980258 */ sb $t8, 0x0258($a0) ## 00000258
/* 00304 80A95654 3C0B0FC0 */ lui $t3, 0x0FC0 ## $t3 = 0FC00000
/* 00308 80A95658 3328FFFB */ andi $t0, $t9, 0xFFFB ## $t0 = 00000000
/* 0030C 80A9565C A0880255 */ sb $t0, 0x0255($a0) ## 00000255
/* 00310 80A95660 8D29E664 */ lw $t1, %lo(gSaveContext+4)($t1)
/* 00314 80A95664 356B0710 */ ori $t3, $t3, 0x0710 ## $t3 = 0FC00710
/* 00318 80A95668 24020050 */ addiu $v0, $zero, 0x0050 ## $v0 = 00000050
/* 0031C 80A9566C 11200005 */ beq $t1, $zero, .L80A95684
/* 00320 80A95670 240C000F */ addiu $t4, $zero, 0x000F ## $t4 = 0000000F
/* 00324 80A95674 3C0A07C0 */ lui $t2, 0x07C0 ## $t2 = 07C00000
/* 00328 80A95678 354A0710 */ ori $t2, $t2, 0x0710 ## $t2 = 07C00710
/* 0032C 80A9567C 10000002 */ beq $zero, $zero, .L80A95688
/* 00330 80A95680 AC8A0264 */ sw $t2, 0x0264($a0) ## 00000264
.L80A95684:
/* 00334 80A95684 AC8B0264 */ sw $t3, 0x0264($a0) ## 00000264
.L80A95688:
/* 00338 80A95688 A48C0284 */ sh $t4, 0x0284($a0) ## 00000284
/* 0033C 80A9568C A4820286 */ sh $v0, 0x0286($a0) ## 00000286
/* 00340 80A95690 A482023A */ sh $v0, 0x023A($a0) ## 0000023A
.L80A95694:
/* 00344 80A95694 3C0E80A9 */ lui $t6, %hi(func_80A95B0C) ## $t6 = 80A90000
/* 00348 80A95698 240D0028 */ addiu $t5, $zero, 0x0028 ## $t5 = 00000028
/* 0034C 80A9569C 25CE5B0C */ addiu $t6, $t6, %lo(func_80A95B0C) ## $t6 = 80A95B0C
/* 00350 80A956A0 A48D001C */ sh $t5, 0x001C($a0) ## 0000001C
/* 00354 80A956A4 AC8E0190 */ sw $t6, 0x0190($a0) ## 00000190
/* 00358 80A956A8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0035C 80A956AC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00360 80A956B0 03E00008 */ jr $ra
/* 00364 80A956B4 00000000 */ nop

View file

@ -1,7 +0,0 @@
glabel func_80A956B8
/* 00368 80A956B8 3C0F80A9 */ lui $t7, %hi(func_80A95BFC) ## $t7 = 80A90000
/* 0036C 80A956BC 240E0028 */ addiu $t6, $zero, 0x0028 ## $t6 = 00000028
/* 00370 80A956C0 25EF5BFC */ addiu $t7, $t7, %lo(func_80A95BFC) ## $t7 = 80A95BFC
/* 00374 80A956C4 A48E001C */ sh $t6, 0x001C($a0) ## 0000001C
/* 00378 80A956C8 03E00008 */ jr $ra
/* 0037C 80A956CC AC8F0190 */ sw $t7, 0x0190($a0) ## 00000190

View file

@ -1,37 +0,0 @@
.late_rodata
glabel D_80A96B44
.float -0.8
.text
glabel func_80A956D0
/* 00380 80A956D0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00384 80A956D4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00388 80A956D8 A480001C */ sh $zero, 0x001C($a0) ## 0000001C
/* 0038C 80A956DC 3C0180A9 */ lui $at, %hi(D_80A96B44) ## $at = 80A90000
/* 00390 80A956E0 C4246B44 */ lwc1 $f4, %lo(D_80A96B44)($at)
/* 00394 80A956E4 848E00B6 */ lh $t6, 0x00B6($a0) ## 000000B6
/* 00398 80A956E8 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 0039C 80A956EC 44813000 */ mtc1 $at, $f6 ## $f6 = 4.00
/* 003A0 80A956F0 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 003A4 80A956F4 01C17821 */ addu $t7, $t6, $at
/* 003A8 80A956F8 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 003AC 80A956FC 44814000 */ mtc1 $at, $f8 ## $f8 = 3.00
/* 003B0 80A95700 A48F0032 */ sh $t7, 0x0032($a0) ## 00000032
/* 003B4 80A95704 E484006C */ swc1 $f4, 0x006C($a0) ## 0000006C
/* 003B8 80A95708 E4860060 */ swc1 $f6, 0x0060($a0) ## 00000060
/* 003BC 80A9570C E4880068 */ swc1 $f8, 0x0068($a0) ## 00000068
/* 003C0 80A95710 AFA40018 */ sw $a0, 0x0018($sp)
/* 003C4 80A95714 0C00BE0A */ jal Audio_PlayActorSound2
/* 003C8 80A95718 24053862 */ addiu $a1, $zero, 0x3862 ## $a1 = 00003862
/* 003CC 80A9571C 8FA40018 */ lw $a0, 0x0018($sp)
/* 003D0 80A95720 3C0880A9 */ lui $t0, %hi(func_80A95D90) ## $t0 = 80A90000
/* 003D4 80A95724 25085D90 */ addiu $t0, $t0, %lo(func_80A95D90) ## $t0 = 80A95D90
/* 003D8 80A95728 8C980004 */ lw $t8, 0x0004($a0) ## 00000004
/* 003DC 80A9572C AC880190 */ sw $t0, 0x0190($a0) ## 00000190
/* 003E0 80A95730 37190030 */ ori $t9, $t8, 0x0030 ## $t9 = 00000030
/* 003E4 80A95734 AC990004 */ sw $t9, 0x0004($a0) ## 00000004
/* 003E8 80A95738 8FBF0014 */ lw $ra, 0x0014($sp)
/* 003EC 80A9573C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 003F0 80A95740 03E00008 */ jr $ra
/* 003F4 80A95744 00000000 */ nop

View file

@ -1,41 +0,0 @@
glabel func_80A95748
/* 003F8 80A95748 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 003FC 80A9574C AFA5001C */ sw $a1, 0x001C($sp)
/* 00400 80A95750 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00404 80A95754 3C053CF5 */ lui $a1, 0x3CF5 ## $a1 = 3CF50000
/* 00408 80A95758 34A5C28F */ ori $a1, $a1, 0xC28F ## $a1 = 3CF5C28F
/* 0040C 80A9575C 0C00B58B */ jal Actor_SetScale
/* 00410 80A95760 AFA40018 */ sw $a0, 0x0018($sp)
/* 00414 80A95764 8FA60018 */ lw $a2, 0x0018($sp)
/* 00418 80A95768 8FA4001C */ lw $a0, 0x001C($sp)
/* 0041C 80A9576C 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 00420 80A95770 44812000 */ mtc1 $at, $f4 ## $f4 = 1000.00
/* 00424 80A95774 84CE00B4 */ lh $t6, 0x00B4($a2) ## 000000B4
/* 00428 80A95778 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 0042C 80A9577C 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 00430 80A95780 44813000 */ mtc1 $at, $f6 ## $f6 = 3.00
/* 00434 80A95784 25CFC000 */ addiu $t7, $t6, 0xC000 ## $t7 = FFFFC000
/* 00438 80A95788 24070008 */ addiu $a3, $zero, 0x0008 ## $a3 = 00000008
/* 0043C 80A9578C A4CF00B4 */ sh $t7, 0x00B4($a2) ## 000000B4
/* 00440 80A95790 24851C24 */ addiu $a1, $a0, 0x1C24 ## $a1 = 00001C24
/* 00444 80A95794 E4C400BC */ swc1 $f4, 0x00BC($a2) ## 000000BC
/* 00448 80A95798 E4C0006C */ swc1 $f0, 0x006C($a2) ## 0000006C
/* 0044C 80A9579C E4C00060 */ swc1 $f0, 0x0060($a2) ## 00000060
/* 00450 80A957A0 0C00CDD2 */ jal Actor_ChangeType
/* 00454 80A957A4 E4C600C4 */ swc1 $f6, 0x00C4($a2) ## 000000C4
/* 00458 80A957A8 8FA60018 */ lw $a2, 0x0018($sp)
/* 0045C 80A957AC 2401FFDF */ addiu $at, $zero, 0xFFDF ## $at = FFFFFFDF
/* 00460 80A957B0 3C0980A9 */ lui $t1, %hi(func_80A96048) ## $t1 = 80A90000
/* 00464 80A957B4 8CD90004 */ lw $t9, 0x0004($a2) ## 00000004
/* 00468 80A957B8 241800C8 */ addiu $t8, $zero, 0x00C8 ## $t8 = 000000C8
/* 0046C 80A957BC 25296048 */ addiu $t1, $t1, %lo(func_80A96048) ## $t1 = 80A96048
/* 00470 80A957C0 03214024 */ and $t0, $t9, $at
/* 00474 80A957C4 A4D8001C */ sh $t8, 0x001C($a2) ## 0000001C
/* 00478 80A957C8 ACC80004 */ sw $t0, 0x0004($a2) ## 00000004
/* 0047C 80A957CC ACC90190 */ sw $t1, 0x0190($a2) ## 00000190
/* 00480 80A957D0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00484 80A957D4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00488 80A957D8 03E00008 */ jr $ra
/* 0048C 80A957DC 00000000 */ nop

View file

@ -1,35 +0,0 @@
glabel func_80A957E0
/* 00490 80A957E0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00494 80A957E4 AFA40028 */ sw $a0, 0x0028($sp)
/* 00498 80A957E8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0049C 80A957EC 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 004A0 80A957F0 0C028800 */ jal SkelAnime_GetFrameCount
/* 004A4 80A957F4 248402B8 */ addiu $a0, $a0, 0x02B8 ## $a0 = 060002B8
/* 004A8 80A957F8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 004AC 80A957FC 3C01C040 */ lui $at, 0xC040 ## $at = C0400000
/* 004B0 80A95800 44810000 */ mtc1 $at, $f0 ## $f0 = -3.00
/* 004B4 80A95804 46802120 */ cvt.s.w $f4, $f4
/* 004B8 80A95808 8FA40028 */ lw $a0, 0x0028($sp)
/* 004BC 80A9580C 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 004C0 80A95810 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 004C4 80A95814 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 004C8 80A95818 44060000 */ mfc1 $a2, $f0
/* 004CC 80A9581C 44072000 */ mfc1 $a3, $f4
/* 004D0 80A95820 AFAE0014 */ sw $t6, 0x0014($sp)
/* 004D4 80A95824 24A502B8 */ addiu $a1, $a1, 0x02B8 ## $a1 = 060002B8
/* 004D8 80A95828 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 004DC 80A9582C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 004E0 80A95830 0C029468 */ jal SkelAnime_ChangeAnim
/* 004E4 80A95834 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 004E8 80A95838 0C2A5530 */ jal func_80A954C0
/* 004EC 80A9583C 8FA40028 */ lw $a0, 0x0028($sp)
/* 004F0 80A95840 8FB80028 */ lw $t8, 0x0028($sp)
/* 004F4 80A95844 3C0F80A9 */ lui $t7, %hi(func_80A960B0) ## $t7 = 80A90000
/* 004F8 80A95848 25EF60B0 */ addiu $t7, $t7, %lo(func_80A960B0) ## $t7 = 80A960B0
/* 004FC 80A9584C AF0F0190 */ sw $t7, 0x0190($t8) ## 00000190
/* 00500 80A95850 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00504 80A95854 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00508 80A95858 03E00008 */ jr $ra
/* 0050C 80A9585C 00000000 */ nop

View file

@ -1,38 +0,0 @@
glabel func_80A95860
/* 00510 80A95860 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00514 80A95864 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00518 80A95868 AFB00028 */ sw $s0, 0x0028($sp)
/* 0051C 80A9586C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00520 80A95870 AFBF002C */ sw $ra, 0x002C($sp)
/* 00524 80A95874 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00528 80A95878 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 0052C 80A9587C 44060000 */ mfc1 $a2, $f0
/* 00530 80A95880 44070000 */ mfc1 $a3, $f0
/* 00534 80A95884 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00538 80A95888 24A502B8 */ addiu $a1, $a1, 0x02B8 ## $a1 = 060002B8
/* 0053C 80A9588C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00540 80A95890 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00544 80A95894 0C029468 */ jal SkelAnime_ChangeAnim
/* 00548 80A95898 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 0054C 80A9589C 0C2A5530 */ jal func_80A954C0
/* 00550 80A958A0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00554 80A958A4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00558 80A958A8 240FC000 */ addiu $t7, $zero, 0xC000 ## $t7 = FFFFC000
/* 0055C 80A958AC 241800C8 */ addiu $t8, $zero, 0x00C8 ## $t8 = 000000C8
/* 00560 80A958B0 A60F00B4 */ sh $t7, 0x00B4($s0) ## 000000B4
/* 00564 80A958B4 A618001C */ sh $t8, 0x001C($s0) ## 0000001C
/* 00568 80A958B8 AE000118 */ sw $zero, 0x0118($s0) ## 00000118
/* 0056C 80A958BC 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
/* 00570 80A958C0 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
/* 00574 80A958C4 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00578 80A958C8 E60000C4 */ swc1 $f0, 0x00C4($s0) ## 000000C4
/* 0057C 80A958CC 3C1980A9 */ lui $t9, %hi(func_80A96184) ## $t9 = 80A90000
/* 00580 80A958D0 27396184 */ addiu $t9, $t9, %lo(func_80A96184) ## $t9 = 80A96184
/* 00584 80A958D4 AE190190 */ sw $t9, 0x0190($s0) ## 00000190
/* 00588 80A958D8 8FBF002C */ lw $ra, 0x002C($sp)
/* 0058C 80A958DC 8FB00028 */ lw $s0, 0x0028($sp)
/* 00590 80A958E0 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00594 80A958E4 03E00008 */ jr $ra
/* 00598 80A958E8 00000000 */ nop

View file

@ -1,23 +0,0 @@
glabel func_80A958EC
/* 0059C 80A958EC 3C0141B0 */ lui $at, 0x41B0 ## $at = 41B00000
/* 005A0 80A958F0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 005A4 80A958F4 44812000 */ mtc1 $at, $f4 ## $f4 = 22.00
/* 005A8 80A958F8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 005AC 80A958FC AFBF0014 */ sw $ra, 0x0014($sp)
/* 005B0 80A95900 3C0E80A9 */ lui $t6, %hi(D_80A96A3C) ## $t6 = 80A90000
/* 005B4 80A95904 E48000BC */ swc1 $f0, 0x00BC($a0) ## 000000BC
/* 005B8 80A95908 E48400C4 */ swc1 $f4, 0x00C4($a0) ## 000000C4
/* 005BC 80A9590C 85CE6A3C */ lh $t6, %lo(D_80A96A3C)($t6)
/* 005C0 80A95910 44050000 */ mfc1 $a1, $f0
/* 005C4 80A95914 A48E0238 */ sh $t6, 0x0238($a0) ## 00000238
/* 005C8 80A95918 0C00B58B */ jal Actor_SetScale
/* 005CC 80A9591C AFA40018 */ sw $a0, 0x0018($sp)
/* 005D0 80A95920 8FA40018 */ lw $a0, 0x0018($sp)
/* 005D4 80A95924 3C0F80A9 */ lui $t7, %hi(func_80A961DC) ## $t7 = 80A90000
/* 005D8 80A95928 25EF61DC */ addiu $t7, $t7, %lo(func_80A961DC) ## $t7 = 80A961DC
/* 005DC 80A9592C AC8F0190 */ sw $t7, 0x0190($a0) ## 00000190
/* 005E0 80A95930 8FBF0014 */ lw $ra, 0x0014($sp)
/* 005E4 80A95934 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 005E8 80A95938 03E00008 */ jr $ra
/* 005EC 80A9593C 00000000 */ nop

View file

@ -1,49 +0,0 @@
.late_rodata
glabel D_80A96B48
.float 0.05
glabel D_80A96B4C
.float 0.005
.text
glabel func_80A95940
/* 005F0 80A95940 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 005F4 80A95944 AFBF0014 */ sw $ra, 0x0014($sp)
/* 005F8 80A95948 AFA50024 */ sw $a1, 0x0024($sp)
/* 005FC 80A9594C 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
/* 00600 80A95950 3C0180A9 */ lui $at, %hi(D_80A96B48) ## $at = 80A90000
/* 00604 80A95954 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001
/* 00608 80A95958 A48F001C */ sh $t7, 0x001C($a0) ## 0000001C
/* 0060C 80A9595C 8498001C */ lh $t8, 0x001C($a0) ## 0000001C
/* 00610 80A95960 C4286B48 */ lwc1 $f8, %lo(D_80A96B48)($at)
/* 00614 80A95964 3C0180A9 */ lui $at, %hi(D_80A96B4C) ## $at = 80A90000
/* 00618 80A95968 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00
/* 0061C 80A9596C C42A6B4C */ lwc1 $f10, %lo(D_80A96B4C)($at)
/* 00620 80A95970 AFA40020 */ sw $a0, 0x0020($sp)
/* 00624 80A95974 468021A0 */ cvt.s.w $f6, $f4
/* 00628 80A95978 46083002 */ mul.s $f0, $f6, $f8
/* 0062C 80A9597C 00000000 */ nop
/* 00630 80A95980 46005402 */ mul.s $f16, $f10, $f0
/* 00634 80A95984 E7A0001C */ swc1 $f0, 0x001C($sp)
/* 00638 80A95988 44058000 */ mfc1 $a1, $f16
/* 0063C 80A9598C 0C00B58B */ jal Actor_SetScale
/* 00640 80A95990 00000000 */ nop
/* 00644 80A95994 3C014160 */ lui $at, 0x4160 ## $at = 41600000
/* 00648 80A95998 C7A0001C */ lwc1 $f0, 0x001C($sp)
/* 0064C 80A9599C 44812000 */ mtc1 $at, $f4 ## $f4 = 14.00
/* 00650 80A959A0 8FA40020 */ lw $a0, 0x0020($sp)
/* 00654 80A959A4 24010014 */ addiu $at, $zero, 0x0014 ## $at = 00000014
/* 00658 80A959A8 46002182 */ mul.s $f6, $f4, $f0
/* 0065C 80A959AC C492000C */ lwc1 $f18, 0x000C($a0) ## 0000000C
/* 00660 80A959B0 8499001C */ lh $t9, 0x001C($a0) ## 0000001C
/* 00664 80A959B4 46069200 */ add.s $f8, $f18, $f6
/* 00668 80A959B8 17210003 */ bne $t9, $at, .L80A959C8
/* 0066C 80A959BC E4880028 */ swc1 $f8, 0x0028($a0) ## 00000028
/* 00670 80A959C0 0C2A5552 */ jal func_80A95548
/* 00674 80A959C4 00000000 */ nop
.L80A959C8:
/* 00678 80A959C8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0067C 80A959CC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00680 80A959D0 03E00008 */ jr $ra
/* 00684 80A959D4 00000000 */ nop

View file

@ -1,26 +0,0 @@
glabel func_80A959D8
/* 00688 80A959D8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0068C 80A959DC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00690 80A959E0 AFA5001C */ sw $a1, 0x001C($sp)
/* 00694 80A959E4 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 00698 80A959E8 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
/* 0069C 80A959EC C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
/* 006A0 80A959F0 4606203C */ c.lt.s $f4, $f6
/* 006A4 80A959F4 00000000 */ nop
/* 006A8 80A959F8 4502000C */ bc1fl .L80A95A2C
/* 006AC 80A959FC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 006B0 80A95A00 C4800094 */ lwc1 $f0, 0x0094($a0) ## 00000094
/* 006B4 80A95A04 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 006B8 80A95A08 44814000 */ mtc1 $at, $f8 ## $f8 = 30.00
/* 006BC 80A95A0C 46000005 */ abs.s $f0, $f0
/* 006C0 80A95A10 4608003C */ c.lt.s $f0, $f8
/* 006C4 80A95A14 00000000 */ nop
/* 006C8 80A95A18 45020004 */ bc1fl .L80A95A2C
/* 006CC 80A95A1C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 006D0 80A95A20 0C2A5567 */ jal func_80A9559C
/* 006D4 80A95A24 00000000 */ nop
/* 006D8 80A95A28 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A95A2C:
/* 006DC 80A95A2C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 006E0 80A95A30 03E00008 */ jr $ra
/* 006E4 80A95A34 00000000 */ nop

View file

@ -1,58 +0,0 @@
glabel func_80A95A38
/* 006E8 80A95A38 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 006EC 80A95A3C AFB00030 */ sw $s0, 0x0030($sp)
/* 006F0 80A95A40 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 006F4 80A95A44 AFBF0034 */ sw $ra, 0x0034($sp)
/* 006F8 80A95A48 AFA5003C */ sw $a1, 0x003C($sp)
/* 006FC 80A95A4C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00700 80A95A50 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00704 80A95A54 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
/* 00708 80A95A58 3C063A03 */ lui $a2, 0x3A03 ## $a2 = 3A030000
/* 0070C 80A95A5C 34C6126F */ ori $a2, $a2, 0x126F ## $a2 = 3A03126F
/* 00710 80A95A60 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
/* 00714 80A95A64 0C01DE80 */ jal Math_ApproxF
/* 00718 80A95A68 26040050 */ addiu $a0, $s0, 0x0050 ## $a0 = 00000050
/* 0071C 80A95A6C 3C014270 */ lui $at, 0x4270 ## $at = 42700000
/* 00720 80A95A70 44813000 */ mtc1 $at, $f6 ## $f6 = 60.00
/* 00724 80A95A74 C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C
/* 00728 80A95A78 C6000050 */ lwc1 $f0, 0x0050($s0) ## 00000050
/* 0072C 80A95A7C 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
/* 00730 80A95A80 46062200 */ add.s $f8, $f4, $f6
/* 00734 80A95A84 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
/* 00738 80A95A88 E6000058 */ swc1 $f0, 0x0058($s0) ## 00000058
/* 0073C 80A95A8C E6000054 */ swc1 $f0, 0x0054($s0) ## 00000054
/* 00740 80A95A90 44054000 */ mfc1 $a1, $f8
/* 00744 80A95A94 0C01DE80 */ jal Math_ApproxF
/* 00748 80A95A98 00000000 */ nop
/* 0074C 80A95A9C 50400004 */ beql $v0, $zero, .L80A95AB0
/* 00750 80A95AA0 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6
/* 00754 80A95AA4 0C2A5586 */ jal func_80A95618
/* 00758 80A95AA8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0075C 80A95AAC 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6
.L80A95AB0:
/* 00760 80A95AB0 2418000C */ addiu $t8, $zero, 0x000C ## $t8 = 0000000C
/* 00764 80A95AB4 24190005 */ addiu $t9, $zero, 0x0005 ## $t9 = 00000005
/* 00768 80A95AB8 25CF1999 */ addiu $t7, $t6, 0x1999 ## $t7 = 00001999
/* 0076C 80A95ABC A60F00B6 */ sh $t7, 0x00B6($s0) ## 000000B6
/* 00770 80A95AC0 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 00774 80A95AC4 2409FFFF */ addiu $t1, $zero, 0xFFFF ## $t1 = FFFFFFFF
/* 00778 80A95AC8 240A000A */ addiu $t2, $zero, 0x000A ## $t2 = 0000000A
/* 0077C 80A95ACC AFAA0020 */ sw $t2, 0x0020($sp)
/* 00780 80A95AD0 AFA9001C */ sw $t1, 0x001C($sp)
/* 00784 80A95AD4 AFA80018 */ sw $t0, 0x0018($sp)
/* 00788 80A95AD8 AFA00024 */ sw $zero, 0x0024($sp)
/* 0078C 80A95ADC AFB90014 */ sw $t9, 0x0014($sp)
/* 00790 80A95AE0 AFB80010 */ sw $t8, 0x0010($sp)
/* 00794 80A95AE4 8FA4003C */ lw $a0, 0x003C($sp)
/* 00798 80A95AE8 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
/* 0079C 80A95AEC 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000
/* 007A0 80A95AF0 0C00A5E9 */ jal EffectSsHahen_SpawnBurst
/* 007A4 80A95AF4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 007A8 80A95AF8 8FBF0034 */ lw $ra, 0x0034($sp)
/* 007AC 80A95AFC 8FB00030 */ lw $s0, 0x0030($sp)
/* 007B0 80A95B00 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 007B4 80A95B04 03E00008 */ jr $ra
/* 007B8 80A95B08 00000000 */ nop

View file

@ -1,70 +0,0 @@
glabel func_80A95B0C
/* 007BC 80A95B0C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 007C0 80A95B10 AFB00018 */ sw $s0, 0x0018($sp)
/* 007C4 80A95B14 AFBF001C */ sw $ra, 0x001C($sp)
/* 007C8 80A95B18 AFA5002C */ sw $a1, 0x002C($sp)
/* 007CC 80A95B1C 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 007D0 80A95B20 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 007D4 80A95B24 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 007D8 80A95B28 AFA40020 */ sw $a0, 0x0020($sp)
/* 007DC 80A95B2C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 007E0 80A95B30 AFAF0024 */ sw $t7, 0x0024($sp)
/* 007E4 80A95B34 8603001C */ lh $v1, 0x001C($s0) ## 0000001C
/* 007E8 80A95B38 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 007EC 80A95B3C 10600002 */ beq $v1, $zero, .L80A95B48
/* 007F0 80A95B40 2478FFFF */ addiu $t8, $v1, 0xFFFF ## $t8 = FFFFFFFF
/* 007F4 80A95B44 A618001C */ sh $t8, 0x001C($s0) ## 0000001C
.L80A95B48:
/* 007F8 80A95B48 0C0295B2 */ jal func_800A56C8
/* 007FC 80A95B4C 8FA40020 */ lw $a0, 0x0020($sp)
/* 00800 80A95B50 14400004 */ bne $v0, $zero, .L80A95B64
/* 00804 80A95B54 8FA40020 */ lw $a0, 0x0020($sp)
/* 00808 80A95B58 0C0295B2 */ jal func_800A56C8
/* 0080C 80A95B5C 3C054140 */ lui $a1, 0x4140 ## $a1 = 41400000
/* 00810 80A95B60 10400003 */ beq $v0, $zero, .L80A95B70
.L80A95B64:
/* 00814 80A95B64 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00818 80A95B68 0C00BE0A */ jal Audio_PlayActorSound2
/* 0081C 80A95B6C 24053860 */ addiu $a1, $zero, 0x3860 ## $a1 = 00003860
.L80A95B70:
/* 00820 80A95B70 92190255 */ lbu $t9, 0x0255($s0) ## 00000255
/* 00824 80A95B74 8FA50024 */ lw $a1, 0x0024($sp)
/* 00828 80A95B78 33280002 */ andi $t0, $t9, 0x0002 ## $t0 = 00000000
/* 0082C 80A95B7C 11000008 */ beq $t0, $zero, .L80A95BA0
/* 00830 80A95B80 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024
/* 00834 80A95B84 0C2A55B4 */ jal func_80A956D0
/* 00838 80A95B88 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0083C 80A95B8C 8FA4002C */ lw $a0, 0x002C($sp)
/* 00840 80A95B90 0C00CB1F */ jal func_80032C7C
/* 00844 80A95B94 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00848 80A95B98 10000014 */ beq $zero, $zero, .L80A95BEC
/* 0084C 80A95B9C 8FBF001C */ lw $ra, 0x001C($sp)
.L80A95BA0:
/* 00850 80A95BA0 0C01E00A */ jal Math_Vec3f_DistXZ
/* 00854 80A95BA4 26040008 */ addiu $a0, $s0, 0x0008 ## $a0 = 00000008
/* 00858 80A95BA8 3C014370 */ lui $at, 0x4370 ## $at = 43700000
/* 0085C 80A95BAC 44812000 */ mtc1 $at, $f4 ## $f4 = 240.00
/* 00860 80A95BB0 00000000 */ nop
/* 00864 80A95BB4 4600203C */ c.lt.s $f4, $f0
/* 00868 80A95BB8 00000000 */ nop
/* 0086C 80A95BBC 45020006 */ bc1fl .L80A95BD8
/* 00870 80A95BC0 8609001C */ lh $t1, 0x001C($s0) ## 0000001C
/* 00874 80A95BC4 0C2A55F8 */ jal func_80A957E0
/* 00878 80A95BC8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0087C 80A95BCC 10000007 */ beq $zero, $zero, .L80A95BEC
/* 00880 80A95BD0 8FBF001C */ lw $ra, 0x001C($sp)
/* 00884 80A95BD4 8609001C */ lh $t1, 0x001C($s0) ## 0000001C
.L80A95BD8:
/* 00888 80A95BD8 55200004 */ bnel $t1, $zero, .L80A95BEC
/* 0088C 80A95BDC 8FBF001C */ lw $ra, 0x001C($sp)
/* 00890 80A95BE0 0C2A55AE */ jal func_80A956B8
/* 00894 80A95BE4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00898 80A95BE8 8FBF001C */ lw $ra, 0x001C($sp)
.L80A95BEC:
/* 0089C 80A95BEC 8FB00018 */ lw $s0, 0x0018($sp)
/* 008A0 80A95BF0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 008A4 80A95BF4 03E00008 */ jr $ra
/* 008A8 80A95BF8 00000000 */ nop

View file

@ -1,116 +0,0 @@
glabel func_80A95BFC
/* 008AC 80A95BFC 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 008B0 80A95C00 AFBF001C */ sw $ra, 0x001C($sp)
/* 008B4 80A95C04 AFB00018 */ sw $s0, 0x0018($sp)
/* 008B8 80A95C08 AFA50034 */ sw $a1, 0x0034($sp)
/* 008BC 80A95C0C 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
/* 008C0 80A95C10 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 008C4 80A95C14 10400002 */ beq $v0, $zero, .L80A95C20
/* 008C8 80A95C18 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 008CC 80A95C1C A48E001C */ sh $t6, 0x001C($a0) ## 0000001C
.L80A95C20:
/* 008D0 80A95C20 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 008D4 80A95C24 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 008D8 80A95C28 AFA40020 */ sw $a0, 0x0020($sp)
/* 008DC 80A95C2C 8FA40020 */ lw $a0, 0x0020($sp)
/* 008E0 80A95C30 0C0295B2 */ jal func_800A56C8
/* 008E4 80A95C34 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 008E8 80A95C38 14400004 */ bne $v0, $zero, .L80A95C4C
/* 008EC 80A95C3C 8FA40020 */ lw $a0, 0x0020($sp)
/* 008F0 80A95C40 0C0295B2 */ jal func_800A56C8
/* 008F4 80A95C44 3C054140 */ lui $a1, 0x4140 ## $a1 = 41400000
/* 008F8 80A95C48 10400003 */ beq $v0, $zero, .L80A95C58
.L80A95C4C:
/* 008FC 80A95C4C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00900 80A95C50 0C00BE0A */ jal Audio_PlayActorSound2
/* 00904 80A95C54 24053860 */ addiu $a1, $zero, 0x3860 ## $a1 = 00003860
.L80A95C58:
/* 00908 80A95C58 860F001C */ lh $t7, 0x001C($s0) ## 0000001C
/* 0090C 80A95C5C 24050014 */ addiu $a1, $zero, 0x0014 ## $a1 = 00000014
/* 00910 80A95C60 3C1880A9 */ lui $t8, %hi(D_80A96A3C) ## $t8 = 80A90000
/* 00914 80A95C64 00AF1023 */ subu $v0, $a1, $t7
/* 00918 80A95C68 04400003 */ bltz $v0, .L80A95C78
/* 0091C 80A95C6C 340AC000 */ ori $t2, $zero, 0xC000 ## $t2 = 0000C000
/* 00920 80A95C70 10000002 */ beq $zero, $zero, .L80A95C7C
/* 00924 80A95C74 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
.L80A95C78:
/* 00928 80A95C78 00022023 */ subu $a0, $zero, $v0
.L80A95C7C:
/* 0092C 80A95C7C 00A41023 */ subu $v0, $a1, $a0
/* 00930 80A95C80 2841000B */ slti $at, $v0, 0x000B
/* 00934 80A95C84 54200003 */ bnel $at, $zero, .L80A95C94
/* 00938 80A95C88 00026880 */ sll $t5, $v0, 2
/* 0093C 80A95C8C 2402000A */ addiu $v0, $zero, 0x000A ## $v0 = 0000000A
/* 00940 80A95C90 00026880 */ sll $t5, $v0, 2
.L80A95C94:
/* 00944 80A95C94 01A26823 */ subu $t5, $t5, $v0
/* 00948 80A95C98 87186A3C */ lh $t8, %lo(D_80A96A3C)($t8)
/* 0094C 80A95C9C 860C00B6 */ lh $t4, 0x00B6($s0) ## 000000B6
/* 00950 80A95CA0 000D6880 */ sll $t5, $t5, 2
/* 00954 80A95CA4 00024A00 */ sll $t1, $v0, 8
/* 00958 80A95CA8 01A26823 */ subu $t5, $t5, $v0
/* 0095C 80A95CAC 0002C840 */ sll $t9, $v0, 1
/* 00960 80A95CB0 01495823 */ subu $t3, $t2, $t1
/* 00964 80A95CB4 000D6980 */ sll $t5, $t5, 6
/* 00968 80A95CB8 A60B00B4 */ sh $t3, 0x00B4($s0) ## 000000B4
/* 0096C 80A95CBC 03194021 */ addu $t0, $t8, $t9
/* 00970 80A95CC0 018D7021 */ addu $t6, $t4, $t5
/* 00974 80A95CC4 A6080238 */ sh $t0, 0x0238($s0) ## 00000238
/* 00978 80A95CC8 A60E00B6 */ sh $t6, 0x00B6($s0) ## 000000B6
/* 0097C 80A95CCC 0C01DE1C */ jal Math_Sins
## sins?
/* 00980 80A95CD0 860400B4 */ lh $a0, 0x00B4($s0) ## 000000B4
/* 00984 80A95CD4 3C01C270 */ lui $at, 0xC270 ## $at = C2700000
/* 00988 80A95CD8 44812000 */ mtc1 $at, $f4 ## $f4 = -60.00
/* 0098C 80A95CDC C608000C */ lwc1 $f8, 0x000C($s0) ## 0000000C
/* 00990 80A95CE0 860400B4 */ lh $a0, 0x00B4($s0) ## 000000B4
/* 00994 80A95CE4 46040182 */ mul.s $f6, $f0, $f4
/* 00998 80A95CE8 46083280 */ add.s $f10, $f6, $f8
/* 0099C 80A95CEC 0C01DE0D */ jal Math_Coss
## coss?
/* 009A0 80A95CF0 E60A0028 */ swc1 $f10, 0x0028($s0) ## 00000028
/* 009A4 80A95CF4 3C014270 */ lui $at, 0x4270 ## $at = 42700000
/* 009A8 80A95CF8 44818000 */ mtc1 $at, $f16 ## $f16 = 60.00
/* 009AC 80A95CFC 00000000 */ nop
/* 009B0 80A95D00 46100482 */ mul.s $f18, $f0, $f16
/* 009B4 80A95D04 E7B20028 */ swc1 $f18, 0x0028($sp)
/* 009B8 80A95D08 0C01DE1C */ jal Math_Sins
## sins?
/* 009BC 80A95D0C 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 009C0 80A95D10 C7A40028 */ lwc1 $f4, 0x0028($sp)
/* 009C4 80A95D14 C6080008 */ lwc1 $f8, 0x0008($s0) ## 00000008
/* 009C8 80A95D18 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 009CC 80A95D1C 46040182 */ mul.s $f6, $f0, $f4
/* 009D0 80A95D20 46083280 */ add.s $f10, $f6, $f8
/* 009D4 80A95D24 0C01DE0D */ jal Math_Coss
## coss?
/* 009D8 80A95D28 E60A0024 */ swc1 $f10, 0x0024($s0) ## 00000024
/* 009DC 80A95D2C C7B00028 */ lwc1 $f16, 0x0028($sp)
/* 009E0 80A95D30 C6040010 */ lwc1 $f4, 0x0010($s0) ## 00000010
/* 009E4 80A95D34 920F0255 */ lbu $t7, 0x0255($s0) ## 00000255
/* 009E8 80A95D38 46100482 */ mul.s $f18, $f0, $f16
/* 009EC 80A95D3C 31F80002 */ andi $t8, $t7, 0x0002 ## $t8 = 00000000
/* 009F0 80A95D40 46049180 */ add.s $f6, $f18, $f4
/* 009F4 80A95D44 13000008 */ beq $t8, $zero, .L80A95D68
/* 009F8 80A95D48 E606002C */ swc1 $f6, 0x002C($s0) ## 0000002C
/* 009FC 80A95D4C 0C2A55B4 */ jal func_80A956D0
/* 00A00 80A95D50 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A04 80A95D54 8FA40034 */ lw $a0, 0x0034($sp)
/* 00A08 80A95D58 0C00CB1F */ jal func_80032C7C
/* 00A0C 80A95D5C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00A10 80A95D60 10000007 */ beq $zero, $zero, .L80A95D80
/* 00A14 80A95D64 8FBF001C */ lw $ra, 0x001C($sp)
.L80A95D68:
/* 00A18 80A95D68 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
/* 00A1C 80A95D6C 57200004 */ bnel $t9, $zero, .L80A95D80
/* 00A20 80A95D70 8FBF001C */ lw $ra, 0x001C($sp)
/* 00A24 80A95D74 0C2A5586 */ jal func_80A95618
/* 00A28 80A95D78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A2C 80A95D7C 8FBF001C */ lw $ra, 0x001C($sp)
.L80A95D80:
/* 00A30 80A95D80 8FB00018 */ lw $s0, 0x0018($sp)
/* 00A34 80A95D84 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00A38 80A95D88 03E00008 */ jr $ra
/* 00A3C 80A95D8C 00000000 */ nop

View file

@ -1,195 +0,0 @@
.late_rodata
glabel D_80A96B50
.float 0.005
.text
glabel func_80A95D90
/* 00A40 80A95D90 27BDFF78 */ addiu $sp, $sp, 0xFF78 ## $sp = FFFFFF78
/* 00A44 80A95D94 F7B40028 */ sdc1 $f20, 0x0028($sp)
/* 00A48 80A95D98 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00
/* 00A4C 80A95D9C AFB50058 */ sw $s5, 0x0058($sp)
/* 00A50 80A95DA0 00A0A825 */ or $s5, $a1, $zero ## $s5 = 00000000
/* 00A54 80A95DA4 AFB40054 */ sw $s4, 0x0054($sp)
/* 00A58 80A95DA8 0080A025 */ or $s4, $a0, $zero ## $s4 = 00000000
/* 00A5C 80A95DAC AFBF005C */ sw $ra, 0x005C($sp)
/* 00A60 80A95DB0 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 00A64 80A95DB4 4405A000 */ mfc1 $a1, $f20
/* 00A68 80A95DB8 AFB30050 */ sw $s3, 0x0050($sp)
/* 00A6C 80A95DBC AFB2004C */ sw $s2, 0x004C($sp)
/* 00A70 80A95DC0 AFB10048 */ sw $s1, 0x0048($sp)
/* 00A74 80A95DC4 AFB00044 */ sw $s0, 0x0044($sp)
/* 00A78 80A95DC8 F7B80038 */ sdc1 $f24, 0x0038($sp)
/* 00A7C 80A95DCC F7B60030 */ sdc1 $f22, 0x0030($sp)
/* 00A80 80A95DD0 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 00A84 80A95DD4 0C01DE80 */ jal Math_ApproxF
/* 00A88 80A95DD8 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 00000068
/* 00A8C 80A95DDC 8682001C */ lh $v0, 0x001C($s4) ## 0000001C
/* 00A90 80A95DE0 268400B4 */ addiu $a0, $s4, 0x00B4 ## $a0 = 000000B4
/* 00A94 80A95DE4 24054800 */ addiu $a1, $zero, 0x4800 ## $a1 = 00004800
/* 00A98 80A95DE8 14400045 */ bne $v0, $zero, .L80A95F00
/* 00A9C 80A95DEC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00AA0 80A95DF0 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 00AA4 80A95DF4 2406071C */ addiu $a2, $zero, 0x071C ## $a2 = 0000071C
/* 00AA8 80A95DF8 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 00AAC 80A95DFC 4481B000 */ mtc1 $at, $f22 ## $f22 = 3.00
/* 00AB0 80A95E00 26900024 */ addiu $s0, $s4, 0x0024 ## $s0 = 00000024
/* 00AB4 80A95E04 240E000C */ addiu $t6, $zero, 0x000C ## $t6 = 0000000C
/* 00AB8 80A95E08 240F0005 */ addiu $t7, $zero, 0x0005 ## $t7 = 00000005
/* 00ABC 80A95E0C 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 00AC0 80A95E10 2419FFFF */ addiu $t9, $zero, 0xFFFF ## $t9 = FFFFFFFF
/* 00AC4 80A95E14 2408000A */ addiu $t0, $zero, 0x000A ## $t0 = 0000000A
/* 00AC8 80A95E18 4406B000 */ mfc1 $a2, $f22
/* 00ACC 80A95E1C AFA80020 */ sw $t0, 0x0020($sp)
/* 00AD0 80A95E20 AFB9001C */ sw $t9, 0x001C($sp)
/* 00AD4 80A95E24 AFB80018 */ sw $t8, 0x0018($sp)
/* 00AD8 80A95E28 AFAF0014 */ sw $t7, 0x0014($sp)
/* 00ADC 80A95E2C AFAE0010 */ sw $t6, 0x0010($sp)
/* 00AE0 80A95E30 02002825 */ or $a1, $s0, $zero ## $a1 = 00000024
/* 00AE4 80A95E34 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000
/* 00AE8 80A95E38 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00AEC 80A95E3C 0C00A5E9 */ jal EffectSsHahen_SpawnBurst
/* 00AF0 80A95E40 AFA00024 */ sw $zero, 0x0024($sp)
/* 00AF4 80A95E44 3C0180A9 */ lui $at, %hi(D_80A96B50) ## $at = 80A90000
/* 00AF8 80A95E48 C4246B50 */ lwc1 $f4, %lo(D_80A96B50)($at)
/* 00AFC 80A95E4C C6860050 */ lwc1 $f6, 0x0050($s4) ## 00000050
/* 00B00 80A95E50 4606203C */ c.lt.s $f4, $f6
/* 00B04 80A95E54 00000000 */ nop
/* 00B08 80A95E58 45020020 */ bc1fl .L80A95EDC
/* 00B0C 80A95E5C 96880088 */ lhu $t0, 0x0088($s4) ## 00000088
/* 00B10 80A95E60 96820088 */ lhu $v0, 0x0088($s4) ## 00000088
/* 00B14 80A95E64 2401FFFA */ addiu $at, $zero, 0xFFFA ## $at = FFFFFFFA
/* 00B18 80A95E68 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000
/* 00B1C 80A95E6C 30490002 */ andi $t1, $v0, 0x0002 ## $t1 = 00000000
/* 00B20 80A95E70 15200003 */ bne $t1, $zero, .L80A95E80
/* 00B24 80A95E74 304A0008 */ andi $t2, $v0, 0x0008 ## $t2 = 00000000
/* 00B28 80A95E78 51400018 */ beql $t2, $zero, .L80A95EDC
/* 00B2C 80A95E7C 96880088 */ lhu $t0, 0x0088($s4) ## 00000088
.L80A95E80:
/* 00B30 80A95E80 8E8B0004 */ lw $t3, 0x0004($s4) ## 00000004
/* 00B34 80A95E84 E6940058 */ swc1 $f20, 0x0058($s4) ## 00000058
/* 00B38 80A95E88 E6940054 */ swc1 $f20, 0x0054($s4) ## 00000054
/* 00B3C 80A95E8C 01616024 */ and $t4, $t3, $at
/* 00B40 80A95E90 E6940050 */ swc1 $f20, 0x0050($s4) ## 00000050
/* 00B44 80A95E94 E6940068 */ swc1 $f20, 0x0068($s4) ## 00000068
/* 00B48 80A95E98 AE8C0004 */ sw $t4, 0x0004($s4) ## 00000004
/* 00B4C 80A95E9C 4406B000 */ mfc1 $a2, $f22
/* 00B50 80A95EA0 240D000C */ addiu $t5, $zero, 0x000C ## $t5 = 0000000C
/* 00B54 80A95EA4 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005
/* 00B58 80A95EA8 240F000F */ addiu $t7, $zero, 0x000F ## $t7 = 0000000F
/* 00B5C 80A95EAC 2418FFFF */ addiu $t8, $zero, 0xFFFF ## $t8 = FFFFFFFF
/* 00B60 80A95EB0 2419000A */ addiu $t9, $zero, 0x000A ## $t9 = 0000000A
/* 00B64 80A95EB4 AFB90020 */ sw $t9, 0x0020($sp)
/* 00B68 80A95EB8 AFB8001C */ sw $t8, 0x001C($sp)
/* 00B6C 80A95EBC AFAF0018 */ sw $t7, 0x0018($sp)
/* 00B70 80A95EC0 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00B74 80A95EC4 AFAD0010 */ sw $t5, 0x0010($sp)
/* 00B78 80A95EC8 AFA00024 */ sw $zero, 0x0024($sp)
/* 00B7C 80A95ECC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000024
/* 00B80 80A95ED0 0C00A5E9 */ jal EffectSsHahen_SpawnBurst
/* 00B84 80A95ED4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00B88 80A95ED8 96880088 */ lhu $t0, 0x0088($s4) ## 00000088
.L80A95EDC:
/* 00B8C 80A95EDC 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 00B90 80A95EE0 31090002 */ andi $t1, $t0, 0x0002 ## $t1 = 00000000
/* 00B94 80A95EE4 5120004D */ beql $t1, $zero, .L80A9601C
/* 00B98 80A95EE8 8FBF005C */ lw $ra, 0x005C($sp)
/* 00B9C 80A95EEC 0C00BE0A */ jal Audio_PlayActorSound2
/* 00BA0 80A95EF0 2405387B */ addiu $a1, $zero, 0x387B ## $a1 = 0000387B
/* 00BA4 80A95EF4 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 00BA8 80A95EF8 10000047 */ beq $zero, $zero, .L80A96018
/* 00BAC 80A95EFC A68A001C */ sh $t2, 0x001C($s4) ## 0000001C
.L80A95F00:
/* 00BB0 80A95F00 14410045 */ bne $v0, $at, .L80A96018
/* 00BB4 80A95F04 27B30078 */ addiu $s3, $sp, 0x0078 ## $s3 = FFFFFFF0
/* 00BB8 80A95F08 02602025 */ or $a0, $s3, $zero ## $a0 = FFFFFFF0
/* 00BBC 80A95F0C 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00BC0 80A95F10 26850024 */ addiu $a1, $s4, 0x0024 ## $a1 = 00000024
/* 00BC4 80A95F14 0C01DE1C */ jal Math_Sins
## sins?
/* 00BC8 80A95F18 868400B4 */ lh $a0, 0x00B4($s4) ## 000000B4
/* 00BCC 80A95F1C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 00BD0 80A95F20 44814000 */ mtc1 $at, $f8 ## $f8 = 20.00
/* 00BD4 80A95F24 868400B4 */ lh $a0, 0x00B4($s4) ## 000000B4
/* 00BD8 80A95F28 46080602 */ mul.s $f24, $f0, $f8
/* 00BDC 80A95F2C 0C01DE0D */ jal Math_Coss
## coss?
/* 00BE0 80A95F30 00000000 */ nop
/* 00BE4 80A95F34 E7A00068 */ swc1 $f0, 0x0068($sp)
/* 00BE8 80A95F38 0C01DE1C */ jal Math_Sins
## sins?
/* 00BEC 80A95F3C 868400B6 */ lh $a0, 0x00B6($s4) ## 000000B6
/* 00BF0 80A95F40 3C01C1A0 */ lui $at, 0xC1A0 ## $at = C1A00000
/* 00BF4 80A95F44 44815000 */ mtc1 $at, $f10 ## $f10 = -20.00
/* 00BF8 80A95F48 C7B00068 */ lwc1 $f16, 0x0068($sp)
/* 00BFC 80A95F4C 868400B4 */ lh $a0, 0x00B4($s4) ## 000000B4
/* 00C00 80A95F50 46105482 */ mul.s $f18, $f10, $f16
/* 00C04 80A95F54 00000000 */ nop
/* 00C08 80A95F58 46120502 */ mul.s $f20, $f0, $f18
/* 00C0C 80A95F5C 0C01DE0D */ jal Math_Coss
## coss?
/* 00C10 80A95F60 00000000 */ nop
/* 00C14 80A95F64 E7A00068 */ swc1 $f0, 0x0068($sp)
/* 00C18 80A95F68 0C01DE0D */ jal Math_Coss
## coss?
/* 00C1C 80A95F6C 868400B6 */ lh $a0, 0x00B6($s4) ## 000000B6
/* 00C20 80A95F70 3C01C1A0 */ lui $at, 0xC1A0 ## $at = C1A00000
/* 00C24 80A95F74 44812000 */ mtc1 $at, $f4 ## $f4 = -20.00
/* 00C28 80A95F78 C7A60068 */ lwc1 $f6, 0x0068($sp)
/* 00C2C 80A95F7C 3C1180A9 */ lui $s1, %hi(D_80A96A5C) ## $s1 = 80A90000
/* 00C30 80A95F80 26316A5C */ addiu $s1, $s1, %lo(D_80A96A5C) ## $s1 = 80A96A5C
/* 00C34 80A95F84 46062202 */ mul.s $f8, $f4, $f6
/* 00C38 80A95F88 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 00C3C 80A95F8C 24120004 */ addiu $s2, $zero, 0x0004 ## $s2 = 00000004
/* 00C40 80A95F90 46080582 */ mul.s $f22, $f0, $f8
/* 00C44 80A95F94 00000000 */ nop
.L80A95F98:
/* 00C48 80A95F98 240B01F4 */ addiu $t3, $zero, 0x01F4 ## $t3 = 000001F4
/* 00C4C 80A95F9C 240C0032 */ addiu $t4, $zero, 0x0032 ## $t4 = 00000032
/* 00C50 80A95FA0 AFAC0014 */ sw $t4, 0x0014($sp)
/* 00C54 80A95FA4 AFAB0010 */ sw $t3, 0x0010($sp)
/* 00C58 80A95FA8 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000
/* 00C5C 80A95FAC 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFF0
/* 00C60 80A95FB0 02203025 */ or $a2, $s1, $zero ## $a2 = 80A96A5C
/* 00C64 80A95FB4 0C00A1B3 */ jal func_800286CC
/* 00C68 80A95FB8 02203825 */ or $a3, $s1, $zero ## $a3 = 80A96A5C
/* 00C6C 80A95FBC C7AA0078 */ lwc1 $f10, 0x0078($sp)
/* 00C70 80A95FC0 C7B2007C */ lwc1 $f18, 0x007C($sp)
/* 00C74 80A95FC4 C7A60080 */ lwc1 $f6, 0x0080($sp)
/* 00C78 80A95FC8 46145400 */ add.s $f16, $f10, $f20
/* 00C7C 80A95FCC 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 00C80 80A95FD0 46189100 */ add.s $f4, $f18, $f24
/* 00C84 80A95FD4 E7B00078 */ swc1 $f16, 0x0078($sp)
/* 00C88 80A95FD8 46163200 */ add.s $f8, $f6, $f22
/* 00C8C 80A95FDC E7A4007C */ swc1 $f4, 0x007C($sp)
/* 00C90 80A95FE0 1612FFED */ bne $s0, $s2, .L80A95F98
/* 00C94 80A95FE4 E7A80080 */ swc1 $f8, 0x0080($sp)
/* 00C98 80A95FE8 240D01F4 */ addiu $t5, $zero, 0x01F4 ## $t5 = 000001F4
/* 00C9C 80A95FEC 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064
/* 00CA0 80A95FF0 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00CA4 80A95FF4 AFAD0010 */ sw $t5, 0x0010($sp)
/* 00CA8 80A95FF8 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000
/* 00CAC 80A95FFC 26850008 */ addiu $a1, $s4, 0x0008 ## $a1 = 00000008
/* 00CB0 80A96000 02203025 */ or $a2, $s1, $zero ## $a2 = 80A96A5C
/* 00CB4 80A96004 0C00A1B3 */ jal func_800286CC
/* 00CB8 80A96008 02203825 */ or $a3, $s1, $zero ## $a3 = 80A96A5C
/* 00CBC 80A9600C 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 00CC0 80A96010 0C2A55D2 */ jal func_80A95748
/* 00CC4 80A96014 02A02825 */ or $a1, $s5, $zero ## $a1 = 00000000
.L80A96018:
/* 00CC8 80A96018 8FBF005C */ lw $ra, 0x005C($sp)
.L80A9601C:
/* 00CCC 80A9601C D7B40028 */ ldc1 $f20, 0x0028($sp)
/* 00CD0 80A96020 D7B60030 */ ldc1 $f22, 0x0030($sp)
/* 00CD4 80A96024 D7B80038 */ ldc1 $f24, 0x0038($sp)
/* 00CD8 80A96028 8FB00044 */ lw $s0, 0x0044($sp)
/* 00CDC 80A9602C 8FB10048 */ lw $s1, 0x0048($sp)
/* 00CE0 80A96030 8FB2004C */ lw $s2, 0x004C($sp)
/* 00CE4 80A96034 8FB30050 */ lw $s3, 0x0050($sp)
/* 00CE8 80A96038 8FB40054 */ lw $s4, 0x0054($sp)
/* 00CEC 80A9603C 8FB50058 */ lw $s5, 0x0058($sp)
/* 00CF0 80A96040 03E00008 */ jr $ra
/* 00CF4 80A96044 27BD0088 */ addiu $sp, $sp, 0x0088 ## $sp = 00000000

View file

@ -1,31 +0,0 @@
glabel func_80A96048
/* 00CF8 80A96048 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00CFC 80A9604C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00D00 80A96050 AFA5001C */ sw $a1, 0x001C($sp)
/* 00D04 80A96054 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
/* 00D08 80A96058 10400002 */ beq $v0, $zero, .L80A96064
/* 00D0C 80A9605C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00D10 80A96060 A48E001C */ sh $t6, 0x001C($a0) ## 0000001C
.L80A96064:
/* 00D14 80A96064 8FA5001C */ lw $a1, 0x001C($sp)
/* 00D18 80A96068 0C00BD04 */ jal Actor_HasParent
/* 00D1C 80A9606C AFA40018 */ sw $a0, 0x0018($sp)
/* 00D20 80A96070 14400005 */ bne $v0, $zero, .L80A96088
/* 00D24 80A96074 8FA40018 */ lw $a0, 0x0018($sp)
/* 00D28 80A96078 848F001C */ lh $t7, 0x001C($a0) ## 0000001C
/* 00D2C 80A9607C 8FA5001C */ lw $a1, 0x001C($sp)
/* 00D30 80A96080 15E00005 */ bne $t7, $zero, .L80A96098
/* 00D34 80A96084 00000000 */ nop
.L80A96088:
/* 00D38 80A96088 0C2A5618 */ jal func_80A95860
/* 00D3C 80A9608C 00000000 */ nop
/* 00D40 80A96090 10000004 */ beq $zero, $zero, .L80A960A4
/* 00D44 80A96094 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A96098:
/* 00D48 80A96098 0C00BD55 */ jal func_8002F554
/* 00D4C 80A9609C 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
/* 00D50 80A960A0 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A960A4:
/* 00D54 80A960A4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00D58 80A960A8 03E00008 */ jr $ra
/* 00D5C 80A960AC 00000000 */ nop

View file

@ -1,58 +0,0 @@
glabel func_80A960B0
/* 00D60 80A960B0 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 00D64 80A960B4 AFB00030 */ sw $s0, 0x0030($sp)
/* 00D68 80A960B8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00D6C 80A960BC AFBF0034 */ sw $ra, 0x0034($sp)
/* 00D70 80A960C0 AFA5003C */ sw $a1, 0x003C($sp)
/* 00D74 80A960C4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00D78 80A960C8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00D7C 80A960CC 3C053BA3 */ lui $a1, 0x3BA3 ## $a1 = 3BA30000
/* 00D80 80A960D0 3C063A03 */ lui $a2, 0x3A03 ## $a2 = 3A030000
/* 00D84 80A960D4 34C6126F */ ori $a2, $a2, 0x126F ## $a2 = 3A03126F
/* 00D88 80A960D8 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3BA3D70A
/* 00D8C 80A960DC 0C01DE80 */ jal Math_ApproxF
/* 00D90 80A960E0 26040050 */ addiu $a0, $s0, 0x0050 ## $a0 = 00000050
/* 00D94 80A960E4 3C014160 */ lui $at, 0x4160 ## $at = 41600000
/* 00D98 80A960E8 44813000 */ mtc1 $at, $f6 ## $f6 = 14.00
/* 00D9C 80A960EC C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C
/* 00DA0 80A960F0 C6000050 */ lwc1 $f0, 0x0050($s0) ## 00000050
/* 00DA4 80A960F4 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
/* 00DA8 80A960F8 46062200 */ add.s $f8, $f4, $f6
/* 00DAC 80A960FC 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
/* 00DB0 80A96100 E6000058 */ swc1 $f0, 0x0058($s0) ## 00000058
/* 00DB4 80A96104 E6000054 */ swc1 $f0, 0x0054($s0) ## 00000054
/* 00DB8 80A96108 44054000 */ mfc1 $a1, $f8
/* 00DBC 80A9610C 0C01DE80 */ jal Math_ApproxF
/* 00DC0 80A96110 00000000 */ nop
/* 00DC4 80A96114 50400004 */ beql $v0, $zero, .L80A96128
/* 00DC8 80A96118 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6
/* 00DCC 80A9611C 0C2A5552 */ jal func_80A95548
/* 00DD0 80A96120 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00DD4 80A96124 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6
.L80A96128:
/* 00DD8 80A96128 2418000C */ addiu $t8, $zero, 0x000C ## $t8 = 0000000C
/* 00DDC 80A9612C 24190005 */ addiu $t9, $zero, 0x0005 ## $t9 = 00000005
/* 00DE0 80A96130 25CF1999 */ addiu $t7, $t6, 0x1999 ## $t7 = 00001999
/* 00DE4 80A96134 A60F00B6 */ sh $t7, 0x00B6($s0) ## 000000B6
/* 00DE8 80A96138 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 00DEC 80A9613C 2409FFFF */ addiu $t1, $zero, 0xFFFF ## $t1 = FFFFFFFF
/* 00DF0 80A96140 240A000A */ addiu $t2, $zero, 0x000A ## $t2 = 0000000A
/* 00DF4 80A96144 AFAA0020 */ sw $t2, 0x0020($sp)
/* 00DF8 80A96148 AFA9001C */ sw $t1, 0x001C($sp)
/* 00DFC 80A9614C AFA80018 */ sw $t0, 0x0018($sp)
/* 00E00 80A96150 AFA00024 */ sw $zero, 0x0024($sp)
/* 00E04 80A96154 AFB90014 */ sw $t9, 0x0014($sp)
/* 00E08 80A96158 AFB80010 */ sw $t8, 0x0010($sp)
/* 00E0C 80A9615C 8FA4003C */ lw $a0, 0x003C($sp)
/* 00E10 80A96160 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
/* 00E14 80A96164 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000
/* 00E18 80A96168 0C00A5E9 */ jal EffectSsHahen_SpawnBurst
/* 00E1C 80A9616C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00E20 80A96170 8FBF0034 */ lw $ra, 0x0034($sp)
/* 00E24 80A96174 8FB00030 */ lw $s0, 0x0030($sp)
/* 00E28 80A96178 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00E2C 80A9617C 03E00008 */ jr $ra
/* 00E30 80A96180 00000000 */ nop

View file

@ -1,26 +0,0 @@
glabel func_80A96184
/* 00E34 80A96184 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00E38 80A96188 AFA5001C */ sw $a1, 0x001C($sp)
/* 00E3C 80A9618C 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
/* 00E40 80A96190 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00E44 80A96194 AFA40018 */ sw $a0, 0x0018($sp)
/* 00E48 80A96198 AFA50018 */ sw $a1, 0x0018($sp)
/* 00E4C 80A9619C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00E50 80A961A0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00E54 80A961A4 8FA50018 */ lw $a1, 0x0018($sp)
/* 00E58 80A961A8 84A2001C */ lh $v0, 0x001C($a1) ## 0000001C
/* 00E5C 80A961AC 10400003 */ beq $v0, $zero, .L80A961BC
/* 00E60 80A961B0 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00E64 80A961B4 A4AE001C */ sh $t6, 0x001C($a1) ## 0000001C
/* 00E68 80A961B8 84A2001C */ lh $v0, 0x001C($a1) ## 0000001C
.L80A961BC:
/* 00E6C 80A961BC 54400004 */ bnel $v0, $zero, .L80A961D0
/* 00E70 80A961C0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00E74 80A961C4 0C2A563B */ jal func_80A958EC
/* 00E78 80A961C8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00E7C 80A961CC 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A961D0:
/* 00E80 80A961D0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00E84 80A961D4 03E00008 */ jr $ra
/* 00E88 80A961D8 00000000 */ nop

View file

@ -1,61 +0,0 @@
.late_rodata
glabel D_80A96B54
.float 0.05
glabel D_80A96B58
.float 0.005
.text
glabel func_80A961DC
/* 00E8C 80A961DC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00E90 80A961E0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00E94 80A961E4 AFA50024 */ sw $a1, 0x0024($sp)
/* 00E98 80A961E8 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
/* 00E9C 80A961EC 3C0180A9 */ lui $at, %hi(D_80A96B54) ## $at = 80A90000
/* 00EA0 80A961F0 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001
/* 00EA4 80A961F4 A48F001C */ sh $t7, 0x001C($a0) ## 0000001C
/* 00EA8 80A961F8 8498001C */ lh $t8, 0x001C($a0) ## 0000001C
/* 00EAC 80A961FC C4286B54 */ lwc1 $f8, %lo(D_80A96B54)($at)
/* 00EB0 80A96200 3C0180A9 */ lui $at, %hi(D_80A96B58) ## $at = 80A90000
/* 00EB4 80A96204 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00
/* 00EB8 80A96208 C42A6B58 */ lwc1 $f10, %lo(D_80A96B58)($at)
/* 00EBC 80A9620C AFA40020 */ sw $a0, 0x0020($sp)
/* 00EC0 80A96210 468021A0 */ cvt.s.w $f6, $f4
/* 00EC4 80A96214 46083002 */ mul.s $f0, $f6, $f8
/* 00EC8 80A96218 00000000 */ nop
/* 00ECC 80A9621C 46005402 */ mul.s $f16, $f10, $f0
/* 00ED0 80A96220 E7A0001C */ swc1 $f0, 0x001C($sp)
/* 00ED4 80A96224 44058000 */ mfc1 $a1, $f16
/* 00ED8 80A96228 0C00B58B */ jal Actor_SetScale
/* 00EDC 80A9622C 00000000 */ nop
/* 00EE0 80A96230 3C014160 */ lui $at, 0x4160 ## $at = 41600000
/* 00EE4 80A96234 C7A0001C */ lwc1 $f0, 0x001C($sp)
/* 00EE8 80A96238 44812000 */ mtc1 $at, $f4 ## $f4 = 14.00
/* 00EEC 80A9623C 8FA60020 */ lw $a2, 0x0020($sp)
/* 00EF0 80A96240 8FA40024 */ lw $a0, 0x0024($sp)
/* 00EF4 80A96244 46002182 */ mul.s $f6, $f4, $f0
/* 00EF8 80A96248 C4D2000C */ lwc1 $f18, 0x000C($a2) ## 0000000C
/* 00EFC 80A9624C 84D9001C */ lh $t9, 0x001C($a2) ## 0000001C
/* 00F00 80A96250 24010014 */ addiu $at, $zero, 0x0014 ## $at = 00000014
/* 00F04 80A96254 24851C24 */ addiu $a1, $a0, 0x1C24 ## $a1 = 00001C24
/* 00F08 80A96258 46069200 */ add.s $f8, $f18, $f6
/* 00F0C 80A9625C 1721000C */ bne $t9, $at, .L80A96290
/* 00F10 80A96260 E4C80028 */ swc1 $f8, 0x0028($a2) ## 00000028
/* 00F14 80A96264 8CC80004 */ lw $t0, 0x0004($a2) ## 00000004
/* 00F18 80A96268 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
/* 00F1C 80A9626C 24070005 */ addiu $a3, $zero, 0x0005 ## $a3 = 00000005
/* 00F20 80A96270 01014824 */ and $t1, $t0, $at
/* 00F24 80A96274 ACC90004 */ sw $t1, 0x0004($a2) ## 00000004
/* 00F28 80A96278 352B0005 */ ori $t3, $t1, 0x0005 ## $t3 = 00000005
/* 00F2C 80A9627C ACCB0004 */ sw $t3, 0x0004($a2) ## 00000004
/* 00F30 80A96280 0C00CDD2 */ jal Actor_ChangeType
/* 00F34 80A96284 AFA60020 */ sw $a2, 0x0020($sp)
/* 00F38 80A96288 0C2A5552 */ jal func_80A95548
/* 00F3C 80A9628C 8FA40020 */ lw $a0, 0x0020($sp)
.L80A96290:
/* 00F40 80A96290 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00F44 80A96294 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00F48 80A96298 03E00008 */ jr $ra
/* 00F4C 80A9629C 00000000 */ nop

View file

@ -1,94 +0,0 @@
.rdata
glabel D_80A96A90
.asciz "../z_en_karebaba.c"
.balign 4
glabel D_80A96AA4
.asciz "../z_en_karebaba.c"
.balign 4
glabel D_80A96AB8
.asciz "../z_en_karebaba.c"
.balign 4
.late_rodata
glabel D_80A96B60
.float 0.15
.text
glabel func_80A9644C
/* 010FC 80A9644C 27BDFF70 */ addiu $sp, $sp, 0xFF70 ## $sp = FFFFFF70
/* 01100 80A96450 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01104 80A96454 AFB00020 */ sw $s0, 0x0020($sp)
/* 01108 80A96458 AFA40090 */ sw $a0, 0x0090($sp)
/* 0110C 80A9645C AFA50094 */ sw $a1, 0x0094($sp)
/* 01110 80A96460 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 01114 80A96464 3C0680A9 */ lui $a2, %hi(D_80A96A90) ## $a2 = 80A90000
/* 01118 80A96468 24C66A90 */ addiu $a2, $a2, %lo(D_80A96A90) ## $a2 = 80A96A90
/* 0111C 80A9646C 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFAC
/* 01120 80A96470 240703F5 */ addiu $a3, $zero, 0x03F5 ## $a3 = 000003F5
/* 01124 80A96474 0C031AB1 */ jal Graph_OpenDisps
/* 01128 80A96478 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 0112C 80A9647C 8FAF0094 */ lw $t7, 0x0094($sp)
/* 01130 80A96480 0C025011 */ jal func_80094044
/* 01134 80A96484 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
/* 01138 80A96488 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 0113C 80A9648C 8FA80090 */ lw $t0, 0x0090($sp)
/* 01140 80A96490 3C19FA00 */ lui $t9, 0xFA00 ## $t9 = FA000000
/* 01144 80A96494 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 01148 80A96498 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0
/* 0114C 80A9649C 240900FF */ addiu $t1, $zero, 0x00FF ## $t1 = 000000FF
/* 01150 80A964A0 AC490004 */ sw $t1, 0x0004($v0) ## 00000004
/* 01154 80A964A4 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 01158 80A964A8 27AA0050 */ addiu $t2, $sp, 0x0050 ## $t2 = FFFFFFC0
/* 0115C 80A964AC 8D070010 */ lw $a3, 0x0010($t0) ## 00000010
/* 01160 80A964B0 8D06000C */ lw $a2, 0x000C($t0) ## 0000000C
/* 01164 80A964B4 8D050008 */ lw $a1, 0x0008($t0) ## 00000008
/* 01168 80A964B8 8D0401F4 */ lw $a0, 0x01F4($t0) ## 000001F4
/* 0116C 80A964BC 0C00E28A */ jal func_80038A28
/* 01170 80A964C0 AFAA0010 */ sw $t2, 0x0010($sp)
/* 01174 80A964C4 27A40050 */ addiu $a0, $sp, 0x0050 ## $a0 = FFFFFFC0
/* 01178 80A964C8 0C03424C */ jal Matrix_Mult
/* 0117C 80A964CC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 01180 80A964D0 3C0180A9 */ lui $at, %hi(D_80A96B60) ## $at = 80A90000
/* 01184 80A964D4 C42C6B60 */ lwc1 $f12, %lo(D_80A96B60)($at)
/* 01188 80A964D8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 0118C 80A964DC 44817000 */ mtc1 $at, $f14 ## $f14 = 1.00
/* 01190 80A964E0 44066000 */ mfc1 $a2, $f12
/* 01194 80A964E4 0C0342A3 */ jal Matrix_Scale
/* 01198 80A964E8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 0119C 80A964EC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 011A0 80A964F0 3C0CDA38 */ lui $t4, 0xDA38 ## $t4 = DA380000
/* 011A4 80A964F4 358C0003 */ ori $t4, $t4, 0x0003 ## $t4 = DA380003
/* 011A8 80A964F8 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
/* 011AC 80A964FC AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0
/* 011B0 80A96500 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
/* 011B4 80A96504 8FAD0094 */ lw $t5, 0x0094($sp)
/* 011B8 80A96508 3C0580A9 */ lui $a1, %hi(D_80A96AA4) ## $a1 = 80A90000
/* 011BC 80A9650C 24A56AA4 */ addiu $a1, $a1, %lo(D_80A96AA4) ## $a1 = 80A96AA4
/* 011C0 80A96510 8DA40000 */ lw $a0, 0x0000($t5) ## 00000000
/* 011C4 80A96514 24060405 */ addiu $a2, $zero, 0x0405 ## $a2 = 00000405
/* 011C8 80A96518 0C0346A2 */ jal Matrix_NewMtx
/* 011CC 80A9651C AFA20034 */ sw $v0, 0x0034($sp)
/* 011D0 80A96520 8FA30034 */ lw $v1, 0x0034($sp)
/* 011D4 80A96524 3C180405 */ lui $t8, 0x0405 ## $t8 = 04050000
/* 011D8 80A96528 27189210 */ addiu $t8, $t8, 0x9210 ## $t8 = 04049210
/* 011DC 80A9652C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 011E0 80A96530 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 011E4 80A96534 3C0FDE00 */ lui $t7, 0xDE00 ## $t7 = DE000000
/* 011E8 80A96538 3C0680A9 */ lui $a2, %hi(D_80A96AB8) ## $a2 = 80A90000
/* 011EC 80A9653C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
/* 011F0 80A96540 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0
/* 011F4 80A96544 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
/* 011F8 80A96548 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
/* 011FC 80A9654C 8FB90094 */ lw $t9, 0x0094($sp)
/* 01200 80A96550 24C66AB8 */ addiu $a2, $a2, %lo(D_80A96AB8) ## $a2 = 80A96AB8
/* 01204 80A96554 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFAC
/* 01208 80A96558 2407040A */ addiu $a3, $zero, 0x040A ## $a3 = 0000040A
/* 0120C 80A9655C 0C031AD5 */ jal Graph_CloseDisps
/* 01210 80A96560 8F250000 */ lw $a1, 0x0000($t9) ## 00000000
/* 01214 80A96564 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01218 80A96568 8FB00020 */ lw $s0, 0x0020($sp)
/* 0121C 80A9656C 27BD0090 */ addiu $sp, $sp, 0x0090 ## $sp = 00000000
/* 01220 80A96570 03E00008 */ jr $ra
/* 01224 80A96574 00000000 */ nop

View file

@ -1,36 +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_Karebaba_InitVars
.word 0x00C70500, 0x00000005, 0x00390000, 0x00000290
.word EnKarebaba_Init
.word EnKarebaba_Destroy
.word EnKarebaba_Update
.word EnKarebaba_Draw
glabel D_80A969F0
.word 0x0C000900, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010000, 0x00070019, 0x00000000, 0x00000000
glabel D_80A96A1C
.word 0x0C110039, 0x10010000, 0x00000000, 0xFFCFFFFF, 0x00080000, 0x00000000, 0x00000000, 0x09000100
glabel D_80A96A3C
.word 0x00040019, 0x00000000, 0x00000000
glabel D_80A96A48
.word 0x0100000F, 0x0050FE00
glabel D_80A96A50
.word 0xB04C09C4, 0x801F0001, 0x09170009
glabel D_80A96A5C
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80A96A68
.word 0x00000000
glabel D_80A96A6C
.word 0x06001330, 0x06001628, 0x06001828
glabel D_80A96A78
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View file

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_80A96B80
.incbin "baserom/ovl_En_Karebaba", 0x1830, 0x00000230

3
spec
View file

@ -2635,8 +2635,7 @@ endseg
beginseg
name "ovl_En_Karebaba"
include "build/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.o"
include "build/data/overlays/actors/z_en_karebaba.data.o"
include "build/data/overlays/actors/z_en_karebaba.reloc.o"
include "build/src/overlays/actors/ovl_En_Karebaba/ovl_En_Karebaba_reloc.o"
endseg
beginseg

View file

@ -1,4 +1,11 @@
/**
* File: z_en_karebaba.c
* Overlay: ovl_En_Karebaba
* Description: Withered Deku Baba
*/
#include "z_en_karebaba.h"
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
#define FLAGS 0x00000005
@ -9,7 +16,19 @@ void EnKarebaba_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnKarebaba_Update(Actor* thisx, GlobalContext* globalCtx);
void EnKarebaba_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
void EnKarebaba_SetupGrow(EnKarebaba* this);
void EnKarebaba_SetupIdle(EnKarebaba* this);
void EnKarebaba_Grow(EnKarebaba* this, GlobalContext* globalCtx);
void EnKarebaba_Idle(EnKarebaba* this, GlobalContext* globalCtx);
void EnKarebaba_Awaken(EnKarebaba* this, GlobalContext* globalCtx);
void EnKarebaba_Spin(EnKarebaba* this, GlobalContext* globalCtx);
void EnKarebaba_Dying(EnKarebaba* this, GlobalContext* globalCtx);
void EnKarebaba_DeadItemDrop(EnKarebaba* this, GlobalContext* globalCtx);
void EnKarebaba_Retract(EnKarebaba* this, GlobalContext* globalCtx);
void EnKarebaba_Dead(EnKarebaba* this, GlobalContext* globalCtx);
void EnKarebaba_Regrow(EnKarebaba* this, GlobalContext* globalCtx);
void EnKarebaba_Upright(EnKarebaba* this, GlobalContext* globalCtx);
const ActorInit En_Karebaba_InitVars = {
ACTOR_EN_KAREBABA,
ACTORTYPE_ENEMY,
@ -21,55 +40,482 @@ const ActorInit En_Karebaba_InitVars = {
(ActorFunc)EnKarebaba_Update,
(ActorFunc)EnKarebaba_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/EnKarebaba_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/EnKarebaba_Destroy.s")
static ColliderCylinderInit sBodyColliderInit = {
{ 0xC, 0, 9, 0, 0x10, COLSHAPE_CYLINDER },
{ 0, { 0x00000000, 0, 0 }, { ~0x00300000, 0, 0 }, 0, 1, 0 },
{ 7, 25, 0, { 0, 0, 0 } },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A954C0.s")
static ColliderCylinderInit sHeadColliderInit = {
{ 0x0C, 0x11, 0, 0x39, 0x10, COLSHAPE_CYLINDER },
{ 0, { ~0x00300000, 0, 8 }, { 0x00000000, 0, 0 }, 9, 0, 1 },
{ 4, 25, 0, { 0, 0, 0 } },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A954F8.s")
static CollisionCheckInfoInit sColCheckInfoInit = { 1, 15, 80, 0xFE };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A95548.s")
static InitChainEntry sInitChain[] = {
ICHAIN_F32(unk_4C, 2500, ICHAIN_CONTINUE),
ICHAIN_U8(unk_1F, 1, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, 9, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A9559C.s")
extern SkeletonHeader D_06002A40;
extern AnimationHeader D_060002B8;
extern Gfx D_06003070[]; // deku stick drop
extern Gfx D_060010F0[]; // leaf base
extern Gfx D_06001828[]; // upper third of stem
extern Gfx D_06001330[]; // mid third of stem
extern Gfx D_06001628[]; // lower third of stem
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A95618.s")
void EnKarebaba_Init(Actor* thisx, GlobalContext* globalCtx) {
EnKarebaba* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A956B8.s")
Actor_ProcessInitChain(&this->actor, sInitChain);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 22.0f);
SkelAnime_Init(globalCtx, &this->skelAnime, &D_06002A40, &D_060002B8, this->limbDrawTable,
this->transitionDrawTable, 8);
Collider_InitCylinder(globalCtx, &this->bodyCollider);
Collider_SetCylinder(globalCtx, &this->bodyCollider, &this->actor, &sBodyColliderInit);
Collider_CylinderUpdate(&this->actor, &this->bodyCollider);
Collider_InitCylinder(globalCtx, &this->headCollider);
Collider_SetCylinder(globalCtx, &this->headCollider, &this->actor, &sHeadColliderInit);
Collider_CylinderUpdate(&this->actor, &this->headCollider);
func_80061ED4(&this->actor.colChkInfo, DamageTable_Get(1), &sColCheckInfoInit);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A956D0.s")
this->boundFloor = NULL;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A95748.s")
if (this->actor.params == 0) {
EnKarebaba_SetupGrow(this);
} else {
EnKarebaba_SetupIdle(this);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A957E0.s")
void EnKarebaba_Destroy(Actor* thisx, GlobalContext* globalCtx) {
EnKarebaba* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A95860.s")
Collider_DestroyCylinder(globalCtx, &this->bodyCollider);
Collider_DestroyCylinder(globalCtx, &this->headCollider);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A958EC.s")
void EnKarebaba_ResetCollider(EnKarebaba* this) {
this->bodyCollider.dim.radius = 7;
this->bodyCollider.dim.height = 25;
this->bodyCollider.base.type = COLTYPE_UNK12;
this->bodyCollider.base.acFlags |= 4;
this->bodyCollider.body.bumper.flags = ~0x00300000;
this->headCollider.dim.height = 25;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A95940.s")
void EnKarebaba_SetupGrow(EnKarebaba* this) {
Actor_SetScale(&this->actor, 0.0f);
this->actor.shape.rot.x = -0x4000;
this->actionFunc = EnKarebaba_Grow;
this->actor.posRot.pos.y = this->actor.initPosRot.pos.y + 14.0f;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A959D8.s")
void EnKarebaba_SetupIdle(EnKarebaba* this) {
Actor_SetScale(&this->actor, 0.005f);
this->actor.shape.rot.x = -0x4000;
this->actionFunc = EnKarebaba_Idle;
this->actor.posRot.pos.y = this->actor.initPosRot.pos.y + 14.0f;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A95A38.s")
void EnKarebaba_SetupAwaken(EnKarebaba* this) {
SkelAnime_ChangeAnim(&this->skelAnime, &D_060002B8, 4.0f, 0.0f, SkelAnime_GetFrameCount(&D_060002B8), 0, -3.0f);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DUMMY482);
this->actionFunc = EnKarebaba_Awaken;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A95B0C.s")
void EnKarebaba_SetupUpright(EnKarebaba* this) {
if (this->actionFunc != EnKarebaba_Spin) {
Actor_SetScale(&this->actor, 0.01f);
this->bodyCollider.base.type = COLTYPE_UNK6;
this->bodyCollider.base.acFlags &= ~0x0004;
this->bodyCollider.body.bumper.flags = gSaveContext.linkAge != 0 ? 0x07C00710 : 0x0FC00710;
this->bodyCollider.dim.radius = 15;
this->bodyCollider.dim.height = 80;
this->headCollider.dim.height = 80;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A95BFC.s")
this->actor.params = 40;
this->actionFunc = EnKarebaba_Upright;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A95D90.s")
void EnKarebaba_SetupSpin(EnKarebaba* this) {
this->actor.params = 40;
this->actionFunc = EnKarebaba_Spin;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A96048.s")
void EnKarebaba_SetupDying(EnKarebaba* this) {
this->actor.params = 0;
this->actor.gravity = -0.8f;
this->actor.velocity.y = 4.0f;
this->actor.posRot.rot.y = this->actor.shape.rot.y + 0x8000;
this->actor.speedXZ = 3.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEKU_JR_DEAD);
this->actor.flags |= 0x30;
this->actionFunc = EnKarebaba_Dying;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A960B0.s")
void EnKarebaba_SetupDeadItemDrop(EnKarebaba* this, GlobalContext* globalCtx) {
Actor_SetScale(&this->actor, 0.03f);
this->actor.shape.rot.x -= 0x4000;
this->actor.shape.unk_08 = 1000.0f;
this->actor.gravity = 0.0f;
this->actor.velocity.y = 0.0f;
this->actor.shape.unk_10 = 3.0f;
Actor_ChangeType(globalCtx, &globalCtx->actorCtx, &this->actor, ACTORTYPE_MISC);
this->actor.params = 200;
this->actor.flags &= ~0x20;
this->actionFunc = EnKarebaba_DeadItemDrop;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A96184.s")
void EnKarebaba_SetupRetract(EnKarebaba* this) {
SkelAnime_ChangeAnim(&this->skelAnime, &D_060002B8, -3.0f, SkelAnime_GetFrameCount(&D_060002B8), 0.0f, 2, -3.0f);
EnKarebaba_ResetCollider(this);
this->actionFunc = EnKarebaba_Retract;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A961DC.s")
void EnKarebaba_SetupDead(EnKarebaba* this) {
SkelAnime_ChangeAnim(&this->skelAnime, &D_060002B8, 0.0f, 0.0f, 0.0f, 2, 0.0f);
EnKarebaba_ResetCollider(this);
this->actor.shape.rot.x = -0x4000;
this->actor.params = 200;
this->actor.parent = NULL;
this->actor.shape.unk_10 = 0.0f;
Math_Vec3f_Copy(&this->actor.posRot.pos, &this->actor.initPosRot.pos);
this->actionFunc = EnKarebaba_Dead;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/EnKarebaba_Update.s")
void EnKarebaba_SetupRegrow(EnKarebaba* this) {
this->actor.shape.unk_08 = 0.0f;
this->actor.shape.unk_10 = 22.0f;
this->headCollider.dim.radius = sHeadColliderInit.dim.radius;
Actor_SetScale(&this->actor, 0.0f);
this->actionFunc = EnKarebaba_Regrow;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/func_80A9644C.s")
void EnKarebaba_Grow(EnKarebaba* this, GlobalContext* globalCtx) {
f32 scale;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Karebaba/EnKarebaba_Draw.s")
this->actor.params++;
scale = this->actor.params * 0.05f;
Actor_SetScale(&this->actor, 0.005f * scale);
this->actor.posRot.pos.y = this->actor.initPosRot.pos.y + (14.0f * scale);
if (this->actor.params == 20) {
EnKarebaba_SetupIdle(this);
}
}
void EnKarebaba_Idle(EnKarebaba* this, GlobalContext* globalCtx) {
if (this->actor.xzDistFromLink < 200.0f && fabsf(this->actor.yDistFromLink) < 30.0f) {
EnKarebaba_SetupAwaken(this);
}
}
void EnKarebaba_Awaken(EnKarebaba* this, GlobalContext* globalCtx) {
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
Math_ApproxF(&this->actor.scale.x, 0.01f, 0.0005f);
this->actor.scale.y = this->actor.scale.z = this->actor.scale.x;
if (Math_ApproxF(&this->actor.posRot.pos.y, this->actor.initPosRot.pos.y + 60.0f, 5.0f)) {
EnKarebaba_SetupUpright(this);
}
this->actor.shape.rot.y += 0x1999;
EffectSsHahen_SpawnBurst(globalCtx, &this->actor.initPosRot.pos, 3.0f, 0, 12, 5, 1, HAHEN_OBJECT_DEFAULT, 10, NULL);
}
void EnKarebaba_Upright(EnKarebaba* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (this->actor.params != 0) {
this->actor.params--;
}
if (func_800A56C8(&this->skelAnime, 0.0f) || func_800A56C8(&this->skelAnime, 12.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEKU_JR_MOUTH);
}
if (this->bodyCollider.base.acFlags & 2) {
EnKarebaba_SetupDying(this);
func_80032C7C(globalCtx, &this->actor);
} else if (Math_Vec3f_DistXZ(&this->actor.initPosRot.pos, &player->actor.posRot.pos) > 240.0f) {
EnKarebaba_SetupRetract(this);
} else if (this->actor.params == 0) {
EnKarebaba_SetupSpin(this);
}
}
void EnKarebaba_Spin(EnKarebaba* this, GlobalContext* globalCtx) {
s32 value;
f32 cos60;
if (this->actor.params != 0) {
this->actor.params--;
}
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (func_800A56C8(&this->skelAnime, 0.0f) || func_800A56C8(&this->skelAnime, 12.0f)) {
if (1) {} // Here for matching purposes only.
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEKU_JR_MOUTH);
}
value = 20 - this->actor.params;
value = 20 - ABS(value);
if (value > 10) {
value = 10;
}
this->headCollider.dim.radius = sHeadColliderInit.dim.radius + (value * 2);
this->actor.shape.rot.x = 0xC000 - (value * 0x100);
this->actor.shape.rot.y += value * 0x2C0;
this->actor.posRot.pos.y = (Math_Sins(this->actor.shape.rot.x) * -60.0f) + this->actor.initPosRot.pos.y;
cos60 = Math_Coss(this->actor.shape.rot.x) * 60.0f;
this->actor.posRot.pos.x = (Math_Sins(this->actor.shape.rot.y) * cos60) + this->actor.initPosRot.pos.x;
this->actor.posRot.pos.z = (Math_Coss(this->actor.shape.rot.y) * cos60) + this->actor.initPosRot.pos.z;
if (this->bodyCollider.base.acFlags & 2) {
EnKarebaba_SetupDying(this);
func_80032C7C(globalCtx, &this->actor);
} else if (this->actor.params == 0) {
EnKarebaba_SetupUpright(this);
}
}
void EnKarebaba_Dying(EnKarebaba* this, GlobalContext* globalCtx) {
static Vec3f zeroVec = { 0.0f, 0.0f, 0.0f };
s32 i;
Vec3f position;
Vec3f rotation;
Math_ApproxF(&this->actor.speedXZ, 0.0f, 0.1f);
if (this->actor.params == 0) {
Math_ApproxUpdateScaledS(&this->actor.shape.rot.x, 0x4800, 0x71C);
EffectSsHahen_SpawnBurst(globalCtx, &this->actor.posRot.pos, 3.0f, 0, 12, 5, 1, HAHEN_OBJECT_DEFAULT, 10, NULL);
if (this->actor.scale.x > 0.005f && ((this->actor.bgCheckFlags & 2) || (this->actor.bgCheckFlags & 8))) {
this->actor.scale.x = this->actor.scale.y = this->actor.scale.z = 0.0f;
this->actor.speedXZ = 0.0f;
this->actor.flags &= ~5;
EffectSsHahen_SpawnBurst(globalCtx, &this->actor.posRot.pos, 3.0f, 0, 12, 5, 15, HAHEN_OBJECT_DEFAULT, 10,
NULL);
}
if (this->actor.bgCheckFlags & 2) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_M_GND);
this->actor.params = 1;
}
} else if (this->actor.params == 1) {
Math_Vec3f_Copy(&position, &this->actor.posRot.pos);
rotation.z = Math_Sins(this->actor.shape.rot.x) * 20.0f;
rotation.x = -20.0f * Math_Coss(this->actor.shape.rot.x) * Math_Sins(this->actor.shape.rot.y);
rotation.y = -20.0f * Math_Coss(this->actor.shape.rot.x) * Math_Coss(this->actor.shape.rot.y);
for (i = 0; i < 4; i++) {
func_800286CC(globalCtx, &position, &zeroVec, &zeroVec, 500, 50);
position.x += rotation.x;
position.y += rotation.z;
position.z += rotation.y;
}
func_800286CC(globalCtx, &this->actor.initPosRot.pos, &zeroVec, &zeroVec, 500, 100);
EnKarebaba_SetupDeadItemDrop(this, globalCtx);
}
}
void EnKarebaba_DeadItemDrop(EnKarebaba* this, GlobalContext* globalCtx) {
if (this->actor.params != 0) {
this->actor.params--;
}
if (Actor_HasParent(&this->actor, globalCtx) || this->actor.params == 0) {
EnKarebaba_SetupDead(this);
} else {
func_8002F554(&this->actor, globalCtx, GI_STICKS_1);
}
}
void EnKarebaba_Retract(EnKarebaba* this, GlobalContext* globalCtx) {
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
Math_ApproxF(&this->actor.scale.x, 0.005f, 0.0005f);
this->actor.scale.y = this->actor.scale.z = this->actor.scale.x;
if (Math_ApproxF(&this->actor.posRot.pos.y, this->actor.initPosRot.pos.y + 14.0f, 5.0f)) {
EnKarebaba_SetupIdle(this);
}
this->actor.shape.rot.y += 0x1999;
EffectSsHahen_SpawnBurst(globalCtx, &this->actor.initPosRot.pos, 3.0f, 0, 12, 5, 1, HAHEN_OBJECT_DEFAULT, 10, NULL);
}
void EnKarebaba_Dead(EnKarebaba* this, GlobalContext* globalCtx) {
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (this->actor.params != 0) {
this->actor.params--;
}
if (this->actor.params == 0) {
EnKarebaba_SetupRegrow(this);
}
}
void EnKarebaba_Regrow(EnKarebaba* this, GlobalContext* globalCtx) {
f32 scaleFactor;
this->actor.params++;
scaleFactor = this->actor.params * 0.05f;
Actor_SetScale(&this->actor, 0.005f * scaleFactor);
this->actor.posRot.pos.y = this->actor.initPosRot.pos.y + (14.0f * scaleFactor);
if (this->actor.params == 20) {
this->actor.flags &= ~0x10;
this->actor.flags |= 5;
Actor_ChangeType(globalCtx, &globalCtx->actorCtx, &this->actor, ACTORTYPE_ENEMY);
EnKarebaba_SetupIdle(this);
}
}
void EnKarebaba_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnKarebaba* this = THIS;
f32 height;
this->actionFunc(this, globalCtx);
if (this->actionFunc != EnKarebaba_Dead) {
if (this->actionFunc == EnKarebaba_Dying) {
Actor_MoveForward(&this->actor);
func_8002E4B4(globalCtx, &this->actor, 10.0f, 15.0f, 10.0f, 5);
} else {
func_8002E4B4(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
if (this->boundFloor == NULL) {
this->boundFloor = this->actor.floorPoly;
}
}
if (this->actionFunc != EnKarebaba_Dying && this->actionFunc != EnKarebaba_DeadItemDrop) {
if (this->actionFunc != EnKarebaba_Regrow && this->actionFunc != EnKarebaba_Grow) {
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->headCollider.base);
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->bodyCollider.base);
}
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->headCollider.base);
Actor_SetHeight(&this->actor, (this->actor.scale.x * 10.0f) / 0.01f);
height = this->actor.initPosRot.pos.y + 40.0f;
this->actor.posRot2.pos.x = this->actor.initPosRot.pos.x;
this->actor.posRot2.pos.y = CLAMP_MAX(this->actor.posRot2.pos.y, height);
this->actor.posRot2.pos.z = this->actor.initPosRot.pos.z;
}
}
}
void EnKarebaba_DrawCenterShadow(EnKarebaba* this, GlobalContext* globalCtx) {
MtxF mf;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_karebaba.c", 1013);
func_80094044(globalCtx->state.gfxCtx);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 0, 0, 0, 255);
func_80038A28(this->boundFloor, this->actor.initPosRot.pos.x, this->actor.initPosRot.pos.y,
this->actor.initPosRot.pos.z, &mf);
Matrix_Mult(&mf, MTXMODE_NEW);
Matrix_Scale(0.15f, 1.0f, 0.15f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_karebaba.c", 1029),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_04049210);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_karebaba.c", 1034);
}
void EnKarebaba_Draw(Actor* thisx, GlobalContext* globalCtx) {
static Color_RGBA8 black = { 0, 0, 0, 0 };
static Gfx* dLists[] = { D_06001330, D_06001628, D_06001828 };
static Vec3f zeroVec = { 0.0f, 0.0f, 0.0f };
EnKarebaba* this = THIS;
s32 i;
s32 numDLists;
f32 scale;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_karebaba.c", 1056);
func_80093D18(globalCtx->state.gfxCtx);
if (this->actionFunc == EnKarebaba_DeadItemDrop) {
if (this->actor.params > 40 || (this->actor.params & 1)) {
Matrix_Translate(0.0f, 0.0f, 200.0f, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_karebaba.c", 1066),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06003070);
}
} else if (this->actionFunc != EnKarebaba_Dead) {
func_80026230(globalCtx, &black, 1, 2);
SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, NULL, NULL, NULL);
Matrix_Translate(this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z, MTXMODE_NEW);
if ((this->actionFunc == EnKarebaba_Regrow) || (this->actionFunc == EnKarebaba_Grow)) {
scale = this->actor.params * 0.0005f;
} else {
scale = 0.01f;
}
Matrix_Scale(scale, scale, scale, MTXMODE_APPLY);
Matrix_RotateRPY(this->actor.shape.rot.x, this->actor.shape.rot.y, 0, MTXMODE_APPLY);
if (this->actionFunc == EnKarebaba_Dying) {
numDLists = 2;
} else {
numDLists = 3;
}
for (i = 0; i < numDLists; i++) {
Matrix_Translate(0.0f, 0.0f, -2000.0f, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_karebaba.c", 1116),
G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, dLists[i]);
if (i == 0 && this->actionFunc == EnKarebaba_Dying) {
Matrix_MultVec3f(&zeroVec, &this->actor.posRot2.pos);
}
}
func_80026608(globalCtx);
}
func_80026230(globalCtx, &black, 1, 2);
Matrix_Translate(this->actor.initPosRot.pos.x, this->actor.initPosRot.pos.y, this->actor.initPosRot.pos.z,
MTXMODE_NEW);
if (this->actionFunc != EnKarebaba_Grow) {
scale = 0.01f;
}
Matrix_Scale(scale, scale, scale, MTXMODE_APPLY);
Matrix_RotateY(this->actor.initPosRot.rot.y * (M_PI / 0x8000), MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_karebaba.c", 1144),
G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_060010F0);
if (this->actionFunc == EnKarebaba_Dying) {
Matrix_RotateRPY(-0x4000, (s16)(this->actor.shape.rot.y - this->actor.initPosRot.rot.y), 0, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_karebaba.c", 1155),
G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06001828);
}
func_80026608(globalCtx);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_karebaba.c", 1163);
if (this->boundFloor != NULL) {
EnKarebaba_DrawCenterShadow(this, globalCtx);
}
}

View file

@ -4,13 +4,21 @@
#include "ultra64.h"
#include "global.h"
extern const ActorInit En_Karebaba_InitVars;
struct EnKarebaba;
typedef void (*EnKarebabaActionFunc)(struct EnKarebaba*, GlobalContext*);
typedef struct EnKarebaba {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x144];
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ EnKarebabaActionFunc actionFunc;
/* 0x0194 */ Vec3s limbDrawTable[8];
/* 0x01C4 */ Vec3s transitionDrawTable[8];
/* 0x01F4 */ CollisionPoly* boundFloor;
/* 0x01F8 */ ColliderCylinder headCollider;
/* 0x0244 */ ColliderCylinder bodyCollider;
} EnKarebaba; // size = 0x0290
extern const ActorInit En_Karebaba_InitVars;
#endif

View file

@ -1539,6 +1539,15 @@ D_060089E0 = 0x060089E0;
D_06003CE0 = 0x06003CE0;
D_060037B8 = 0x060037B8;
// z_en_karebaba
D_060002B8 = 0x060002B8;
D_060010F0 = 0x060010F0;
D_06001330 = 0x06001330;
D_06001628 = 0x06001628;
D_06001828 = 0x06001828;
D_06002A40 = 0x06002A40;
D_06003070 = 0x06003070;
// z_en_niw
D_06002530 = 0x06002530;
D_060000E8 = 0x060000E8;