mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-27 07:07:09 +00:00
Decompile En_Vm (Beamos) (#416)
* Decompile En_Vm * various Beamos fixes * Beamos fixes * Cleanup Beamos * Update src/overlays/actors/ovl_En_Vm/z_en_vm.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Vm/z_en_vm.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Vm/z_en_vm.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Vm/z_en_vm.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Updated En_Vm * Update Beamos * Update src/overlays/actors/ovl_En_Vm/z_en_vm.h Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update En_Vm Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> Co-authored-by: Zelllll <elijah@DESKTOP-NMP1I89.localdomain> Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
This commit is contained in:
parent
831804ad64
commit
eba7b2c4d6
22 changed files with 505 additions and 1668 deletions
|
@ -1,12 +0,0 @@
|
|||
glabel EnVm_Destroy
|
||||
/* 00178 80B2D5D8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 0017C 80B2D5DC 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00180 80B2D5E0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00184 80B2D5E4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00188 80B2D5E8 0C0170EB */ jal Collider_DestroyCylinder
|
||||
|
||||
/* 0018C 80B2D5EC 24C50268 */ addiu $a1, $a2, 0x0268 ## $a1 = 00000268
|
||||
/* 00190 80B2D5F0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00194 80B2D5F4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00198 80B2D5F8 03E00008 */ jr $ra
|
||||
/* 0019C 80B2D5FC 00000000 */ nop
|
|
@ -1,287 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80B2EBBC
|
||||
.asciz "../z_en_vm.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B2EBCC
|
||||
.asciz "../z_en_vm.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B2EBDC
|
||||
.asciz "../z_en_vm.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B2EBEC
|
||||
.asciz "../z_en_vm.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B2EBFC
|
||||
.asciz "../z_en_vm.c"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_80B2EC30
|
||||
.float 0.8
|
||||
|
||||
glabel D_80B2EC34
|
||||
.word 0x46FFFE00
|
||||
glabel D_80B2EC38
|
||||
.float 0.1
|
||||
|
||||
glabel D_80B2EC3C
|
||||
.float 0.0015
|
||||
|
||||
.text
|
||||
glabel EnVm_Draw
|
||||
/* 011B8 80B2E618 27BDFF70 */ addiu $sp, $sp, 0xFF70 ## $sp = FFFFFF70
|
||||
/* 011BC 80B2E61C AFB20028 */ sw $s2, 0x0028($sp)
|
||||
/* 011C0 80B2E620 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
|
||||
/* 011C4 80B2E624 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 011C8 80B2E628 AFB10024 */ sw $s1, 0x0024($sp)
|
||||
/* 011CC 80B2E62C AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 011D0 80B2E630 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 011D4 80B2E634 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 011D8 80B2E638 3C0680B3 */ lui $a2, %hi(D_80B2EBBC) ## $a2 = 80B30000
|
||||
/* 011DC 80B2E63C 24C6EBBC */ addiu $a2, $a2, %lo(D_80B2EBBC) ## $a2 = 80B2EBBC
|
||||
/* 011E0 80B2E640 27A40068 */ addiu $a0, $sp, 0x0068 ## $a0 = FFFFFFD8
|
||||
/* 011E4 80B2E644 240703F6 */ addiu $a3, $zero, 0x03F6 ## $a3 = 000003F6
|
||||
/* 011E8 80B2E648 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 011EC 80B2E64C 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 011F0 80B2E650 0C024F46 */ jal func_80093D18
|
||||
/* 011F4 80B2E654 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
|
||||
/* 011F8 80B2E658 0C024F61 */ jal func_80093D84
|
||||
/* 011FC 80B2E65C 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
|
||||
/* 01200 80B2E660 3C0E80B3 */ lui $t6, %hi(func_80B2E340) ## $t6 = 80B30000
|
||||
/* 01204 80B2E664 25CEE340 */ addiu $t6, $t6, %lo(func_80B2E340) ## $t6 = 80B2E340
|
||||
/* 01208 80B2E668 8E250150 */ lw $a1, 0x0150($s1) ## 00000150
|
||||
/* 0120C 80B2E66C 8E26016C */ lw $a2, 0x016C($s1) ## 0000016C
|
||||
/* 01210 80B2E670 3C0780B3 */ lui $a3, %hi(func_80B2E2D8) ## $a3 = 80B30000
|
||||
/* 01214 80B2E674 24E7E2D8 */ addiu $a3, $a3, %lo(func_80B2E2D8) ## $a3 = 80B2E2D8
|
||||
/* 01218 80B2E678 AFB10014 */ sw $s1, 0x0014($sp)
|
||||
/* 0121C 80B2E67C AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 01220 80B2E680 0C028572 */ jal SkelAnime_Draw
|
||||
|
||||
/* 01224 80B2E684 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
|
||||
/* 01228 80B2E688 8E380024 */ lw $t8, 0x0024($s1) ## 00000024
|
||||
/* 0122C 80B2E68C 27A4007C */ addiu $a0, $sp, 0x007C ## $a0 = FFFFFFEC
|
||||
/* 01230 80B2E690 3C0580B3 */ lui $a1, %hi(D_80B2EB7C) ## $a1 = 80B30000
|
||||
/* 01234 80B2E694 AC980000 */ sw $t8, 0x0000($a0) ## FFFFFFEC
|
||||
/* 01238 80B2E698 8E2F0028 */ lw $t7, 0x0028($s1) ## 00000028
|
||||
/* 0123C 80B2E69C 24A5EB7C */ addiu $a1, $a1, %lo(D_80B2EB7C) ## $a1 = 80B2EB7C
|
||||
/* 01240 80B2E6A0 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
|
||||
/* 01244 80B2E6A4 AC8F0004 */ sw $t7, 0x0004($a0) ## FFFFFFF0
|
||||
/* 01248 80B2E6A8 8E38002C */ lw $t8, 0x002C($s1) ## 0000002C
|
||||
/* 0124C 80B2E6AC 02403825 */ or $a3, $s2, $zero ## $a3 = 00000000
|
||||
/* 01250 80B2E6B0 0C00CF0C */ jal func_80033C30
|
||||
/* 01254 80B2E6B4 AC980008 */ sw $t8, 0x0008($a0) ## FFFFFFF4
|
||||
/* 01258 80B2E6B8 86390260 */ lh $t9, 0x0260($s1) ## 00000260
|
||||
/* 0125C 80B2E6BC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 01260 80B2E6C0 2B210003 */ slti $at, $t9, 0x0003
|
||||
/* 01264 80B2E6C4 14200088 */ bne $at, $zero, .L80B2E8E8
|
||||
/* 01268 80B2E6C8 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 0126C 80B2E6CC 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00
|
||||
/* 01270 80B2E6D0 C6240240 */ lwc1 $f4, 0x0240($s1) ## 00000240
|
||||
/* 01274 80B2E6D4 C62C023C */ lwc1 $f12, 0x023C($s1) ## 0000023C
|
||||
/* 01278 80B2E6D8 8E260244 */ lw $a2, 0x0244($s1) ## 00000244
|
||||
/* 0127C 80B2E6DC 0C034261 */ jal Matrix_Translate
|
||||
/* 01280 80B2E6E0 46062380 */ add.s $f14, $f4, $f6
|
||||
/* 01284 80B2E6E4 3C0180B3 */ lui $at, %hi(D_80B2EC30) ## $at = 80B30000
|
||||
/* 01288 80B2E6E8 C42CEC30 */ lwc1 $f12, %lo(D_80B2EC30)($at)
|
||||
/* 0128C 80B2E6EC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 01290 80B2E6F0 44066000 */ mfc1 $a2, $f12
|
||||
/* 01294 80B2E6F4 0C0342A3 */ jal Matrix_Scale
|
||||
/* 01298 80B2E6F8 46006386 */ mov.s $f14, $f12
|
||||
/* 0129C 80B2E6FC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 012A0 80B2E700 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000
|
||||
/* 012A4 80B2E704 354A0003 */ ori $t2, $t2, 0x0003 ## $t2 = DA380003
|
||||
/* 012A8 80B2E708 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
|
||||
/* 012AC 80B2E70C AE0902D0 */ sw $t1, 0x02D0($s0) ## 000002D0
|
||||
/* 012B0 80B2E710 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
||||
/* 012B4 80B2E714 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
|
||||
/* 012B8 80B2E718 3C0580B3 */ lui $a1, %hi(D_80B2EBCC) ## $a1 = 80B30000
|
||||
/* 012BC 80B2E71C 24A5EBCC */ addiu $a1, $a1, %lo(D_80B2EBCC) ## $a1 = 80B2EBCC
|
||||
/* 012C0 80B2E720 24060409 */ addiu $a2, $zero, 0x0409 ## $a2 = 00000409
|
||||
/* 012C4 80B2E724 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 012C8 80B2E728 AFA20064 */ sw $v0, 0x0064($sp)
|
||||
/* 012CC 80B2E72C 8FA30064 */ lw $v1, 0x0064($sp)
|
||||
/* 012D0 80B2E730 3C0CFA00 */ lui $t4, 0xFA00 ## $t4 = FA000000
|
||||
/* 012D4 80B2E734 240DFFA8 */ addiu $t5, $zero, 0xFFA8 ## $t5 = FFFFFFA8
|
||||
/* 012D8 80B2E738 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 012DC 80B2E73C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 012E0 80B2E740 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
|
||||
/* 012E4 80B2E744 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0
|
||||
/* 012E8 80B2E748 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004
|
||||
/* 012EC 80B2E74C AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
|
||||
/* 012F0 80B2E750 0C0252F1 */ jal func_80094BC4
|
||||
/* 012F4 80B2E754 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
|
||||
/* 012F8 80B2E758 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 012FC 80B2E75C 3C0FFB00 */ lui $t7, 0xFB00 ## $t7 = FB000000
|
||||
/* 01300 80B2E760 3418FF00 */ ori $t8, $zero, 0xFF00 ## $t8 = 0000FF00
|
||||
/* 01304 80B2E764 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
|
||||
/* 01308 80B2E768 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0
|
||||
/* 0130C 80B2E76C AC580004 */ sw $t8, 0x0004($v0) ## 00000004
|
||||
/* 01310 80B2E770 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
|
||||
/* 01314 80B2E774 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 01318 80B2E778 3C09DB06 */ lui $t1, 0xDB06 ## $t1 = DB060000
|
||||
/* 0131C 80B2E77C 35290020 */ ori $t1, $t1, 0x0020 ## $t1 = DB060020
|
||||
/* 01320 80B2E780 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
|
||||
/* 01324 80B2E784 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0
|
||||
/* 01328 80B2E788 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 0132C 80B2E78C 02414021 */ addu $t0, $s2, $at
|
||||
/* 01330 80B2E790 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
|
||||
/* 01334 80B2E794 8D0A1DE4 */ lw $t2, 0x1DE4($t0) ## 00001DE4
|
||||
/* 01338 80B2E798 3C0480B3 */ lui $a0, %hi(D_80B2EB88) ## $a0 = 80B30000
|
||||
/* 0133C 80B2E79C 3C198016 */ lui $t9, %hi(gSegments)
|
||||
/* 01340 80B2E7A0 314B0007 */ andi $t3, $t2, 0x0007 ## $t3 = 00000000
|
||||
/* 01344 80B2E7A4 000B6080 */ sll $t4, $t3, 2
|
||||
/* 01348 80B2E7A8 008C2021 */ addu $a0, $a0, $t4
|
||||
/* 0134C 80B2E7AC 8C84EB88 */ lw $a0, %lo(D_80B2EB88)($a0)
|
||||
/* 01350 80B2E7B0 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 01354 80B2E7B4 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
||||
/* 01358 80B2E7B8 00047100 */ sll $t6, $a0, 4
|
||||
/* 0135C 80B2E7BC 000E7F02 */ srl $t7, $t6, 28
|
||||
/* 01360 80B2E7C0 000FC080 */ sll $t8, $t7, 2
|
||||
/* 01364 80B2E7C4 0338C821 */ addu $t9, $t9, $t8
|
||||
/* 01368 80B2E7C8 8F396FA8 */ lw $t9, %lo(gSegments)($t9)
|
||||
/* 0136C 80B2E7CC 00816824 */ and $t5, $a0, $at
|
||||
/* 01370 80B2E7D0 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 01374 80B2E7D4 01B94821 */ addu $t1, $t5, $t9
|
||||
/* 01378 80B2E7D8 01215021 */ addu $t2, $t1, $at
|
||||
/* 0137C 80B2E7DC AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004
|
||||
/* 01380 80B2E7E0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 01384 80B2E7E4 3C070403 */ lui $a3, 0x0403 ## $a3 = 04030000
|
||||
/* 01388 80B2E7E8 24E71FE0 */ addiu $a3, $a3, 0x1FE0 ## $a3 = 04031FE0
|
||||
/* 0138C 80B2E7EC 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
|
||||
/* 01390 80B2E7F0 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0
|
||||
/* 01394 80B2E7F4 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000
|
||||
/* 01398 80B2E7F8 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
|
||||
/* 0139C 80B2E7FC AC470004 */ sw $a3, 0x0004($v0) ## 00000004
|
||||
/* 013A0 80B2E800 3C0180B3 */ lui $at, %hi(D_80B2EC34) ## $at = 80B30000
|
||||
/* 013A4 80B2E804 C42CEC34 */ lwc1 $f12, %lo(D_80B2EC34)($at)
|
||||
/* 013A8 80B2E808 AFA80034 */ sw $t0, 0x0034($sp)
|
||||
/* 013AC 80B2E80C AFA70038 */ sw $a3, 0x0038($sp)
|
||||
/* 013B0 80B2E810 0C034348 */ jal Matrix_RotateY
|
||||
/* 013B4 80B2E814 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 013B8 80B2E818 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 013BC 80B2E81C 8FA70038 */ lw $a3, 0x0038($sp)
|
||||
/* 013C0 80B2E820 8FA80034 */ lw $t0, 0x0034($sp)
|
||||
/* 013C4 80B2E824 3C0FDA38 */ lui $t7, 0xDA38 ## $t7 = DA380000
|
||||
/* 013C8 80B2E828 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
|
||||
/* 013CC 80B2E82C AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0
|
||||
/* 013D0 80B2E830 35EF0003 */ ori $t7, $t7, 0x0003 ## $t7 = DA380003
|
||||
/* 013D4 80B2E834 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
|
||||
/* 013D8 80B2E838 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
|
||||
/* 013DC 80B2E83C 3C0580B3 */ lui $a1, %hi(D_80B2EBDC) ## $a1 = 80B30000
|
||||
/* 013E0 80B2E840 24A5EBDC */ addiu $a1, $a1, %lo(D_80B2EBDC) ## $a1 = 80B2EBDC
|
||||
/* 013E4 80B2E844 24060414 */ addiu $a2, $zero, 0x0414 ## $a2 = 00000414
|
||||
/* 013E8 80B2E848 AFA20050 */ sw $v0, 0x0050($sp)
|
||||
/* 013EC 80B2E84C AFA70038 */ sw $a3, 0x0038($sp)
|
||||
/* 013F0 80B2E850 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 013F4 80B2E854 AFA80034 */ sw $t0, 0x0034($sp)
|
||||
/* 013F8 80B2E858 8FA30050 */ lw $v1, 0x0050($sp)
|
||||
/* 013FC 80B2E85C 8FA70038 */ lw $a3, 0x0038($sp)
|
||||
/* 01400 80B2E860 8FA80034 */ lw $t0, 0x0034($sp)
|
||||
/* 01404 80B2E864 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 01408 80B2E868 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 0140C 80B2E86C 3C0DDB06 */ lui $t5, 0xDB06 ## $t5 = DB060000
|
||||
/* 01410 80B2E870 35AD0020 */ ori $t5, $t5, 0x0020 ## $t5 = DB060020
|
||||
/* 01414 80B2E874 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 01418 80B2E878 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0
|
||||
/* 0141C 80B2E87C AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
|
||||
/* 01420 80B2E880 8D191DE4 */ lw $t9, 0x1DE4($t0) ## 00001DE4
|
||||
/* 01424 80B2E884 3C0480B3 */ lui $a0, %hi(D_80B2EB88) ## $a0 = 80B30000
|
||||
/* 01428 80B2E888 3C0D8016 */ lui $t5, %hi(gSegments)
|
||||
/* 0142C 80B2E88C 27290004 */ addiu $t1, $t9, 0x0004 ## $t1 = 00000004
|
||||
/* 01430 80B2E890 312A0007 */ andi $t2, $t1, 0x0007 ## $t2 = 00000004
|
||||
/* 01434 80B2E894 000A5880 */ sll $t3, $t2, 2
|
||||
/* 01438 80B2E898 008B2021 */ addu $a0, $a0, $t3
|
||||
/* 0143C 80B2E89C 8C84EB88 */ lw $a0, %lo(D_80B2EB88)($a0)
|
||||
/* 01440 80B2E8A0 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 01444 80B2E8A4 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
||||
/* 01448 80B2E8A8 00047100 */ sll $t6, $a0, 4
|
||||
/* 0144C 80B2E8AC 000E7F02 */ srl $t7, $t6, 28
|
||||
/* 01450 80B2E8B0 000FC080 */ sll $t8, $t7, 2
|
||||
/* 01454 80B2E8B4 01B86821 */ addu $t5, $t5, $t8
|
||||
/* 01458 80B2E8B8 8DAD6FA8 */ lw $t5, %lo(gSegments)($t5)
|
||||
/* 0145C 80B2E8BC 00816024 */ and $t4, $a0, $at
|
||||
/* 01460 80B2E8C0 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 01464 80B2E8C4 018DC821 */ addu $t9, $t4, $t5
|
||||
/* 01468 80B2E8C8 03214821 */ addu $t1, $t9, $at
|
||||
/* 0146C 80B2E8CC AC490004 */ sw $t1, 0x0004($v0) ## 00000004
|
||||
/* 01470 80B2E8D0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 01474 80B2E8D4 3C0BDE00 */ lui $t3, 0xDE00 ## $t3 = DE000000
|
||||
/* 01478 80B2E8D8 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
|
||||
/* 0147C 80B2E8DC AE0A02D0 */ sw $t2, 0x02D0($s0) ## 000002D0
|
||||
/* 01480 80B2E8E0 AC470004 */ sw $a3, 0x0004($v0) ## 00000004
|
||||
/* 01484 80B2E8E4 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
|
||||
.L80B2E8E8:
|
||||
/* 01488 80B2E8E8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 0148C 80B2E8EC 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
|
||||
/* 01490 80B2E8F0 35EF0020 */ ori $t7, $t7, 0x0020 ## $t7 = DB060020
|
||||
/* 01494 80B2E8F4 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
|
||||
/* 01498 80B2E8F8 AE0E02C0 */ sw $t6, 0x02C0($s0) ## 000002C0
|
||||
/* 0149C 80B2E8FC AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
|
||||
/* 014A0 80B2E900 8626025A */ lh $a2, 0x025A($s1) ## 0000025A
|
||||
/* 014A4 80B2E904 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
|
||||
/* 014A8 80B2E908 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 014AC 80B2E90C 0C02539E */ jal func_80094E78
|
||||
/* 014B0 80B2E910 AFA20044 */ sw $v0, 0x0044($sp)
|
||||
/* 014B4 80B2E914 8FA30044 */ lw $v1, 0x0044($sp)
|
||||
/* 014B8 80B2E918 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 014BC 80B2E91C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 014C0 80B2E920 8E26022C */ lw $a2, 0x022C($s1) ## 0000022C
|
||||
/* 014C4 80B2E924 C62E0228 */ lwc1 $f14, 0x0228($s1) ## 00000228
|
||||
/* 014C8 80B2E928 0C034261 */ jal Matrix_Translate
|
||||
/* 014CC 80B2E92C C62C0224 */ lwc1 $f12, 0x0224($s1) ## 00000224
|
||||
/* 014D0 80B2E930 86240254 */ lh $a0, 0x0254($s1) ## 00000254
|
||||
/* 014D4 80B2E934 86250256 */ lh $a1, 0x0256($s1) ## 00000256
|
||||
/* 014D8 80B2E938 86260258 */ lh $a2, 0x0258($s1) ## 00000258
|
||||
/* 014DC 80B2E93C 0C034421 */ jal Matrix_RotateRPY
|
||||
/* 014E0 80B2E940 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 014E4 80B2E944 3C0180B3 */ lui $at, %hi(D_80B2EC38) ## $at = 80B30000
|
||||
/* 014E8 80B2E948 C42AEC38 */ lwc1 $f10, %lo(D_80B2EC38)($at)
|
||||
/* 014EC 80B2E94C C6280248 */ lwc1 $f8, 0x0248($s1) ## 00000248
|
||||
/* 014F0 80B2E950 3C0180B3 */ lui $at, %hi(D_80B2EC3C) ## $at = 80B30000
|
||||
/* 014F4 80B2E954 C432EC3C */ lwc1 $f18, %lo(D_80B2EC3C)($at)
|
||||
/* 014F8 80B2E958 460A4302 */ mul.s $f12, $f8, $f10
|
||||
/* 014FC 80B2E95C C6300250 */ lwc1 $f16, 0x0250($s1) ## 00000250
|
||||
/* 01500 80B2E960 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 01504 80B2E964 46128102 */ mul.s $f4, $f16, $f18
|
||||
/* 01508 80B2E968 46006386 */ mov.s $f14, $f12
|
||||
/* 0150C 80B2E96C 44062000 */ mfc1 $a2, $f4
|
||||
/* 01510 80B2E970 0C0342A3 */ jal Matrix_Scale
|
||||
/* 01514 80B2E974 00000000 */ nop
|
||||
/* 01518 80B2E978 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 0151C 80B2E97C 3C0CDA38 */ lui $t4, 0xDA38 ## $t4 = DA380000
|
||||
/* 01520 80B2E980 358C0003 */ ori $t4, $t4, 0x0003 ## $t4 = DA380003
|
||||
/* 01524 80B2E984 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 01528 80B2E988 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
|
||||
/* 0152C 80B2E98C 3C0580B3 */ lui $a1, %hi(D_80B2EBEC) ## $a1 = 80B30000
|
||||
/* 01530 80B2E990 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
|
||||
/* 01534 80B2E994 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
|
||||
/* 01538 80B2E998 24A5EBEC */ addiu $a1, $a1, %lo(D_80B2EBEC) ## $a1 = 80B2EBEC
|
||||
/* 0153C 80B2E99C 24060427 */ addiu $a2, $zero, 0x0427 ## $a2 = 00000427
|
||||
/* 01540 80B2E9A0 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 01544 80B2E9A4 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000
|
||||
/* 01548 80B2E9A8 AE220004 */ sw $v0, 0x0004($s1) ## 00000004
|
||||
/* 0154C 80B2E9AC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 01550 80B2E9B0 3C090600 */ lui $t1, 0x0600 ## $t1 = 06000000
|
||||
/* 01554 80B2E9B4 25292728 */ addiu $t1, $t1, 0x2728 ## $t1 = 06002728
|
||||
/* 01558 80B2E9B8 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
|
||||
/* 0155C 80B2E9BC AE0D02C0 */ sw $t5, 0x02C0($s0) ## 000002C0
|
||||
/* 01560 80B2E9C0 3C19DE00 */ lui $t9, 0xDE00 ## $t9 = DE000000
|
||||
/* 01564 80B2E9C4 3C0680B3 */ lui $a2, %hi(D_80B2EBFC) ## $a2 = 80B30000
|
||||
/* 01568 80B2E9C8 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 0156C 80B2E9CC AC490004 */ sw $t1, 0x0004($v0) ## 00000004
|
||||
/* 01570 80B2E9D0 8E450000 */ lw $a1, 0x0000($s2) ## 00000000
|
||||
/* 01574 80B2E9D4 24C6EBFC */ addiu $a2, $a2, %lo(D_80B2EBFC) ## $a2 = 80B2EBFC
|
||||
/* 01578 80B2E9D8 27A40068 */ addiu $a0, $sp, 0x0068 ## $a0 = FFFFFFD8
|
||||
/* 0157C 80B2E9DC 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 01580 80B2E9E0 2407042C */ addiu $a3, $zero, 0x042C ## $a3 = 0000042C
|
||||
/* 01584 80B2E9E4 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 01588 80B2E9E8 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 0158C 80B2E9EC 8FB10024 */ lw $s1, 0x0024($sp)
|
||||
/* 01590 80B2E9F0 8FB20028 */ lw $s2, 0x0028($sp)
|
||||
/* 01594 80B2E9F4 03E00008 */ jr $ra
|
||||
/* 01598 80B2E9F8 27BD0090 */ addiu $sp, $sp, 0x0090 ## $sp = 00000000
|
||||
/* 0159C 80B2E9FC 00000000 */ nop
|
|
@ -1,101 +0,0 @@
|
|||
glabel EnVm_Init
|
||||
/* 00008 80B2D468 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 0000C 80B2D46C AFB00024 */ sw $s0, 0x0024($sp)
|
||||
/* 00010 80B2D470 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00014 80B2D474 AFB10028 */ sw $s1, 0x0028($sp)
|
||||
/* 00018 80B2D478 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 0001C 80B2D47C AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00020 80B2D480 260E0190 */ addiu $t6, $s0, 0x0190 ## $t6 = 00000190
|
||||
/* 00024 80B2D484 260F01D2 */ addiu $t7, $s0, 0x01D2 ## $t7 = 000001D2
|
||||
/* 00028 80B2D488 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 0002C 80B2D48C 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000
|
||||
/* 00030 80B2D490 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
|
||||
/* 00034 80B2D494 2418000B */ addiu $t8, $zero, 0x000B ## $t8 = 0000000B
|
||||
/* 00038 80B2D498 AFB80018 */ sw $t8, 0x0018($sp)
|
||||
/* 0003C 80B2D49C 24E70068 */ addiu $a3, $a3, 0x0068 ## $a3 = 06000068
|
||||
/* 00040 80B2D4A0 24C63F60 */ addiu $a2, $a2, 0x3F60 ## $a2 = 06003F60
|
||||
/* 00044 80B2D4A4 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
|
||||
/* 00048 80B2D4A8 AFAF0014 */ sw $t7, 0x0014($sp)
|
||||
/* 0004C 80B2D4AC 0C02915F */ jal SkelAnime_Init
|
||||
|
||||
/* 00050 80B2D4B0 AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 00054 80B2D4B4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00058 80B2D4B8 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 0005C 80B2D4BC 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00060 80B2D4C0 44050000 */ mfc1 $a1, $f0
|
||||
/* 00064 80B2D4C4 44070000 */ mfc1 $a3, $f0
|
||||
/* 00068 80B2D4C8 0C00AC78 */ jal ActorShape_Init
|
||||
|
||||
/* 0006C 80B2D4CC 00000000 */ nop
|
||||
/* 00070 80B2D4D0 26050268 */ addiu $a1, $s0, 0x0268 ## $a1 = 00000268
|
||||
/* 00074 80B2D4D4 AFA50030 */ sw $a1, 0x0030($sp)
|
||||
/* 00078 80B2D4D8 0C0170D9 */ jal Collider_InitCylinder
|
||||
|
||||
/* 0007C 80B2D4DC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00080 80B2D4E0 3C0780B3 */ lui $a3, %hi(D_80B2EA20) ## $a3 = 80B30000
|
||||
/* 00084 80B2D4E4 8FA50030 */ lw $a1, 0x0030($sp)
|
||||
/* 00088 80B2D4E8 24E7EA20 */ addiu $a3, $a3, %lo(D_80B2EA20) ## $a3 = 80B2EA20
|
||||
/* 0008C 80B2D4EC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00090 80B2D4F0 0C01712B */ jal Collider_SetCylinder
|
||||
|
||||
/* 00094 80B2D4F4 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00098 80B2D4F8 260502B4 */ addiu $a1, $s0, 0x02B4 ## $a1 = 000002B4
|
||||
/* 0009C 80B2D4FC AFA50030 */ sw $a1, 0x0030($sp)
|
||||
/* 000A0 80B2D500 0C017406 */ jal Collider_InitQuad
|
||||
/* 000A4 80B2D504 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 000A8 80B2D508 3C0780B3 */ lui $a3, %hi(D_80B2EA4C) ## $a3 = 80B30000
|
||||
/* 000AC 80B2D50C 8FA50030 */ lw $a1, 0x0030($sp)
|
||||
/* 000B0 80B2D510 24E7EA4C */ addiu $a3, $a3, %lo(D_80B2EA4C) ## $a3 = 80B2EA4C
|
||||
/* 000B4 80B2D514 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 000B8 80B2D518 0C017441 */ jal Collider_SetQuad
|
||||
/* 000BC 80B2D51C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 000C0 80B2D520 26050334 */ addiu $a1, $s0, 0x0334 ## $a1 = 00000334
|
||||
/* 000C4 80B2D524 AFA50030 */ sw $a1, 0x0030($sp)
|
||||
/* 000C8 80B2D528 0C017406 */ jal Collider_InitQuad
|
||||
/* 000CC 80B2D52C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 000D0 80B2D530 3C0780B3 */ lui $a3, %hi(D_80B2EA9C) ## $a3 = 80B30000
|
||||
/* 000D4 80B2D534 8FA50030 */ lw $a1, 0x0030($sp)
|
||||
/* 000D8 80B2D538 24E7EA9C */ addiu $a3, $a3, %lo(D_80B2EA9C) ## $a3 = 80B2EA9C
|
||||
/* 000DC 80B2D53C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 000E0 80B2D540 0C017441 */ jal Collider_SetQuad
|
||||
/* 000E4 80B2D544 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 000E8 80B2D548 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
|
||||
/* 000EC 80B2D54C 3C014220 */ lui $at, 0x4220 ## $at = 42200000
|
||||
/* 000F0 80B2D550 44814000 */ mtc1 $at, $f8 ## $f8 = 40.00
|
||||
/* 000F4 80B2D554 00194203 */ sra $t0, $t9, 8
|
||||
/* 000F8 80B2D558 44882000 */ mtc1 $t0, $f4 ## $f4 = 0.00
|
||||
/* 000FC 80B2D55C 8609001C */ lh $t1, 0x001C($s0) ## 0000001C
|
||||
/* 00100 80B2D560 240B0039 */ addiu $t3, $zero, 0x0039 ## $t3 = 00000039
|
||||
/* 00104 80B2D564 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00108 80B2D568 312A00FF */ andi $t2, $t1, 0x00FF ## $t2 = 00000000
|
||||
/* 0010C 80B2D56C A60A001C */ sh $t2, 0x001C($s0) ## 0000001C
|
||||
/* 00110 80B2D570 860C001C */ lh $t4, 0x001C($s0) ## 0000001C
|
||||
/* 00114 80B2D574 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
|
||||
/* 00118 80B2D578 A20B0117 */ sb $t3, 0x0117($s0) ## 00000117
|
||||
/* 0011C 80B2D57C 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 00120 80B2D580 240D0002 */ addiu $t5, $zero, 0x0002 ## $t5 = 00000002
|
||||
/* 00124 80B2D584 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 00128 80B2D588 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
|
||||
/* 0012C 80B2D58C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00130 80B2D590 15800008 */ bne $t4, $zero, .L80B2D5B4
|
||||
/* 00134 80B2D594 E60A0218 */ swc1 $f10, 0x0218($s0) ## 00000218
|
||||
/* 00138 80B2D598 3C053C65 */ lui $a1, 0x3C65 ## $a1 = 3C650000
|
||||
/* 0013C 80B2D59C A20D00AF */ sb $t5, 0x00AF($s0) ## 000000AF
|
||||
/* 00140 80B2D5A0 34A56042 */ ori $a1, $a1, 0x6042 ## $a1 = 3C656042
|
||||
/* 00144 80B2D5A4 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 00148 80B2D5A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0014C 80B2D5AC 10000003 */ beq $zero, $zero, .L80B2D5BC
|
||||
/* 00150 80B2D5B0 00000000 */ nop
|
||||
.L80B2D5B4:
|
||||
/* 00154 80B2D5B4 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 00158 80B2D5B8 A20E00AF */ sb $t6, 0x00AF($s0) ## 000000AF
|
||||
.L80B2D5BC:
|
||||
/* 0015C 80B2D5BC 0C2CB580 */ jal func_80B2D600
|
||||
/* 00160 80B2D5C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00164 80B2D5C4 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00168 80B2D5C8 8FB00024 */ lw $s0, 0x0024($sp)
|
||||
/* 0016C 80B2D5CC 8FB10028 */ lw $s1, 0x0028($sp)
|
||||
/* 00170 80B2D5D0 03E00008 */ jr $ra
|
||||
/* 00174 80B2D5D4 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
|
@ -1,117 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80B2EC24
|
||||
.word 0x45CB2000
|
||||
|
||||
.text
|
||||
glabel EnVm_Update
|
||||
/* 00CE8 80B2E148 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 00CEC 80B2E14C AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00CF0 80B2E150 AFB10028 */ sw $s1, 0x0028($sp)
|
||||
/* 00CF4 80B2E154 AFB00024 */ sw $s0, 0x0024($sp)
|
||||
/* 00CF8 80B2E158 908E00AF */ lbu $t6, 0x00AF($a0) ## 000000AF
|
||||
/* 00CFC 80B2E15C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00D00 80B2E160 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00D04 80B2E164 51C00004 */ beql $t6, $zero, .L80B2E178
|
||||
/* 00D08 80B2E168 860F0260 */ lh $t7, 0x0260($s0) ## 00000260
|
||||
/* 00D0C 80B2E16C 0C2CB80D */ jal func_80B2E034
|
||||
/* 00D10 80B2E170 00000000 */ nop
|
||||
/* 00D14 80B2E174 860F0260 */ lh $t7, 0x0260($s0) ## 00000260
|
||||
.L80B2E178:
|
||||
/* 00D18 80B2E178 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
|
||||
/* 00D1C 80B2E17C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00D20 80B2E180 15E10017 */ bne $t7, $at, .L80B2E1E0
|
||||
/* 00D24 80B2E184 2605023C */ addiu $a1, $s0, 0x023C ## $a1 = 0000023C
|
||||
/* 00D28 80B2E188 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
|
||||
/* 00D2C 80B2E18C 24190014 */ addiu $t9, $zero, 0x0014 ## $t9 = 00000014
|
||||
/* 00D30 80B2E190 AFB90014 */ sw $t9, 0x0014($sp)
|
||||
/* 00D34 80B2E194 AFB80010 */ sw $t8, 0x0010($sp)
|
||||
/* 00D38 80B2E198 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
|
||||
/* 00D3C 80B2E19C 2407FFFF */ addiu $a3, $zero, 0xFFFF ## $a3 = FFFFFFFF
|
||||
/* 00D40 80B2E1A0 0C00AA43 */ jal EffectSsDeadDs_SpawnStationary
|
||||
/* 00D44 80B2E1A4 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00D48 80B2E1A8 24080078 */ addiu $t0, $zero, 0x0078 ## $t0 = 00000078
|
||||
/* 00D4C 80B2E1AC 24090014 */ addiu $t1, $zero, 0x0014 ## $t1 = 00000014
|
||||
/* 00D50 80B2E1B0 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
|
||||
/* 00D54 80B2E1B4 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 00D58 80B2E1B8 AFAA0018 */ sw $t2, 0x0018($sp)
|
||||
/* 00D5C 80B2E1BC AFA90014 */ sw $t1, 0x0014($sp)
|
||||
/* 00D60 80B2E1C0 AFA80010 */ sw $t0, 0x0010($sp)
|
||||
/* 00D64 80B2E1C4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00D68 80B2E1C8 3C0640C0 */ lui $a2, 0x40C0 ## $a2 = 40C00000
|
||||
/* 00D6C 80B2E1CC 0C00CD20 */ jal func_80033480
|
||||
/* 00D70 80B2E1D0 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 00D74 80B2E1D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00D78 80B2E1D8 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00D7C 80B2E1DC 24053172 */ addiu $a1, $zero, 0x3172 ## $a1 = 00003172
|
||||
.L80B2E1E0:
|
||||
/* 00D80 80B2E1E0 8E190214 */ lw $t9, 0x0214($s0) ## 00000214
|
||||
/* 00D84 80B2E1E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00D88 80B2E1E8 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00D8C 80B2E1EC 0320F809 */ jalr $ra, $t9
|
||||
/* 00D90 80B2E1F0 00000000 */ nop
|
||||
/* 00D94 80B2E1F4 860B025A */ lh $t3, 0x025A($s0) ## 0000025A
|
||||
/* 00D98 80B2E1F8 920D00AF */ lbu $t5, 0x00AF($s0) ## 000000AF
|
||||
/* 00D9C 80B2E1FC 256C000C */ addiu $t4, $t3, 0x000C ## $t4 = 0000000C
|
||||
/* 00DA0 80B2E200 11A00008 */ beq $t5, $zero, .L80B2E224
|
||||
/* 00DA4 80B2E204 A60C025A */ sh $t4, 0x025A($s0) ## 0000025A
|
||||
/* 00DA8 80B2E208 8E0E021C */ lw $t6, 0x021C($s0) ## 0000021C
|
||||
/* 00DAC 80B2E20C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00DB0 80B2E210 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00DB4 80B2E214 51C10004 */ beql $t6, $at, .L80B2E228
|
||||
/* 00DB8 80B2E218 26050268 */ addiu $a1, $s0, 0x0268 ## $a1 = 00000268
|
||||
/* 00DBC 80B2E21C 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00DC0 80B2E220 24053170 */ addiu $a1, $zero, 0x3170 ## $a1 = 00003170
|
||||
.L80B2E224:
|
||||
/* 00DC4 80B2E224 26050268 */ addiu $a1, $s0, 0x0268 ## $a1 = 00000268
|
||||
.L80B2E228:
|
||||
/* 00DC8 80B2E228 AFA50030 */ sw $a1, 0x0030($sp)
|
||||
/* 00DCC 80B2E22C 0C0189B7 */ jal Collider_CylinderUpdate
|
||||
|
||||
/* 00DD0 80B2E230 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00DD4 80B2E234 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00DD8 80B2E238 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 00DDC 80B2E23C 02212821 */ addu $a1, $s1, $at
|
||||
/* 00DE0 80B2E240 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00DE4 80B2E244 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00DE8 80B2E248 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOT
|
||||
/* 00DEC 80B2E24C 8FA60030 */ lw $a2, 0x0030($sp)
|
||||
/* 00DF0 80B2E250 920F0114 */ lbu $t7, 0x0114($s0) ## 00000114
|
||||
/* 00DF4 80B2E254 55E00009 */ bnel $t7, $zero, .L80B2E27C
|
||||
/* 00DF8 80B2E258 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00DFC 80B2E25C 921800AF */ lbu $t8, 0x00AF($s0) ## 000000AF
|
||||
/* 00E00 80B2E260 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00E04 80B2E264 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 00E08 80B2E268 53000004 */ beql $t8, $zero, .L80B2E27C
|
||||
/* 00E0C 80B2E26C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00E10 80B2E270 0C01767D */ jal CollisionCheck_SetAC
|
||||
## CollisionCheck_setAC
|
||||
/* 00E14 80B2E274 8FA60030 */ lw $a2, 0x0030($sp)
|
||||
/* 00E18 80B2E278 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
.L80B2E27C:
|
||||
/* 00E1C 80B2E27C 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 00E20 80B2E280 0C01767D */ jal CollisionCheck_SetAC
|
||||
## CollisionCheck_setAC
|
||||
/* 00E24 80B2E284 26060334 */ addiu $a2, $s0, 0x0334 ## $a2 = 00000334
|
||||
/* 00E28 80B2E288 8E090024 */ lw $t1, 0x0024($s0) ## 00000024
|
||||
/* 00E2C 80B2E28C 8E080028 */ lw $t0, 0x0028($s0) ## 00000028
|
||||
/* 00E30 80B2E290 3C0180B3 */ lui $at, %hi(D_80B2EC24) ## $at = 80B30000
|
||||
/* 00E34 80B2E294 AE090038 */ sw $t1, 0x0038($s0) ## 00000038
|
||||
/* 00E38 80B2E298 8E09002C */ lw $t1, 0x002C($s0) ## 0000002C
|
||||
/* 00E3C 80B2E29C AE08003C */ sw $t0, 0x003C($s0) ## 0000003C
|
||||
/* 00E40 80B2E2A0 C60600BC */ lwc1 $f6, 0x00BC($s0) ## 000000BC
|
||||
/* 00E44 80B2E2A4 AE090040 */ sw $t1, 0x0040($s0) ## 00000040
|
||||
/* 00E48 80B2E2A8 C424EC24 */ lwc1 $f4, %lo(D_80B2EC24)($at)
|
||||
/* 00E4C 80B2E2AC C60A0054 */ lwc1 $f10, 0x0054($s0) ## 00000054
|
||||
/* 00E50 80B2E2B0 C612003C */ lwc1 $f18, 0x003C($s0) ## 0000003C
|
||||
/* 00E54 80B2E2B4 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00E58 80B2E2B8 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 00E5C 80B2E2BC 46109100 */ add.s $f4, $f18, $f16
|
||||
/* 00E60 80B2E2C0 E604003C */ swc1 $f4, 0x003C($s0) ## 0000003C
|
||||
/* 00E64 80B2E2C4 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00E68 80B2E2C8 8FB10028 */ lw $s1, 0x0028($sp)
|
||||
/* 00E6C 80B2E2CC 8FB00024 */ lw $s0, 0x0024($sp)
|
||||
/* 00E70 80B2E2D0 03E00008 */ jr $ra
|
||||
/* 00E74 80B2E2D4 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
|
@ -1,3 +0,0 @@
|
|||
glabel func_80B2D460
|
||||
/* 00000 80B2D460 03E00008 */ jr $ra
|
||||
/* 00004 80B2D464 AC850214 */ sw $a1, 0x0214($a0) ## 00000214
|
|
@ -1,38 +0,0 @@
|
|||
glabel func_80B2D600
|
||||
/* 001A0 80B2D600 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 001A4 80B2D604 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 001A8 80B2D608 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 001AC 80B2D60C AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 001B0 80B2D610 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 001B4 80B2D614 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 001B8 80B2D618 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 06000068
|
||||
/* 001BC 80B2D61C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 001C0 80B2D620 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
/* 001C4 80B2D624 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 001C8 80B2D628 46802020 */ cvt.s.w $f0, $f4
|
||||
/* 001CC 80B2D62C 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
|
||||
/* 001D0 80B2D630 AFAE0014 */ sw $t6, 0x0014($sp)
|
||||
/* 001D4 80B2D634 24A50068 */ addiu $a1, $a1, 0x0068 ## $a1 = 06000068
|
||||
/* 001D8 80B2D638 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 001DC 80B2D63C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 001E0 80B2D640 44070000 */ mfc1 $a3, $f0
|
||||
/* 001E4 80B2D644 E7A00010 */ swc1 $f0, 0x0010($sp)
|
||||
/* 001E8 80B2D648 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 001EC 80B2D64C E7A60018 */ swc1 $f6, 0x0018($sp)
|
||||
/* 001F0 80B2D650 A6000260 */ sh $zero, 0x0260($s0) ## 00000260
|
||||
/* 001F4 80B2D654 860F0260 */ lh $t7, 0x0260($s0) ## 00000260
|
||||
/* 001F8 80B2D658 2418000A */ addiu $t8, $zero, 0x000A ## $t8 = 0000000A
|
||||
/* 001FC 80B2D65C 3C0580B3 */ lui $a1, %hi(func_80B2D68C) ## $a1 = 80B30000
|
||||
/* 00200 80B2D660 AE00021C */ sw $zero, 0x021C($s0) ## 0000021C
|
||||
/* 00204 80B2D664 AE180220 */ sw $t8, 0x0220($s0) ## 00000220
|
||||
/* 00208 80B2D668 24A5D68C */ addiu $a1, $a1, %lo(func_80B2D68C) ## $a1 = 80B2D68C
|
||||
/* 0020C 80B2D66C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00210 80B2D670 0C2CB518 */ jal func_80B2D460
|
||||
/* 00214 80B2D674 A60F025E */ sh $t7, 0x025E($s0) ## 0000025E
|
||||
/* 00218 80B2D678 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 0021C 80B2D67C 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00220 80B2D680 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00224 80B2D684 03E00008 */ jr $ra
|
||||
/* 00228 80B2D688 00000000 */ nop
|
|
@ -1,234 +0,0 @@
|
|||
glabel func_80B2D68C
|
||||
/* 0022C 80B2D68C 27BDFF90 */ addiu $sp, $sp, 0xFF90 ## $sp = FFFFFF90
|
||||
/* 00230 80B2D690 AFBF004C */ sw $ra, 0x004C($sp)
|
||||
/* 00234 80B2D694 AFB00048 */ sw $s0, 0x0048($sp)
|
||||
/* 00238 80B2D698 AFA50074 */ sw $a1, 0x0074($sp)
|
||||
/* 0023C 80B2D69C 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
|
||||
/* 00240 80B2D6A0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00244 80B2D6A4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00248 80B2D6A8 AFAF006C */ sw $t7, 0x006C($sp)
|
||||
/* 0024C 80B2D6AC 8482025E */ lh $v0, 0x025E($a0) ## 0000025E
|
||||
/* 00250 80B2D6B0 26040254 */ addiu $a0, $s0, 0x0254 ## $a0 = 00000254
|
||||
/* 00254 80B2D6B4 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
|
||||
/* 00258 80B2D6B8 10400006 */ beq $v0, $zero, .L80B2D6D4
|
||||
/* 0025C 80B2D6BC 240705DC */ addiu $a3, $zero, 0x05DC ## $a3 = 000005DC
|
||||
/* 00260 80B2D6C0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00264 80B2D6C4 10410070 */ beq $v0, $at, .L80B2D888
|
||||
/* 00268 80B2D6C8 2604025C */ addiu $a0, $s0, 0x025C ## $a0 = 0000025C
|
||||
/* 0026C 80B2D6CC 100000BE */ beq $zero, $zero, .L80B2D9C8
|
||||
/* 00270 80B2D6D0 8FBF004C */ lw $ra, 0x004C($sp)
|
||||
.L80B2D6D4:
|
||||
/* 00274 80B2D6D4 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 00278 80B2D6D8 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 0027C 80B2D6DC AFA40054 */ sw $a0, 0x0054($sp)
|
||||
/* 00280 80B2D6E0 8618008A */ lh $t8, 0x008A($s0) ## 0000008A
|
||||
/* 00284 80B2D6E4 8619025C */ lh $t9, 0x025C($s0) ## 0000025C
|
||||
/* 00288 80B2D6E8 860900B6 */ lh $t1, 0x00B6($s0) ## 000000B6
|
||||
/* 0028C 80B2D6EC 8FA5006C */ lw $a1, 0x006C($sp)
|
||||
/* 00290 80B2D6F0 03194023 */ subu $t0, $t8, $t9
|
||||
/* 00294 80B2D6F4 01091823 */ subu $v1, $t0, $t1
|
||||
/* 00298 80B2D6F8 00031C00 */ sll $v1, $v1, 16
|
||||
/* 0029C 80B2D6FC 00031C03 */ sra $v1, $v1, 16
|
||||
/* 002A0 80B2D700 A7A30066 */ sh $v1, 0x0066($sp)
|
||||
/* 002A4 80B2D704 26040224 */ addiu $a0, $s0, 0x0224 ## $a0 = 00000224
|
||||
/* 002A8 80B2D708 0C01E027 */ jal Math_Vec3f_Pitch
|
||||
|
||||
/* 002AC 80B2D70C 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024
|
||||
/* 002B0 80B2D710 00022C00 */ sll $a1, $v0, 16
|
||||
/* 002B4 80B2D714 28411B92 */ slti $at, $v0, 0x1B92
|
||||
/* 002B8 80B2D718 00052C03 */ sra $a1, $a1, 16
|
||||
/* 002BC 80B2D71C 14200002 */ bne $at, $zero, .L80B2D728
|
||||
/* 002C0 80B2D720 87A30066 */ lh $v1, 0x0066($sp)
|
||||
/* 002C4 80B2D724 24051B91 */ addiu $a1, $zero, 0x1B91 ## $a1 = 00001B91
|
||||
.L80B2D728:
|
||||
/* 002C8 80B2D728 C6000218 */ lwc1 $f0, 0x0218($s0) ## 00000218
|
||||
/* 002CC 80B2D72C C6020090 */ lwc1 $f2, 0x0090($s0) ## 00000090
|
||||
/* 002D0 80B2D730 4600103E */ c.le.s $f2, $f0
|
||||
/* 002D4 80B2D734 46020301 */ sub.s $f12, $f0, $f2
|
||||
/* 002D8 80B2D738 4502004D */ bc1fl .L80B2D870
|
||||
/* 002DC 80B2D73C 8608025C */ lh $t0, 0x025C($s0) ## 0000025C
|
||||
/* 002E0 80B2D740 04600003 */ bltz $v1, .L80B2D750
|
||||
/* 002E4 80B2D744 00031023 */ subu $v0, $zero, $v1
|
||||
/* 002E8 80B2D748 10000001 */ beq $zero, $zero, .L80B2D750
|
||||
/* 002EC 80B2D74C 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
|
||||
.L80B2D750:
|
||||
/* 002F0 80B2D750 28412711 */ slti $at, $v0, 0x2711
|
||||
/* 002F4 80B2D754 10200045 */ beq $at, $zero, .L80B2D86C
|
||||
/* 002F8 80B2D758 28A10E38 */ slti $at, $a1, 0x0E38
|
||||
/* 002FC 80B2D75C 14200043 */ bne $at, $zero, .L80B2D86C
|
||||
/* 00300 80B2D760 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
|
||||
/* 00304 80B2D764 44812000 */ mtc1 $at, $f4 ## $f4 = 80.00
|
||||
/* 00308 80B2D768 C6000094 */ lwc1 $f0, 0x0094($s0) ## 00000094
|
||||
/* 0030C 80B2D76C 3C01C320 */ lui $at, 0xC320 ## $at = C3200000
|
||||
/* 00310 80B2D770 4604003E */ c.le.s $f0, $f4
|
||||
/* 00314 80B2D774 00000000 */ nop
|
||||
/* 00318 80B2D778 4502003D */ bc1fl .L80B2D870
|
||||
/* 0031C 80B2D77C 8608025C */ lh $t0, 0x025C($s0) ## 0000025C
|
||||
/* 00320 80B2D780 44813000 */ mtc1 $at, $f6 ## $f6 = -160.00
|
||||
/* 00324 80B2D784 8FA40054 */ lw $a0, 0x0054($sp)
|
||||
/* 00328 80B2D788 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
|
||||
/* 0032C 80B2D78C 4600303E */ c.le.s $f6, $f0
|
||||
/* 00330 80B2D790 24070FA0 */ addiu $a3, $zero, 0x0FA0 ## $a3 = 00000FA0
|
||||
/* 00334 80B2D794 45020036 */ bc1fl .L80B2D870
|
||||
/* 00338 80B2D798 8608025C */ lh $t0, 0x025C($s0) ## 0000025C
|
||||
/* 0033C 80B2D79C AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 00340 80B2D7A0 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 00344 80B2D7A4 E7AC0068 */ swc1 $f12, 0x0068($sp)
|
||||
/* 00348 80B2D7A8 3C014334 */ lui $at, 0x4334 ## $at = 43340000
|
||||
/* 0034C 80B2D7AC C7AC0068 */ lwc1 $f12, 0x0068($sp)
|
||||
/* 00350 80B2D7B0 44814000 */ mtc1 $at, $f8 ## $f8 = 180.00
|
||||
/* 00354 80B2D7B4 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 00358 80B2D7B8 2604025C */ addiu $a0, $s0, 0x025C ## $a0 = 0000025C
|
||||
/* 0035C 80B2D7BC 46086282 */ mul.s $f10, $f12, $f8
|
||||
/* 00360 80B2D7C0 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
|
||||
/* 00364 80B2D7C4 4600540D */ trunc.w.s $f16, $f10
|
||||
/* 00368 80B2D7C8 44038000 */ mfc1 $v1, $f16
|
||||
/* 0036C 80B2D7CC 00000000 */ nop
|
||||
/* 00370 80B2D7D0 00031C00 */ sll $v1, $v1, 16
|
||||
/* 00374 80B2D7D4 00031C03 */ sra $v1, $v1, 16
|
||||
/* 00378 80B2D7D8 04600003 */ bltz $v1, .L80B2D7E8
|
||||
/* 0037C 80B2D7DC 00031023 */ subu $v0, $zero, $v1
|
||||
/* 00380 80B2D7E0 10000001 */ beq $zero, $zero, .L80B2D7E8
|
||||
/* 00384 80B2D7E4 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
|
||||
.L80B2D7E8:
|
||||
/* 00388 80B2D7E8 0041001A */ div $zero, $v0, $at
|
||||
/* 0038C 80B2D7EC 860B008A */ lh $t3, 0x008A($s0) ## 0000008A
|
||||
/* 00390 80B2D7F0 860C00B6 */ lh $t4, 0x00B6($s0) ## 000000B6
|
||||
/* 00394 80B2D7F4 00003812 */ mflo $a3
|
||||
/* 00398 80B2D7F8 24E70FA0 */ addiu $a3, $a3, 0x0FA0 ## $a3 = 00000FA0
|
||||
/* 0039C 80B2D7FC 016C2823 */ subu $a1, $t3, $t4
|
||||
/* 003A0 80B2D800 00052C00 */ sll $a1, $a1, 16
|
||||
/* 003A4 80B2D804 00073C00 */ sll $a3, $a3, 16
|
||||
/* 003A8 80B2D808 00073C03 */ sra $a3, $a3, 16
|
||||
/* 003AC 80B2D80C 00052C03 */ sra $a1, $a1, 16
|
||||
/* 003B0 80B2D810 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 003B4 80B2D814 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 003B8 80B2D818 28411555 */ slti $at, $v0, 0x1555
|
||||
/* 003BC 80B2D81C 10200016 */ beq $at, $zero, .L80B2D878
|
||||
/* 003C0 80B2D820 00000000 */ nop
|
||||
/* 003C4 80B2D824 8E0D0220 */ lw $t5, 0x0220($s0) ## 00000220
|
||||
/* 003C8 80B2D828 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 003CC 80B2D82C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 003D0 80B2D830 25AEFFFF */ addiu $t6, $t5, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 003D4 80B2D834 15C00010 */ bne $t6, $zero, .L80B2D878
|
||||
/* 003D8 80B2D838 AE0E0220 */ sw $t6, 0x0220($s0) ## 00000220
|
||||
/* 003DC 80B2D83C 8618025E */ lh $t8, 0x025E($s0) ## 0000025E
|
||||
/* 003E0 80B2D840 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 003E4 80B2D844 44819000 */ mtc1 $at, $f18 ## $f18 = 2.00
|
||||
/* 003E8 80B2D848 27190001 */ addiu $t9, $t8, 0x0001 ## $t9 = 00000001
|
||||
/* 003EC 80B2D84C A619025E */ sh $t9, 0x025E($s0) ## 0000025E
|
||||
/* 003F0 80B2D850 24053973 */ addiu $a1, $zero, 0x3973 ## $a1 = 00003973
|
||||
/* 003F4 80B2D854 E6000164 */ swc1 $f0, 0x0164($s0) ## 00000164
|
||||
/* 003F8 80B2D858 E6000158 */ swc1 $f0, 0x0158($s0) ## 00000158
|
||||
/* 003FC 80B2D85C 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00400 80B2D860 E6120168 */ swc1 $f18, 0x0168($s0) ## 00000168
|
||||
/* 00404 80B2D864 10000004 */ beq $zero, $zero, .L80B2D878
|
||||
/* 00408 80B2D868 00000000 */ nop
|
||||
.L80B2D86C:
|
||||
/* 0040C 80B2D86C 8608025C */ lh $t0, 0x025C($s0) ## 0000025C
|
||||
.L80B2D870:
|
||||
/* 00410 80B2D870 2509FE0C */ addiu $t1, $t0, 0xFE0C ## $t1 = FFFFFE0C
|
||||
/* 00414 80B2D874 A609025C */ sh $t1, 0x025C($s0) ## 0000025C
|
||||
.L80B2D878:
|
||||
/* 00418 80B2D878 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 0041C 80B2D87C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 00420 80B2D880 10000051 */ beq $zero, $zero, .L80B2D9C8
|
||||
/* 00424 80B2D884 8FBF004C */ lw $ra, 0x004C($sp)
|
||||
.L80B2D888:
|
||||
/* 00428 80B2D888 860A008A */ lh $t2, 0x008A($s0) ## 0000008A
|
||||
/* 0042C 80B2D88C 860B00B6 */ lh $t3, 0x00B6($s0) ## 000000B6
|
||||
/* 00430 80B2D890 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 00434 80B2D894 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
|
||||
/* 00438 80B2D898 014B2823 */ subu $a1, $t2, $t3
|
||||
/* 0043C 80B2D89C 00052C00 */ sll $a1, $a1, 16
|
||||
/* 00440 80B2D8A0 00052C03 */ sra $a1, $a1, 16
|
||||
/* 00444 80B2D8A4 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 00448 80B2D8A8 24071F40 */ addiu $a3, $zero, 0x1F40 ## $a3 = 00001F40
|
||||
/* 0044C 80B2D8AC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 00450 80B2D8B0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 00454 80B2D8B4 50400007 */ beql $v0, $zero, .L80B2D8D4
|
||||
/* 00458 80B2D8B8 860E0260 */ lh $t6, 0x0260($s0) ## 00000260
|
||||
/* 0045C 80B2D8BC 860C0260 */ lh $t4, 0x0260($s0) ## 00000260
|
||||
/* 00460 80B2D8C0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00464 80B2D8C4 258D0001 */ addiu $t5, $t4, 0x0001 ## $t5 = 00000001
|
||||
/* 00468 80B2D8C8 A60D0260 */ sh $t5, 0x0260($s0) ## 00000260
|
||||
/* 0046C 80B2D8CC E6000164 */ swc1 $f0, 0x0164($s0) ## 00000164
|
||||
/* 00470 80B2D8D0 860E0260 */ lh $t6, 0x0260($s0) ## 00000260
|
||||
.L80B2D8D4:
|
||||
/* 00474 80B2D8D4 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00478 80B2D8D8 55C1003B */ bnel $t6, $at, .L80B2D9C8
|
||||
/* 0047C 80B2D8DC 8FBF004C */ lw $ra, 0x004C($sp)
|
||||
/* 00480 80B2D8E0 860F008A */ lh $t7, 0x008A($s0) ## 0000008A
|
||||
/* 00484 80B2D8E4 26040224 */ addiu $a0, $s0, 0x0224 ## $a0 = 00000224
|
||||
/* 00488 80B2D8E8 A60F0256 */ sh $t7, 0x0256($s0) ## 00000256
|
||||
/* 0048C 80B2D8EC 8FA5006C */ lw $a1, 0x006C($sp)
|
||||
/* 00490 80B2D8F0 0C01E027 */ jal Math_Vec3f_Pitch
|
||||
|
||||
/* 00494 80B2D8F4 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024
|
||||
/* 00498 80B2D8F8 A6020254 */ sh $v0, 0x0254($s0) ## 00000254
|
||||
/* 0049C 80B2D8FC 86030254 */ lh $v1, 0x0254($s0) ## 00000254
|
||||
/* 004A0 80B2D900 3C0680B3 */ lui $a2, %hi(D_80B2EAEC) ## $a2 = 80B30000
|
||||
/* 004A4 80B2D904 24181B91 */ addiu $t8, $zero, 0x1B91 ## $t8 = 00001B91
|
||||
/* 004A8 80B2D908 28611B92 */ slti $at, $v1, 0x1B92
|
||||
/* 004AC 80B2D90C 14200003 */ bne $at, $zero, .L80B2D91C
|
||||
/* 004B0 80B2D910 24C6EAEC */ addiu $a2, $a2, %lo(D_80B2EAEC) ## $a2 = 80B2EAEC
|
||||
/* 004B4 80B2D914 A6180254 */ sh $t8, 0x0254($s0) ## 00000254
|
||||
/* 004B8 80B2D918 86030254 */ lh $v1, 0x0254($s0) ## 00000254
|
||||
.L80B2D91C:
|
||||
/* 004BC 80B2D91C 28610AAA */ slti $at, $v1, 0x0AAA
|
||||
/* 004C0 80B2D920 1020000D */ beq $at, $zero, .L80B2D958
|
||||
/* 004C4 80B2D924 26050230 */ addiu $a1, $s0, 0x0230 ## $a1 = 00000230
|
||||
/* 004C8 80B2D928 C600015C */ lwc1 $f0, 0x015C($s0) ## 0000015C
|
||||
/* 004CC 80B2D92C A6000260 */ sh $zero, 0x0260($s0) ## 00000260
|
||||
/* 004D0 80B2D930 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 004D4 80B2D934 86190260 */ lh $t9, 0x0260($s0) ## 00000260
|
||||
/* 004D8 80B2D938 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
|
||||
/* 004DC 80B2D93C 2408000A */ addiu $t0, $zero, 0x000A ## $t0 = 0000000A
|
||||
/* 004E0 80B2D940 AE080220 */ sw $t0, 0x0220($s0) ## 00000220
|
||||
/* 004E4 80B2D944 E6000164 */ swc1 $f0, 0x0164($s0) ## 00000164
|
||||
/* 004E8 80B2D948 E6000158 */ swc1 $f0, 0x0158($s0) ## 00000158
|
||||
/* 004EC 80B2D94C A619025E */ sh $t9, 0x025E($s0) ## 0000025E
|
||||
/* 004F0 80B2D950 1000001C */ beq $zero, $zero, .L80B2D9C4
|
||||
/* 004F4 80B2D954 E6040168 */ swc1 $f4, 0x0168($s0) ## 00000168
|
||||
.L80B2D958:
|
||||
/* 004F8 80B2D958 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
|
||||
/* 004FC 80B2D95C 44813000 */ mtc1 $at, $f6 ## $f6 = 6.00
|
||||
/* 00500 80B2D960 24090096 */ addiu $t1, $zero, 0x0096 ## $t1 = 00000096
|
||||
/* 00504 80B2D964 240AFFE7 */ addiu $t2, $zero, 0xFFE7 ## $t2 = FFFFFFE7
|
||||
/* 00508 80B2D968 E6060164 */ swc1 $f6, 0x0164($s0) ## 00000164
|
||||
/* 0050C 80B2D96C 240B00FF */ addiu $t3, $zero, 0x00FF ## $t3 = 000000FF
|
||||
/* 00510 80B2D970 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF
|
||||
/* 00514 80B2D974 240D00FF */ addiu $t5, $zero, 0x00FF ## $t5 = 000000FF
|
||||
/* 00518 80B2D978 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
|
||||
/* 0051C 80B2D97C 240F0010 */ addiu $t7, $zero, 0x0010 ## $t7 = 00000010
|
||||
/* 00520 80B2D980 24180014 */ addiu $t8, $zero, 0x0014 ## $t8 = 00000014
|
||||
/* 00524 80B2D984 AFB80038 */ sw $t8, 0x0038($sp)
|
||||
/* 00528 80B2D988 AFAF0034 */ sw $t7, 0x0034($sp)
|
||||
/* 0052C 80B2D98C AFAE0030 */ sw $t6, 0x0030($sp)
|
||||
/* 00530 80B2D990 AFAD002C */ sw $t5, 0x002C($sp)
|
||||
/* 00534 80B2D994 AFAC0028 */ sw $t4, 0x0028($sp)
|
||||
/* 00538 80B2D998 AFAB0020 */ sw $t3, 0x0020($sp)
|
||||
/* 0053C 80B2D99C AFA00024 */ sw $zero, 0x0024($sp)
|
||||
/* 00540 80B2D9A0 AFA0001C */ sw $zero, 0x001C($sp)
|
||||
/* 00544 80B2D9A4 AFA00018 */ sw $zero, 0x0018($sp)
|
||||
/* 00548 80B2D9A8 AFAA0014 */ sw $t2, 0x0014($sp)
|
||||
/* 0054C 80B2D9AC AFA90010 */ sw $t1, 0x0010($sp)
|
||||
/* 00550 80B2D9B0 8FA40074 */ lw $a0, 0x0074($sp)
|
||||
/* 00554 80B2D9B4 0C00A9DC */ jal EffectSsDeadDd_Spawn
|
||||
/* 00558 80B2D9B8 00C03825 */ or $a3, $a2, $zero ## $a3 = 80B2EAEC
|
||||
/* 0055C 80B2D9BC 0C2CB676 */ jal func_80B2D9D8
|
||||
/* 00560 80B2D9C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L80B2D9C4:
|
||||
/* 00564 80B2D9C4 8FBF004C */ lw $ra, 0x004C($sp)
|
||||
.L80B2D9C8:
|
||||
/* 00568 80B2D9C8 8FB00048 */ lw $s0, 0x0048($sp)
|
||||
/* 0056C 80B2D9CC 27BD0070 */ addiu $sp, $sp, 0x0070 ## $sp = 00000000
|
||||
/* 00570 80B2D9D0 03E00008 */ jr $ra
|
||||
/* 00574 80B2D9D4 00000000 */ nop
|
|
@ -1,48 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80B2EC0C
|
||||
.float 0.6
|
||||
|
||||
.text
|
||||
glabel func_80B2D9D8
|
||||
/* 00578 80B2D9D8 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 0057C 80B2D9DC 44810000 */ mtc1 $at, $f0 ## $f0 = 3.00
|
||||
/* 00580 80B2D9E0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00584 80B2D9E4 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
|
||||
/* 00588 80B2D9E8 44812000 */ mtc1 $at, $f4 ## $f4 = 7.00
|
||||
/* 0058C 80B2D9EC 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
/* 00590 80B2D9F0 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00594 80B2D9F4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00598 80B2D9F8 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 0059C 80B2D9FC 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 005A0 80B2DA00 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
|
||||
/* 005A4 80B2DA04 44060000 */ mfc1 $a2, $f0
|
||||
/* 005A8 80B2DA08 44070000 */ mfc1 $a3, $f0
|
||||
/* 005AC 80B2DA0C AFAE0014 */ sw $t6, 0x0014($sp)
|
||||
/* 005B0 80B2DA10 24A50068 */ addiu $a1, $a1, 0x0068 ## $a1 = 06000068
|
||||
/* 005B4 80B2DA14 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 005B8 80B2DA18 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 005BC 80B2DA1C 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 005C0 80B2DA20 E7A60018 */ swc1 $f6, 0x0018($sp)
|
||||
/* 005C4 80B2DA24 240F0131 */ addiu $t7, $zero, 0x0131 ## $t7 = 00000131
|
||||
/* 005C8 80B2DA28 AE0F0220 */ sw $t7, 0x0220($s0) ## 00000220
|
||||
/* 005CC 80B2DA2C 3C0180B3 */ lui $at, %hi(D_80B2EC0C) ## $at = 80B30000
|
||||
/* 005D0 80B2DA30 C428EC0C */ lwc1 $f8, %lo(D_80B2EC0C)($at)
|
||||
/* 005D4 80B2DA34 921902C4 */ lbu $t9, 0x02C4($s0) ## 000002C4
|
||||
/* 005D8 80B2DA38 3C014220 */ lui $at, 0x4220 ## $at = 42200000
|
||||
/* 005DC 80B2DA3C 44815000 */ mtc1 $at, $f10 ## $f10 = 40.00
|
||||
/* 005E0 80B2DA40 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
|
||||
/* 005E4 80B2DA44 3C0580B3 */ lui $a1, %hi(func_80B2DA7C) ## $a1 = 80B30000
|
||||
/* 005E8 80B2DA48 3328FFFD */ andi $t0, $t9, 0xFFFD ## $t0 = 00000000
|
||||
/* 005EC 80B2DA4C AE18021C */ sw $t8, 0x021C($s0) ## 0000021C
|
||||
/* 005F0 80B2DA50 A20802C4 */ sb $t0, 0x02C4($s0) ## 000002C4
|
||||
/* 005F4 80B2DA54 24A5DA7C */ addiu $a1, $a1, %lo(func_80B2DA7C) ## $a1 = 80B2DA7C
|
||||
/* 005F8 80B2DA58 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 005FC 80B2DA5C E6080248 */ swc1 $f8, 0x0248($s0) ## 00000248
|
||||
/* 00600 80B2DA60 0C2CB518 */ jal func_80B2D460
|
||||
/* 00604 80B2DA64 E60A0264 */ swc1 $f10, 0x0264($s0) ## 00000264
|
||||
/* 00608 80B2DA68 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 0060C 80B2DA6C 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00610 80B2DA70 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00614 80B2DA74 03E00008 */ jr $ra
|
||||
/* 00618 80B2DA78 00000000 */ nop
|
|
@ -1,177 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80B2EC10
|
||||
.float 0.1
|
||||
|
||||
glabel D_80B2EC14
|
||||
.float 0.1
|
||||
|
||||
.text
|
||||
glabel func_80B2DA7C
|
||||
/* 0061C 80B2DA7C 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 00620 80B2DA80 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00624 80B2DA84 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00628 80B2DA88 AFA50054 */ sw $a1, 0x0054($sp)
|
||||
/* 0062C 80B2DA8C 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 00630 80B2DA90 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00634 80B2DA94 24840224 */ addiu $a0, $a0, 0x0224 ## $a0 = 00000224
|
||||
/* 00638 80B2DA98 24450024 */ addiu $a1, $v0, 0x0024 ## $a1 = 00000024
|
||||
/* 0063C 80B2DA9C AFA50030 */ sw $a1, 0x0030($sp)
|
||||
/* 00640 80B2DAA0 AFA40034 */ sw $a0, 0x0034($sp)
|
||||
/* 00644 80B2DAA4 0C01E027 */ jal Math_Vec3f_Pitch
|
||||
|
||||
/* 00648 80B2DAA8 AFA2004C */ sw $v0, 0x004C($sp)
|
||||
/* 0064C 80B2DAAC 00021C00 */ sll $v1, $v0, 16
|
||||
/* 00650 80B2DAB0 28411B92 */ slti $at, $v0, 0x1B92
|
||||
/* 00654 80B2DAB4 14200002 */ bne $at, $zero, .L80B2DAC0
|
||||
/* 00658 80B2DAB8 00031C03 */ sra $v1, $v1, 16
|
||||
/* 0065C 80B2DABC 24031B91 */ addiu $v1, $zero, 0x1B91 ## $v1 = 00001B91
|
||||
.L80B2DAC0:
|
||||
/* 00660 80B2DAC0 920202C4 */ lbu $v0, 0x02C4($s0) ## 000002C4
|
||||
/* 00664 80B2DAC4 3C0180B3 */ lui $at, %hi(D_80B2EC10) ## $at = 80B30000
|
||||
/* 00668 80B2DAC8 26040248 */ addiu $a0, $s0, 0x0248 ## $a0 = 00000248
|
||||
/* 0066C 80B2DACC 304F0002 */ andi $t7, $v0, 0x0002 ## $t7 = 00000000
|
||||
/* 00670 80B2DAD0 11E0000C */ beq $t7, $zero, .L80B2DB04
|
||||
/* 00674 80B2DAD4 3058FFFD */ andi $t8, $v0, 0xFFFD ## $t8 = 00000000
|
||||
/* 00678 80B2DAD8 A21802C4 */ sb $t8, 0x02C4($s0) ## 000002C4
|
||||
/* 0067C 80B2DADC AE000220 */ sw $zero, 0x0220($s0) ## 00000220
|
||||
/* 00680 80B2DAE0 C424EC10 */ lwc1 $f4, %lo(D_80B2EC10)($at)
|
||||
/* 00684 80B2DAE4 C6060248 */ lwc1 $f6, 0x0248($s0) ## 00000248
|
||||
/* 00688 80B2DAE8 3C0180B3 */ lui $at, %hi(D_80B2EC14) ## $at = 80B30000
|
||||
/* 0068C 80B2DAEC 4606203C */ c.lt.s $f4, $f6
|
||||
/* 00690 80B2DAF0 00000000 */ nop
|
||||
/* 00694 80B2DAF4 45020004 */ bc1fl .L80B2DB08
|
||||
/* 00698 80B2DAF8 86190254 */ lh $t9, 0x0254($s0) ## 00000254
|
||||
/* 0069C 80B2DAFC C428EC14 */ lwc1 $f8, %lo(D_80B2EC14)($at)
|
||||
/* 006A0 80B2DB00 E6080248 */ swc1 $f8, 0x0248($s0) ## 00000248
|
||||
.L80B2DB04:
|
||||
/* 006A4 80B2DB04 86190254 */ lh $t9, 0x0254($s0) ## 00000254
|
||||
.L80B2DB08:
|
||||
/* 006A8 80B2DB08 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 006AC 80B2DB0C 2B210AAA */ slti $at, $t9, 0x0AAA
|
||||
/* 006B0 80B2DB10 54200005 */ bnel $at, $zero, .L80B2DB28
|
||||
/* 006B4 80B2DB14 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 006B8 80B2DB18 8E020220 */ lw $v0, 0x0220($s0) ## 00000220
|
||||
/* 006BC 80B2DB1C 14400014 */ bne $v0, $zero, .L80B2DB70
|
||||
/* 006C0 80B2DB20 2448FFFF */ addiu $t0, $v0, 0xFFFF ## $t0 = FFFFFFFF
|
||||
/* 006C4 80B2DB24 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
.L80B2DB28:
|
||||
/* 006C8 80B2DB28 3C073CF5 */ lui $a3, 0x3CF5 ## $a3 = 3CF50000
|
||||
/* 006CC 80B2DB2C 34E7C28F */ ori $a3, $a3, 0xC28F ## $a3 = 3CF5C28F
|
||||
/* 006D0 80B2DB30 44051000 */ mfc1 $a1, $f2
|
||||
/* 006D4 80B2DB34 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
|
||||
|
||||
/* 006D8 80B2DB38 E7A20010 */ swc1 $f2, 0x0010($sp)
|
||||
/* 006DC 80B2DB3C 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 006E0 80B2DB40 C60A0248 */ lwc1 $f10, 0x0248($s0) ## 00000248
|
||||
/* 006E4 80B2DB44 A6000260 */ sh $zero, 0x0260($s0) ## 00000260
|
||||
/* 006E8 80B2DB48 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 006EC 80B2DB4C 460A1032 */ c.eq.s $f2, $f10
|
||||
/* 006F0 80B2DB50 00000000 */ nop
|
||||
/* 006F4 80B2DB54 45000051 */ bc1f .L80B2DC9C
|
||||
/* 006F8 80B2DB58 00000000 */ nop
|
||||
/* 006FC 80B2DB5C E6020250 */ swc1 $f2, 0x0250($s0) ## 00000250
|
||||
/* 00700 80B2DB60 0C2CB580 */ jal func_80B2D600
|
||||
/* 00704 80B2DB64 E602024C */ swc1 $f2, 0x024C($s0) ## 0000024C
|
||||
/* 00708 80B2DB68 1000004C */ beq $zero, $zero, .L80B2DC9C
|
||||
/* 0070C 80B2DB6C 00000000 */ nop
|
||||
.L80B2DB70:
|
||||
/* 00710 80B2DB70 2901012D */ slti $at, $t0, 0x012D
|
||||
/* 00714 80B2DB74 1020004F */ beq $at, $zero, .L80B2DCB4
|
||||
/* 00718 80B2DB78 AE080220 */ sw $t0, 0x0220($s0) ## 00000220
|
||||
/* 0071C 80B2DB7C 860A008A */ lh $t2, 0x008A($s0) ## 0000008A
|
||||
/* 00720 80B2DB80 860B00B6 */ lh $t3, 0x00B6($s0) ## 000000B6
|
||||
/* 00724 80B2DB84 A7A3004A */ sh $v1, 0x004A($sp)
|
||||
/* 00728 80B2DB88 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 0072C 80B2DB8C 014B2823 */ subu $a1, $t2, $t3
|
||||
/* 00730 80B2DB90 00052C00 */ sll $a1, $a1, 16
|
||||
/* 00734 80B2DB94 00052C03 */ sra $a1, $a1, 16
|
||||
/* 00738 80B2DB98 2604025C */ addiu $a0, $s0, 0x025C ## $a0 = 0000025C
|
||||
/* 0073C 80B2DB9C 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
|
||||
/* 00740 80B2DBA0 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 00744 80B2DBA4 24070DAC */ addiu $a3, $zero, 0x0DAC ## $a3 = 00000DAC
|
||||
/* 00748 80B2DBA8 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
|
||||
/* 0074C 80B2DBAC AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 00750 80B2DBB0 26040256 */ addiu $a0, $s0, 0x0256 ## $a0 = 00000256
|
||||
/* 00754 80B2DBB4 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
|
||||
/* 00758 80B2DBB8 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 0075C 80B2DBBC 24070DAC */ addiu $a3, $zero, 0x0DAC ## $a3 = 00000DAC
|
||||
/* 00760 80B2DBC0 26040254 */ addiu $a0, $s0, 0x0254 ## $a0 = 00000254
|
||||
/* 00764 80B2DBC4 87A5004A */ lh $a1, 0x004A($sp)
|
||||
/* 00768 80B2DBC8 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
|
||||
/* 0076C 80B2DBCC 24070DAC */ addiu $a3, $zero, 0x0DAC ## $a3 = 00000DAC
|
||||
/* 00770 80B2DBD0 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 00774 80B2DBD4 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 00778 80B2DBD8 8FAC0030 */ lw $t4, 0x0030($sp)
|
||||
/* 0077C 80B2DBDC 27A50038 */ addiu $a1, $sp, 0x0038 ## $a1 = FFFFFFE8
|
||||
/* 00780 80B2DBE0 3C01C6FA */ lui $at, 0xC6FA ## $at = C6FA0000
|
||||
/* 00784 80B2DBE4 8D8E0000 */ lw $t6, 0x0000($t4) ## 00000000
|
||||
/* 00788 80B2DBE8 44818000 */ mtc1 $at, $f16 ## $f16 = -32000.00
|
||||
/* 0078C 80B2DBEC ACAE0000 */ sw $t6, 0x0000($a1) ## FFFFFFE8
|
||||
/* 00790 80B2DBF0 8D8D0004 */ lw $t5, 0x0004($t4) ## 00000004
|
||||
/* 00794 80B2DBF4 ACAD0004 */ sw $t5, 0x0004($a1) ## FFFFFFEC
|
||||
/* 00798 80B2DBF8 8D8E0008 */ lw $t6, 0x0008($t4) ## 00000008
|
||||
/* 0079C 80B2DBFC ACAE0008 */ sw $t6, 0x0008($a1) ## FFFFFFF0
|
||||
/* 007A0 80B2DC00 8FAF004C */ lw $t7, 0x004C($sp)
|
||||
/* 007A4 80B2DC04 C5E00080 */ lwc1 $f0, 0x0080($t7) ## 00000080
|
||||
/* 007A8 80B2DC08 4600803C */ c.lt.s $f16, $f0
|
||||
/* 007AC 80B2DC0C 00000000 */ nop
|
||||
/* 007B0 80B2DC10 45000002 */ bc1f .L80B2DC1C
|
||||
/* 007B4 80B2DC14 00000000 */ nop
|
||||
/* 007B8 80B2DC18 E7A0003C */ swc1 $f0, 0x003C($sp)
|
||||
.L80B2DC1C:
|
||||
/* 007BC 80B2DC1C 0C01DFE4 */ jal Math_Vec3f_DistXYZ
|
||||
|
||||
/* 007C0 80B2DC20 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 007C4 80B2DC24 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 007C8 80B2DC28 44050000 */ mfc1 $a1, $f0
|
||||
/* 007CC 80B2DC2C 8E070264 */ lw $a3, 0x0264($s0) ## 00000264
|
||||
/* 007D0 80B2DC30 26040250 */ addiu $a0, $s0, 0x0250 ## $a0 = 00000250
|
||||
/* 007D4 80B2DC34 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 007D8 80B2DC38 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
|
||||
|
||||
/* 007DC 80B2DC3C E7A20010 */ swc1 $f2, 0x0010($sp)
|
||||
/* 007E0 80B2DC40 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 007E4 80B2DC44 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000
|
||||
/* 007E8 80B2DC48 3C073DF5 */ lui $a3, 0x3DF5 ## $a3 = 3DF50000
|
||||
/* 007EC 80B2DC4C 34E7C28F */ ori $a3, $a3, 0xC28F ## $a3 = 3DF5C28F
|
||||
/* 007F0 80B2DC50 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3DCCCCCD
|
||||
/* 007F4 80B2DC54 26040248 */ addiu $a0, $s0, 0x0248 ## $a0 = 00000248
|
||||
/* 007F8 80B2DC58 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 007FC 80B2DC5C 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
|
||||
|
||||
/* 00800 80B2DC60 E7A20010 */ swc1 $f2, 0x0010($sp)
|
||||
/* 00804 80B2DC64 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00808 80B2DC68 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 0080C 80B2DC6C 24053171 */ addiu $a1, $zero, 0x3171 ## $a1 = 00003171
|
||||
/* 00810 80B2DC70 86180260 */ lh $t8, 0x0260($s0) ## 00000260
|
||||
/* 00814 80B2DC74 8FA40054 */ lw $a0, 0x0054($sp)
|
||||
/* 00818 80B2DC78 260602B4 */ addiu $a2, $s0, 0x02B4 ## $a2 = 000002B4
|
||||
/* 0081C 80B2DC7C 2B010003 */ slti $at, $t8, 0x0003
|
||||
/* 00820 80B2DC80 14200004 */ bne $at, $zero, .L80B2DC94
|
||||
/* 00824 80B2DC84 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00828 80B2DC88 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 0082C 80B2DC8C 0C0175E7 */ jal CollisionCheck_SetAT
|
||||
## CollisionCheck_setAT
|
||||
/* 00830 80B2DC90 00812821 */ addu $a1, $a0, $at
|
||||
.L80B2DC94:
|
||||
/* 00834 80B2DC94 24190003 */ addiu $t9, $zero, 0x0003 ## $t9 = 00000003
|
||||
/* 00838 80B2DC98 A6190260 */ sh $t9, 0x0260($s0) ## 00000260
|
||||
.L80B2DC9C:
|
||||
/* 0083C 80B2DC9C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 00840 80B2DCA0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 00844 80B2DCA4 50400004 */ beql $v0, $zero, .L80B2DCB8
|
||||
/* 00848 80B2DCA8 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 0084C 80B2DCAC C6120158 */ lwc1 $f18, 0x0158($s0) ## 00000158
|
||||
/* 00850 80B2DCB0 E6120164 */ swc1 $f18, 0x0164($s0) ## 00000164
|
||||
.L80B2DCB4:
|
||||
/* 00854 80B2DCB4 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80B2DCB8:
|
||||
/* 00858 80B2DCB8 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 0085C 80B2DCBC 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
||||
/* 00860 80B2DCC0 03E00008 */ jr $ra
|
||||
/* 00864 80B2DCC4 00000000 */ nop
|
|
@ -1,46 +0,0 @@
|
|||
glabel func_80B2DCC8
|
||||
/* 00868 80B2DCC8 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 0086C 80B2DCCC AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00870 80B2DCD0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00874 80B2DCD4 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00878 80B2DCD8 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 0087C 80B2DCDC 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 00880 80B2DCE0 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 06000068
|
||||
/* 00884 80B2DCE4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 00888 80B2DCE8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 0088C 80B2DCEC 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00890 80B2DCF0 46802120 */ cvt.s.w $f4, $f4
|
||||
/* 00894 80B2DCF4 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
|
||||
/* 00898 80B2DCF8 AFAE0014 */ sw $t6, 0x0014($sp)
|
||||
/* 0089C 80B2DCFC 24A50068 */ addiu $a1, $a1, 0x0068 ## $a1 = 06000068
|
||||
/* 008A0 80B2DD00 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 008A4 80B2DD04 3C06BF80 */ lui $a2, 0xBF80 ## $a2 = BF800000
|
||||
/* 008A8 80B2DD08 44072000 */ mfc1 $a3, $f4
|
||||
/* 008AC 80B2DD0C E7A00010 */ swc1 $f0, 0x0010($sp)
|
||||
/* 008B0 80B2DD10 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 008B4 80B2DD14 E7A00018 */ swc1 $f0, 0x0018($sp)
|
||||
/* 008B8 80B2DD18 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 008BC 80B2DD1C A6000260 */ sh $zero, 0x0260($s0) ## 00000260
|
||||
/* 008C0 80B2DD20 86180260 */ lh $t8, 0x0260($s0) ## 00000260
|
||||
/* 008C4 80B2DD24 240F00B4 */ addiu $t7, $zero, 0x00B4 ## $t7 = 000000B4
|
||||
/* 008C8 80B2DD28 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002
|
||||
/* 008CC 80B2DD2C AE0F0220 */ sw $t7, 0x0220($s0) ## 00000220
|
||||
/* 008D0 80B2DD30 AE19021C */ sw $t9, 0x021C($s0) ## 0000021C
|
||||
/* 008D4 80B2DD34 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 008D8 80B2DD38 2405389E */ addiu $a1, $zero, 0x389E ## $a1 = 0000389E
|
||||
/* 008DC 80B2DD3C E6000250 */ swc1 $f0, 0x0250($s0) ## 00000250
|
||||
/* 008E0 80B2DD40 E600024C */ swc1 $f0, 0x024C($s0) ## 0000024C
|
||||
/* 008E4 80B2DD44 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 008E8 80B2DD48 A618025E */ sh $t8, 0x025E($s0) ## 0000025E
|
||||
/* 008EC 80B2DD4C 3C0580B3 */ lui $a1, %hi(func_80B2DD70) ## $a1 = 80B30000
|
||||
/* 008F0 80B2DD50 24A5DD70 */ addiu $a1, $a1, %lo(func_80B2DD70) ## $a1 = 80B2DD70
|
||||
/* 008F4 80B2DD54 0C2CB518 */ jal func_80B2D460
|
||||
/* 008F8 80B2DD58 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 008FC 80B2DD5C 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00900 80B2DD60 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00904 80B2DD64 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00908 80B2DD68 03E00008 */ jr $ra
|
||||
/* 0090C 80B2DD6C 00000000 */ nop
|
|
@ -1,78 +0,0 @@
|
|||
glabel func_80B2DD70
|
||||
/* 00910 80B2DD70 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00914 80B2DD74 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00918 80B2DD78 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 0091C 80B2DD7C AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 00920 80B2DD80 8C8E0220 */ lw $t6, 0x0220($a0) ## 00000220
|
||||
/* 00924 80B2DD84 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00928 80B2DD88 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 0092C 80B2DD8C 15C0002D */ bne $t6, $zero, .L80B2DE44
|
||||
/* 00930 80B2DD90 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
|
||||
/* 00934 80B2DD94 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 00938 80B2DD98 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 0093C 80B2DD9C AFA40030 */ sw $a0, 0x0030($sp)
|
||||
/* 00940 80B2DDA0 50400032 */ beql $v0, $zero, .L80B2DE6C
|
||||
/* 00944 80B2DDA4 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00948 80B2DDA8 860F025E */ lh $t7, 0x025E($s0) ## 0000025E
|
||||
/* 0094C 80B2DDAC 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 00950 80B2DDB0 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
|
||||
/* 00954 80B2DDB4 A618025E */ sh $t8, 0x025E($s0) ## 0000025E
|
||||
/* 00958 80B2DDB8 8602025E */ lh $v0, 0x025E($s0) ## 0000025E
|
||||
/* 0095C 80B2DDBC 54410006 */ bnel $v0, $at, .L80B2DDD8
|
||||
/* 00960 80B2DDC0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00964 80B2DDC4 0C2CB580 */ jal func_80B2D600
|
||||
/* 00968 80B2DDC8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0096C 80B2DDCC 10000027 */ beq $zero, $zero, .L80B2DE6C
|
||||
/* 00970 80B2DDD0 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00974 80B2DDD4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
.L80B2DDD8:
|
||||
/* 00978 80B2DDD8 14410013 */ bne $v0, $at, .L80B2DE28
|
||||
/* 0097C 80B2DDDC 2408000A */ addiu $t0, $zero, 0x000A ## $t0 = 0000000A
|
||||
/* 00980 80B2DDE0 3C100600 */ lui $s0, 0x0600 ## $s0 = 06000000
|
||||
/* 00984 80B2DDE4 26100068 */ addiu $s0, $s0, 0x0068 ## $s0 = 06000068
|
||||
/* 00988 80B2DDE8 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 0098C 80B2DDEC 02002025 */ or $a0, $s0, $zero ## $a0 = 06000068
|
||||
/* 00990 80B2DDF0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 00994 80B2DDF4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00998 80B2DDF8 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002
|
||||
/* 0099C 80B2DDFC 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 009A0 80B2DE00 44070000 */ mfc1 $a3, $f0
|
||||
/* 009A4 80B2DE04 AFB90014 */ sw $t9, 0x0014($sp)
|
||||
/* 009A8 80B2DE08 8FA40030 */ lw $a0, 0x0030($sp)
|
||||
/* 009AC 80B2DE0C 02002825 */ or $a1, $s0, $zero ## $a1 = 06000068
|
||||
/* 009B0 80B2DE10 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 009B4 80B2DE14 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 009B8 80B2DE18 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 009BC 80B2DE1C E7A00018 */ swc1 $f0, 0x0018($sp)
|
||||
/* 009C0 80B2DE20 10000012 */ beq $zero, $zero, .L80B2DE6C
|
||||
/* 009C4 80B2DE24 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L80B2DE28:
|
||||
/* 009C8 80B2DE28 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 009CC 80B2DE2C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 009D0 80B2DE30 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00
|
||||
/* 009D4 80B2DE34 AE080220 */ sw $t0, 0x0220($s0) ## 06000288
|
||||
/* 009D8 80B2DE38 E6000164 */ swc1 $f0, 0x0164($s0) ## 060001CC
|
||||
/* 009DC 80B2DE3C 1000000A */ beq $zero, $zero, .L80B2DE68
|
||||
/* 009E0 80B2DE40 E6080168 */ swc1 $f8, 0x0168($s0) ## 060001D0
|
||||
.L80B2DE44:
|
||||
/* 009E4 80B2DE44 26040254 */ addiu $a0, $s0, 0x0254 ## $a0 = 060002BC
|
||||
/* 009E8 80B2DE48 240705DC */ addiu $a3, $zero, 0x05DC ## $a3 = 000005DC
|
||||
/* 009EC 80B2DE4C 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 009F0 80B2DE50 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 009F4 80B2DE54 8E090220 */ lw $t1, 0x0220($s0) ## 06000288
|
||||
/* 009F8 80B2DE58 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 060001B4
|
||||
/* 009FC 80B2DE5C 252AFFFF */ addiu $t2, $t1, 0xFFFF ## $t2 = FFFFFFFF
|
||||
/* 00A00 80B2DE60 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 00A04 80B2DE64 AE0A0220 */ sw $t2, 0x0220($s0) ## 06000288
|
||||
.L80B2DE68:
|
||||
/* 00A08 80B2DE68 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L80B2DE6C:
|
||||
/* 00A0C 80B2DE6C 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00A10 80B2DE70 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00A14 80B2DE74 03E00008 */ jr $ra
|
||||
/* 00A18 80B2DE78 00000000 */ nop
|
|
@ -1,81 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80B2EC18
|
||||
.word 0xC59C4000
|
||||
glabel D_80B2EC1C
|
||||
.float 5000.0
|
||||
|
||||
glabel D_80B2EC20
|
||||
.word 0x477FFF00
|
||||
|
||||
.text
|
||||
glabel func_80B2DE7C
|
||||
/* 00A1C 80B2DE7C 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00A20 80B2DE80 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00A24 80B2DE84 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00A28 80B2DE88 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00A2C 80B2DE8C 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00A30 80B2DE90 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 00A34 80B2DE94 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 06000068
|
||||
/* 00A38 80B2DE98 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 00A3C 80B2DE9C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00A40 80B2DEA0 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00A44 80B2DEA4 46802120 */ cvt.s.w $f4, $f4
|
||||
/* 00A48 80B2DEA8 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
|
||||
/* 00A4C 80B2DEAC AFAE0014 */ sw $t6, 0x0014($sp)
|
||||
/* 00A50 80B2DEB0 24A50068 */ addiu $a1, $a1, 0x0068 ## $a1 = 06000068
|
||||
/* 00A54 80B2DEB4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 00A58 80B2DEB8 3C06BF80 */ lui $a2, 0xBF80 ## $a2 = BF800000
|
||||
/* 00A5C 80B2DEBC 44072000 */ mfc1 $a3, $f4
|
||||
/* 00A60 80B2DEC0 E7A00010 */ swc1 $f0, 0x0010($sp)
|
||||
/* 00A64 80B2DEC4 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 00A68 80B2DEC8 E7A00018 */ swc1 $f0, 0x0018($sp)
|
||||
/* 00A6C 80B2DECC 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00A70 80B2DED0 A6000260 */ sh $zero, 0x0260($s0) ## 00000260
|
||||
/* 00A74 80B2DED4 86180260 */ lh $t8, 0x0260($s0) ## 00000260
|
||||
/* 00A78 80B2DED8 240F0021 */ addiu $t7, $zero, 0x0021 ## $t7 = 00000021
|
||||
/* 00A7C 80B2DEDC 24190003 */ addiu $t9, $zero, 0x0003 ## $t9 = 00000003
|
||||
/* 00A80 80B2DEE0 AE0F0220 */ sw $t7, 0x0220($s0) ## 00000220
|
||||
/* 00A84 80B2DEE4 AE19021C */ sw $t9, 0x021C($s0) ## 0000021C
|
||||
/* 00A88 80B2DEE8 3C0180B3 */ lui $at, %hi(D_80B2EC18) ## $at = 80B30000
|
||||
/* 00A8C 80B2DEEC E6000250 */ swc1 $f0, 0x0250($s0) ## 00000250
|
||||
/* 00A90 80B2DEF0 E600024C */ swc1 $f0, 0x024C($s0) ## 0000024C
|
||||
/* 00A94 80B2DEF4 A618025E */ sh $t8, 0x025E($s0) ## 0000025E
|
||||
/* 00A98 80B2DEF8 C426EC18 */ lwc1 $f6, %lo(D_80B2EC18)($at)
|
||||
/* 00A9C 80B2DEFC 3C0180B3 */ lui $at, %hi(D_80B2EC1C) ## $at = 80B30000
|
||||
/* 00AA0 80B2DF00 C60A0054 */ lwc1 $f10, 0x0054($s0) ## 00000054
|
||||
/* 00AA4 80B2DF04 E60600BC */ swc1 $f6, 0x00BC($s0) ## 000000BC
|
||||
/* 00AA8 80B2DF08 C428EC1C */ lwc1 $f8, %lo(D_80B2EC1C)($at)
|
||||
/* 00AAC 80B2DF0C C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028
|
||||
/* 00AB0 80B2DF10 3C014100 */ lui $at, 0x4100 ## $at = 41000000
|
||||
/* 00AB4 80B2DF14 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 00AB8 80B2DF18 44813000 */ mtc1 $at, $f6 ## $f6 = 8.00
|
||||
/* 00ABC 80B2DF1C 3C01BF00 */ lui $at, 0xBF00 ## $at = BF000000
|
||||
/* 00AC0 80B2DF20 44814000 */ mtc1 $at, $f8 ## $f8 = -0.50
|
||||
/* 00AC4 80B2DF24 E6060060 */ swc1 $f6, 0x0060($s0) ## 00000060
|
||||
/* 00AC8 80B2DF28 E608006C */ swc1 $f8, 0x006C($s0) ## 0000006C
|
||||
/* 00ACC 80B2DF2C 46109100 */ add.s $f4, $f18, $f16
|
||||
/* 00AD0 80B2DF30 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00AD4 80B2DF34 E6040028 */ swc1 $f4, 0x0028($s0) ## 00000028
|
||||
/* 00AD8 80B2DF38 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00ADC 80B2DF3C 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00
|
||||
/* 00AE0 80B2DF40 3C0180B3 */ lui $at, %hi(D_80B2EC20) ## $at = 80B30000
|
||||
/* 00AE4 80B2DF44 460A0480 */ add.s $f18, $f0, $f10
|
||||
/* 00AE8 80B2DF48 E6120068 */ swc1 $f18, 0x0068($s0) ## 00000068
|
||||
/* 00AEC 80B2DF4C 0C00CFC8 */ jal Math_Rand_CenteredFloat
|
||||
|
||||
/* 00AF0 80B2DF50 C42CEC20 */ lwc1 $f12, %lo(D_80B2EC20)($at)
|
||||
/* 00AF4 80B2DF54 4600040D */ trunc.w.s $f16, $f0
|
||||
/* 00AF8 80B2DF58 3C0580B3 */ lui $a1, %hi(func_80B2DF84) ## $a1 = 80B30000
|
||||
/* 00AFC 80B2DF5C 24A5DF84 */ addiu $a1, $a1, %lo(func_80B2DF84) ## $a1 = 80B2DF84
|
||||
/* 00B00 80B2DF60 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00B04 80B2DF64 44098000 */ mfc1 $t1, $f16
|
||||
/* 00B08 80B2DF68 0C2CB518 */ jal func_80B2D460
|
||||
/* 00B0C 80B2DF6C A6090032 */ sh $t1, 0x0032($s0) ## 00000032
|
||||
/* 00B10 80B2DF70 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00B14 80B2DF74 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00B18 80B2DF78 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00B1C 80B2DF7C 03E00008 */ jr $ra
|
||||
/* 00B20 80B2DF80 00000000 */ nop
|
|
@ -1,51 +0,0 @@
|
|||
glabel func_80B2DF84
|
||||
/* 00B24 80B2DF84 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00B28 80B2DF88 AFBF0034 */ sw $ra, 0x0034($sp)
|
||||
/* 00B2C 80B2DF8C AFB00030 */ sw $s0, 0x0030($sp)
|
||||
/* 00B30 80B2DF90 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 00B34 80B2DF94 848E0254 */ lh $t6, 0x0254($a0) ## 00000254
|
||||
/* 00B38 80B2DF98 8498025C */ lh $t8, 0x025C($a0) ## 0000025C
|
||||
/* 00B3C 80B2DF9C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00B40 80B2DFA0 25CF05DC */ addiu $t7, $t6, 0x05DC ## $t7 = 000005DC
|
||||
/* 00B44 80B2DFA4 271909C4 */ addiu $t9, $t8, 0x09C4 ## $t9 = 000009C4
|
||||
/* 00B48 80B2DFA8 A48F0254 */ sh $t7, 0x0254($a0) ## 00000254
|
||||
/* 00B4C 80B2DFAC 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 00B50 80B2DFB0 A499025C */ sh $t9, 0x025C($a0) ## 0000025C
|
||||
/* 00B54 80B2DFB4 8E080220 */ lw $t0, 0x0220($s0) ## 00000220
|
||||
/* 00B58 80B2DFB8 24060010 */ addiu $a2, $zero, 0x0010 ## $a2 = 00000010
|
||||
/* 00B5C 80B2DFBC 240B06FF */ addiu $t3, $zero, 0x06FF ## $t3 = 000006FF
|
||||
/* 00B60 80B2DFC0 2509FFFF */ addiu $t1, $t0, 0xFFFF ## $t1 = FFFFFFFF
|
||||
/* 00B64 80B2DFC4 15200016 */ bne $t1, $zero, .L80B2E020
|
||||
/* 00B68 80B2DFC8 AE090220 */ sw $t1, 0x0220($s0) ## 00000220
|
||||
/* 00B6C 80B2DFCC C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
|
||||
/* 00B70 80B2DFD0 8E070024 */ lw $a3, 0x0024($s0) ## 00000024
|
||||
/* 00B74 80B2DFD4 8FA5003C */ lw $a1, 0x003C($sp)
|
||||
/* 00B78 80B2DFD8 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 00B7C 80B2DFDC C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C
|
||||
/* 00B80 80B2DFE0 AFA00024 */ sw $zero, 0x0024($sp)
|
||||
/* 00B84 80B2DFE4 AFAB0020 */ sw $t3, 0x0020($sp)
|
||||
/* 00B88 80B2DFE8 AFA0001C */ sw $zero, 0x001C($sp)
|
||||
/* 00B8C 80B2DFEC AFA00018 */ sw $zero, 0x0018($sp)
|
||||
/* 00B90 80B2DFF0 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24
|
||||
/* 00B94 80B2DFF4 0C00C7D4 */ jal Actor_Spawn
|
||||
## ActorSpawn
|
||||
/* 00B98 80B2DFF8 E7A60014 */ swc1 $f6, 0x0014($sp)
|
||||
/* 00B9C 80B2DFFC 10400002 */ beq $v0, $zero, .L80B2E008
|
||||
/* 00BA0 80B2E000 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00BA4 80B2E004 A44001F8 */ sh $zero, 0x01F8($v0) ## 000001F8
|
||||
.L80B2E008:
|
||||
/* 00BA8 80B2E008 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00BAC 80B2E00C 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
|
||||
/* 00BB0 80B2E010 0C007E50 */ jal Item_DropCollectibleRandom
|
||||
|
||||
/* 00BB4 80B2E014 240700A0 */ addiu $a3, $zero, 0x00A0 ## $a3 = 000000A0
|
||||
/* 00BB8 80B2E018 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00BBC 80B2E01C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L80B2E020:
|
||||
/* 00BC0 80B2E020 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 00BC4 80B2E024 8FB00030 */ lw $s0, 0x0030($sp)
|
||||
/* 00BC8 80B2E028 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00BCC 80B2E02C 03E00008 */ jr $ra
|
||||
/* 00BD0 80B2E030 00000000 */ nop
|
|
@ -1,83 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80B2EBB0
|
||||
.asciz "hp down %d\n"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_80B2E034
|
||||
/* 00BD4 80B2E034 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00BD8 80B2E038 AFB00030 */ sw $s0, 0x0030($sp)
|
||||
/* 00BDC 80B2E03C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00BE0 80B2E040 AFBF0034 */ sw $ra, 0x0034($sp)
|
||||
/* 00BE4 80B2E044 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 00BE8 80B2E048 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00BEC 80B2E04C 0C00CD90 */ jal Actor_GetCollidedExplosive
|
||||
/* 00BF0 80B2E050 26050268 */ addiu $a1, $s0, 0x0268 ## $a1 = 00000268
|
||||
/* 00BF4 80B2E054 5040000B */ beql $v0, $zero, .L80B2E084
|
||||
/* 00BF8 80B2E058 92020345 */ lbu $v0, 0x0345($s0) ## 00000345
|
||||
/* 00BFC 80B2E05C 920E00AF */ lbu $t6, 0x00AF($s0) ## 000000AF
|
||||
/* 00C00 80B2E060 3C0480B3 */ lui $a0, %hi(D_80B2EBB0) ## $a0 = 80B30000
|
||||
/* 00C04 80B2E064 2484EBB0 */ addiu $a0, $a0, %lo(D_80B2EBB0) ## $a0 = 80B2EBB0
|
||||
/* 00C08 80B2E068 25CFFFFF */ addiu $t7, $t6, 0xFFFF ## $t7 = FFFFFFFF
|
||||
/* 00C0C 80B2E06C A20F00AF */ sb $t7, 0x00AF($s0) ## 000000AF
|
||||
/* 00C10 80B2E070 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00C14 80B2E074 31E500FF */ andi $a1, $t7, 0x00FF ## $a1 = 000000FF
|
||||
/* 00C18 80B2E078 1000000C */ beq $zero, $zero, .L80B2E0AC
|
||||
/* 00C1C 80B2E07C 920900AF */ lbu $t1, 0x00AF($s0) ## 000000AF
|
||||
/* 00C20 80B2E080 92020345 */ lbu $v0, 0x0345($s0) ## 00000345
|
||||
.L80B2E084:
|
||||
/* 00C24 80B2E084 30580002 */ andi $t8, $v0, 0x0002 ## $t8 = 00000000
|
||||
/* 00C28 80B2E088 5300002B */ beql $t8, $zero, .L80B2E138
|
||||
/* 00C2C 80B2E08C 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 00C30 80B2E090 8E19021C */ lw $t9, 0x021C($s0) ## 0000021C
|
||||
/* 00C34 80B2E094 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00C38 80B2E098 3048FFFD */ andi $t0, $v0, 0xFFFD ## $t0 = 00000000
|
||||
/* 00C3C 80B2E09C 53210026 */ beql $t9, $at, .L80B2E138
|
||||
/* 00C40 80B2E0A0 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 00C44 80B2E0A4 A2080345 */ sb $t0, 0x0345($s0) ## 00000345
|
||||
/* 00C48 80B2E0A8 920900AF */ lbu $t1, 0x00AF($s0) ## 000000AF
|
||||
.L80B2E0AC:
|
||||
/* 00C4C 80B2E0AC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C50 80B2E0B0 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
|
||||
/* 00C54 80B2E0B4 1120000A */ beq $t1, $zero, .L80B2E0E0
|
||||
/* 00C58 80B2E0B8 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00C5C 80B2E0BC 240A0008 */ addiu $t2, $zero, 0x0008 ## $t2 = 00000008
|
||||
/* 00C60 80B2E0C0 AFAA0010 */ sw $t2, 0x0010($sp)
|
||||
/* 00C64 80B2E0C4 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
|
||||
/* 00C68 80B2E0C8 0C00D09B */ jal func_8003426C
|
||||
/* 00C6C 80B2E0CC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00C70 80B2E0D0 0C2CB732 */ jal func_80B2DCC8
|
||||
/* 00C74 80B2E0D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C78 80B2E0D8 10000017 */ beq $zero, $zero, .L80B2E138
|
||||
/* 00C7C 80B2E0DC 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
.L80B2E0E0:
|
||||
/* 00C80 80B2E0E0 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
|
||||
/* 00C84 80B2E0E4 44813000 */ mtc1 $at, $f6 ## $f6 = 0.00
|
||||
/* 00C88 80B2E0E8 8E070024 */ lw $a3, 0x0024($s0) ## 00000024
|
||||
/* 00C8C 80B2E0EC 8FA5003C */ lw $a1, 0x003C($sp)
|
||||
/* 00C90 80B2E0F0 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00C94 80B2E0F4 240B0601 */ addiu $t3, $zero, 0x0601 ## $t3 = 00000601
|
||||
/* 00C98 80B2E0F8 24060010 */ addiu $a2, $zero, 0x0010 ## $a2 = 00000010
|
||||
/* 00C9C 80B2E0FC 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24
|
||||
/* 00CA0 80B2E100 E7A80010 */ swc1 $f8, 0x0010($sp)
|
||||
/* 00CA4 80B2E104 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
|
||||
/* 00CA8 80B2E108 AFA00024 */ sw $zero, 0x0024($sp)
|
||||
/* 00CAC 80B2E10C AFAB0020 */ sw $t3, 0x0020($sp)
|
||||
/* 00CB0 80B2E110 AFA0001C */ sw $zero, 0x001C($sp)
|
||||
/* 00CB4 80B2E114 AFA00018 */ sw $zero, 0x0018($sp)
|
||||
/* 00CB8 80B2E118 0C00C7D4 */ jal Actor_Spawn
|
||||
## ActorSpawn
|
||||
/* 00CBC 80B2E11C E7AA0014 */ swc1 $f10, 0x0014($sp)
|
||||
/* 00CC0 80B2E120 10400002 */ beq $v0, $zero, .L80B2E12C
|
||||
/* 00CC4 80B2E124 00000000 */ nop
|
||||
/* 00CC8 80B2E128 A44001F8 */ sh $zero, 0x01F8($v0) ## 000001F8
|
||||
.L80B2E12C:
|
||||
/* 00CCC 80B2E12C 0C2CB79F */ jal func_80B2DE7C
|
||||
/* 00CD0 80B2E130 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00CD4 80B2E134 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
.L80B2E138:
|
||||
/* 00CD8 80B2E138 8FB00030 */ lw $s0, 0x0030($sp)
|
||||
/* 00CDC 80B2E13C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00CE0 80B2E140 03E00008 */ jr $ra
|
||||
/* 00CE4 80B2E144 00000000 */ nop
|
|
@ -1,29 +0,0 @@
|
|||
glabel func_80B2E2D8
|
||||
/* 00E78 80B2E2D8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00E7C 80B2E2DC AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 00E80 80B2E2E0 14A1000D */ bne $a1, $at, .L80B2E318
|
||||
/* 00E84 80B2E2E4 AFA7000C */ sw $a3, 0x000C($sp)
|
||||
/* 00E88 80B2E2E8 8FA20014 */ lw $v0, 0x0014($sp)
|
||||
/* 00E8C 80B2E2EC 8FA30010 */ lw $v1, 0x0010($sp)
|
||||
/* 00E90 80B2E2F0 844F0254 */ lh $t7, 0x0254($v0) ## 00000254
|
||||
/* 00E94 80B2E2F4 846E0000 */ lh $t6, 0x0000($v1) ## 00000000
|
||||
/* 00E98 80B2E2F8 84790002 */ lh $t9, 0x0002($v1) ## 00000002
|
||||
/* 00E9C 80B2E2FC 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 00EA0 80B2E300 A4780000 */ sh $t8, 0x0000($v1) ## 00000000
|
||||
/* 00EA4 80B2E304 8448025C */ lh $t0, 0x025C($v0) ## 0000025C
|
||||
/* 00EA8 80B2E308 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00EAC 80B2E30C 03284821 */ addu $t1, $t9, $t0
|
||||
/* 00EB0 80B2E310 03E00008 */ jr $ra
|
||||
/* 00EB4 80B2E314 A4690002 */ sh $t1, 0x0002($v1) ## 00000002
|
||||
.L80B2E318:
|
||||
/* 00EB8 80B2E318 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
|
||||
/* 00EBC 80B2E31C 14A10006 */ bne $a1, $at, .L80B2E338
|
||||
/* 00EC0 80B2E320 8FA20014 */ lw $v0, 0x0014($sp)
|
||||
/* 00EC4 80B2E324 8C4A021C */ lw $t2, 0x021C($v0) ## 0000021C
|
||||
/* 00EC8 80B2E328 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 00ECC 80B2E32C 15410002 */ bne $t2, $at, .L80B2E338
|
||||
/* 00ED0 80B2E330 00000000 */ nop
|
||||
/* 00ED4 80B2E334 ACC00000 */ sw $zero, 0x0000($a2) ## 00000000
|
||||
.L80B2E338:
|
||||
/* 00ED8 80B2E338 03E00008 */ jr $ra
|
||||
/* 00EDC 80B2E33C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
|
@ -1,197 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80B2EC28
|
||||
.float 10000.0
|
||||
|
||||
glabel D_80B2EC2C
|
||||
.float 0.01
|
||||
|
||||
.text
|
||||
glabel func_80B2E340
|
||||
/* 00EE0 80B2E340 27BDFF70 */ addiu $sp, $sp, 0xFF70 ## $sp = FFFFFF70
|
||||
/* 00EE4 80B2E344 3C0F80B3 */ lui $t7, %hi(D_80B2EAF8) ## $t7 = 80B30000
|
||||
/* 00EE8 80B2E348 AFBF0034 */ sw $ra, 0x0034($sp)
|
||||
/* 00EEC 80B2E34C AFB00030 */ sw $s0, 0x0030($sp)
|
||||
/* 00EF0 80B2E350 AFA40090 */ sw $a0, 0x0090($sp)
|
||||
/* 00EF4 80B2E354 AFA60098 */ sw $a2, 0x0098($sp)
|
||||
/* 00EF8 80B2E358 AFA7009C */ sw $a3, 0x009C($sp)
|
||||
/* 00EFC 80B2E35C 25EFEAF8 */ addiu $t7, $t7, %lo(D_80B2EAF8) ## $t7 = 80B2EAF8
|
||||
/* 00F00 80B2E360 8DF90000 */ lw $t9, 0x0000($t7) ## 80B2EAF8
|
||||
/* 00F04 80B2E364 27AE0080 */ addiu $t6, $sp, 0x0080 ## $t6 = FFFFFFF0
|
||||
/* 00F08 80B2E368 8DF80004 */ lw $t8, 0x0004($t7) ## 80B2EAFC
|
||||
/* 00F0C 80B2E36C ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF0
|
||||
/* 00F10 80B2E370 8DF90008 */ lw $t9, 0x0008($t7) ## 80B2EB00
|
||||
/* 00F14 80B2E374 3C0980B3 */ lui $t1, %hi(D_80B2EB04) ## $t1 = 80B30000
|
||||
/* 00F18 80B2E378 2529EB04 */ addiu $t1, $t1, %lo(D_80B2EB04) ## $t1 = 80B2EB04
|
||||
/* 00F1C 80B2E37C ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF4
|
||||
/* 00F20 80B2E380 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFF8
|
||||
/* 00F24 80B2E384 8D2B0000 */ lw $t3, 0x0000($t1) ## 80B2EB04
|
||||
/* 00F28 80B2E388 27A80074 */ addiu $t0, $sp, 0x0074 ## $t0 = FFFFFFE4
|
||||
/* 00F2C 80B2E38C 8D2A0004 */ lw $t2, 0x0004($t1) ## 80B2EB08
|
||||
/* 00F30 80B2E390 AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFE4
|
||||
/* 00F34 80B2E394 8D2B0008 */ lw $t3, 0x0008($t1) ## 80B2EB0C
|
||||
/* 00F38 80B2E398 3C0D80B3 */ lui $t5, %hi(D_80B2EB10) ## $t5 = 80B30000
|
||||
/* 00F3C 80B2E39C 25ADEB10 */ addiu $t5, $t5, %lo(D_80B2EB10) ## $t5 = 80B2EB10
|
||||
/* 00F40 80B2E3A0 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFE8
|
||||
/* 00F44 80B2E3A4 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFEC
|
||||
/* 00F48 80B2E3A8 8DAF0000 */ lw $t7, 0x0000($t5) ## 80B2EB10
|
||||
/* 00F4C 80B2E3AC 27AC0068 */ addiu $t4, $sp, 0x0068 ## $t4 = FFFFFFD8
|
||||
/* 00F50 80B2E3B0 8DAE0004 */ lw $t6, 0x0004($t5) ## 80B2EB14
|
||||
/* 00F54 80B2E3B4 AD8F0000 */ sw $t7, 0x0000($t4) ## FFFFFFD8
|
||||
/* 00F58 80B2E3B8 8DAF0008 */ lw $t7, 0x0008($t5) ## 80B2EB18
|
||||
/* 00F5C 80B2E3BC 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00F60 80B2E3C0 AD8E0004 */ sw $t6, 0x0004($t4) ## FFFFFFDC
|
||||
/* 00F64 80B2E3C4 14A1008F */ bne $a1, $at, .L80B2E604
|
||||
/* 00F68 80B2E3C8 AD8F0008 */ sw $t7, 0x0008($t4) ## FFFFFFE0
|
||||
/* 00F6C 80B2E3CC 8FB000A0 */ lw $s0, 0x00A0($sp)
|
||||
/* 00F70 80B2E3D0 3C0480B3 */ lui $a0, %hi(D_80B2EB1C) ## $a0 = 80B30000
|
||||
/* 00F74 80B2E3D4 2484EB1C */ addiu $a0, $a0, %lo(D_80B2EB1C) ## $a0 = 80B2EB1C
|
||||
/* 00F78 80B2E3D8 26050224 */ addiu $a1, $s0, 0x0224 ## $a1 = 00000224
|
||||
/* 00F7C 80B2E3DC 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 00F80 80B2E3E0 AFA50048 */ sw $a1, 0x0048($sp)
|
||||
/* 00F84 80B2E3E4 3C0480B3 */ lui $a0, %hi(D_80B2EB28) ## $a0 = 80B30000
|
||||
/* 00F88 80B2E3E8 2484EB28 */ addiu $a0, $a0, %lo(D_80B2EB28) ## $a0 = 80B2EB28
|
||||
/* 00F8C 80B2E3EC 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 00F90 80B2E3F0 26050230 */ addiu $a1, $s0, 0x0230 ## $a1 = 00000230
|
||||
/* 00F94 80B2E3F4 86180260 */ lh $t8, 0x0260($s0) ## 00000260
|
||||
/* 00F98 80B2E3F8 2B010003 */ slti $at, $t8, 0x0003
|
||||
/* 00F9C 80B2E3FC 14200065 */ bne $at, $zero, .L80B2E594
|
||||
/* 00FA0 80B2E400 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000
|
||||
/* 00FA4 80B2E404 44813000 */ mtc1 $at, $f6 ## $f6 = 500.00
|
||||
/* 00FA8 80B2E408 AFA00054 */ sw $zero, 0x0054($sp)
|
||||
/* 00FAC 80B2E40C 3C0180B3 */ lui $at, %hi(D_80B2EC28) ## $at = 80B30000
|
||||
/* 00FB0 80B2E410 C430EC28 */ lwc1 $f16, %lo(D_80B2EC28)($at)
|
||||
/* 00FB4 80B2E414 C60A0054 */ lwc1 $f10, 0x0054($s0) ## 00000054
|
||||
/* 00FB8 80B2E418 C6040250 */ lwc1 $f4, 0x0250($s0) ## 00000250
|
||||
/* 00FBC 80B2E41C 2605023C */ addiu $a1, $s0, 0x023C ## $a1 = 0000023C
|
||||
/* 00FC0 80B2E420 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 00FC4 80B2E424 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00FC8 80B2E428 AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 00FCC 80B2E42C 27A40080 */ addiu $a0, $sp, 0x0080 ## $a0 = FFFFFFF0
|
||||
/* 00FD0 80B2E430 46124102 */ mul.s $f4, $f8, $f18
|
||||
/* 00FD4 80B2E434 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 00FD8 80B2E438 E7A40088 */ swc1 $f4, 0x0088($sp)
|
||||
/* 00FDC 80B2E43C 8FA40090 */ lw $a0, 0x0090($sp)
|
||||
/* 00FE0 80B2E440 27B90054 */ addiu $t9, $sp, 0x0054 ## $t9 = FFFFFFC4
|
||||
/* 00FE4 80B2E444 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
|
||||
/* 00FE8 80B2E448 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
|
||||
/* 00FEC 80B2E44C 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
|
||||
/* 00FF0 80B2E450 27AB0050 */ addiu $t3, $sp, 0x0050 ## $t3 = FFFFFFC0
|
||||
/* 00FF4 80B2E454 AFAB0024 */ sw $t3, 0x0024($sp)
|
||||
/* 00FF8 80B2E458 AFAA0020 */ sw $t2, 0x0020($sp)
|
||||
/* 00FFC 80B2E45C AFA90018 */ sw $t1, 0x0018($sp)
|
||||
/* 01000 80B2E460 AFA80014 */ sw $t0, 0x0014($sp)
|
||||
/* 01004 80B2E464 AFB90010 */ sw $t9, 0x0010($sp)
|
||||
/* 01008 80B2E468 8FA50048 */ lw $a1, 0x0048($sp)
|
||||
/* 0100C 80B2E46C 8FA60044 */ lw $a2, 0x0044($sp)
|
||||
/* 01010 80B2E470 27A70058 */ addiu $a3, $sp, 0x0058 ## $a3 = FFFFFFC8
|
||||
/* 01014 80B2E474 AFA0001C */ sw $zero, 0x001C($sp)
|
||||
/* 01018 80B2E478 0C00F7A1 */ jal func_8003DE84
|
||||
/* 0101C 80B2E47C 248407C0 */ addiu $a0, $a0, 0x07C0 ## $a0 = 000007C0
|
||||
/* 01020 80B2E480 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 01024 80B2E484 14410011 */ bne $v0, $at, .L80B2E4CC
|
||||
/* 01028 80B2E488 8FA40048 */ lw $a0, 0x0048($sp)
|
||||
/* 0102C 80B2E48C 0C01DFE4 */ jal Math_Vec3f_DistXYZ
|
||||
|
||||
/* 01030 80B2E490 27A50058 */ addiu $a1, $sp, 0x0058 ## $a1 = FFFFFFC8
|
||||
/* 01034 80B2E494 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 01038 80B2E498 44813000 */ mtc1 $at, $f6 ## $f6 = 5.00
|
||||
/* 0103C 80B2E49C 240C0004 */ addiu $t4, $zero, 0x0004 ## $t4 = 00000004
|
||||
/* 01040 80B2E4A0 A60C0260 */ sh $t4, 0x0260($s0) ## 00000260
|
||||
/* 01044 80B2E4A4 46060281 */ sub.s $f10, $f0, $f6
|
||||
/* 01048 80B2E4A8 27AE0058 */ addiu $t6, $sp, 0x0058 ## $t6 = FFFFFFC8
|
||||
/* 0104C 80B2E4AC E60A0250 */ swc1 $f10, 0x0250($s0) ## 00000250
|
||||
/* 01050 80B2E4B0 8DD80000 */ lw $t8, 0x0000($t6) ## FFFFFFC8
|
||||
/* 01054 80B2E4B4 8FAD0044 */ lw $t5, 0x0044($sp)
|
||||
/* 01058 80B2E4B8 ADB80000 */ sw $t8, 0x0000($t5) ## 00000000
|
||||
/* 0105C 80B2E4BC 8DCF0004 */ lw $t7, 0x0004($t6) ## FFFFFFCC
|
||||
/* 01060 80B2E4C0 ADAF0004 */ sw $t7, 0x0004($t5) ## 00000004
|
||||
/* 01064 80B2E4C4 8DD80008 */ lw $t8, 0x0008($t6) ## FFFFFFD0
|
||||
/* 01068 80B2E4C8 ADB80008 */ sw $t8, 0x0008($t5) ## 00000008
|
||||
.L80B2E4CC:
|
||||
/* 0106C 80B2E4CC 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
|
||||
/* 01070 80B2E4D0 C6080250 */ lwc1 $f8, 0x0250($s0) ## 00000250
|
||||
/* 01074 80B2E4D4 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 01078 80B2E4D8 8FA40048 */ lw $a0, 0x0048($sp)
|
||||
/* 0107C 80B2E4DC 46088032 */ c.eq.s $f16, $f8
|
||||
/* 01080 80B2E4E0 8FA50044 */ lw $a1, 0x0044($sp)
|
||||
/* 01084 80B2E4E4 4501002B */ bc1t .L80B2E594
|
||||
/* 01088 80B2E4E8 00000000 */ nop
|
||||
/* 0108C 80B2E4EC 44811000 */ mtc1 $at, $f2 ## $f2 = 100.00
|
||||
/* 01090 80B2E4F0 3C0180B3 */ lui $at, %hi(D_80B2EC2C) ## $at = 80B30000
|
||||
/* 01094 80B2E4F4 C432EC2C */ lwc1 $f18, %lo(D_80B2EC2C)($at)
|
||||
/* 01098 80B2E4F8 C6040054 */ lwc1 $f4, 0x0054($s0) ## 00000054
|
||||
/* 0109C 80B2E4FC 3C01428C */ lui $at, 0x428C ## $at = 428C0000
|
||||
/* 010A0 80B2E500 4604903C */ c.lt.s $f18, $f4
|
||||
/* 010A4 80B2E504 00000000 */ nop
|
||||
/* 010A8 80B2E508 45000003 */ bc1f .L80B2E518
|
||||
/* 010AC 80B2E50C 00000000 */ nop
|
||||
/* 010B0 80B2E510 44811000 */ mtc1 $at, $f2 ## $f2 = 70.00
|
||||
/* 010B4 80B2E514 00000000 */ nop
|
||||
.L80B2E518:
|
||||
/* 010B8 80B2E518 0C01DFE4 */ jal Math_Vec3f_DistXYZ
|
||||
|
||||
/* 010BC 80B2E51C E7A2004C */ swc1 $f2, 0x004C($sp)
|
||||
/* 010C0 80B2E520 C7A2004C */ lwc1 $f2, 0x004C($sp)
|
||||
/* 010C4 80B2E524 3C0480B3 */ lui $a0, %hi(D_80B2EB64) ## $a0 = 80B30000
|
||||
/* 010C8 80B2E528 26050318 */ addiu $a1, $s0, 0x0318 ## $a1 = 00000318
|
||||
/* 010CC 80B2E52C 46020302 */ mul.s $f12, $f0, $f2
|
||||
/* 010D0 80B2E530 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 010D4 80B2E534 2484EB64 */ addiu $a0, $a0, %lo(D_80B2EB64) ## $a0 = 80B2EB64
|
||||
/* 010D8 80B2E538 E7AC007C */ swc1 $f12, 0x007C($sp)
|
||||
/* 010DC 80B2E53C 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 010E0 80B2E540 E7AC0070 */ swc1 $f12, 0x0070($sp)
|
||||
/* 010E4 80B2E544 3C0480B3 */ lui $a0, %hi(D_80B2EB70) ## $a0 = 80B30000
|
||||
/* 010E8 80B2E548 2605030C */ addiu $a1, $s0, 0x030C ## $a1 = 0000030C
|
||||
/* 010EC 80B2E54C AFA50040 */ sw $a1, 0x0040($sp)
|
||||
/* 010F0 80B2E550 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 010F4 80B2E554 2484EB70 */ addiu $a0, $a0, %lo(D_80B2EB70) ## $a0 = 80B2EB70
|
||||
/* 010F8 80B2E558 26050300 */ addiu $a1, $s0, 0x0300 ## $a1 = 00000300
|
||||
/* 010FC 80B2E55C AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 01100 80B2E560 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 01104 80B2E564 27A40074 */ addiu $a0, $sp, 0x0074 ## $a0 = FFFFFFE4
|
||||
/* 01108 80B2E568 260502F4 */ addiu $a1, $s0, 0x02F4 ## $a1 = 000002F4
|
||||
/* 0110C 80B2E56C AFA50048 */ sw $a1, 0x0048($sp)
|
||||
/* 01110 80B2E570 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 01114 80B2E574 27A40068 */ addiu $a0, $sp, 0x0068 ## $a0 = FFFFFFD8
|
||||
/* 01118 80B2E578 8FB9003C */ lw $t9, 0x003C($sp)
|
||||
/* 0111C 80B2E57C 8FA50048 */ lw $a1, 0x0048($sp)
|
||||
/* 01120 80B2E580 260402B4 */ addiu $a0, $s0, 0x02B4 ## $a0 = 000002B4
|
||||
/* 01124 80B2E584 8FA60044 */ lw $a2, 0x0044($sp)
|
||||
/* 01128 80B2E588 8FA70040 */ lw $a3, 0x0040($sp)
|
||||
/* 0112C 80B2E58C 0C0189CD */ jal func_80062734
|
||||
/* 01130 80B2E590 AFB90010 */ sw $t9, 0x0010($sp)
|
||||
.L80B2E594:
|
||||
/* 01134 80B2E594 3C0480B3 */ lui $a0, %hi(D_80B2EB34) ## $a0 = 80B30000
|
||||
/* 01138 80B2E598 26050380 */ addiu $a1, $s0, 0x0380 ## $a1 = 00000380
|
||||
/* 0113C 80B2E59C AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 01140 80B2E5A0 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 01144 80B2E5A4 2484EB34 */ addiu $a0, $a0, %lo(D_80B2EB34) ## $a0 = 80B2EB34
|
||||
/* 01148 80B2E5A8 3C0480B3 */ lui $a0, %hi(D_80B2EB40) ## $a0 = 80B30000
|
||||
/* 0114C 80B2E5AC 26050374 */ addiu $a1, $s0, 0x0374 ## $a1 = 00000374
|
||||
/* 01150 80B2E5B0 AFA50048 */ sw $a1, 0x0048($sp)
|
||||
/* 01154 80B2E5B4 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 01158 80B2E5B8 2484EB40 */ addiu $a0, $a0, %lo(D_80B2EB40) ## $a0 = 80B2EB40
|
||||
/* 0115C 80B2E5BC 3C0480B3 */ lui $a0, %hi(D_80B2EB4C) ## $a0 = 80B30000
|
||||
/* 01160 80B2E5C0 26050398 */ addiu $a1, $s0, 0x0398 ## $a1 = 00000398
|
||||
/* 01164 80B2E5C4 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 01168 80B2E5C8 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 0116C 80B2E5CC 2484EB4C */ addiu $a0, $a0, %lo(D_80B2EB4C) ## $a0 = 80B2EB4C
|
||||
/* 01170 80B2E5D0 3C0480B3 */ lui $a0, %hi(D_80B2EB58) ## $a0 = 80B30000
|
||||
/* 01174 80B2E5D4 2607038C */ addiu $a3, $s0, 0x038C ## $a3 = 0000038C
|
||||
/* 01178 80B2E5D8 00E02825 */ or $a1, $a3, $zero ## $a1 = 0000038C
|
||||
/* 0117C 80B2E5DC AFA70040 */ sw $a3, 0x0040($sp)
|
||||
/* 01180 80B2E5E0 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 01184 80B2E5E4 2484EB58 */ addiu $a0, $a0, %lo(D_80B2EB58) ## $a0 = 80B2EB58
|
||||
/* 01188 80B2E5E8 8FA8003C */ lw $t0, 0x003C($sp)
|
||||
/* 0118C 80B2E5EC 8FA70040 */ lw $a3, 0x0040($sp)
|
||||
/* 01190 80B2E5F0 26040334 */ addiu $a0, $s0, 0x0334 ## $a0 = 00000334
|
||||
/* 01194 80B2E5F4 8FA50048 */ lw $a1, 0x0048($sp)
|
||||
/* 01198 80B2E5F8 8FA60044 */ lw $a2, 0x0044($sp)
|
||||
/* 0119C 80B2E5FC 0C0189CD */ jal func_80062734
|
||||
/* 011A0 80B2E600 AFA80010 */ sw $t0, 0x0010($sp)
|
||||
.L80B2E604:
|
||||
/* 011A4 80B2E604 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 011A8 80B2E608 8FB00030 */ lw $s0, 0x0030($sp)
|
||||
/* 011AC 80B2E60C 27BD0090 */ addiu $sp, $sp, 0x0090 ## $sp = 00000000
|
||||
/* 011B0 80B2E610 03E00008 */ jr $ra
|
||||
/* 011B4 80B2E614 00000000 */ nop
|
|
@ -1,52 +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_Vm_InitVars
|
||||
.word 0x008A0500, 0x00000011, 0x008B0000, 0x000003B4
|
||||
.word EnVm_Init
|
||||
.word EnVm_Destroy
|
||||
.word EnVm_Update
|
||||
.word EnVm_Draw
|
||||
glabel D_80B2EA20
|
||||
.word 0x09000D39, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010100, 0x00190046, 0x00000000, 0x00000000
|
||||
glabel D_80B2EA4C
|
||||
.word 0x09110000, 0x00030000, 0x00000000, 0xFFCFFFFF, 0x00100000, 0x00000000, 0x00000000, 0x81000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||
glabel D_80B2EA9C
|
||||
.word 0x09000900, 0x00030000, 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||
glabel D_80B2EAEC
|
||||
.word 0x00000000, 0x00000000, 0x00000000
|
||||
glabel D_80B2EAF8
|
||||
.word 0x00000000, 0x00000000, 0x00000000
|
||||
glabel D_80B2EB04
|
||||
.word 0x43FA0000, 0x00000000, 0x00000000
|
||||
glabel D_80B2EB10
|
||||
.word 0xC3FA0000, 0x00000000, 0x00000000
|
||||
glabel D_80B2EB1C
|
||||
.word 0x00000000, 0x00000000, 0x00000000
|
||||
glabel D_80B2EB28
|
||||
.word 0x00000000, 0x00000000, 0x44C80000
|
||||
glabel D_80B2EB34
|
||||
.word 0x447A0000, 0x442F0000, 0x44FA0000
|
||||
glabel D_80B2EB40
|
||||
.word 0x447A0000, 0xC42F0000, 0x44FA0000
|
||||
glabel D_80B2EB4C
|
||||
.word 0xC47A0000, 0x442F0000, 0x44BB8000
|
||||
glabel D_80B2EB58
|
||||
.word 0xC47A0000, 0xC42F0000, 0x44BB8000
|
||||
glabel D_80B2EB64
|
||||
.word 0x43FA0000, 0x00000000, 0x00000000
|
||||
glabel D_80B2EB70
|
||||
.word 0xC3FA0000, 0x00000000, 0x00000000
|
||||
glabel D_80B2EB7C
|
||||
.word 0x3ECCCCCD, 0x3ECCCCCD, 0x3ECCCCCD
|
||||
glabel D_80B2EB88
|
||||
.word 0x0402CFE0, 0x0402D7E0, 0x0402DFE0, 0x0402E7E0, 0x0402EFE0, 0x0402F7E0, 0x0402FFE0, 0x040307E0, 0x04030FE0, 0x040317E0
|
||||
|
|
@ -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_80B2EC40
|
||||
.incbin "baserom/ovl_En_Vm", 0x17E0, 0x000001B0
|
3
spec
3
spec
|
@ -3189,8 +3189,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Vm"
|
||||
include "build/src/overlays/actors/ovl_En_Vm/z_en_vm.o"
|
||||
include "build/data/overlays/actors/z_en_vm.data.o"
|
||||
include "build/data/overlays/actors/z_en_vm.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Vm/ovl_En_Vm_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_en_vm.h"
|
||||
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
|
||||
|
||||
#define FLAGS 0x00000011
|
||||
|
||||
|
@ -15,7 +16,13 @@ void EnVm_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void EnVm_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnVm_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
void EnVm_SetupWait(EnVm* this);
|
||||
void EnVm_Wait(EnVm* this, GlobalContext* globalCtx);
|
||||
void EnVm_SetupAttack(EnVm* this);
|
||||
void EnVm_Attack(EnVm* this, GlobalContext* globalCtx);
|
||||
void EnVm_Stun(EnVm* this, GlobalContext* globalCtx);
|
||||
void EnVm_Die(EnVm* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit En_Vm_InitVars = {
|
||||
ACTOR_EN_VM,
|
||||
ACTORTYPE_ENEMY,
|
||||
|
@ -27,35 +34,481 @@ const ActorInit En_Vm_InitVars = {
|
|||
(ActorFunc)EnVm_Update,
|
||||
(ActorFunc)EnVm_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D460.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Init.s")
|
||||
static ColliderCylinderInit sCylinderInit = {
|
||||
{ COLTYPE_METAL_SHIELD, 0x00, 0x0D, 0x39, 0x10, COLSHAPE_CYLINDER },
|
||||
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x00, 0x01, 0x01 },
|
||||
{ 25, 70, 0, { 0, 0, 0 } },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Destroy.s")
|
||||
static ColliderQuadInit sQuadInit1 = {
|
||||
{ COLTYPE_METAL_SHIELD, 0x11, 0x00, 0x00, 0x00, COLSHAPE_QUAD },
|
||||
{ 0x00, { 0xFFCFFFFF, 0x00, 0x10 }, { 0x00000000, 0x00, 0x00 }, 0x81, 0x00, 0x00 },
|
||||
{ { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D600.s")
|
||||
static ColliderQuadInit sQuadInit2 = {
|
||||
{ COLTYPE_METAL_SHIELD, 0x00, 0x09, 0x00, 0x00, COLSHAPE_QUAD },
|
||||
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x00, 0x01, 0x00 },
|
||||
{ { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D68C.s")
|
||||
static Vec3f D_80B2EAEC = { 0.0f, 0.0f, 0.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D9D8.s")
|
||||
static Vec3f D_80B2EAF8 = { 0.0f, 0.0f, 0.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DA7C.s")
|
||||
static Vec3f D_80B2EB04 = { 500.0f, 0.0f, 0.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DCC8.s")
|
||||
static Vec3f D_80B2EB10 = { -500.0f, 0.0f, 0.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DD70.s")
|
||||
static Vec3f D_80B2EB1C = { 0.0f, 0.0f, 0.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DE7C.s")
|
||||
static Vec3f D_80B2EB28 = { 0.0f, 0.0f, 1600.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DF84.s")
|
||||
static Vec3f D_80B2EB34 = { 1000.0f, 700.0f, 2000.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2E034.s")
|
||||
static Vec3f D_80B2EB40 = { 1000.0f, -700.0f, 2000.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Update.s")
|
||||
static Vec3f D_80B2EB4C = { -1000.0f, 700.0f, 1500.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2E2D8.s")
|
||||
static Vec3f D_80B2EB58 = { -1000.0f, -700.0f, 1500.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2E340.s")
|
||||
static Vec3f D_80B2EB64 = { 500.0f, 0.0f, 0.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Draw.s")
|
||||
static Vec3f D_80B2EB70 = { -500.0f, 0.0f, 0.0f };
|
||||
|
||||
static Vec3f D_80B2EB7C = { 0.4f, 0.4f, 0.4f };
|
||||
|
||||
static UNK_PTR D_80B2EB88[] = { 0x0402CFE0, 0x0402D7E0, 0x0402DFE0, 0x0402E7E0, 0x0402EFE0,
|
||||
0x0402F7E0, 0x0402FFE0, 0x040307E0, 0x04030FE0, 0x040317E0 };
|
||||
|
||||
extern SkeletonHeader D_06003F60;
|
||||
extern AnimationHeader D_06000068;
|
||||
extern Gfx D_04031FE0[];
|
||||
extern Gfx D_06002728[];
|
||||
|
||||
void EnVm_SetupAction(EnVm* this, EnVmActionFunc actionFunc) {
|
||||
this->actionFunc = actionFunc;
|
||||
}
|
||||
|
||||
void EnVm_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnVm* this = THIS;
|
||||
|
||||
SkelAnime_Init(globalCtx, &this->skelAnime, &D_06003F60, &D_06000068, this->limbDrawTable,
|
||||
this->transitionDrawTable, 11);
|
||||
ActorShape_Init(&thisx->shape, 0.0f, NULL, 0.0f);
|
||||
Collider_InitCylinder(globalCtx, &this->colliderCylinder);
|
||||
Collider_SetCylinder(globalCtx, &this->colliderCylinder, thisx, &sCylinderInit);
|
||||
Collider_InitQuad(globalCtx, &this->colliderQuad1);
|
||||
Collider_SetQuad(globalCtx, &this->colliderQuad1, thisx, &sQuadInit1);
|
||||
Collider_InitQuad(globalCtx, &this->colliderQuad2);
|
||||
Collider_SetQuad(globalCtx, &this->colliderQuad2, thisx, &sQuadInit2);
|
||||
this->beamSightRange = (thisx->params >> 8) * 40.0f;
|
||||
thisx->params &= 0xFF;
|
||||
thisx->naviEnemyId = 0x39;
|
||||
|
||||
if (thisx->params == BEAMOS_LARGE) {
|
||||
thisx->colChkInfo.health = 2;
|
||||
Actor_SetScale(thisx, 0.014f);
|
||||
} else {
|
||||
thisx->colChkInfo.health = 1;
|
||||
Actor_SetScale(thisx, 0.01f);
|
||||
}
|
||||
|
||||
EnVm_SetupWait(thisx);
|
||||
}
|
||||
|
||||
void EnVm_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnVm* this = THIS;
|
||||
|
||||
Collider_DestroyCylinder(globalCtx, &this->colliderCylinder);
|
||||
}
|
||||
|
||||
void EnVm_SetupWait(EnVm* this) {
|
||||
f32 frameCount = SkelAnime_GetFrameCount(&D_06000068);
|
||||
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_06000068, 1.0f, frameCount, frameCount, 2, 0.0f);
|
||||
this->unk_25E = this->unk_260 = 0;
|
||||
this->unk_21C = 0;
|
||||
this->timer = 10;
|
||||
EnVm_SetupAction(this, EnVm_Wait);
|
||||
}
|
||||
|
||||
void EnVm_Wait(EnVm* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
f32 dist;
|
||||
s16 headRot;
|
||||
s16 pad;
|
||||
s16 pitch;
|
||||
|
||||
switch (this->unk_25E) {
|
||||
case 0:
|
||||
Math_SmoothScaleMaxMinS(&this->beamRot.x, 0, 10, 1500, 0);
|
||||
headRot = this->actor.yawTowardsLink - this->headRotY - this->actor.shape.rot.y;
|
||||
pitch = Math_Vec3f_Pitch(&this->beamPos1, &player->actor.posRot.pos);
|
||||
|
||||
if (pitch > 0x1B91) {
|
||||
pitch = 0x1B91;
|
||||
}
|
||||
|
||||
dist = this->beamSightRange - this->actor.xzDistFromLink;
|
||||
|
||||
if (this->actor.xzDistFromLink <= this->beamSightRange && ABS(headRot) <= 0x2710 && pitch >= 0xE38 &&
|
||||
this->actor.yDistFromLink <= 80.0f && this->actor.yDistFromLink >= -160.0f) {
|
||||
Math_SmoothScaleMaxMinS(&this->beamRot, pitch, 10, 0xFA0, 0);
|
||||
if (Math_SmoothScaleMaxMinS(&this->headRotY, this->actor.yawTowardsLink - this->actor.shape.rot.y, 1,
|
||||
(ABS((s16)(dist * 180.0f)) / 3) + 0xFA0, 0) <= 5460) {
|
||||
this->timer--;
|
||||
if (this->timer == 0) {
|
||||
this->unk_25E++;
|
||||
this->skelAnime.animCurrentFrame = 0.0f;
|
||||
this->skelAnime.initialFrame = 0.0f;
|
||||
this->skelAnime.animPlaybackSpeed = 2.0f;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BIMOS_AIM);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this->headRotY -= 0x1F4;
|
||||
}
|
||||
|
||||
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
|
||||
return;
|
||||
case 1:
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
Math_SmoothScaleMaxMinS(&this->headRotY, this->actor.yawTowardsLink - this->actor.shape.rot.y, 1, 0x1F40, 0);
|
||||
|
||||
if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
|
||||
this->unk_260++;
|
||||
this->skelAnime.animCurrentFrame = 0.0f;
|
||||
}
|
||||
|
||||
if (this->unk_260 == 2) {
|
||||
this->beamRot.y = this->actor.yawTowardsLink;
|
||||
this->beamRot.x = Math_Vec3f_Pitch(&this->beamPos1, &player->actor.posRot.pos.x);
|
||||
|
||||
if (this->beamRot.x > 0x1B91) {
|
||||
this->beamRot.x = 0x1B91;
|
||||
}
|
||||
|
||||
if (this->beamRot.x < 0xAAA) {
|
||||
this->skelAnime.initialFrame = this->skelAnime.animCurrentFrame = this->skelAnime.animFrameCount;
|
||||
this->unk_25E = this->unk_260 = 0;
|
||||
this->timer = 10;
|
||||
this->skelAnime.animPlaybackSpeed = 1.0f;
|
||||
} else {
|
||||
this->skelAnime.animCurrentFrame = 6.0f;
|
||||
EffectSsDeadDd_Spawn(globalCtx, &this->beamPos2, &D_80B2EAEC, &D_80B2EAEC, 150, -25, 0, 0, 255, 0, 255, 255,
|
||||
255, 16, 20);
|
||||
EnVm_SetupAttack(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnVm_SetupAttack(EnVm* this) {
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_06000068, 3.0f, 3.0f, 7.0f, 2, 0.0f);
|
||||
this->timer = 305;
|
||||
this->beamScale.x = 0.6f;
|
||||
this->beamSpeed = 40.0f;
|
||||
this->unk_21C = 1;
|
||||
this->colliderQuad1.base.atFlags &= ~2;
|
||||
EnVm_SetupAction(this, EnVm_Attack);
|
||||
}
|
||||
|
||||
void EnVm_Attack(EnVm* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
s16 pitch = Math_Vec3f_Pitch(&this->beamPos1, &player->actor.posRot.pos);
|
||||
f32 dist;
|
||||
Vec3f playerPos;
|
||||
|
||||
if (pitch > 0x1B91) {
|
||||
pitch = 0x1B91;
|
||||
}
|
||||
|
||||
if (this->colliderQuad1.base.atFlags & 2) {
|
||||
this->colliderQuad1.base.atFlags &= ~0x2;
|
||||
this->timer = 0;
|
||||
|
||||
if (this->beamScale.x > 0.1f) {
|
||||
this->beamScale.x = 0.1f;
|
||||
}
|
||||
}
|
||||
|
||||
if (this->beamRot.x < 0xAAA || this->timer == 0) {
|
||||
Math_SmoothScaleMaxMinF(&this->beamScale, 0.0f, 1.0f, 0.03f, 0.0f);
|
||||
this->unk_260 = 0;
|
||||
|
||||
if (this->beamScale.x == 0.0f) {
|
||||
this->beamScale.z = 0.0f;
|
||||
this->beamScale.y = 0.0f;
|
||||
EnVm_SetupWait(this);
|
||||
}
|
||||
} else {
|
||||
if (--this->timer > 300) {
|
||||
return;
|
||||
}
|
||||
|
||||
Math_SmoothScaleMaxMinS(&this->headRotY, -this->actor.shape.rot.y + this->actor.yawTowardsLink, 10, 0xDAC, 0);
|
||||
Math_SmoothScaleMaxMinS(&this->beamRot.y, this->actor.yawTowardsLink, 10, 0xDAC, 0);
|
||||
Math_SmoothScaleMaxMinS(&this->beamRot, pitch, 10, 0xDAC, 0);
|
||||
playerPos = player->actor.posRot.pos;
|
||||
|
||||
if (player->actor.groundY > -32000.0f) {
|
||||
playerPos.y = player->actor.groundY;
|
||||
}
|
||||
|
||||
dist = Math_Vec3f_DistXYZ(&this->beamPos1, &playerPos);
|
||||
Math_SmoothScaleMaxMinF(&this->beamScale.z, dist, 1.0f, this->beamSpeed, 0.0f);
|
||||
Math_SmoothScaleMaxMinF(&this->beamScale.x, 0.1f, 1.0f, 0.12f, 0.0f);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BIMOS_LAZER - SFX_FLAG);
|
||||
|
||||
if (this->unk_260 > 2) {
|
||||
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->colliderQuad1);
|
||||
}
|
||||
|
||||
this->unk_260 = 3;
|
||||
}
|
||||
|
||||
if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
|
||||
this->skelAnime.animCurrentFrame = this->skelAnime.initialFrame;
|
||||
}
|
||||
}
|
||||
|
||||
void EnVm_SetupStun(EnVm* this) {
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_06000068, -1.0f, SkelAnime_GetFrameCount(&D_06000068), 0.0f, 2, 0.0f);
|
||||
this->unk_260 = 0;
|
||||
this->timer = 180;
|
||||
this->unk_25E = this->unk_260;
|
||||
this->unk_21C = 2;
|
||||
this->beamScale.z = 0.0f;
|
||||
this->beamScale.y = 0.0f;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GOMA_JR_FREEZE);
|
||||
EnVm_SetupAction(this, EnVm_Stun);
|
||||
}
|
||||
|
||||
void EnVm_Stun(EnVm* this, GlobalContext* globalCtx) {
|
||||
if (this->timer == 0) {
|
||||
if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
|
||||
this->unk_25E++;
|
||||
if (this->unk_25E == 3) {
|
||||
EnVm_SetupWait(this);
|
||||
} else if (this->unk_25E == 1) {
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_06000068, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000068), 2,
|
||||
0.0f);
|
||||
} else {
|
||||
this->timer = 10;
|
||||
this->skelAnime.animCurrentFrame = 0.0f;
|
||||
this->skelAnime.animPlaybackSpeed = 2.0f;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Math_SmoothScaleMaxMinS(&this->beamRot, 0, 10, 0x5DC, 0);
|
||||
this->timer--;
|
||||
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
|
||||
}
|
||||
}
|
||||
|
||||
void EnVm_SetupDie(EnVm* this) {
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_06000068, -1.0f, SkelAnime_GetFrameCount(&D_06000068), 0.0f, 2, 0.0f);
|
||||
this->timer = 33;
|
||||
this->unk_25E = this->unk_260 = 0;
|
||||
this->unk_21C = 3;
|
||||
this->beamScale.z = 0.0f;
|
||||
this->beamScale.y = 0.0f;
|
||||
this->actor.shape.unk_08 = -5000.0f;
|
||||
this->actor.posRot.pos.y += 5000.0f * this->actor.scale.y;
|
||||
this->actor.velocity.y = 8.0f;
|
||||
this->actor.gravity = -0.5f;
|
||||
this->actor.speedXZ = Math_Rand_ZeroOne() + 1.0f;
|
||||
this->actor.posRot.rot.y = Math_Rand_CenteredFloat(65535.0f);
|
||||
EnVm_SetupAction(this, EnVm_Die);
|
||||
}
|
||||
|
||||
void EnVm_Die(EnVm* this, GlobalContext* globalCtx) {
|
||||
EnBom* bomb;
|
||||
|
||||
this->beamRot.x += 0x5DC;
|
||||
this->headRotY += 0x9C4;
|
||||
Actor_MoveForward(&this->actor);
|
||||
|
||||
if (--this->timer == 0) {
|
||||
bomb = (EnBom*)Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_BOM, this->actor.posRot.pos.x,
|
||||
this->actor.posRot.pos.y, this->actor.posRot.pos.z, 0, 0, 0x6FF, BOMB_BODY);
|
||||
|
||||
if (bomb != NULL) {
|
||||
bomb->timer = 0;
|
||||
}
|
||||
|
||||
Item_DropCollectibleRandom(globalCtx, &this->actor, &this->actor.posRot, 0xA0);
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
void EnVm_CheckHealth(EnVm* this, GlobalContext* globalCtx) {
|
||||
EnBom* bomb;
|
||||
|
||||
if (Actor_GetCollidedExplosive(globalCtx, &this->colliderCylinder) != NULL) {
|
||||
this->actor.colChkInfo.health--;
|
||||
osSyncPrintf("hp down %d\n", this->actor.colChkInfo.health);
|
||||
} else {
|
||||
if (!(this->colliderQuad2.base.acFlags & 2) || this->unk_21C == 2) {
|
||||
return;
|
||||
}
|
||||
this->colliderQuad2.base.acFlags &= ~2;
|
||||
}
|
||||
|
||||
if (this->actor.colChkInfo.health != 0) {
|
||||
func_8003426C(&this->actor, 0x4000, 0xFF, 0, 8);
|
||||
EnVm_SetupStun(this);
|
||||
} else {
|
||||
bomb = (EnBom*)Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_BOM, this->actor.posRot.pos.x,
|
||||
this->actor.posRot.pos.y + 20.0f, this->actor.posRot.pos.z, 0, 0, 0x601, BOMB_BODY);
|
||||
|
||||
if (bomb != NULL) {
|
||||
bomb->timer = 0;
|
||||
}
|
||||
|
||||
EnVm_SetupDie(this);
|
||||
}
|
||||
}
|
||||
|
||||
void EnVm_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnVm* this = THIS;
|
||||
CollisionCheckContext* colChkCtx = &globalCtx->colChkCtx;
|
||||
|
||||
if (this->actor.colChkInfo.health != 0) {
|
||||
EnVm_CheckHealth(this, globalCtx);
|
||||
}
|
||||
|
||||
if (this->unk_260 == 4) {
|
||||
EffectSsDeadDs_SpawnStationary(globalCtx, &this->beamPos3, 20, -1, 255, 20);
|
||||
func_80033480(globalCtx, &this->beamPos3, 6.0f, 1, 120, 20, 1);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BIMOS_LAZER_GND - SFX_FLAG);
|
||||
}
|
||||
|
||||
this->actionFunc(this, globalCtx);
|
||||
this->beamTexScroll += 0xC;
|
||||
|
||||
if (this->actor.colChkInfo.health != 0 && this->unk_21C != 2) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BIMOS_ROLL_HEAD - SFX_FLAG);
|
||||
}
|
||||
|
||||
Collider_CylinderUpdate(&this->actor, &this->colliderCylinder);
|
||||
CollisionCheck_SetOC(globalCtx, colChkCtx, &this->colliderCylinder);
|
||||
|
||||
if (this->actor.dmgEffectTimer == 0 && this->actor.colChkInfo.health != 0) {
|
||||
CollisionCheck_SetAC(globalCtx, colChkCtx, &this->colliderCylinder);
|
||||
}
|
||||
|
||||
CollisionCheck_SetAC(globalCtx, colChkCtx, &this->colliderQuad2);
|
||||
this->actor.posRot2.pos = this->actor.posRot.pos;
|
||||
this->actor.posRot2.pos.y += (6500.0f + this->actor.shape.unk_08) * this->actor.scale.y;
|
||||
}
|
||||
|
||||
s32 EnVm_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
|
||||
EnVm* this = THIS;
|
||||
|
||||
if (limbIndex == 2) {
|
||||
rot->x += this->beamRot.x;
|
||||
rot->y += this->headRotY;
|
||||
} else if (limbIndex == 10) {
|
||||
if (this->unk_21C == 3) {
|
||||
*dList = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void EnVm_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
|
||||
EnVm* this = THIS;
|
||||
Vec3f sp80 = D_80B2EAF8;
|
||||
Vec3f sp74 = D_80B2EB04;
|
||||
Vec3f sp68 = D_80B2EB10;
|
||||
s32 pad;
|
||||
Vec3f sp58;
|
||||
CollisionPoly* poly;
|
||||
u32 buff;
|
||||
f32 dist;
|
||||
|
||||
if (limbIndex == 2) {
|
||||
Matrix_MultVec3f(&D_80B2EB1C, &this->beamPos1);
|
||||
Matrix_MultVec3f(&D_80B2EB28, &this->beamPos2);
|
||||
|
||||
if (this->unk_260 >= 3) {
|
||||
poly = NULL;
|
||||
sp80.z = (this->beamScale.z + 500.0f) * (this->actor.scale.y * 10000.0f);
|
||||
Matrix_MultVec3f(&sp80, &this->beamPos3);
|
||||
|
||||
if (func_8003DE84(&globalCtx->colCtx, &this->beamPos1, &this->beamPos3, &sp58, &poly, 1, 1, 0, 1, &buff) ==
|
||||
1) {
|
||||
this->beamScale.z = Math_Vec3f_DistXYZ(&this->beamPos1, &sp58) - 5.0f;
|
||||
this->unk_260 = 4;
|
||||
this->beamPos3 = sp58;
|
||||
}
|
||||
if (this->beamScale.z != 0.0f) {
|
||||
dist = 100.0f;
|
||||
if (this->actor.scale.y > 0.01f) {
|
||||
dist = 70.0f;
|
||||
}
|
||||
sp74.z = sp68.z = Math_Vec3f_DistXYZ(&this->beamPos1, &this->beamPos3) * dist;
|
||||
Matrix_MultVec3f(&D_80B2EB64, &this->colliderQuad1.dim.quad[3]);
|
||||
Matrix_MultVec3f(&D_80B2EB70, &this->colliderQuad1.dim.quad[2]);
|
||||
Matrix_MultVec3f(&sp74, &this->colliderQuad1.dim.quad[1]);
|
||||
Matrix_MultVec3f(&sp68, &this->colliderQuad1.dim.quad[0]);
|
||||
func_80062734(&this->colliderQuad1, &this->colliderQuad1.dim.quad[0], &this->colliderQuad1.dim.quad[1],
|
||||
&this->colliderQuad1.dim.quad[2], &this->colliderQuad1.dim.quad[3]);
|
||||
}
|
||||
}
|
||||
Matrix_MultVec3f(&D_80B2EB34, &this->colliderQuad2.dim.quad[1]);
|
||||
Matrix_MultVec3f(&D_80B2EB40, &this->colliderQuad2.dim.quad[0]);
|
||||
Matrix_MultVec3f(&D_80B2EB4C, &this->colliderQuad2.dim.quad[3]);
|
||||
Matrix_MultVec3f(&D_80B2EB58, &this->colliderQuad2.dim.quad[2]);
|
||||
func_80062734(&this->colliderQuad2, &this->colliderQuad2.dim.quad[0], &this->colliderQuad2.dim.quad[1],
|
||||
&this->colliderQuad2.dim.quad[2], &this->colliderQuad2.dim.quad[3]);
|
||||
}
|
||||
}
|
||||
|
||||
void EnVm_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnVm* this = THIS;
|
||||
GlobalContext* globalCtx2 = globalCtx;
|
||||
Vec3f actorPos;
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_vm.c", 1014);
|
||||
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
func_80093D84(globalCtx->state.gfxCtx);
|
||||
SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnVm_OverrideLimbDraw,
|
||||
EnVm_PostLimbDraw, &this->actor);
|
||||
actorPos = this->actor.posRot.pos;
|
||||
func_80033C30(&actorPos, &D_80B2EB7C, 255, globalCtx);
|
||||
|
||||
if (this->unk_260 >= 3) {
|
||||
Matrix_Translate(this->beamPos3.x, this->beamPos3.y + 10.0f, this->beamPos3.z, MTXMODE_NEW);
|
||||
Matrix_Scale(0.8f, 0.8f, 0.8f, MTXMODE_APPLY);
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_vm.c", 1033),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 168);
|
||||
func_80094BC4(globalCtx->state.gfxCtx);
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 255, 0);
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80B2EB88[globalCtx2->gameplayFrames % 8]));
|
||||
gSPDisplayList(POLY_XLU_DISP++, D_04031FE0);
|
||||
Matrix_RotateY(32767.0f, MTXMODE_APPLY);
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_vm.c", 1044),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80B2EB88[(globalCtx2->gameplayFrames + 4) % 8]));
|
||||
gSPDisplayList(POLY_XLU_DISP++, D_04031FE0);
|
||||
}
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, func_80094E78(globalCtx->state.gfxCtx, 0, this->beamTexScroll));
|
||||
Matrix_Translate(this->beamPos1.x, this->beamPos1.y, this->beamPos1.z, MTXMODE_NEW);
|
||||
Matrix_RotateRPY(this->beamRot.x, this->beamRot.y, this->beamRot.z, MTXMODE_APPLY);
|
||||
Matrix_Scale(this->beamScale.x * 0.1f, this->beamScale.x * 0.1f, this->beamScale.z * 0.0015f, 1);
|
||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_vm.c", 1063),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_OPA_DISP++, D_06002728);
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_vm.c", 1068);
|
||||
}
|
||||
|
|
|
@ -6,11 +6,37 @@
|
|||
|
||||
struct EnVm;
|
||||
|
||||
typedef void (*EnVmActionFunc)(struct EnVm*, GlobalContext*);
|
||||
|
||||
typedef struct EnVm {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x268];
|
||||
/* 0x014C */ SkelAnime skelAnime;
|
||||
/* 0x0190 */ Vec3s limbDrawTable[11];
|
||||
/* 0x01D2 */ Vec3s transitionDrawTable[11];
|
||||
/* 0x0214 */ EnVmActionFunc actionFunc;
|
||||
/* 0x0218 */ f32 beamSightRange;
|
||||
/* 0x021C */ s32 unk_21C;
|
||||
/* 0x0220 */ s32 timer;
|
||||
/* 0x0224 */ Vec3f beamPos1;
|
||||
/* 0x0230 */ Vec3f beamPos2;
|
||||
/* 0x023C */ Vec3f beamPos3;
|
||||
/* 0x0248 */ Vec3f beamScale;
|
||||
/* 0x0254 */ Vec3s beamRot;
|
||||
/* 0x025A */ s16 beamTexScroll;
|
||||
/* 0x025C */ s16 headRotY;
|
||||
/* 0x025E */ s16 unk_25E;
|
||||
/* 0x0260 */ s16 unk_260;
|
||||
/* 0x0264 */ f32 beamSpeed;
|
||||
/* 0x0268 */ ColliderCylinder colliderCylinder;
|
||||
/* 0x02B4 */ ColliderQuad colliderQuad1;
|
||||
/* 0x0334 */ ColliderQuad colliderQuad2;
|
||||
} EnVm; // size = 0x03B4
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ BEAMOS_LARGE,
|
||||
/* 0x01 */ BEAMOS_SMALL
|
||||
} BeamosType;
|
||||
|
||||
extern const ActorInit En_Vm_InitVars;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1358,6 +1358,12 @@ D_06000498 = 0x06000498;
|
|||
// z_bg_menkuri_eye
|
||||
D_06002D20 = 0x06002D20;
|
||||
|
||||
// z_en_vm
|
||||
D_06003F60 = 0x06003F60;
|
||||
D_06000068 = 0x06000068;
|
||||
D_04031FE0 = 0x04031FE0;
|
||||
D_06002728 = 0x06002728;
|
||||
|
||||
// z_bg_spot03_taki
|
||||
D_06000C98 = 0x06000C98;
|
||||
D_06000800 = 0x06000800;
|
||||
|
|
Loading…
Reference in a new issue