From eba7b2c4d6a7f73181ea2e2127cffb1d3a0b2200 Mon Sep 17 00:00:00 2001 From: Zelllll <56516451+Zelllll@users.noreply.github.com> Date: Wed, 25 Nov 2020 13:20:02 -0600 Subject: [PATCH] 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 * Update src/overlays/actors/ovl_En_Vm/z_en_vm.c Co-authored-by: Dragorn421 * Update src/overlays/actors/ovl_En_Vm/z_en_vm.c Co-authored-by: Dragorn421 * Update src/overlays/actors/ovl_En_Vm/z_en_vm.c Co-authored-by: Dragorn421 * 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 Co-authored-by: Zelllll Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> --- .../overlays/actors/ovl_En_Vm/EnVm_Destroy.s | 12 - .../overlays/actors/ovl_En_Vm/EnVm_Draw.s | 287 ---------- .../overlays/actors/ovl_En_Vm/EnVm_Init.s | 101 ---- .../overlays/actors/ovl_En_Vm/EnVm_Update.s | 117 ----- .../overlays/actors/ovl_En_Vm/func_80B2D460.s | 3 - .../overlays/actors/ovl_En_Vm/func_80B2D600.s | 38 -- .../overlays/actors/ovl_En_Vm/func_80B2D68C.s | 234 --------- .../overlays/actors/ovl_En_Vm/func_80B2D9D8.s | 48 -- .../overlays/actors/ovl_En_Vm/func_80B2DA7C.s | 177 ------- .../overlays/actors/ovl_En_Vm/func_80B2DCC8.s | 46 -- .../overlays/actors/ovl_En_Vm/func_80B2DD70.s | 78 --- .../overlays/actors/ovl_En_Vm/func_80B2DE7C.s | 81 --- .../overlays/actors/ovl_En_Vm/func_80B2DF84.s | 51 -- .../overlays/actors/ovl_En_Vm/func_80B2E034.s | 83 --- .../overlays/actors/ovl_En_Vm/func_80B2E2D8.s | 29 -- .../overlays/actors/ovl_En_Vm/func_80B2E340.s | 197 ------- data/overlays/actors/z_en_vm.data.s | 52 -- data/overlays/actors/z_en_vm.reloc.s | 13 - spec | 3 +- src/overlays/actors/ovl_En_Vm/z_en_vm.c | 489 +++++++++++++++++- src/overlays/actors/ovl_En_Vm/z_en_vm.h | 28 +- undefined_syms.txt | 6 + 22 files changed, 505 insertions(+), 1668 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D460.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D600.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D68C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D9D8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DA7C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DCC8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DD70.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DE7C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DF84.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2E034.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2E2D8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2E340.s delete mode 100644 data/overlays/actors/z_en_vm.data.s delete mode 100644 data/overlays/actors/z_en_vm.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Destroy.s deleted file mode 100644 index 3027f9aaff..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Destroy.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Draw.s deleted file mode 100644 index 6d6e4dd44a..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Draw.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Init.s deleted file mode 100644 index c34d407a49..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Init.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Update.s deleted file mode 100644 index dbdb1cb1ca..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vm/EnVm_Update.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D460.s b/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D460.s deleted file mode 100644 index bf2ca89fc6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D460.s +++ /dev/null @@ -1,3 +0,0 @@ -glabel func_80B2D460 -/* 00000 80B2D460 03E00008 */ jr $ra -/* 00004 80B2D464 AC850214 */ sw $a1, 0x0214($a0) ## 00000214 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D600.s b/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D600.s deleted file mode 100644 index 5ef3b1e209..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D600.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D68C.s b/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D68C.s deleted file mode 100644 index e7d3704574..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D68C.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D9D8.s b/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D9D8.s deleted file mode 100644 index c8a6205369..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2D9D8.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DA7C.s b/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DA7C.s deleted file mode 100644 index 755c7d34fb..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DA7C.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DCC8.s b/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DCC8.s deleted file mode 100644 index 753d7d4c06..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DCC8.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DD70.s b/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DD70.s deleted file mode 100644 index 7872e60bbf..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DD70.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DE7C.s b/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DE7C.s deleted file mode 100644 index 5f2fe57395..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DE7C.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DF84.s b/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DF84.s deleted file mode 100644 index 74afe46abf..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2DF84.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2E034.s b/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2E034.s deleted file mode 100644 index 95cfd72586..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2E034.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2E2D8.s b/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2E2D8.s deleted file mode 100644 index 207120c7e6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2E2D8.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2E340.s b/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2E340.s deleted file mode 100644 index 4bf9299363..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vm/func_80B2E340.s +++ /dev/null @@ -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 diff --git a/data/overlays/actors/z_en_vm.data.s b/data/overlays/actors/z_en_vm.data.s deleted file mode 100644 index d360c80714..0000000000 --- a/data/overlays/actors/z_en_vm.data.s +++ /dev/null @@ -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 - diff --git a/data/overlays/actors/z_en_vm.reloc.s b/data/overlays/actors/z_en_vm.reloc.s deleted file mode 100644 index 9e50e45b76..0000000000 --- a/data/overlays/actors/z_en_vm.reloc.s +++ /dev/null @@ -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 diff --git a/spec b/spec index 132b3bcff5..bb2d087d53 100644 --- a/spec +++ b/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 diff --git a/src/overlays/actors/ovl_En_Vm/z_en_vm.c b/src/overlays/actors/ovl_En_Vm/z_en_vm.c index ab9c4ca21b..fb1a802d96 100644 --- a/src/overlays/actors/ovl_En_Vm/z_en_vm.c +++ b/src/overlays/actors/ovl_En_Vm/z_en_vm.c @@ -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); +} diff --git a/src/overlays/actors/ovl_En_Vm/z_en_vm.h b/src/overlays/actors/ovl_En_Vm/z_en_vm.h index a5c1175d98..f52c22dd53 100644 --- a/src/overlays/actors/ovl_En_Vm/z_en_vm.h +++ b/src/overlays/actors/ovl_En_Vm/z_en_vm.h @@ -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 diff --git a/undefined_syms.txt b/undefined_syms.txt index d234abfac8..3c6492f9fc 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -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;