From 994bf19a978167c5703eb9f80bbab3261338791f Mon Sep 17 00:00:00 2001 From: Parker Burnett Date: Sat, 5 Dec 2020 15:28:39 -0500 Subject: [PATCH] en_kusa (#494) * starting the decomp for en_kusa -> the bushes * in the bushes of love * maybe the init_function is done? * The functions that call functions never end * more progress. almost matches init * fig helped a bunch...ty fig * moving things along * yikes * more things matching * moar matches! fixed casting issues on some data * progress * progress * One function left to go * yeah, idk....its close though * closer * Ok * En_Kusa: Ok * removing the asm files * fixed suggestions * small fixes I forgot * messed things up, had to go back, back to being OK * named a couple more functions and fixed some logic * fixing some names I guessed wrong on * fixed suggested changes Co-authored-by: fig --- .../actors/ovl_En_Kusa/EnKusa_Destroy.s | 12 - .../overlays/actors/ovl_En_Kusa/EnKusa_Init.s | 101 ---- .../actors/ovl_En_Kusa/EnKusa_Update.s | 28 -- .../actors/ovl_En_Kusa/func_80A9AFA0.s | 4 - .../actors/ovl_En_Kusa/func_80A9AFAC.s | 77 --- .../actors/ovl_En_Kusa/func_80A9B07C.s | 60 --- .../actors/ovl_En_Kusa/func_80A9B140.s | 15 - .../actors/ovl_En_Kusa/func_80A9B174.s | 44 -- .../actors/ovl_En_Kusa/func_80A9B1FC.s | 16 - .../actors/ovl_En_Kusa/func_80A9B21C.s | 233 --------- .../actors/ovl_En_Kusa/func_80A9B574.s | 57 --- .../actors/ovl_En_Kusa/func_80A9B630.s | 26 - .../actors/ovl_En_Kusa/func_80A9B7EC.s | 10 - .../actors/ovl_En_Kusa/func_80A9B810.s | 40 -- .../actors/ovl_En_Kusa/func_80A9B89C.s | 16 - .../actors/ovl_En_Kusa/func_80A9B8D8.s | 127 ----- .../actors/ovl_En_Kusa/func_80A9BA98.s | 17 - .../actors/ovl_En_Kusa/func_80A9BAD8.s | 65 --- .../actors/ovl_En_Kusa/func_80A9BBB0.s | 29 -- .../actors/ovl_En_Kusa/func_80A9BC1C.s | 178 ------- .../actors/ovl_En_Kusa/func_80A9BEAC.s | 24 - .../actors/ovl_En_Kusa/func_80A9BEFC.s | 15 - .../actors/ovl_En_Kusa/func_80A9BF30.s | 4 - .../actors/ovl_En_Kusa/func_80A9BF3C.s | 28 -- .../actors/ovl_En_Kusa/func_80A9BFA8.s | 29 -- .../actors/ovl_En_Kusa/func_80A9C00C.s | 24 - .../actors/ovl_En_Kusa/func_80A9C068.s | 43 -- .../actors/ovl_En_Kusa/func_80A9C164.s | 32 -- data/overlays/actors/z_en_kusa.data.s | 40 -- data/overlays/actors/z_en_kusa.reloc.s | 13 - spec | 3 +- .../ovl_Bg_Ice_Turara/z_bg_ice_turara.c | 2 +- src/overlays/actors/ovl_En_Kusa/z_en_kusa.c | 468 ++++++++++++++++-- src/overlays/actors/ovl_En_Kusa/z_en_kusa.h | 7 +- undefined_syms.txt | 5 + 35 files changed, 451 insertions(+), 1441 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/EnKusa_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/EnKusa_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/EnKusa_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9AFA0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9AFAC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B07C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B140.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B174.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B1FC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B21C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B574.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B630.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B7EC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B810.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B89C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B8D8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BA98.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BAD8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BBB0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BC1C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BEAC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BEFC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BF30.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BF3C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BFA8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9C00C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9C068.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9C164.s delete mode 100644 data/overlays/actors/z_en_kusa.data.s delete mode 100644 data/overlays/actors/z_en_kusa.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/EnKusa_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/EnKusa_Destroy.s deleted file mode 100644 index 4fc3bfe6f5..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/EnKusa_Destroy.s +++ /dev/null @@ -1,12 +0,0 @@ -glabel EnKusa_Destroy -/* 00824 80A9B7C4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00828 80A9B7C8 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 0082C 80A9B7CC AFBF0014 */ sw $ra, 0x0014($sp) -/* 00830 80A9B7D0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00834 80A9B7D4 0C0170EB */ jal Collider_DestroyCylinder - -/* 00838 80A9B7D8 24E50150 */ addiu $a1, $a3, 0x0150 ## $a1 = 00000150 -/* 0083C 80A9B7DC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00840 80A9B7E0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00844 80A9B7E4 03E00008 */ jr $ra -/* 00848 80A9B7E8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/EnKusa_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/EnKusa_Init.s deleted file mode 100644 index 1b3c5dd859..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/EnKusa_Init.s +++ /dev/null @@ -1,101 +0,0 @@ -.rdata -glabel D_80A9C2D8 - .asciz "Error : バンク危険! (arg_data 0x%04x)(%s %d)\n" - .balign 4 - -glabel D_80A9C308 - .asciz "../z_en_kusa.c" - .balign 4 - -.text -glabel EnKusa_Init -/* 006E8 80A9B688 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 006EC 80A9B68C AFA50024 */ sw $a1, 0x0024($sp) -/* 006F0 80A9B690 AFBF001C */ sw $ra, 0x001C($sp) -/* 006F4 80A9B694 AFB00018 */ sw $s0, 0x0018($sp) -/* 006F8 80A9B698 3C0580AA */ lui $a1, %hi(D_80A9C27C) ## $a1 = 80AA0000 -/* 006FC 80A9B69C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00700 80A9B6A0 0C01E037 */ jal Actor_ProcessInitChain - -/* 00704 80A9B6A4 24A5C27C */ addiu $a1, $a1, %lo(D_80A9C27C) ## $a1 = 80A9C27C -/* 00708 80A9B6A8 8FA50024 */ lw $a1, 0x0024($sp) -/* 0070C 80A9B6AC 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 00710 80A9B6B0 90AE1D6C */ lbu $t6, 0x1D6C($a1) ## 00001D6C -/* 00714 80A9B6B4 11C00006 */ beq $t6, $zero, .L80A9B6D0 -/* 00718 80A9B6B8 00000000 */ nop -/* 0071C 80A9B6BC C60400F4 */ lwc1 $f4, 0x00F4($s0) ## 000000F4 -/* 00720 80A9B6C0 44813000 */ mtc1 $at, $f6 ## $f6 = 1000.00 -/* 00724 80A9B6C4 00000000 */ nop -/* 00728 80A9B6C8 46062200 */ add.s $f8, $f4, $f6 -/* 0072C 80A9B6CC E60800F4 */ swc1 $f8, 0x00F4($s0) ## 000000F4 -.L80A9B6D0: -/* 00730 80A9B6D0 0C2A6D8C */ jal func_80A9B630 -/* 00734 80A9B6D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00738 80A9B6D8 3C0680AA */ lui $a2, %hi(D_80A9C234) ## $a2 = 80AA0000 -/* 0073C 80A9B6DC 24C6C234 */ addiu $a2, $a2, %lo(D_80A9C234) ## $a2 = 80A9C234 -/* 00740 80A9B6E0 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098 -/* 00744 80A9B6E4 0C0187B5 */ jal func_80061ED4 -/* 00748 80A9B6E8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 0074C 80A9B6EC 860F00B6 */ lh $t7, 0x00B6($s0) ## 000000B6 -/* 00750 80A9B6F0 3C014780 */ lui $at, 0x4780 ## $at = 47800000 -/* 00754 80A9B6F4 55E0000B */ bnel $t7, $zero, .L80A9B724 -/* 00758 80A9B6F8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0075C 80A9B6FC 44816000 */ mtc1 $at, $f12 ## $f12 = 65536.00 -/* 00760 80A9B700 0C00CFBE */ jal Math_Rand_ZeroFloat - -/* 00764 80A9B704 00000000 */ nop -/* 00768 80A9B708 4600028D */ trunc.w.s $f10, $f0 -/* 0076C 80A9B70C 44025000 */ mfc1 $v0, $f10 -/* 00770 80A9B710 00000000 */ nop -/* 00774 80A9B714 A6020032 */ sh $v0, 0x0032($s0) ## 00000032 -/* 00778 80A9B718 A6020016 */ sh $v0, 0x0016($s0) ## 00000016 -/* 0077C 80A9B71C A60200B6 */ sh $v0, 0x00B6($s0) ## 000000B6 -/* 00780 80A9B720 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L80A9B724: -/* 00784 80A9B724 8FA50024 */ lw $a1, 0x0024($sp) -/* 00788 80A9B728 0C2A6BEB */ jal func_80A9AFAC -/* 0078C 80A9B72C 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000 -/* 00790 80A9B730 14400005 */ bne $v0, $zero, .L80A9B748 -/* 00794 80A9B734 8FA40024 */ lw $a0, 0x0024($sp) -/* 00798 80A9B738 0C00B55C */ jal Actor_Kill - -/* 0079C 80A9B73C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 007A0 80A9B740 1000001C */ beq $zero, $zero, .L80A9B7B4 -/* 007A4 80A9B744 8FBF001C */ lw $ra, 0x001C($sp) -.L80A9B748: -/* 007A8 80A9B748 8619001C */ lh $t9, 0x001C($s0) ## 0000001C -/* 007AC 80A9B74C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 007B0 80A9B750 3C0580AA */ lui $a1, %hi(D_80A9C200) ## $a1 = 80AA0000 -/* 007B4 80A9B754 33280003 */ andi $t0, $t9, 0x0003 ## $t0 = 00000000 -/* 007B8 80A9B758 00084840 */ sll $t1, $t0, 1 -/* 007BC 80A9B75C 00A92821 */ addu $a1, $a1, $t1 -/* 007C0 80A9B760 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4 -/* 007C4 80A9B764 00812021 */ addu $a0, $a0, $at -/* 007C8 80A9B768 0C02604B */ jal Object_GetIndex - ## ObjectIndex -/* 007CC 80A9B76C 84A5C200 */ lh $a1, %lo(D_80A9C200)($a1) -/* 007D0 80A9B770 A202019E */ sb $v0, 0x019E($s0) ## 0000019E -/* 007D4 80A9B774 820A019E */ lb $t2, 0x019E($s0) ## 0000019E -/* 007D8 80A9B778 3C0480AA */ lui $a0, %hi(D_80A9C2D8) ## $a0 = 80AA0000 -/* 007DC 80A9B77C 2484C2D8 */ addiu $a0, $a0, %lo(D_80A9C2D8) ## $a0 = 80A9C2D8 -/* 007E0 80A9B780 05410009 */ bgez $t2, .L80A9B7A8 -/* 007E4 80A9B784 3C0680AA */ lui $a2, %hi(D_80A9C308) ## $a2 = 80AA0000 -/* 007E8 80A9B788 8605001C */ lh $a1, 0x001C($s0) ## 0000001C -/* 007EC 80A9B78C 24C6C308 */ addiu $a2, $a2, %lo(D_80A9C308) ## $a2 = 80A9C308 -/* 007F0 80A9B790 0C00084C */ jal osSyncPrintf - -/* 007F4 80A9B794 24070231 */ addiu $a3, $zero, 0x0231 ## $a3 = 00000231 -/* 007F8 80A9B798 0C00B55C */ jal Actor_Kill - -/* 007FC 80A9B79C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00800 80A9B7A0 10000004 */ beq $zero, $zero, .L80A9B7B4 -/* 00804 80A9B7A4 8FBF001C */ lw $ra, 0x001C($sp) -.L80A9B7A8: -/* 00808 80A9B7A8 0C2A6DFB */ jal func_80A9B7EC -/* 0080C 80A9B7AC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00810 80A9B7B0 8FBF001C */ lw $ra, 0x001C($sp) -.L80A9B7B4: -/* 00814 80A9B7B4 8FB00018 */ lw $s0, 0x0018($sp) -/* 00818 80A9B7B8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 0081C 80A9B7BC 03E00008 */ jr $ra -/* 00820 80A9B7C0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/EnKusa_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/EnKusa_Update.s deleted file mode 100644 index 565e1b8c64..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/EnKusa_Update.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel EnKusa_Update -/* 01160 80A9C100 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 01164 80A9C104 AFBF0014 */ sw $ra, 0x0014($sp) -/* 01168 80A9C108 848E019C */ lh $t6, 0x019C($a0) ## 0000019C -/* 0116C 80A9C10C 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001 -/* 01170 80A9C110 A48F019C */ sh $t7, 0x019C($a0) ## 0000019C -/* 01174 80A9C114 AFA40018 */ sw $a0, 0x0018($sp) -/* 01178 80A9C118 8C99014C */ lw $t9, 0x014C($a0) ## 0000014C -/* 0117C 80A9C11C 0320F809 */ jalr $ra, $t9 -/* 01180 80A9C120 00000000 */ nop -/* 01184 80A9C124 8FA40018 */ lw $a0, 0x0018($sp) -/* 01188 80A9C128 3C01C0C8 */ lui $at, 0xC0C8 ## $at = C0C80000 -/* 0118C 80A9C12C 8C980004 */ lw $t8, 0x0004($a0) ## 00000004 -/* 01190 80A9C130 33080800 */ andi $t0, $t8, 0x0800 ## $t0 = 00000000 -/* 01194 80A9C134 51000005 */ beql $t0, $zero, .L80A9C14C -/* 01198 80A9C138 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 0119C 80A9C13C 44812000 */ mtc1 $at, $f4 ## $f4 = -6.25 -/* 011A0 80A9C140 10000004 */ beq $zero, $zero, .L80A9C154 -/* 011A4 80A9C144 E48400BC */ swc1 $f4, 0x00BC($a0) ## 000000BC -/* 011A8 80A9C148 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -.L80A9C14C: -/* 011AC 80A9C14C 00000000 */ nop -/* 011B0 80A9C150 E48600BC */ swc1 $f6, 0x00BC($a0) ## 000000BC -.L80A9C154: -/* 011B4 80A9C154 8FBF0014 */ lw $ra, 0x0014($sp) -/* 011B8 80A9C158 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 011BC 80A9C15C 03E00008 */ jr $ra -/* 011C0 80A9C160 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9AFA0.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9AFA0.s deleted file mode 100644 index 58073787ce..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9AFA0.s +++ /dev/null @@ -1,4 +0,0 @@ -glabel func_80A9AFA0 -/* 00000 80A9AFA0 A480019C */ sh $zero, 0x019C($a0) ## 0000019C -/* 00004 80A9AFA4 03E00008 */ jr $ra -/* 00008 80A9AFA8 AC85014C */ sw $a1, 0x014C($a0) ## 0000014C diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9AFAC.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9AFAC.s deleted file mode 100644 index d6568a429b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9AFAC.s +++ /dev/null @@ -1,77 +0,0 @@ -.rdata -glabel D_80A9C2A0 - .asciz "\x1b[43;30m" - .balign 4 - -glabel D_80A9C2AC - .asciz "地面に付着失敗(%s %d)\n" - .balign 4 - -glabel D_80A9C2C4 - .asciz "../z_en_kusa.c" - .balign 4 - -glabel D_80A9C2D4 - .asciz "\x1b[m" - .balign 4 - -.text -glabel func_80A9AFAC -/* 0000C 80A9AFAC 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 00010 80A9AFB0 AFBF001C */ sw $ra, 0x001C($sp) -/* 00014 80A9AFB4 AFA50044 */ sw $a1, 0x0044($sp) -/* 00018 80A9AFB8 AFA60048 */ sw $a2, 0x0048($sp) -/* 0001C 80A9AFBC C4840024 */ lwc1 $f4, 0x0024($a0) ## 00000024 -/* 00020 80A9AFC0 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00024 80A9AFC4 44814000 */ mtc1 $at, $f8 ## $f8 = 30.00 -/* 00028 80A9AFC8 E7A4002C */ swc1 $f4, 0x002C($sp) -/* 0002C 80A9AFCC C4860028 */ lwc1 $f6, 0x0028($a0) ## 00000028 -/* 00030 80A9AFD0 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 00034 80A9AFD4 27AE002C */ addiu $t6, $sp, 0x002C ## $t6 = FFFFFFEC -/* 00038 80A9AFD8 46083280 */ add.s $f10, $f6, $f8 -/* 0003C 80A9AFDC 27A60028 */ addiu $a2, $sp, 0x0028 ## $a2 = FFFFFFE8 -/* 00040 80A9AFE0 E7AA0030 */ swc1 $f10, 0x0030($sp) -/* 00044 80A9AFE4 C490002C */ lwc1 $f16, 0x002C($a0) ## 0000002C -/* 00048 80A9AFE8 24A407C0 */ addiu $a0, $a1, 0x07C0 ## $a0 = 000007C0 -/* 0004C 80A9AFEC 27A50038 */ addiu $a1, $sp, 0x0038 ## $a1 = FFFFFFF8 -/* 00050 80A9AFF0 AFA70040 */ sw $a3, 0x0040($sp) -/* 00054 80A9AFF4 AFAE0010 */ sw $t6, 0x0010($sp) -/* 00058 80A9AFF8 0C00F269 */ jal func_8003C9A4 -/* 0005C 80A9AFFC E7B00034 */ swc1 $f16, 0x0034($sp) -/* 00060 80A9B000 3C01C6FA */ lui $at, 0xC6FA ## $at = C6FA0000 -/* 00064 80A9B004 44819000 */ mtc1 $at, $f18 ## $f18 = -32000.00 -/* 00068 80A9B008 8FA70040 */ lw $a3, 0x0040($sp) -/* 0006C 80A9B00C C7A40048 */ lwc1 $f4, 0x0048($sp) -/* 00070 80A9B010 4600903C */ c.lt.s $f18, $f0 -/* 00074 80A9B014 3C0480AA */ lui $a0, %hi(D_80A9C2A0) ## $a0 = 80AA0000 -/* 00078 80A9B018 45000008 */ bc1f .L80A9B03C -/* 0007C 80A9B01C 00000000 */ nop -/* 00080 80A9B020 46040180 */ add.s $f6, $f0, $f4 -/* 00084 80A9B024 24E40008 */ addiu $a0, $a3, 0x0008 ## $a0 = 00000008 -/* 00088 80A9B028 24E50024 */ addiu $a1, $a3, 0x0024 ## $a1 = 00000024 -/* 0008C 80A9B02C 0C01DF90 */ jal Math_Vec3f_Copy - ## Vec3f_Copy -/* 00090 80A9B030 E4E60028 */ swc1 $f6, 0x0028($a3) ## 00000028 -/* 00094 80A9B034 1000000D */ beq $zero, $zero, .L80A9B06C -/* 00098 80A9B038 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -.L80A9B03C: -/* 0009C 80A9B03C 0C00084C */ jal osSyncPrintf - -/* 000A0 80A9B040 2484C2A0 */ addiu $a0, $a0, %lo(D_80A9C2A0) ## $a0 = FFFFC2A0 -/* 000A4 80A9B044 3C0480AA */ lui $a0, %hi(D_80A9C2AC) ## $a0 = 80AA0000 -/* 000A8 80A9B048 3C0580AA */ lui $a1, %hi(D_80A9C2C4) ## $a1 = 80AA0000 -/* 000AC 80A9B04C 24A5C2C4 */ addiu $a1, $a1, %lo(D_80A9C2C4) ## $a1 = 80A9C2C4 -/* 000B0 80A9B050 2484C2AC */ addiu $a0, $a0, %lo(D_80A9C2AC) ## $a0 = 80A9C2AC -/* 000B4 80A9B054 0C00084C */ jal osSyncPrintf - -/* 000B8 80A9B058 24060143 */ addiu $a2, $zero, 0x0143 ## $a2 = 00000143 -/* 000BC 80A9B05C 3C0480AA */ lui $a0, %hi(D_80A9C2D4) ## $a0 = 80AA0000 -/* 000C0 80A9B060 0C00084C */ jal osSyncPrintf - -/* 000C4 80A9B064 2484C2D4 */ addiu $a0, $a0, %lo(D_80A9C2D4) ## $a0 = 80A9C2D4 -/* 000C8 80A9B068 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80A9B06C: -/* 000CC 80A9B06C 8FBF001C */ lw $ra, 0x001C($sp) -/* 000D0 80A9B070 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 000D4 80A9B074 03E00008 */ jr $ra -/* 000D8 80A9B078 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B07C.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B07C.s deleted file mode 100644 index 3728189fc5..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B07C.s +++ /dev/null @@ -1,60 +0,0 @@ -glabel func_80A9B07C -/* 000DC 80A9B07C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 000E0 80A9B080 AFBF0014 */ sw $ra, 0x0014($sp) -/* 000E4 80A9B084 AFA40018 */ sw $a0, 0x0018($sp) -/* 000E8 80A9B088 AFA5001C */ sw $a1, 0x001C($sp) -/* 000EC 80A9B08C 8483001C */ lh $v1, 0x001C($a0) ## 0000001C -/* 000F0 80A9B090 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 000F4 80A9B094 8FA4001C */ lw $a0, 0x001C($sp) -/* 000F8 80A9B098 30620003 */ andi $v0, $v1, 0x0003 ## $v0 = 00000000 -/* 000FC 80A9B09C 10400004 */ beq $v0, $zero, .L80A9B0B0 -/* 00100 80A9B0A0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00104 80A9B0A4 10410011 */ beq $v0, $at, .L80A9B0EC -/* 00108 80A9B0A8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 0010C 80A9B0AC 14410020 */ bne $v0, $at, .L80A9B130 -.L80A9B0B0: -/* 00110 80A9B0B0 00031203 */ sra $v0, $v1, 8 -/* 00114 80A9B0B4 3042000F */ andi $v0, $v0, 0x000F ## $v0 = 00000000 -/* 00118 80A9B0B8 00021400 */ sll $v0, $v0, 16 -/* 0011C 80A9B0BC 00021403 */ sra $v0, $v0, 16 -/* 00120 80A9B0C0 2841000D */ slti $at, $v0, 0x000D -/* 00124 80A9B0C4 14200002 */ bne $at, $zero, .L80A9B0D0 -/* 00128 80A9B0C8 8FA60018 */ lw $a2, 0x0018($sp) -/* 0012C 80A9B0CC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80A9B0D0: -/* 00130 80A9B0D0 00403825 */ or $a3, $v0, $zero ## $a3 = 00000000 -/* 00134 80A9B0D4 00073D00 */ sll $a3, $a3, 20 -/* 00138 80A9B0D8 00073C03 */ sra $a3, $a3, 16 -/* 0013C 80A9B0DC 0C007E50 */ jal Item_DropCollectibleRandom - -/* 00140 80A9B0E0 24C60024 */ addiu $a2, $a2, 0x0024 ## $a2 = 00000024 -/* 00144 80A9B0E4 10000013 */ beq $zero, $zero, .L80A9B134 -/* 00148 80A9B0E8 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A9B0EC: -/* 0014C 80A9B0EC 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00150 80A9B0F0 00000000 */ nop -/* 00154 80A9B0F4 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00158 80A9B0F8 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50 -/* 0015C 80A9B0FC 8FA20018 */ lw $v0, 0x0018($sp) -/* 00160 80A9B100 8FA4001C */ lw $a0, 0x001C($sp) -/* 00164 80A9B104 4604003C */ c.lt.s $f0, $f4 -/* 00168 80A9B108 24060010 */ addiu $a2, $zero, 0x0010 ## $a2 = 00000010 -/* 0016C 80A9B10C 24450024 */ addiu $a1, $v0, 0x0024 ## $a1 = 00000024 -/* 00170 80A9B110 45000005 */ bc1f .L80A9B128 -/* 00174 80A9B114 00000000 */ nop -/* 00178 80A9B118 0C007D52 */ jal Item_DropCollectible - -/* 0017C 80A9B11C 24450024 */ addiu $a1, $v0, 0x0024 ## $a1 = 00000024 -/* 00180 80A9B120 10000004 */ beq $zero, $zero, .L80A9B134 -/* 00184 80A9B124 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A9B128: -/* 00188 80A9B128 0C007D52 */ jal Item_DropCollectible - -/* 0018C 80A9B12C 24060003 */ addiu $a2, $zero, 0x0003 ## $a2 = 00000003 -.L80A9B130: -/* 00190 80A9B130 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A9B134: -/* 00194 80A9B134 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00198 80A9B138 03E00008 */ jr $ra -/* 0019C 80A9B13C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B140.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B140.s deleted file mode 100644 index 128fc1365e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B140.s +++ /dev/null @@ -1,15 +0,0 @@ -glabel func_80A9B140 -/* 001A0 80A9B140 C4840060 */ lwc1 $f4, 0x0060($a0) ## 00000060 -/* 001A4 80A9B144 C486006C */ lwc1 $f6, 0x006C($a0) ## 0000006C -/* 001A8 80A9B148 C4800070 */ lwc1 $f0, 0x0070($a0) ## 00000070 -/* 001AC 80A9B14C 46062200 */ add.s $f8, $f4, $f6 -/* 001B0 80A9B150 E4880060 */ swc1 $f8, 0x0060($a0) ## 00000060 -/* 001B4 80A9B154 C48A0060 */ lwc1 $f10, 0x0060($a0) ## 00000060 -/* 001B8 80A9B158 4600503C */ c.lt.s $f10, $f0 -/* 001BC 80A9B15C 00000000 */ nop -/* 001C0 80A9B160 45000002 */ bc1f .L80A9B16C -/* 001C4 80A9B164 00000000 */ nop -/* 001C8 80A9B168 E4800060 */ swc1 $f0, 0x0060($a0) ## 00000060 -.L80A9B16C: -/* 001CC 80A9B16C 03E00008 */ jr $ra -/* 001D0 80A9B170 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B174.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B174.s deleted file mode 100644 index cb48a82ce8..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B174.s +++ /dev/null @@ -1,44 +0,0 @@ -.late_rodata -glabel D_80A9C318 - .float 0.2 - -glabel D_80A9C31C - .float 0.1 - -.text -glabel func_80A9B174 -/* 001D4 80A9B174 44856000 */ mtc1 $a1, $f12 ## $f12 = 0.00 -/* 001D8 80A9B178 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 001DC 80A9B17C AFBF0014 */ sw $ra, 0x0014($sp) -/* 001E0 80A9B180 AFA40018 */ sw $a0, 0x0018($sp) -/* 001E4 80A9B184 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 001E8 80A9B188 E7AC001C */ swc1 $f12, 0x001C($sp) -/* 001EC 80A9B18C 3C0180AA */ lui $at, %hi(D_80A9C318) ## $at = 80AA0000 -/* 001F0 80A9B190 C424C318 */ lwc1 $f4, %lo(D_80A9C318)($at) -/* 001F4 80A9B194 3C0180AA */ lui $at, %hi(D_80A9C31C) ## $at = 80AA0000 -/* 001F8 80A9B198 C428C31C */ lwc1 $f8, %lo(D_80A9C31C)($at) -/* 001FC 80A9B19C 46040182 */ mul.s $f6, $f0, $f4 -/* 00200 80A9B1A0 C7AC001C */ lwc1 $f12, 0x001C($sp) -/* 00204 80A9B1A4 8FA40018 */ lw $a0, 0x0018($sp) -/* 00208 80A9B1A8 C4820000 */ lwc1 $f2, 0x0000($a0) ## 00000000 -/* 0020C 80A9B1AC C48E0004 */ lwc1 $f14, 0x0004($a0) ## 00000004 -/* 00210 80A9B1B0 46083281 */ sub.s $f10, $f6, $f8 -/* 00214 80A9B1B4 C4900008 */ lwc1 $f16, 0x0008($a0) ## 00000008 -/* 00218 80A9B1B8 460C5482 */ mul.s $f18, $f10, $f12 -/* 0021C 80A9B1BC 46126300 */ add.s $f12, $f12, $f18 -/* 00220 80A9B1C0 460C1102 */ mul.s $f4, $f2, $f12 -/* 00224 80A9B1C4 00000000 */ nop -/* 00228 80A9B1C8 460C7202 */ mul.s $f8, $f14, $f12 -/* 0022C 80A9B1CC 00000000 */ nop -/* 00230 80A9B1D0 460C8482 */ mul.s $f18, $f16, $f12 -/* 00234 80A9B1D4 46041181 */ sub.s $f6, $f2, $f4 -/* 00238 80A9B1D8 46087281 */ sub.s $f10, $f14, $f8 -/* 0023C 80A9B1DC E4860000 */ swc1 $f6, 0x0000($a0) ## 00000000 -/* 00240 80A9B1E0 46128101 */ sub.s $f4, $f16, $f18 -/* 00244 80A9B1E4 E48A0004 */ swc1 $f10, 0x0004($a0) ## 00000004 -/* 00248 80A9B1E8 E4840008 */ swc1 $f4, 0x0008($a0) ## 00000008 -/* 0024C 80A9B1EC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00250 80A9B1F0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00254 80A9B1F4 03E00008 */ jr $ra -/* 00258 80A9B1F8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B1FC.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B1FC.s deleted file mode 100644 index c6b97103c8..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B1FC.s +++ /dev/null @@ -1,16 +0,0 @@ -.late_rodata -glabel D_80A9C320 - .word 0x3DF5C290 -glabel D_80A9C324 - .word 0x3E23D70B - -.text -glabel func_80A9B1FC -/* 0025C 80A9B1FC 3C0180AA */ lui $at, %hi(D_80A9C320) ## $at = 80AA0000 -/* 00260 80A9B200 C420C320 */ lwc1 $f0, %lo(D_80A9C320)($at) -/* 00264 80A9B204 3C0180AA */ lui $at, %hi(D_80A9C324) ## $at = 80AA0000 -/* 00268 80A9B208 C424C324 */ lwc1 $f4, %lo(D_80A9C324)($at) -/* 0026C 80A9B20C E4800050 */ swc1 $f0, 0x0050($a0) ## 00000050 -/* 00270 80A9B210 E4800058 */ swc1 $f0, 0x0058($a0) ## 00000058 -/* 00274 80A9B214 03E00008 */ jr $ra -/* 00278 80A9B218 E4840054 */ swc1 $f4, 0x0054($a0) ## 00000054 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B21C.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B21C.s deleted file mode 100644 index 3fc6e47d46..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B21C.s +++ /dev/null @@ -1,233 +0,0 @@ -.late_rodata -glabel D_80A9C328 - .word 0x42DE3333 - -.text -glabel func_80A9B21C -/* 0027C 80A9B21C 27BDFF30 */ addiu $sp, $sp, 0xFF30 ## $sp = FFFFFF30 -/* 00280 80A9B220 F7BE0070 */ sdc1 $f30, 0x0070($sp) -/* 00284 80A9B224 3C0180AA */ lui $at, %hi(D_80A9C328) ## $at = 80AA0000 -/* 00288 80A9B228 C43EC328 */ lwc1 $f30, %lo(D_80A9C328)($at) -/* 0028C 80A9B22C F7BC0068 */ sdc1 $f28, 0x0068($sp) -/* 00290 80A9B230 3C014100 */ lui $at, 0x4100 ## $at = 41000000 -/* 00294 80A9B234 4481E000 */ mtc1 $at, $f28 ## $f28 = 8.00 -/* 00298 80A9B238 F7BA0060 */ sdc1 $f26, 0x0060($sp) -/* 0029C 80A9B23C 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 002A0 80A9B240 4481D000 */ mtc1 $at, $f26 ## $f26 = 40.00 -/* 002A4 80A9B244 F7B80058 */ sdc1 $f24, 0x0058($sp) -/* 002A8 80A9B248 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 002AC 80A9B24C 4481C000 */ mtc1 $at, $f24 ## $f24 = 20.00 -/* 002B0 80A9B250 F7B60050 */ sdc1 $f22, 0x0050($sp) -/* 002B4 80A9B254 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 002B8 80A9B258 4481B000 */ mtc1 $at, $f22 ## $f22 = 0.50 -/* 002BC 80A9B25C AFBE0098 */ sw $s8, 0x0098($sp) -/* 002C0 80A9B260 AFB60090 */ sw $s6, 0x0090($sp) -/* 002C4 80A9B264 AFB5008C */ sw $s5, 0x008C($sp) -/* 002C8 80A9B268 AFB1007C */ sw $s1, 0x007C($sp) -/* 002CC 80A9B26C F7B40048 */ sdc1 $f20, 0x0048($sp) -/* 002D0 80A9B270 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 002D4 80A9B274 AFB70094 */ sw $s7, 0x0094($sp) -/* 002D8 80A9B278 AFB40088 */ sw $s4, 0x0088($sp) -/* 002DC 80A9B27C AFB30084 */ sw $s3, 0x0084($sp) -/* 002E0 80A9B280 AFB20080 */ sw $s2, 0x0080($sp) -/* 002E4 80A9B284 AFB00078 */ sw $s0, 0x0078($sp) -/* 002E8 80A9B288 3C1180AA */ lui $s1, %hi(D_80A9C23C) ## $s1 = 80AA0000 -/* 002EC 80A9B28C 3C1580AA */ lui $s5, %hi(D_80A9C26C) ## $s5 = 80AA0000 -/* 002F0 80A9B290 3C160403 */ lui $s6, 0x0403 ## $s6 = 04030000 -/* 002F4 80A9B294 3C1E0403 */ lui $s8, 0x0403 ## $s8 = 04030000 -/* 002F8 80A9B298 4481A000 */ mtc1 $at, $f20 ## $f20 = 10.00 -/* 002FC 80A9B29C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00300 80A9B2A0 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000 -/* 00304 80A9B2A4 AFBF009C */ sw $ra, 0x009C($sp) -/* 00308 80A9B2A8 27DE56A0 */ addiu $s8, $s8, 0x56A0 ## $s8 = 040356A0 -/* 0030C 80A9B2AC 26D655E0 */ addiu $s6, $s6, 0x55E0 ## $s6 = 040355E0 -/* 00310 80A9B2B0 26B5C26C */ addiu $s5, $s5, %lo(D_80A9C26C) ## $s5 = 80A9C26C -/* 00314 80A9B2B4 2631C23C */ addiu $s1, $s1, %lo(D_80A9C23C) ## $s1 = 80A9C23C -/* 00318 80A9B2B8 27B200B8 */ addiu $s2, $sp, 0x00B8 ## $s2 = FFFFFFE8 -/* 0031C 80A9B2BC 27B400C4 */ addiu $s4, $sp, 0x00C4 ## $s4 = FFFFFFF4 -/* 00320 80A9B2C0 24170007 */ addiu $s7, $zero, 0x0007 ## $s7 = 00000007 -/* 00324 80A9B2C4 C6240000 */ lwc1 $f4, 0x0000($s1) ## 80A9C23C -.L80A9B2C8: -/* 00328 80A9B2C8 C6060050 */ lwc1 $f6, 0x0050($s0) ## 00000050 -/* 0032C 80A9B2CC C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024 -/* 00330 80A9B2D0 46062202 */ mul.s $f8, $f4, $f6 -/* 00334 80A9B2D4 C6240004 */ lwc1 $f4, 0x0004($s1) ## 80A9C240 -/* 00338 80A9B2D8 46184282 */ mul.s $f10, $f8, $f24 -/* 0033C 80A9B2DC 460A8480 */ add.s $f18, $f16, $f10 -/* 00340 80A9B2E0 E7B200B8 */ swc1 $f18, 0x00B8($sp) -/* 00344 80A9B2E4 C6060054 */ lwc1 $f6, 0x0054($s0) ## 00000054 -/* 00348 80A9B2E8 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028 -/* 0034C 80A9B2EC 46062202 */ mul.s $f8, $f4, $f6 -/* 00350 80A9B2F0 C6260008 */ lwc1 $f6, 0x0008($s1) ## 80A9C244 -/* 00354 80A9B2F4 46184402 */ mul.s $f16, $f8, $f24 -/* 00358 80A9B2F8 46105480 */ add.s $f18, $f10, $f16 -/* 0035C 80A9B2FC 46149100 */ add.s $f4, $f18, $f20 -/* 00360 80A9B300 E7A400BC */ swc1 $f4, 0x00BC($sp) -/* 00364 80A9B304 C6080058 */ lwc1 $f8, 0x0058($s0) ## 00000058 -/* 00368 80A9B308 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C -/* 0036C 80A9B30C 46083282 */ mul.s $f10, $f6, $f8 -/* 00370 80A9B310 00000000 */ nop -/* 00374 80A9B314 46185402 */ mul.s $f16, $f10, $f24 -/* 00378 80A9B318 46109100 */ add.s $f4, $f18, $f16 -/* 0037C 80A9B31C 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00380 80A9B320 E7A400C0 */ swc1 $f4, 0x00C0($sp) -/* 00384 80A9B324 46160181 */ sub.s $f6, $f0, $f22 -/* 00388 80A9B328 461C3202 */ mul.s $f8, $f6, $f28 -/* 0038C 80A9B32C 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00390 80A9B330 E7A800C4 */ swc1 $f8, 0x00C4($sp) -/* 00394 80A9B334 46140282 */ mul.s $f10, $f0, $f20 -/* 00398 80A9B338 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 0039C 80A9B33C E7AA00C8 */ swc1 $f10, 0x00C8($sp) -/* 003A0 80A9B340 46160481 */ sub.s $f18, $f0, $f22 -/* 003A4 80A9B344 461C9402 */ mul.s $f16, $f18, $f28 -/* 003A8 80A9B348 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 003AC 80A9B34C E7B000CC */ swc1 $f16, 0x00CC($sp) -/* 003B0 80A9B350 461E0102 */ mul.s $f4, $f0, $f30 -/* 003B4 80A9B354 240EFF9C */ addiu $t6, $zero, 0xFF9C ## $t6 = FFFFFF9C -/* 003B8 80A9B358 240F0040 */ addiu $t7, $zero, 0x0040 ## $t7 = 00000040 -/* 003BC 80A9B35C 24180028 */ addiu $t8, $zero, 0x0028 ## $t8 = 00000028 -/* 003C0 80A9B360 AFB80018 */ sw $t8, 0x0018($sp) -/* 003C4 80A9B364 AFAF0014 */ sw $t7, 0x0014($sp) -/* 003C8 80A9B368 AFAE0010 */ sw $t6, 0x0010($sp) -/* 003CC 80A9B36C 4600218D */ trunc.w.s $f6, $f4 -/* 003D0 80A9B370 240E0050 */ addiu $t6, $zero, 0x0050 ## $t6 = 00000050 -/* 003D4 80A9B374 240FFFFF */ addiu $t7, $zero, 0xFFFF ## $t7 = FFFFFFFF -/* 003D8 80A9B378 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 003DC 80A9B37C 44093000 */ mfc1 $t1, $f6 -/* 003E0 80A9B380 24190003 */ addiu $t9, $zero, 0x0003 ## $t9 = 00000003 -/* 003E4 80A9B384 AFB9001C */ sw $t9, 0x001C($sp) -/* 003E8 80A9B388 312A0007 */ andi $t2, $t1, 0x0007 ## $t2 = 00000000 -/* 003EC 80A9B38C 000A5840 */ sll $t3, $t2, 1 -/* 003F0 80A9B390 02AB6021 */ addu $t4, $s5, $t3 -/* 003F4 80A9B394 858D0000 */ lh $t5, 0x0000($t4) ## 00000000 -/* 003F8 80A9B398 AFB6003C */ sw $s6, 0x003C($sp) -/* 003FC 80A9B39C AFB80038 */ sw $t8, 0x0038($sp) -/* 00400 80A9B3A0 AFAF0034 */ sw $t7, 0x0034($sp) -/* 00404 80A9B3A4 AFAE0030 */ sw $t6, 0x0030($sp) -/* 00408 80A9B3A8 AFA0002C */ sw $zero, 0x002C($sp) -/* 0040C 80A9B3AC AFA00028 */ sw $zero, 0x0028($sp) -/* 00410 80A9B3B0 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 00414 80A9B3B4 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFE8 -/* 00418 80A9B3B8 02803025 */ or $a2, $s4, $zero ## $a2 = FFFFFFF4 -/* 0041C 80A9B3BC 02403825 */ or $a3, $s2, $zero ## $a3 = FFFFFFE8 -/* 00420 80A9B3C0 AFA00020 */ sw $zero, 0x0020($sp) -/* 00424 80A9B3C4 0C00A7A3 */ jal EffectSsKakera_Spawn - -/* 00428 80A9B3C8 AFAD0024 */ sw $t5, 0x0024($sp) -/* 0042C 80A9B3CC C6280000 */ lwc1 $f8, 0x0000($s1) ## 80A9C23C -/* 00430 80A9B3D0 C60A0050 */ lwc1 $f10, 0x0050($s0) ## 00000050 -/* 00434 80A9B3D4 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024 -/* 00438 80A9B3D8 460A4482 */ mul.s $f18, $f8, $f10 -/* 0043C 80A9B3DC C6280004 */ lwc1 $f8, 0x0004($s1) ## 80A9C240 -/* 00440 80A9B3E0 461A9402 */ mul.s $f16, $f18, $f26 -/* 00444 80A9B3E4 46102180 */ add.s $f6, $f4, $f16 -/* 00448 80A9B3E8 E7A600B8 */ swc1 $f6, 0x00B8($sp) -/* 0044C 80A9B3EC C60A0054 */ lwc1 $f10, 0x0054($s0) ## 00000054 -/* 00450 80A9B3F0 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028 -/* 00454 80A9B3F4 460A4482 */ mul.s $f18, $f8, $f10 -/* 00458 80A9B3F8 C62A0008 */ lwc1 $f10, 0x0008($s1) ## 80A9C244 -/* 0045C 80A9B3FC 461A9102 */ mul.s $f4, $f18, $f26 -/* 00460 80A9B400 46048180 */ add.s $f6, $f16, $f4 -/* 00464 80A9B404 46143200 */ add.s $f8, $f6, $f20 -/* 00468 80A9B408 E7A800BC */ swc1 $f8, 0x00BC($sp) -/* 0046C 80A9B40C C6120058 */ lwc1 $f18, 0x0058($s0) ## 00000058 -/* 00470 80A9B410 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C -/* 00474 80A9B414 46125402 */ mul.s $f16, $f10, $f18 -/* 00478 80A9B418 00000000 */ nop -/* 0047C 80A9B41C 461A8102 */ mul.s $f4, $f16, $f26 -/* 00480 80A9B420 46043200 */ add.s $f8, $f6, $f4 -/* 00484 80A9B424 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00488 80A9B428 E7A800C0 */ swc1 $f8, 0x00C0($sp) -/* 0048C 80A9B42C 46160281 */ sub.s $f10, $f0, $f22 -/* 00490 80A9B430 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000 -/* 00494 80A9B434 44819000 */ mtc1 $at, $f18 ## $f18 = 6.00 -/* 00498 80A9B438 00000000 */ nop -/* 0049C 80A9B43C 46125402 */ mul.s $f16, $f10, $f18 -/* 004A0 80A9B440 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 004A4 80A9B444 E7B000C4 */ swc1 $f16, 0x00C4($sp) -/* 004A8 80A9B448 46140182 */ mul.s $f6, $f0, $f20 -/* 004AC 80A9B44C 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 004B0 80A9B450 E7A600C8 */ swc1 $f6, 0x00C8($sp) -/* 004B4 80A9B454 46160101 */ sub.s $f4, $f0, $f22 -/* 004B8 80A9B458 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000 -/* 004BC 80A9B45C 44814000 */ mtc1 $at, $f8 ## $f8 = 6.00 -/* 004C0 80A9B460 00000000 */ nop -/* 004C4 80A9B464 46082282 */ mul.s $f10, $f4, $f8 -/* 004C8 80A9B468 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 004CC 80A9B46C E7AA00CC */ swc1 $f10, 0x00CC($sp) -/* 004D0 80A9B470 461E0482 */ mul.s $f18, $f0, $f30 -/* 004D4 80A9B474 2419FF9C */ addiu $t9, $zero, 0xFF9C ## $t9 = FFFFFF9C -/* 004D8 80A9B478 24080040 */ addiu $t0, $zero, 0x0040 ## $t0 = 00000040 -/* 004DC 80A9B47C 24090028 */ addiu $t1, $zero, 0x0028 ## $t1 = 00000028 -/* 004E0 80A9B480 AFA90018 */ sw $t1, 0x0018($sp) -/* 004E4 80A9B484 AFA80014 */ sw $t0, 0x0014($sp) -/* 004E8 80A9B488 AFB90010 */ sw $t9, 0x0010($sp) -/* 004EC 80A9B48C 4600940D */ trunc.w.s $f16, $f18 -/* 004F0 80A9B490 24190050 */ addiu $t9, $zero, 0x0050 ## $t9 = 00000050 -/* 004F4 80A9B494 2408FFFF */ addiu $t0, $zero, 0xFFFF ## $t0 = FFFFFFFF -/* 004F8 80A9B498 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001 -/* 004FC 80A9B49C 440C8000 */ mfc1 $t4, $f16 -/* 00500 80A9B4A0 240A0003 */ addiu $t2, $zero, 0x0003 ## $t2 = 00000003 -/* 00504 80A9B4A4 AFAA001C */ sw $t2, 0x001C($sp) -/* 00508 80A9B4A8 0197001A */ div $zero, $t4, $s7 -/* 0050C 80A9B4AC 00006810 */ mfhi $t5 -/* 00510 80A9B4B0 000D7040 */ sll $t6, $t5, 1 -/* 00514 80A9B4B4 02AE7821 */ addu $t7, $s5, $t6 -/* 00518 80A9B4B8 85F80000 */ lh $t8, 0x0000($t7) ## 00000000 -/* 0051C 80A9B4BC AFBE003C */ sw $s8, 0x003C($sp) -/* 00520 80A9B4C0 AFA90038 */ sw $t1, 0x0038($sp) -/* 00524 80A9B4C4 AFA80034 */ sw $t0, 0x0034($sp) -/* 00528 80A9B4C8 AFB90030 */ sw $t9, 0x0030($sp) -/* 0052C 80A9B4CC AFA0002C */ sw $zero, 0x002C($sp) -/* 00530 80A9B4D0 AFA00028 */ sw $zero, 0x0028($sp) -/* 00534 80A9B4D4 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 00538 80A9B4D8 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFE8 -/* 0053C 80A9B4DC 02803025 */ or $a2, $s4, $zero ## $a2 = FFFFFFF4 -/* 00540 80A9B4E0 02403825 */ or $a3, $s2, $zero ## $a3 = FFFFFFE8 -/* 00544 80A9B4E4 AFA00020 */ sw $zero, 0x0020($sp) -/* 00548 80A9B4E8 16E00002 */ bne $s7, $zero, .L80A9B4F4 -/* 0054C 80A9B4EC 00000000 */ nop -/* 00550 80A9B4F0 0007000D */ break 7 -.L80A9B4F4: -/* 00554 80A9B4F4 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF -/* 00558 80A9B4F8 16E10004 */ bne $s7, $at, .L80A9B50C -/* 0055C 80A9B4FC 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00560 80A9B500 15810002 */ bne $t4, $at, .L80A9B50C -/* 00564 80A9B504 00000000 */ nop -/* 00568 80A9B508 0006000D */ break 6 -.L80A9B50C: -/* 0056C 80A9B50C AFB80024 */ sw $t8, 0x0024($sp) -/* 00570 80A9B510 0C00A7A3 */ jal EffectSsKakera_Spawn - -/* 00574 80A9B514 00000000 */ nop -/* 00578 80A9B518 3C0A80AA */ lui $t2, %hi(D_80A9C26C) ## $t2 = 80AA0000 -/* 0057C 80A9B51C 254AC26C */ addiu $t2, $t2, %lo(D_80A9C26C) ## $t2 = 80A9C26C -/* 00580 80A9B520 2631000C */ addiu $s1, $s1, 0x000C ## $s1 = 80A9C248 -/* 00584 80A9B524 562AFF68 */ bnel $s1, $t2, .L80A9B2C8 -/* 00588 80A9B528 C6240000 */ lwc1 $f4, 0x0000($s1) ## 80A9C248 -/* 0058C 80A9B52C 8FBF009C */ lw $ra, 0x009C($sp) -/* 00590 80A9B530 D7B40048 */ ldc1 $f20, 0x0048($sp) -/* 00594 80A9B534 D7B60050 */ ldc1 $f22, 0x0050($sp) -/* 00598 80A9B538 D7B80058 */ ldc1 $f24, 0x0058($sp) -/* 0059C 80A9B53C D7BA0060 */ ldc1 $f26, 0x0060($sp) -/* 005A0 80A9B540 D7BC0068 */ ldc1 $f28, 0x0068($sp) -/* 005A4 80A9B544 D7BE0070 */ ldc1 $f30, 0x0070($sp) -/* 005A8 80A9B548 8FB00078 */ lw $s0, 0x0078($sp) -/* 005AC 80A9B54C 8FB1007C */ lw $s1, 0x007C($sp) -/* 005B0 80A9B550 8FB20080 */ lw $s2, 0x0080($sp) -/* 005B4 80A9B554 8FB30084 */ lw $s3, 0x0084($sp) -/* 005B8 80A9B558 8FB40088 */ lw $s4, 0x0088($sp) -/* 005BC 80A9B55C 8FB5008C */ lw $s5, 0x008C($sp) -/* 005C0 80A9B560 8FB60090 */ lw $s6, 0x0090($sp) -/* 005C4 80A9B564 8FB70094 */ lw $s7, 0x0094($sp) -/* 005C8 80A9B568 8FBE0098 */ lw $s8, 0x0098($sp) -/* 005CC 80A9B56C 03E00008 */ jr $ra -/* 005D0 80A9B570 27BD00D0 */ addiu $sp, $sp, 0x00D0 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B574.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B574.s deleted file mode 100644 index b678c332d2..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B574.s +++ /dev/null @@ -1,57 +0,0 @@ -.late_rodata -glabel D_80A9C32C - .word 0x477FFF00 - -.text -glabel func_80A9B574 -/* 005D4 80A9B574 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0 -/* 005D8 80A9B578 AFB40048 */ sw $s4, 0x0048($sp) -/* 005DC 80A9B57C AFB30044 */ sw $s3, 0x0044($sp) -/* 005E0 80A9B580 AFB20040 */ sw $s2, 0x0040($sp) -/* 005E4 80A9B584 AFB1003C */ sw $s1, 0x003C($sp) -/* 005E8 80A9B588 AFB00038 */ sw $s0, 0x0038($sp) -/* 005EC 80A9B58C F7B40030 */ sdc1 $f20, 0x0030($sp) -/* 005F0 80A9B590 3C0180AA */ lui $at, %hi(D_80A9C32C) ## $at = 80AA0000 -/* 005F4 80A9B594 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 005F8 80A9B598 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000 -/* 005FC 80A9B59C AFBF004C */ sw $ra, 0x004C($sp) -/* 00600 80A9B5A0 C434C32C */ lwc1 $f20, %lo(D_80A9C32C)($at) -/* 00604 80A9B5A4 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 00608 80A9B5A8 24B31C24 */ addiu $s3, $a1, 0x1C24 ## $s3 = 00001C24 -/* 0060C 80A9B5AC 24140003 */ addiu $s4, $zero, 0x0003 ## $s4 = 00000003 -.L80A9B5B0: -/* 00610 80A9B5B0 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00614 80A9B5B4 00000000 */ nop -/* 00618 80A9B5B8 46140202 */ mul.s $f8, $f0, $f20 -/* 0061C 80A9B5BC C6240028 */ lwc1 $f4, 0x0028($s1) ## 00000028 -/* 00620 80A9B5C0 8E270024 */ lw $a3, 0x0024($s1) ## 00000024 -/* 00624 80A9B5C4 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 00628 80A9B5C8 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 0062C 80A9B5CC C626002C */ lwc1 $f6, 0x002C($s1) ## 0000002C -/* 00630 80A9B5D0 AFB80024 */ sw $t8, 0x0024($sp) -/* 00634 80A9B5D4 4600428D */ trunc.w.s $f10, $f8 -/* 00638 80A9B5D8 AFA00020 */ sw $zero, 0x0020($sp) -/* 0063C 80A9B5DC AFA00018 */ sw $zero, 0x0018($sp) -/* 00640 80A9B5E0 02602025 */ or $a0, $s3, $zero ## $a0 = 00001C24 -/* 00644 80A9B5E4 440F5000 */ mfc1 $t7, $f10 -/* 00648 80A9B5E8 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000 -/* 0064C 80A9B5EC 24060020 */ addiu $a2, $zero, 0x0020 ## $a2 = 00000020 -/* 00650 80A9B5F0 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 00654 80A9B5F4 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 00658 80A9B5F8 AFAF001C */ sw $t7, 0x001C($sp) -/* 0065C 80A9B5FC 10400003 */ beq $v0, $zero, .L80A9B60C -/* 00660 80A9B600 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 00664 80A9B604 1614FFEA */ bne $s0, $s4, .L80A9B5B0 -/* 00668 80A9B608 00000000 */ nop -.L80A9B60C: -/* 0066C 80A9B60C 8FBF004C */ lw $ra, 0x004C($sp) -/* 00670 80A9B610 D7B40030 */ ldc1 $f20, 0x0030($sp) -/* 00674 80A9B614 8FB00038 */ lw $s0, 0x0038($sp) -/* 00678 80A9B618 8FB1003C */ lw $s1, 0x003C($sp) -/* 0067C 80A9B61C 8FB20040 */ lw $s2, 0x0040($sp) -/* 00680 80A9B620 8FB30044 */ lw $s3, 0x0044($sp) -/* 00684 80A9B624 8FB40048 */ lw $s4, 0x0048($sp) -/* 00688 80A9B628 03E00008 */ jr $ra -/* 0068C 80A9B62C 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B630.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B630.s deleted file mode 100644 index 04be7ac081..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B630.s +++ /dev/null @@ -1,26 +0,0 @@ -glabel func_80A9B630 -/* 00690 80A9B630 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00694 80A9B634 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00698 80A9B638 AFA50024 */ sw $a1, 0x0024($sp) -/* 0069C 80A9B63C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 006A0 80A9B640 AFBF0014 */ sw $ra, 0x0014($sp) -/* 006A4 80A9B644 24C50150 */ addiu $a1, $a2, 0x0150 ## $a1 = 00000150 -/* 006A8 80A9B648 AFA50018 */ sw $a1, 0x0018($sp) -/* 006AC 80A9B64C 0C0170D9 */ jal Collider_InitCylinder - -/* 006B0 80A9B650 AFA60020 */ sw $a2, 0x0020($sp) -/* 006B4 80A9B654 3C0780AA */ lui $a3, %hi(D_80A9C208) ## $a3 = 80AA0000 -/* 006B8 80A9B658 8FA60020 */ lw $a2, 0x0020($sp) -/* 006BC 80A9B65C 24E7C208 */ addiu $a3, $a3, %lo(D_80A9C208) ## $a3 = 80A9C208 -/* 006C0 80A9B660 8FA40024 */ lw $a0, 0x0024($sp) -/* 006C4 80A9B664 0C01712B */ jal Collider_SetCylinder - -/* 006C8 80A9B668 8FA50018 */ lw $a1, 0x0018($sp) -/* 006CC 80A9B66C 8FA40020 */ lw $a0, 0x0020($sp) -/* 006D0 80A9B670 0C0189B7 */ jal Collider_CylinderUpdate - -/* 006D4 80A9B674 8FA50018 */ lw $a1, 0x0018($sp) -/* 006D8 80A9B678 8FBF0014 */ lw $ra, 0x0014($sp) -/* 006DC 80A9B67C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 006E0 80A9B680 03E00008 */ jr $ra -/* 006E4 80A9B684 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B7EC.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B7EC.s deleted file mode 100644 index eb2c27170b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B7EC.s +++ /dev/null @@ -1,10 +0,0 @@ -glabel func_80A9B7EC -/* 0084C 80A9B7EC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00850 80A9B7F0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00854 80A9B7F4 3C0580AA */ lui $a1, %hi(func_80A9B810) ## $a1 = 80AA0000 -/* 00858 80A9B7F8 0C2A6BE8 */ jal func_80A9AFA0 -/* 0085C 80A9B7FC 24A5B810 */ addiu $a1, $a1, %lo(func_80A9B810) ## $a1 = 80A9B810 -/* 00860 80A9B800 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00864 80A9B804 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00868 80A9B808 03E00008 */ jr $ra -/* 0086C 80A9B80C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B810.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B810.s deleted file mode 100644 index 7686c35e1e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B810.s +++ /dev/null @@ -1,40 +0,0 @@ -glabel func_80A9B810 -/* 00870 80A9B810 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00874 80A9B814 AFB00018 */ sw $s0, 0x0018($sp) -/* 00878 80A9B818 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 0087C 80A9B81C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00880 80A9B820 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4 -/* 00884 80A9B824 AFBF001C */ sw $ra, 0x001C($sp) -/* 00888 80A9B828 00A12021 */ addu $a0, $a1, $at -/* 0088C 80A9B82C 0C026062 */ jal Object_IsLoaded - -/* 00890 80A9B830 8205019E */ lb $a1, 0x019E($s0) ## 0000019E -/* 00894 80A9B834 50400015 */ beql $v0, $zero, .L80A9B88C -/* 00898 80A9B838 8FBF001C */ lw $ra, 0x001C($sp) -/* 0089C 80A9B83C 8E0E0004 */ lw $t6, 0x0004($s0) ## 00000004 -/* 008A0 80A9B840 31CF0800 */ andi $t7, $t6, 0x0800 ## $t7 = 00000000 -/* 008A4 80A9B844 11E00005 */ beq $t7, $zero, .L80A9B85C -/* 008A8 80A9B848 00000000 */ nop -/* 008AC 80A9B84C 0C2A6FAB */ jal func_80A9BEAC -/* 008B0 80A9B850 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 008B4 80A9B854 10000004 */ beq $zero, $zero, .L80A9B868 -/* 008B8 80A9B858 8E080004 */ lw $t0, 0x0004($s0) ## 00000004 -.L80A9B85C: -/* 008BC 80A9B85C 0C2A6E27 */ jal func_80A9B89C -/* 008C0 80A9B860 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 008C4 80A9B864 8E080004 */ lw $t0, 0x0004($s0) ## 00000004 -.L80A9B868: -/* 008C8 80A9B868 8219019E */ lb $t9, 0x019E($s0) ## 0000019E -/* 008CC 80A9B86C 3C1880AA */ lui $t8, %hi(func_80A9C164) ## $t8 = 80AA0000 -/* 008D0 80A9B870 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF -/* 008D4 80A9B874 2718C164 */ addiu $t8, $t8, %lo(func_80A9C164) ## $t8 = 80A9C164 -/* 008D8 80A9B878 01014824 */ and $t1, $t0, $at -/* 008DC 80A9B87C AE180134 */ sw $t8, 0x0134($s0) ## 00000134 -/* 008E0 80A9B880 AE090004 */ sw $t1, 0x0004($s0) ## 00000004 -/* 008E4 80A9B884 A219001E */ sb $t9, 0x001E($s0) ## 0000001E -/* 008E8 80A9B888 8FBF001C */ lw $ra, 0x001C($sp) -.L80A9B88C: -/* 008EC 80A9B88C 8FB00018 */ lw $s0, 0x0018($sp) -/* 008F0 80A9B890 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 008F4 80A9B894 03E00008 */ jr $ra -/* 008F8 80A9B898 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B89C.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B89C.s deleted file mode 100644 index 6e6614ab2a..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B89C.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel func_80A9B89C -/* 008FC 80A9B89C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00900 80A9B8A0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00904 80A9B8A4 3C0580AA */ lui $a1, %hi(func_80A9B8D8) ## $a1 = 80AA0000 -/* 00908 80A9B8A8 24A5B8D8 */ addiu $a1, $a1, %lo(func_80A9B8D8) ## $a1 = 80A9B8D8 -/* 0090C 80A9B8AC 0C2A6BE8 */ jal func_80A9AFA0 -/* 00910 80A9B8B0 AFA40018 */ sw $a0, 0x0018($sp) -/* 00914 80A9B8B4 8FA40018 */ lw $a0, 0x0018($sp) -/* 00918 80A9B8B8 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF -/* 0091C 80A9B8BC 8C8E0004 */ lw $t6, 0x0004($a0) ## 00000004 -/* 00920 80A9B8C0 01C17824 */ and $t7, $t6, $at -/* 00924 80A9B8C4 AC8F0004 */ sw $t7, 0x0004($a0) ## 00000004 -/* 00928 80A9B8C8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0092C 80A9B8CC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00930 80A9B8D0 03E00008 */ jr $ra -/* 00934 80A9B8D4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B8D8.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B8D8.s deleted file mode 100644 index dda005b5e0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B8D8.s +++ /dev/null @@ -1,127 +0,0 @@ -glabel func_80A9B8D8 -/* 00938 80A9B8D8 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 0093C 80A9B8DC AFBF001C */ sw $ra, 0x001C($sp) -/* 00940 80A9B8E0 AFB10018 */ sw $s1, 0x0018($sp) -/* 00944 80A9B8E4 AFB00014 */ sw $s0, 0x0014($sp) -/* 00948 80A9B8E8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0094C 80A9B8EC 0C00BD04 */ jal Actor_HasParent -/* 00950 80A9B8F0 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 00954 80A9B8F4 5040000B */ beql $v0, $zero, .L80A9B924 -/* 00958 80A9B8F8 92020161 */ lbu $v0, 0x0161($s0) ## 00000161 -/* 0095C 80A9B8FC 0C2A6EA6 */ jal func_80A9BA98 -/* 00960 80A9B900 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00964 80A9B904 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00968 80A9B908 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 0096C 80A9B90C 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014 -/* 00970 80A9B910 0C01AEB6 */ jal Audio_PlaySoundAtPosition - -/* 00974 80A9B914 24070869 */ addiu $a3, $zero, 0x0869 ## $a3 = 00000869 -/* 00978 80A9B918 1000005B */ beq $zero, $zero, .L80A9BA88 -/* 0097C 80A9B91C 8FBF001C */ lw $ra, 0x001C($sp) -/* 00980 80A9B920 92020161 */ lbu $v0, 0x0161($s0) ## 00000161 -.L80A9B924: -/* 00984 80A9B924 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00988 80A9B928 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 0098C 80A9B92C 304E0002 */ andi $t6, $v0, 0x0002 ## $t6 = 00000000 -/* 00990 80A9B930 11C00021 */ beq $t6, $zero, .L80A9B9B8 -/* 00994 80A9B934 304FFFFD */ andi $t7, $v0, 0xFFFD ## $t7 = 00000000 -/* 00998 80A9B938 0C2A6C87 */ jal func_80A9B21C -/* 0099C 80A9B93C A20F0161 */ sb $t7, 0x0161($s0) ## 00000161 -/* 009A0 80A9B940 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 009A4 80A9B944 0C2A6C1F */ jal func_80A9B07C -/* 009A8 80A9B948 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 009AC 80A9B94C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 009B0 80A9B950 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 009B4 80A9B954 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014 -/* 009B8 80A9B958 0C01AEB6 */ jal Audio_PlaySoundAtPosition - -/* 009BC 80A9B95C 2407284E */ addiu $a3, $zero, 0x284E ## $a3 = 0000284E -/* 009C0 80A9B960 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 009C4 80A9B964 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 009C8 80A9B968 0002C103 */ sra $t8, $v0, 4 -/* 009CC 80A9B96C 33190001 */ andi $t9, $t8, 0x0001 ## $t9 = 00000000 -/* 009D0 80A9B970 53200005 */ beql $t9, $zero, .L80A9B988 -/* 009D4 80A9B974 30480003 */ andi $t0, $v0, 0x0003 ## $t0 = 00000000 -/* 009D8 80A9B978 0C2A6D5D */ jal func_80A9B574 -/* 009DC 80A9B97C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 009E0 80A9B980 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 009E4 80A9B984 30480003 */ andi $t0, $v0, 0x0003 ## $t0 = 00000000 -.L80A9B988: -/* 009E8 80A9B988 15000005 */ bne $t0, $zero, .L80A9B9A0 -/* 009EC 80A9B98C 00000000 */ nop -/* 009F0 80A9B990 0C00B55C */ jal Actor_Kill - -/* 009F4 80A9B994 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 009F8 80A9B998 1000003B */ beq $zero, $zero, .L80A9BA88 -/* 009FC 80A9B99C 8FBF001C */ lw $ra, 0x001C($sp) -.L80A9B9A0: -/* 00A00 80A9B9A0 0C2A6FAB */ jal func_80A9BEAC -/* 00A04 80A9B9A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00A08 80A9B9A8 8E090004 */ lw $t1, 0x0004($s0) ## 00000004 -/* 00A0C 80A9B9AC 352A0800 */ ori $t2, $t1, 0x0800 ## $t2 = 00000800 -/* 00A10 80A9B9B0 10000034 */ beq $zero, $zero, .L80A9BA84 -/* 00A14 80A9B9B4 AE0A0004 */ sw $t2, 0x0004($s0) ## 00000004 -.L80A9B9B8: -/* 00A18 80A9B9B8 92020162 */ lbu $v0, 0x0162($s0) ## 00000162 -/* 00A1C 80A9B9BC 3C014140 */ lui $at, 0x4140 ## $at = 41400000 -/* 00A20 80A9B9C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00A24 80A9B9C4 304B0008 */ andi $t3, $v0, 0x0008 ## $t3 = 00000000 -/* 00A28 80A9B9C8 15600009 */ bne $t3, $zero, .L80A9B9F0 -/* 00A2C 80A9B9CC 26050150 */ addiu $a1, $s0, 0x0150 ## $a1 = 00000150 -/* 00A30 80A9B9D0 44812000 */ mtc1 $at, $f4 ## $f4 = 12.00 -/* 00A34 80A9B9D4 C6060090 */ lwc1 $f6, 0x0090($s0) ## 00000090 -/* 00A38 80A9B9D8 344C0008 */ ori $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 00A3C 80A9B9DC 4606203C */ c.lt.s $f4, $f6 -/* 00A40 80A9B9E0 00000000 */ nop -/* 00A44 80A9B9E4 45020003 */ bc1fl .L80A9B9F4 -/* 00A48 80A9B9E8 3C014416 */ lui $at, 0x4416 ## $at = 44160000 -/* 00A4C 80A9B9EC A20C0162 */ sb $t4, 0x0162($s0) ## 00000162 -.L80A9B9F0: -/* 00A50 80A9B9F0 3C014416 */ lui $at, 0x4416 ## $at = 44160000 -.L80A9B9F4: -/* 00A54 80A9B9F4 44815000 */ mtc1 $at, $f10 ## $f10 = 600.00 -/* 00A58 80A9B9F8 C6080090 */ lwc1 $f8, 0x0090($s0) ## 00000090 -/* 00A5C 80A9B9FC 460A403C */ c.lt.s $f8, $f10 -/* 00A60 80A9BA00 00000000 */ nop -/* 00A64 80A9BA04 45020020 */ bc1fl .L80A9BA88 -/* 00A68 80A9BA08 8FBF001C */ lw $ra, 0x001C($sp) -/* 00A6C 80A9BA0C 0C0189B7 */ jal Collider_CylinderUpdate - -/* 00A70 80A9BA10 AFA50028 */ sw $a1, 0x0028($sp) -/* 00A74 80A9BA14 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00A78 80A9BA18 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00A7C 80A9BA1C 02212821 */ addu $a1, $s1, $at -/* 00A80 80A9BA20 AFA50024 */ sw $a1, 0x0024($sp) -/* 00A84 80A9BA24 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00A88 80A9BA28 0C01767D */ jal CollisionCheck_SetAC - ## CollisionCheck_setAC -/* 00A8C 80A9BA2C 8FA60028 */ lw $a2, 0x0028($sp) -/* 00A90 80A9BA30 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000 -/* 00A94 80A9BA34 44819000 */ mtc1 $at, $f18 ## $f18 = 400.00 -/* 00A98 80A9BA38 C6100090 */ lwc1 $f16, 0x0090($s0) ## 00000090 -/* 00A9C 80A9BA3C 8FA50024 */ lw $a1, 0x0024($sp) -/* 00AA0 80A9BA40 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00AA4 80A9BA44 4612803C */ c.lt.s $f16, $f18 -/* 00AA8 80A9BA48 00000000 */ nop -/* 00AAC 80A9BA4C 4502000E */ bc1fl .L80A9BA88 -/* 00AB0 80A9BA50 8FBF001C */ lw $ra, 0x001C($sp) -/* 00AB4 80A9BA54 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOT -/* 00AB8 80A9BA58 8FA60028 */ lw $a2, 0x0028($sp) -/* 00ABC 80A9BA5C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00AC0 80A9BA60 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00 -/* 00AC4 80A9BA64 C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090 -/* 00AC8 80A9BA68 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00ACC 80A9BA6C 4606203C */ c.lt.s $f4, $f6 -/* 00AD0 80A9BA70 00000000 */ nop -/* 00AD4 80A9BA74 45020004 */ bc1fl .L80A9BA88 -/* 00AD8 80A9BA78 8FBF001C */ lw $ra, 0x001C($sp) -/* 00ADC 80A9BA7C 0C00BD60 */ jal func_8002F580 -/* 00AE0 80A9BA80 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -.L80A9BA84: -/* 00AE4 80A9BA84 8FBF001C */ lw $ra, 0x001C($sp) -.L80A9BA88: -/* 00AE8 80A9BA88 8FB00014 */ lw $s0, 0x0014($sp) -/* 00AEC 80A9BA8C 8FB10018 */ lw $s1, 0x0018($sp) -/* 00AF0 80A9BA90 03E00008 */ jr $ra -/* 00AF4 80A9BA94 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BA98.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BA98.s deleted file mode 100644 index cc436524bc..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BA98.s +++ /dev/null @@ -1,17 +0,0 @@ -glabel func_80A9BA98 -/* 00AF8 80A9BA98 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00AFC 80A9BA9C AFBF0014 */ sw $ra, 0x0014($sp) -/* 00B00 80A9BAA0 3C0580AA */ lui $a1, %hi(func_80A9BAD8) ## $a1 = 80AA0000 -/* 00B04 80A9BAA4 24A5BAD8 */ addiu $a1, $a1, %lo(func_80A9BAD8) ## $a1 = 80A9BAD8 -/* 00B08 80A9BAA8 0C2A6BE8 */ jal func_80A9AFA0 -/* 00B0C 80A9BAAC AFA40018 */ sw $a0, 0x0018($sp) -/* 00B10 80A9BAB0 8FA40018 */ lw $a0, 0x0018($sp) -/* 00B14 80A9BAB4 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF -/* 00B18 80A9BAB8 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004 -/* 00B1C 80A9BABC A08E0003 */ sb $t6, 0x0003($a0) ## 00000003 -/* 00B20 80A9BAC0 35F80010 */ ori $t8, $t7, 0x0010 ## $t8 = 00000010 -/* 00B24 80A9BAC4 AC980004 */ sw $t8, 0x0004($a0) ## 00000004 -/* 00B28 80A9BAC8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00B2C 80A9BACC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00B30 80A9BAD0 03E00008 */ jr $ra -/* 00B34 80A9BAD4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BAD8.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BAD8.s deleted file mode 100644 index 232524d614..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BAD8.s +++ /dev/null @@ -1,65 +0,0 @@ -.late_rodata -glabel D_80A9C330 - .word 0xBDCCCCCD -glabel D_80A9C334 - .word 0xC04CCCCD, 0x00000000, 0x00000000 - -.text -glabel func_80A9BAD8 -/* 00B38 80A9BAD8 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00B3C 80A9BADC AFBF0024 */ sw $ra, 0x0024($sp) -/* 00B40 80A9BAE0 AFB00020 */ sw $s0, 0x0020($sp) -/* 00B44 80A9BAE4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00B48 80A9BAE8 0C00BD68 */ jal Actor_HasNoParent -/* 00B4C 80A9BAEC AFA5002C */ sw $a1, 0x002C($sp) -/* 00B50 80A9BAF0 1040002A */ beq $v0, $zero, .L80A9BB9C -/* 00B54 80A9BAF4 8FAE002C */ lw $t6, 0x002C($sp) -/* 00B58 80A9BAF8 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000 -/* 00B5C 80A9BAFC 01EE7821 */ addu $t7, $t7, $t6 -/* 00B60 80A9BB00 81EF1CBC */ lb $t7, 0x1CBC($t7) ## 00011CBC -/* 00B64 80A9BB04 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00B68 80A9BB08 0C2A6EEC */ jal func_80A9BBB0 -/* 00B6C 80A9BB0C A20F0003 */ sb $t7, 0x0003($s0) ## 00000003 -/* 00B70 80A9BB10 0C01DE1C */ jal Math_Sins - ## sins? -/* 00B74 80A9BB14 86040032 */ lh $a0, 0x0032($s0) ## 00000032 -/* 00B78 80A9BB18 C6040068 */ lwc1 $f4, 0x0068($s0) ## 00000068 -/* 00B7C 80A9BB1C 86040032 */ lh $a0, 0x0032($s0) ## 00000032 -/* 00B80 80A9BB20 46040182 */ mul.s $f6, $f0, $f4 -/* 00B84 80A9BB24 0C01DE0D */ jal Math_Coss - ## coss? -/* 00B88 80A9BB28 E606005C */ swc1 $f6, 0x005C($s0) ## 0000005C -/* 00B8C 80A9BB2C C6080068 */ lwc1 $f8, 0x0068($s0) ## 00000068 -/* 00B90 80A9BB30 241800F0 */ addiu $t8, $zero, 0x00F0 ## $t8 = 000000F0 -/* 00B94 80A9BB34 A21800AE */ sb $t8, 0x00AE($s0) ## 000000AE -/* 00B98 80A9BB38 46080282 */ mul.s $f10, $f0, $f8 -/* 00B9C 80A9BB3C 3C0180AA */ lui $at, %hi(D_80A9C330) ## $at = 80AA0000 -/* 00BA0 80A9BB40 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00BA4 80A9BB44 E60A0064 */ swc1 $f10, 0x0064($s0) ## 00000064 -/* 00BA8 80A9BB48 C430C330 */ lwc1 $f16, %lo(D_80A9C330)($at) -/* 00BAC 80A9BB4C 0C2A6C50 */ jal func_80A9B140 -/* 00BB0 80A9BB50 E610006C */ swc1 $f16, 0x006C($s0) ## 0000006C -/* 00BB4 80A9BB54 3C053BA3 */ lui $a1, 0x3BA3 ## $a1 = 3BA30000 -/* 00BB8 80A9BB58 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3BA3D70A -/* 00BBC 80A9BB5C 0C2A6C5D */ jal func_80A9B174 -/* 00BC0 80A9BB60 2604005C */ addiu $a0, $s0, 0x005C ## $a0 = 0000005C -/* 00BC4 80A9BB64 0C00B5FB */ jal func_8002D7EC -/* 00BC8 80A9BB68 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00BCC 80A9BB6C 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00 -/* 00BD0 80A9BB70 241900C5 */ addiu $t9, $zero, 0x00C5 ## $t9 = 000000C5 -/* 00BD4 80A9BB74 AFB90014 */ sw $t9, 0x0014($sp) -/* 00BD8 80A9BB78 8FA4002C */ lw $a0, 0x002C($sp) -/* 00BDC 80A9BB7C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00BE0 80A9BB80 3C0640F0 */ lui $a2, 0x40F0 ## $a2 = 40F00000 -/* 00BE4 80A9BB84 3C07420C */ lui $a3, 0x420C ## $a3 = 420C0000 -/* 00BE8 80A9BB88 0C00B92D */ jal func_8002E4B4 -/* 00BEC 80A9BB8C E7B20010 */ swc1 $f18, 0x0010($sp) -/* 00BF0 80A9BB90 3C0180AA */ lui $at, %hi(D_80A9C334) ## $at = 80AA0000 -/* 00BF4 80A9BB94 C424C334 */ lwc1 $f4, %lo(D_80A9C334)($at) -/* 00BF8 80A9BB98 E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C -.L80A9BB9C: -/* 00BFC 80A9BB9C 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00C00 80A9BBA0 8FB00020 */ lw $s0, 0x0020($sp) -/* 00C04 80A9BBA4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 00C08 80A9BBA8 03E00008 */ jr $ra -/* 00C0C 80A9BBAC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BBB0.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BBB0.s deleted file mode 100644 index 3ef086984e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BBB0.s +++ /dev/null @@ -1,29 +0,0 @@ -glabel func_80A9BBB0 -/* 00C10 80A9BBB0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00C14 80A9BBB4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00C18 80A9BBB8 3C0580AA */ lui $a1, %hi(func_80A9BC1C) ## $a1 = 80AA0000 -/* 00C1C 80A9BBBC 0C2A6BE8 */ jal func_80A9AFA0 -/* 00C20 80A9BBC0 24A5BC1C */ addiu $a1, $a1, %lo(func_80A9BC1C) ## $a1 = 80A9BC1C -/* 00C24 80A9BBC4 240EF448 */ addiu $t6, $zero, 0xF448 ## $t6 = FFFFF448 -/* 00C28 80A9BBC8 3C0180AA */ lui $at, %hi(D_80A9C1D0) ## $at = 80AA0000 -/* 00C2C 80A9BBCC 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00C30 80A9BBD0 A42EC1D0 */ sh $t6, %lo(D_80A9C1D0)($at) -/* 00C34 80A9BBD4 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00C38 80A9BBD8 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50 -/* 00C3C 80A9BBDC 3C0144C8 */ lui $at, 0x44C8 ## $at = 44C80000 -/* 00C40 80A9BBE0 44814000 */ mtc1 $at, $f8 ## $f8 = 1600.00 -/* 00C44 80A9BBE4 46040181 */ sub.s $f6, $f0, $f4 -/* 00C48 80A9BBE8 3C0180AA */ lui $at, %hi(D_80A9C1D8) ## $at = 80AA0000 -/* 00C4C 80A9BBEC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00C50 80A9BBF0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00C54 80A9BBF4 46083282 */ mul.s $f10, $f6, $f8 -/* 00C58 80A9BBF8 4600540D */ trunc.w.s $f16, $f10 -/* 00C5C 80A9BBFC 44188000 */ mfc1 $t8, $f16 -/* 00C60 80A9BC00 00000000 */ nop -/* 00C64 80A9BC04 A438C1D8 */ sh $t8, %lo(D_80A9C1D8)($at) -/* 00C68 80A9BC08 3C0180AA */ lui $at, %hi(D_80A9C1D4) ## $at = 80AA0000 -/* 00C6C 80A9BC0C A420C1D4 */ sh $zero, %lo(D_80A9C1D4)($at) -/* 00C70 80A9BC10 3C0180AA */ lui $at, %hi(D_80A9C1DC) ## $at = 80AA0000 -/* 00C74 80A9BC14 03E00008 */ jr $ra -/* 00C78 80A9BC18 A420C1DC */ sh $zero, %lo(D_80A9C1DC)($at) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BC1C.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BC1C.s deleted file mode 100644 index f92ef1a279..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BC1C.s +++ /dev/null @@ -1,178 +0,0 @@ -glabel func_80A9BC1C -/* 00C7C 80A9BC1C 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 00C80 80A9BC20 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00C84 80A9BC24 AFB10020 */ sw $s1, 0x0020($sp) -/* 00C88 80A9BC28 AFB0001C */ sw $s0, 0x001C($sp) -/* 00C8C 80A9BC2C 94820088 */ lhu $v0, 0x0088($a0) ## 00000088 -/* 00C90 80A9BC30 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00C94 80A9BC34 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 00C98 80A9BC38 304E000B */ andi $t6, $v0, 0x000B ## $t6 = 00000000 -/* 00C9C 80A9BC3C 11C0001F */ beq $t6, $zero, .L80A9BCBC -/* 00CA0 80A9BC40 30580040 */ andi $t8, $v0, 0x0040 ## $t8 = 00000000 -/* 00CA4 80A9BC44 304F0020 */ andi $t7, $v0, 0x0020 ## $t7 = 00000000 -/* 00CA8 80A9BC48 15E00005 */ bne $t7, $zero, .L80A9BC60 -/* 00CAC 80A9BC4C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00CB0 80A9BC50 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 00CB4 80A9BC54 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014 -/* 00CB8 80A9BC58 0C01AEB6 */ jal Audio_PlaySoundAtPosition - -/* 00CBC 80A9BC5C 2407284E */ addiu $a3, $zero, 0x284E ## $a3 = 0000284E -.L80A9BC60: -/* 00CC0 80A9BC60 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00CC4 80A9BC64 0C2A6C87 */ jal func_80A9B21C -/* 00CC8 80A9BC68 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00CCC 80A9BC6C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00CD0 80A9BC70 0C2A6C1F */ jal func_80A9B07C -/* 00CD4 80A9BC74 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00CD8 80A9BC78 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 00CDC 80A9BC7C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00CE0 80A9BC80 30420003 */ andi $v0, $v0, 0x0003 ## $v0 = 00000000 -/* 00CE4 80A9BC84 10400005 */ beq $v0, $zero, .L80A9BC9C -/* 00CE8 80A9BC88 00000000 */ nop -/* 00CEC 80A9BC8C 10410007 */ beq $v0, $at, .L80A9BCAC -/* 00CF0 80A9BC90 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00CF4 80A9BC94 54410081 */ bnel $v0, $at, .L80A9BE9C -/* 00CF8 80A9BC98 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A9BC9C: -/* 00CFC 80A9BC9C 0C00B55C */ jal Actor_Kill - -/* 00D00 80A9BCA0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00D04 80A9BCA4 1000007D */ beq $zero, $zero, .L80A9BE9C -/* 00D08 80A9BCA8 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A9BCAC: -/* 00D0C 80A9BCAC 0C2A6FCF */ jal func_80A9BF3C -/* 00D10 80A9BCB0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00D14 80A9BCB4 10000079 */ beq $zero, $zero, .L80A9BE9C -/* 00D18 80A9BCB8 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A9BCBC: -/* 00D1C 80A9BCBC 13000044 */ beq $t8, $zero, .L80A9BDD0 -/* 00D20 80A9BCC0 00000000 */ nop -/* 00D24 80A9BCC4 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024 -/* 00D28 80A9BCC8 24190190 */ addiu $t9, $zero, 0x0190 ## $t9 = 00000190 -/* 00D2C 80A9BCCC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00D30 80A9BCD0 E7A40030 */ swc1 $f4, 0x0030($sp) -/* 00D34 80A9BCD4 C6080084 */ lwc1 $f8, 0x0084($s0) ## 00000084 -/* 00D38 80A9BCD8 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028 -/* 00D3C 80A9BCDC 27A50030 */ addiu $a1, $sp, 0x0030 ## $a1 = FFFFFFF0 -/* 00D40 80A9BCE0 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00D44 80A9BCE4 46083280 */ add.s $f10, $f6, $f8 -/* 00D48 80A9BCE8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00D4C 80A9BCEC E7AA0034 */ swc1 $f10, 0x0034($sp) -/* 00D50 80A9BCF0 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C -/* 00D54 80A9BCF4 AFB90014 */ sw $t9, 0x0014($sp) -/* 00D58 80A9BCF8 AFA00010 */ sw $zero, 0x0010($sp) -/* 00D5C 80A9BCFC 0C00A527 */ jal EffectSsGSplash_Spawn -/* 00D60 80A9BD00 E7B00038 */ swc1 $f16, 0x0038($sp) -/* 00D64 80A9BD04 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00D68 80A9BD08 27A50030 */ addiu $a1, $sp, 0x0030 ## $a1 = FFFFFFF0 -/* 00D6C 80A9BD0C 24060096 */ addiu $a2, $zero, 0x0096 ## $a2 = 00000096 -/* 00D70 80A9BD10 2407028A */ addiu $a3, $zero, 0x028A ## $a3 = 0000028A -/* 00D74 80A9BD14 0C00A511 */ jal EffectSsGRipple_Spawn -/* 00D78 80A9BD18 AFA00010 */ sw $zero, 0x0010($sp) -/* 00D7C 80A9BD1C 240A0004 */ addiu $t2, $zero, 0x0004 ## $t2 = 00000004 -/* 00D80 80A9BD20 AFAA0010 */ sw $t2, 0x0010($sp) -/* 00D84 80A9BD24 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00D88 80A9BD28 27A50030 */ addiu $a1, $sp, 0x0030 ## $a1 = FFFFFFF0 -/* 00D8C 80A9BD2C 24060190 */ addiu $a2, $zero, 0x0190 ## $a2 = 00000190 -/* 00D90 80A9BD30 0C00A511 */ jal EffectSsGRipple_Spawn -/* 00D94 80A9BD34 24070320 */ addiu $a3, $zero, 0x0320 ## $a3 = 00000320 -/* 00D98 80A9BD38 240B0008 */ addiu $t3, $zero, 0x0008 ## $t3 = 00000008 -/* 00D9C 80A9BD3C AFAB0010 */ sw $t3, 0x0010($sp) -/* 00DA0 80A9BD40 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00DA4 80A9BD44 27A50030 */ addiu $a1, $sp, 0x0030 ## $a1 = FFFFFFF0 -/* 00DA8 80A9BD48 240601F4 */ addiu $a2, $zero, 0x01F4 ## $a2 = 000001F4 -/* 00DAC 80A9BD4C 0C00A511 */ jal EffectSsGRipple_Spawn -/* 00DB0 80A9BD50 2407044C */ addiu $a3, $zero, 0x044C ## $a3 = 0000044C -/* 00DB4 80A9BD54 3C01C040 */ lui $at, 0xC040 ## $at = C0400000 -/* 00DB8 80A9BD58 44819000 */ mtc1 $at, $f18 ## $f18 = -3.00 -/* 00DBC 80A9BD5C 3C0280AA */ lui $v0, %hi(D_80A9C1D4) ## $v0 = 80AA0000 -/* 00DC0 80A9BD60 3C0380AA */ lui $v1, %hi(D_80A9C1DC) ## $v1 = 80AA0000 -/* 00DC4 80A9BD64 E6120070 */ swc1 $f18, 0x0070($s0) ## 00000070 -/* 00DC8 80A9BD68 3C0880AA */ lui $t0, %hi(D_80A9C1D0) ## $t0 = 80AA0000 -/* 00DCC 80A9BD6C 3C0980AA */ lui $t1, %hi(D_80A9C1D8) ## $t1 = 80AA0000 -/* 00DD0 80A9BD70 2529C1D8 */ addiu $t1, $t1, %lo(D_80A9C1D8) ## $t1 = 80A9C1D8 -/* 00DD4 80A9BD74 2508C1D0 */ addiu $t0, $t0, %lo(D_80A9C1D0) ## $t0 = 80A9C1D0 -/* 00DD8 80A9BD78 2463C1DC */ addiu $v1, $v1, %lo(D_80A9C1DC) ## $v1 = 80A9C1DC -/* 00DDC 80A9BD7C 2442C1D4 */ addiu $v0, $v0, %lo(D_80A9C1D4) ## $v0 = 80A9C1D4 -/* 00DE0 80A9BD80 844C0000 */ lh $t4, 0x0000($v0) ## 80A9C1D4 -/* 00DE4 80A9BD84 850E0000 */ lh $t6, 0x0000($t0) ## 80A9C1D0 -/* 00DE8 80A9BD88 84780000 */ lh $t8, 0x0000($v1) ## 80A9C1DC -/* 00DEC 80A9BD8C 852A0000 */ lh $t2, 0x0000($t1) ## 80A9C1D8 -/* 00DF0 80A9BD90 000C6843 */ sra $t5, $t4, 1 -/* 00DF4 80A9BD94 000E7843 */ sra $t7, $t6, 1 -/* 00DF8 80A9BD98 0018C843 */ sra $t9, $t8, 1 -/* 00DFC 80A9BD9C 000A5843 */ sra $t3, $t2, 1 -/* 00E00 80A9BDA0 A44D0000 */ sh $t5, 0x0000($v0) ## 80A9C1D4 -/* 00E04 80A9BDA4 A50F0000 */ sh $t7, 0x0000($t0) ## 80A9C1D0 -/* 00E08 80A9BDA8 A4790000 */ sh $t9, 0x0000($v1) ## 80A9C1DC -/* 00E0C 80A9BDAC A52B0000 */ sh $t3, 0x0000($t1) ## 80A9C1D8 -/* 00E10 80A9BDB0 960C0088 */ lhu $t4, 0x0088($s0) ## 00000088 -/* 00E14 80A9BDB4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00E18 80A9BDB8 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 00E1C 80A9BDBC 318DFFBF */ andi $t5, $t4, 0xFFBF ## $t5 = 00000000 -/* 00E20 80A9BDC0 A60D0088 */ sh $t5, 0x0088($s0) ## 00000088 -/* 00E24 80A9BDC4 24060028 */ addiu $a2, $zero, 0x0028 ## $a2 = 00000028 -/* 00E28 80A9BDC8 0C01AEB6 */ jal Audio_PlaySoundAtPosition - -/* 00E2C 80A9BDCC 240728C5 */ addiu $a3, $zero, 0x28C5 ## $a3 = 000028C5 -.L80A9BDD0: -/* 00E30 80A9BDD0 0C2A6C50 */ jal func_80A9B140 -/* 00E34 80A9BDD4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00E38 80A9BDD8 3C0480AA */ lui $a0, %hi(D_80A9C1D4) ## $a0 = 80AA0000 -/* 00E3C 80A9BDDC 3C0580AA */ lui $a1, %hi(D_80A9C1D0) ## $a1 = 80AA0000 -/* 00E40 80A9BDE0 84A5C1D0 */ lh $a1, %lo(D_80A9C1D0)($a1) -/* 00E44 80A9BDE4 2484C1D4 */ addiu $a0, $a0, %lo(D_80A9C1D4) ## $a0 = 80A9C1D4 -/* 00E48 80A9BDE8 0C01DE5F */ jal Math_ApproxS - -/* 00E4C 80A9BDEC 240601F4 */ addiu $a2, $zero, 0x01F4 ## $a2 = 000001F4 -/* 00E50 80A9BDF0 3C0480AA */ lui $a0, %hi(D_80A9C1DC) ## $a0 = 80AA0000 -/* 00E54 80A9BDF4 3C0580AA */ lui $a1, %hi(D_80A9C1D8) ## $a1 = 80AA0000 -/* 00E58 80A9BDF8 84A5C1D8 */ lh $a1, %lo(D_80A9C1D8)($a1) -/* 00E5C 80A9BDFC 2484C1DC */ addiu $a0, $a0, %lo(D_80A9C1DC) ## $a0 = 80A9C1DC -/* 00E60 80A9BE00 0C01DE5F */ jal Math_ApproxS - -/* 00E64 80A9BE04 240600AA */ addiu $a2, $zero, 0x00AA ## $a2 = 000000AA -/* 00E68 80A9BE08 3C0F80AA */ lui $t7, %hi(D_80A9C1D4) ## $t7 = 80AA0000 -/* 00E6C 80A9BE0C 85EFC1D4 */ lh $t7, %lo(D_80A9C1D4)($t7) -/* 00E70 80A9BE10 860E00B4 */ lh $t6, 0x00B4($s0) ## 000000B4 -/* 00E74 80A9BE14 3C0A80AA */ lui $t2, %hi(D_80A9C1DC) ## $t2 = 80AA0000 -/* 00E78 80A9BE18 861900B6 */ lh $t9, 0x00B6($s0) ## 000000B6 -/* 00E7C 80A9BE1C 01CFC021 */ addu $t8, $t6, $t7 -/* 00E80 80A9BE20 A61800B4 */ sh $t8, 0x00B4($s0) ## 000000B4 -/* 00E84 80A9BE24 854AC1DC */ lh $t2, %lo(D_80A9C1DC)($t2) -/* 00E88 80A9BE28 3C053D4C */ lui $a1, 0x3D4C ## $a1 = 3D4C0000 -/* 00E8C 80A9BE2C 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3D4CCCCD -/* 00E90 80A9BE30 032A5821 */ addu $t3, $t9, $t2 -/* 00E94 80A9BE34 A60B00B6 */ sh $t3, 0x00B6($s0) ## 000000B6 -/* 00E98 80A9BE38 0C2A6C5D */ jal func_80A9B174 -/* 00E9C 80A9BE3C 2604005C */ addiu $a0, $s0, 0x005C ## $a0 = 0000005C -/* 00EA0 80A9BE40 0C00B5FB */ jal func_8002D7EC -/* 00EA4 80A9BE44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00EA8 80A9BE48 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00EAC 80A9BE4C 240C00C5 */ addiu $t4, $zero, 0x00C5 ## $t4 = 000000C5 -/* 00EB0 80A9BE50 AFAC0014 */ sw $t4, 0x0014($sp) -/* 00EB4 80A9BE54 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00EB8 80A9BE58 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00EBC 80A9BE5C 3C0640F0 */ lui $a2, 0x40F0 ## $a2 = 40F00000 -/* 00EC0 80A9BE60 3C07420C */ lui $a3, 0x420C ## $a3 = 420C0000 -/* 00EC4 80A9BE64 0C00B92D */ jal func_8002E4B4 -/* 00EC8 80A9BE68 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 00ECC 80A9BE6C 26060150 */ addiu $a2, $s0, 0x0150 ## $a2 = 00000150 -/* 00ED0 80A9BE70 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000150 -/* 00ED4 80A9BE74 AFA60028 */ sw $a2, 0x0028($sp) -/* 00ED8 80A9BE78 0C0189B7 */ jal Collider_CylinderUpdate - -/* 00EDC 80A9BE7C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00EE0 80A9BE80 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00EE4 80A9BE84 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00EE8 80A9BE88 8FA60028 */ lw $a2, 0x0028($sp) -/* 00EEC 80A9BE8C 02212821 */ addu $a1, $s1, $at -/* 00EF0 80A9BE90 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOT -/* 00EF4 80A9BE94 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00EF8 80A9BE98 8FBF0024 */ lw $ra, 0x0024($sp) -.L80A9BE9C: -/* 00EFC 80A9BE9C 8FB0001C */ lw $s0, 0x001C($sp) -/* 00F00 80A9BEA0 8FB10020 */ lw $s1, 0x0020($sp) -/* 00F04 80A9BEA4 03E00008 */ jr $ra -/* 00F08 80A9BEA8 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BEAC.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BEAC.s deleted file mode 100644 index b4fb0e10bf..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BEAC.s +++ /dev/null @@ -1,24 +0,0 @@ -glabel func_80A9BEAC -/* 00F0C 80A9BEAC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00F10 80A9BEB0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00F14 80A9BEB4 8482001C */ lh $v0, 0x001C($a0) ## 0000001C -/* 00F18 80A9BEB8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00F1C 80A9BEBC 3C0580AA */ lui $a1, %hi(func_80A9BEFC) ## $a1 = 80AA0000 -/* 00F20 80A9BEC0 30420003 */ andi $v0, $v0, 0x0003 ## $v0 = 00000000 -/* 00F24 80A9BEC4 10410007 */ beq $v0, $at, .L80A9BEE4 -/* 00F28 80A9BEC8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00F2C 80A9BECC 14410007 */ bne $v0, $at, .L80A9BEEC -/* 00F30 80A9BED0 3C0580AA */ lui $a1, %hi(func_80A9BF30) ## $a1 = 80AA0000 -/* 00F34 80A9BED4 0C2A6BE8 */ jal func_80A9AFA0 -/* 00F38 80A9BED8 24A5BF30 */ addiu $a1, $a1, %lo(func_80A9BF30) ## $a1 = 80A9BF30 -/* 00F3C 80A9BEDC 10000004 */ beq $zero, $zero, .L80A9BEF0 -/* 00F40 80A9BEE0 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A9BEE4: -/* 00F44 80A9BEE4 0C2A6BE8 */ jal func_80A9AFA0 -/* 00F48 80A9BEE8 24A5BEFC */ addiu $a1, $a1, %lo(func_80A9BEFC) ## $a1 = FFFFBEFC -.L80A9BEEC: -/* 00F4C 80A9BEEC 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A9BEF0: -/* 00F50 80A9BEF0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00F54 80A9BEF4 03E00008 */ jr $ra -/* 00F58 80A9BEF8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BEFC.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BEFC.s deleted file mode 100644 index 11ee85c384..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BEFC.s +++ /dev/null @@ -1,15 +0,0 @@ -glabel func_80A9BEFC -/* 00F5C 80A9BEFC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00F60 80A9BF00 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00F64 80A9BF04 AFA5001C */ sw $a1, 0x001C($sp) -/* 00F68 80A9BF08 848E019C */ lh $t6, 0x019C($a0) ## 0000019C -/* 00F6C 80A9BF0C 29C10078 */ slti $at, $t6, 0x0078 -/* 00F70 80A9BF10 54200004 */ bnel $at, $zero, .L80A9BF24 -/* 00F74 80A9BF14 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00F78 80A9BF18 0C2A7003 */ jal func_80A9C00C -/* 00F7C 80A9BF1C 00000000 */ nop -/* 00F80 80A9BF20 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A9BF24: -/* 00F84 80A9BF24 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00F88 80A9BF28 03E00008 */ jr $ra -/* 00F8C 80A9BF2C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BF30.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BF30.s deleted file mode 100644 index 06602facd5..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BF30.s +++ /dev/null @@ -1,4 +0,0 @@ -glabel func_80A9BF30 -/* 00F90 80A9BF30 AFA40000 */ sw $a0, 0x0000($sp) -/* 00F94 80A9BF34 03E00008 */ jr $ra -/* 00F98 80A9BF38 AFA50004 */ sw $a1, 0x0004($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BF3C.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BF3C.s deleted file mode 100644 index d5b51ab6ca..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BF3C.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel func_80A9BF3C -/* 00F9C 80A9BF3C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00FA0 80A9BF40 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00FA4 80A9BF44 3C014110 */ lui $at, 0x4110 ## $at = 41100000 -/* 00FA8 80A9BF48 44814000 */ mtc1 $at, $f8 ## $f8 = 9.00 -/* 00FAC 80A9BF4C C486000C */ lwc1 $f6, 0x000C($a0) ## 0000000C -/* 00FB0 80A9BF50 C4840008 */ lwc1 $f4, 0x0008($a0) ## 00000008 -/* 00FB4 80A9BF54 C4900010 */ lwc1 $f16, 0x0010($a0) ## 00000010 -/* 00FB8 80A9BF58 46083281 */ sub.s $f10, $f6, $f8 -/* 00FBC 80A9BF5C E4840024 */ swc1 $f4, 0x0024($a0) ## 00000024 -/* 00FC0 80A9BF60 E490002C */ swc1 $f16, 0x002C($a0) ## 0000002C -/* 00FC4 80A9BF64 E48A0028 */ swc1 $f10, 0x0028($a0) ## 00000028 -/* 00FC8 80A9BF68 0C2A6C7F */ jal func_80A9B1FC -/* 00FCC 80A9BF6C AFA40018 */ sw $a0, 0x0018($sp) -/* 00FD0 80A9BF70 8FA40018 */ lw $a0, 0x0018($sp) -/* 00FD4 80A9BF74 3C0580AA */ lui $a1, %hi(func_80A9BFA8) ## $a1 = 80AA0000 -/* 00FD8 80A9BF78 24A5BFA8 */ addiu $a1, $a1, %lo(func_80A9BFA8) ## $a1 = 80A9BFA8 -/* 00FDC 80A9BF7C 888F0014 */ lwl $t7, 0x0014($a0) ## 00000014 -/* 00FE0 80A9BF80 988F0017 */ lwr $t7, 0x0017($a0) ## 00000017 -/* 00FE4 80A9BF84 A88F00B4 */ swl $t7, 0x00B4($a0) ## 000000B4 -/* 00FE8 80A9BF88 B88F00B7 */ swr $t7, 0x00B7($a0) ## 000000B7 -/* 00FEC 80A9BF8C 948F0018 */ lhu $t7, 0x0018($a0) ## 00000018 -/* 00FF0 80A9BF90 0C2A6BE8 */ jal func_80A9AFA0 -/* 00FF4 80A9BF94 A48F00B8 */ sh $t7, 0x00B8($a0) ## 000000B8 -/* 00FF8 80A9BF98 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00FFC 80A9BF9C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 01000 80A9BFA0 03E00008 */ jr $ra -/* 01004 80A9BFA4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BFA8.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BFA8.s deleted file mode 100644 index 8b8b61dff4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BFA8.s +++ /dev/null @@ -1,29 +0,0 @@ -glabel func_80A9BFA8 -/* 01008 80A9BFA8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0100C 80A9BFAC AFBF0014 */ sw $ra, 0x0014($sp) -/* 01010 80A9BFB0 AFA5001C */ sw $a1, 0x001C($sp) -/* 01014 80A9BFB4 848E019C */ lh $t6, 0x019C($a0) ## 0000019C -/* 01018 80A9BFB8 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 0101C 80A9BFBC 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028 -/* 01020 80A9BFC0 29C10079 */ slti $at, $t6, 0x0079 -/* 01024 80A9BFC4 1420000D */ bne $at, $zero, .L80A9BFFC -/* 01028 80A9BFC8 3C063F19 */ lui $a2, 0x3F19 ## $a2 = 3F190000 -/* 0102C 80A9BFCC 8CE5000C */ lw $a1, 0x000C($a3) ## 0000000C -/* 01030 80A9BFD0 AFA70018 */ sw $a3, 0x0018($sp) -/* 01034 80A9BFD4 0C01DE80 */ jal Math_ApproxF - -/* 01038 80A9BFD8 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3F19999A -/* 0103C 80A9BFDC 10400007 */ beq $v0, $zero, .L80A9BFFC -/* 01040 80A9BFE0 8FA70018 */ lw $a3, 0x0018($sp) -/* 01044 80A9BFE4 84EF019C */ lh $t7, 0x019C($a3) ## 0000019C -/* 01048 80A9BFE8 29E100AA */ slti $at, $t7, 0x00AA -/* 0104C 80A9BFEC 54200004 */ bnel $at, $zero, .L80A9C000 -/* 01050 80A9BFF0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 01054 80A9BFF4 0C2A7003 */ jal func_80A9C00C -/* 01058 80A9BFF8 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -.L80A9BFFC: -/* 0105C 80A9BFFC 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A9C000: -/* 01060 80A9C000 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 01064 80A9C004 03E00008 */ jr $ra -/* 01068 80A9C008 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9C00C.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9C00C.s deleted file mode 100644 index 32fc0b2dc4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9C00C.s +++ /dev/null @@ -1,24 +0,0 @@ -glabel func_80A9C00C -/* 0106C 80A9C00C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 01070 80A9C010 AFBF0014 */ sw $ra, 0x0014($sp) -/* 01074 80A9C014 3C0580AA */ lui $a1, %hi(func_80A9C068) ## $a1 = 80AA0000 -/* 01078 80A9C018 24A5C068 */ addiu $a1, $a1, %lo(func_80A9C068) ## $a1 = 80A9C068 -/* 0107C 80A9C01C 0C2A6BE8 */ jal func_80A9AFA0 -/* 01080 80A9C020 AFA40018 */ sw $a0, 0x0018($sp) -/* 01084 80A9C024 0C2A6C7F */ jal func_80A9B1FC -/* 01088 80A9C028 8FA40018 */ lw $a0, 0x0018($sp) -/* 0108C 80A9C02C 8FA40018 */ lw $a0, 0x0018($sp) -/* 01090 80A9C030 2401F7FF */ addiu $at, $zero, 0xF7FF ## $at = FFFFF7FF -/* 01094 80A9C034 888F0014 */ lwl $t7, 0x0014($a0) ## 00000014 -/* 01098 80A9C038 988F0017 */ lwr $t7, 0x0017($a0) ## 00000017 -/* 0109C 80A9C03C 8C980004 */ lw $t8, 0x0004($a0) ## 00000004 -/* 010A0 80A9C040 A88F00B4 */ swl $t7, 0x00B4($a0) ## 000000B4 -/* 010A4 80A9C044 B88F00B7 */ swr $t7, 0x00B7($a0) ## 000000B7 -/* 010A8 80A9C048 948F0018 */ lhu $t7, 0x0018($a0) ## 00000018 -/* 010AC 80A9C04C 0301C824 */ and $t9, $t8, $at -/* 010B0 80A9C050 AC990004 */ sw $t9, 0x0004($a0) ## 00000004 -/* 010B4 80A9C054 A48F00B8 */ sh $t7, 0x00B8($a0) ## 000000B8 -/* 010B8 80A9C058 8FBF0014 */ lw $ra, 0x0014($sp) -/* 010BC 80A9C05C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 010C0 80A9C060 03E00008 */ jr $ra -/* 010C4 80A9C064 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9C068.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9C068.s deleted file mode 100644 index c226797289..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9C068.s +++ /dev/null @@ -1,43 +0,0 @@ -glabel func_80A9C068 -/* 010C8 80A9C068 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 010CC 80A9C06C AFB00018 */ sw $s0, 0x0018($sp) -/* 010D0 80A9C070 AFA5002C */ sw $a1, 0x002C($sp) -/* 010D4 80A9C074 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 010D8 80A9C078 AFBF001C */ sw $ra, 0x001C($sp) -/* 010DC 80A9C07C 3C053ECC */ lui $a1, 0x3ECC ## $a1 = 3ECC0000 -/* 010E0 80A9C080 3C063C65 */ lui $a2, 0x3C65 ## $a2 = 3C650000 -/* 010E4 80A9C084 34C66042 */ ori $a2, $a2, 0x6042 ## $a2 = 3C656042 -/* 010E8 80A9C088 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3ECCCCCD -/* 010EC 80A9C08C 0C01DE80 */ jal Math_ApproxF - -/* 010F0 80A9C090 24840054 */ addiu $a0, $a0, 0x0054 ## $a0 = 00000054 -/* 010F4 80A9C094 30430001 */ andi $v1, $v0, 0x0001 ## $v1 = 00000000 -/* 010F8 80A9C098 3C053ECC */ lui $a1, 0x3ECC ## $a1 = 3ECC0000 -/* 010FC 80A9C09C 3C063C34 */ lui $a2, 0x3C34 ## $a2 = 3C340000 -/* 01100 80A9C0A0 34C63958 */ ori $a2, $a2, 0x3958 ## $a2 = 3C343958 -/* 01104 80A9C0A4 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3ECCCCCD -/* 01108 80A9C0A8 AFA30024 */ sw $v1, 0x0024($sp) -/* 0110C 80A9C0AC 0C01DE80 */ jal Math_ApproxF - -/* 01110 80A9C0B0 26040050 */ addiu $a0, $s0, 0x0050 ## $a0 = 00000050 -/* 01114 80A9C0B4 8FA30024 */ lw $v1, 0x0024($sp) -/* 01118 80A9C0B8 C6040050 */ lwc1 $f4, 0x0050($s0) ## 00000050 -/* 0111C 80A9C0BC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 01120 80A9C0C0 00621824 */ and $v1, $v1, $v0 -/* 01124 80A9C0C4 10600009 */ beq $v1, $zero, .L80A9C0EC -/* 01128 80A9C0C8 E6040058 */ swc1 $f4, 0x0058($s0) ## 00000058 -/* 0112C 80A9C0CC 3C053ECC */ lui $a1, 0x3ECC ## $a1 = 3ECC0000 -/* 01130 80A9C0D0 0C00B58B */ jal Actor_SetScale - -/* 01134 80A9C0D4 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3ECCCCCD -/* 01138 80A9C0D8 0C2A6E27 */ jal func_80A9B89C -/* 0113C 80A9C0DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 01140 80A9C0E0 920E0162 */ lbu $t6, 0x0162($s0) ## 00000162 -/* 01144 80A9C0E4 31CFFFF7 */ andi $t7, $t6, 0xFFF7 ## $t7 = 00000000 -/* 01148 80A9C0E8 A20F0162 */ sb $t7, 0x0162($s0) ## 00000162 -.L80A9C0EC: -/* 0114C 80A9C0EC 8FBF001C */ lw $ra, 0x001C($sp) -/* 01150 80A9C0F0 8FB00018 */ lw $s0, 0x0018($sp) -/* 01154 80A9C0F4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 01158 80A9C0F8 03E00008 */ jr $ra -/* 0115C 80A9C0FC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9C164.s b/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9C164.s deleted file mode 100644 index 7e106956ba..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9C164.s +++ /dev/null @@ -1,32 +0,0 @@ -glabel func_80A9C164 -/* 011C4 80A9C164 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 011C8 80A9C168 AFBF0014 */ sw $ra, 0x0014($sp) -/* 011CC 80A9C16C 8C8E0004 */ lw $t6, 0x0004($a0) ## 00000004 -/* 011D0 80A9C170 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 011D4 80A9C174 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000 -/* 011D8 80A9C178 31CF0800 */ andi $t7, $t6, 0x0800 ## $t7 = 00000000 -/* 011DC 80A9C17C 11E00006 */ beq $t7, $zero, .L80A9C198 -/* 011E0 80A9C180 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 011E4 80A9C184 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000 -/* 011E8 80A9C188 0C00D498 */ jal Gfx_DrawDListOpa - -/* 011EC 80A9C18C 24A502E0 */ addiu $a1, $a1, 0x02E0 ## $a1 = 060002E0 -/* 011F0 80A9C190 1000000A */ beq $zero, $zero, .L80A9C1BC -/* 011F4 80A9C194 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A9C198: -/* 011F8 80A9C198 84D8001C */ lh $t8, 0x001C($a2) ## 0000001C -/* 011FC 80A9C19C 3C0580AA */ lui $a1, %hi(D_80A9C294) ## $a1 = 80AA0000 -/* 01200 80A9C1A0 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 01204 80A9C1A4 33190003 */ andi $t9, $t8, 0x0003 ## $t9 = 00000000 -/* 01208 80A9C1A8 00194080 */ sll $t0, $t9, 2 -/* 0120C 80A9C1AC 00A82821 */ addu $a1, $a1, $t0 -/* 01210 80A9C1B0 0C00D498 */ jal Gfx_DrawDListOpa - -/* 01214 80A9C1B4 8CA5C294 */ lw $a1, %lo(D_80A9C294)($a1) -/* 01218 80A9C1B8 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A9C1BC: -/* 0121C 80A9C1BC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 01220 80A9C1C0 03E00008 */ jr $ra -/* 01224 80A9C1C4 00000000 */ nop -/* 01228 80A9C1C8 00000000 */ nop -/* 0122C 80A9C1CC 00000000 */ nop diff --git a/data/overlays/actors/z_en_kusa.data.s b/data/overlays/actors/z_en_kusa.data.s deleted file mode 100644 index 615a7629b5..0000000000 --- a/data/overlays/actors/z_en_kusa.data.s +++ /dev/null @@ -1,40 +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 D_80A9C1D0 - .word 0x00000000 -glabel D_80A9C1D4 - .word 0x00000000 -glabel D_80A9C1D8 - .word 0x00000000 -glabel D_80A9C1DC - .word 0x00000000 -glabel En_Kusa_InitVars - .word 0x01250600, 0x00800010, 0x00010000, 0x000001A0 -.word EnKusa_Init -.word EnKusa_Destroy -.word EnKusa_Update -.word 0x00000000 -glabel D_80A9C200 - .word 0x0002012B, 0x012B0000 -glabel D_80A9C208 - .word 0x0A000929, 0x20010000, 0x00000000, 0x00000000, 0x00000000, 0x4FC00758, 0x00000000, 0x00010100, 0x000C002C, 0x00000000, 0x00000000 -glabel D_80A9C234 - .word 0x0000000C, 0x001EFF00 -glabel D_80A9C23C - .word 0x00000000, 0x3F350481, 0x3F350481, 0x3F350481, 0x3F350481, 0x00000000, 0x00000000, 0x3F350481, 0xBF350481, 0xBF350481, 0x3F350481, 0x00000000 -glabel D_80A9C26C - .word 0x006C0066, 0x00600054, 0x00420037, 0x002A0026 -glabel D_80A9C27C - .word 0xC8500190, 0xB86CF380, 0xB870BD98, 0xB0F404B0, 0xB0F80064, 0x30FC0078 -glabel D_80A9C294 - .word 0x0500B9D0, 0x06000140, 0x06000140 - diff --git a/data/overlays/actors/z_en_kusa.reloc.s b/data/overlays/actors/z_en_kusa.reloc.s deleted file mode 100644 index 9a85f7908e..0000000000 --- a/data/overlays/actors/z_en_kusa.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_80A9C340 - .incbin "baserom/ovl_En_Kusa", 0x13A0, 0x00000210 diff --git a/spec b/spec index f9165dd31d..73dfc5e207 100644 --- a/spec +++ b/spec @@ -2646,8 +2646,7 @@ endseg beginseg name "ovl_En_Kusa" include "build/src/overlays/actors/ovl_En_Kusa/z_en_kusa.o" - include "build/data/overlays/actors/z_en_kusa.data.o" - include "build/data/overlays/actors/z_en_kusa.reloc.o" + include "build/src/overlays/actors/ovl_En_Kusa/ovl_En_Kusa_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_Bg_Ice_Turara/z_bg_ice_turara.c b/src/overlays/actors/ovl_Bg_Ice_Turara/z_bg_ice_turara.c index 1a1272bfa8..78324fe197 100644 --- a/src/overlays/actors/ovl_Bg_Ice_Turara/z_bg_ice_turara.c +++ b/src/overlays/actors/ovl_Bg_Ice_Turara/z_bg_ice_turara.c @@ -42,7 +42,7 @@ const ActorInit Bg_Ice_Turara_InitVars = { (ActorFunc)BgIceTurara_Draw, }; -InitChainEntry sInitChain[] = { +static InitChainEntry sInitChain[] = { ICHAIN_F32(uncullZoneScale, 600, ICHAIN_CONTINUE), ICHAIN_F32(gravity, -3, ICHAIN_CONTINUE), ICHAIN_F32(minVelocityY, -30, ICHAIN_CONTINUE), diff --git a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c index 2c048fcf81..ad5e58e811 100644 --- a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c +++ b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c @@ -1,4 +1,12 @@ +/* + * File: z_en_kusa.c + * Overlay: ovl_en_kusa + * Description: Bush + */ + #include "z_en_kusa.h" +#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h" +#include "vt.h" #define FLAGS 0x00800010 @@ -7,8 +15,30 @@ void EnKusa_Init(Actor* thisx, GlobalContext* globalCtx); void EnKusa_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnKusa_Update(Actor* thisx, GlobalContext* globalCtx); +void EnKusa_Draw(Actor* thisx, GlobalContext* globalCtx); + +void EnKusa_SetupLiftedUp(EnKusa* this); +void func_80A9B7EC(EnKusa* this); +void func_80A9B89C(EnKusa* this); +void func_80A9BBB0(EnKusa* this); +void func_80A9BEAC(EnKusa* this); +void func_80A9BF3C(EnKusa* this); +void func_80A9C00C(EnKusa* this); + +void func_80A9BC1C(EnKusa* this, GlobalContext* globalCtx); +void func_80A9B810(EnKusa* this, GlobalContext* globalCtx); +void func_80A9B8D8(EnKusa* this, GlobalContext* globalCtx); +void EnKusa_LiftedUp(EnKusa* this, GlobalContext* globalCtx); +void func_80A9BEFC(EnKusa* this, GlobalContext* globalCtx); +void func_80A9BF30(EnKusa* this, GlobalContext* globalCtx); +void func_80A9BFA8(EnKusa* this, GlobalContext* globalCtx); +void func_80A9C068(EnKusa* this, GlobalContext* globalCtx); + +s16 D_80A9C1D0 = 0; +s16 D_80A9C1D4 = 0; +s16 D_80A9C1D8 = 0; +s16 D_80A9C1DC = 0; -/* const ActorInit En_Kusa_InitVars = { ACTOR_EN_KUSA, ACTORTYPE_PROP, @@ -20,59 +50,437 @@ const ActorInit En_Kusa_InitVars = { (ActorFunc)EnKusa_Update, NULL, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9AFA0.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9AFAC.s") +static s16 sObjectIds[] = { OBJECT_GAMEPLAY_FIELD_KEEP, OBJECT_KUSA, OBJECT_KUSA }; + +static ColliderCylinderInit sCylinderInit = { + { COLTYPE_UNK10, 0x00, 0x09, 0x29, 0x20, COLSHAPE_CYLINDER }, + { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x4FC00758, 0x00, 0x00 }, 0x00, 0x01, 0x01 }, + { 12, 44, 0, { 0, 0, 0 } }, +}; + +static CollisionCheckInfoInit sColChkInfoInit = { 0, 12, 30, 0xFF }; + +static Vec3f D_80A9C23C[] = { + { 0.0f, 0.7071f, 0.7071f }, + { 0.7071f, 0.7071f, 0.0f }, + { 0.0f, 0.7071f, -0.7071f }, + { -0.7071f, 0.7071f, 0.0f }, +}; + +s16 D_80A9C26C[] = { 108, 102, 96, 84, 66, 55, 42, 38 }; + +static InitChainEntry sInitChain[] = { + ICHAIN_VEC3F_DIV1000(scale, 400, ICHAIN_CONTINUE), ICHAIN_F32_DIV1000(gravity, -3200, ICHAIN_CONTINUE), + ICHAIN_F32_DIV1000(minVelocityY, -17000, ICHAIN_CONTINUE), ICHAIN_F32(uncullZoneForward, 1200, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneScale, 100, ICHAIN_CONTINUE), ICHAIN_F32(uncullZoneDownward, 120, ICHAIN_STOP), +}; + +extern Gfx D_060002E0[]; +extern Gfx D_040355E0[]; // bush fragments 1 +extern Gfx D_040356A0[]; // bush fragments 2 + +void EnKusa_SetupAction(EnKusa* this, EnKusaActionFunc actionFunc) { + this->timer = 0; + this->actionFunc = actionFunc; +} + +s32 EnKusa_SnapToFloor(EnKusa* this, GlobalContext* globalCtx, f32 yOffset) { + s32 pad; + CollisionPoly* sp28; + Vec3f pos; + UNK_TYPE sp24; + f32 floorY; + + pos.x = this->actor.posRot.pos.x; + pos.y = this->actor.posRot.pos.y + 30.0f; + pos.z = this->actor.posRot.pos.z; + + floorY = func_8003C9A4(&globalCtx->colCtx, &sp28, &sp24, &this->actor, &pos); + + if (floorY > -32000.0f) { + this->actor.posRot.pos.y = floorY + yOffset; + Math_Vec3f_Copy(&this->actor.initPosRot.pos, &this->actor.posRot.pos); + return true; + } else { + osSyncPrintf(VT_COL(YELLOW, BLACK)); + // Translation: Failure attaching to ground + osSyncPrintf("地面に付着失敗(%s %d)\n", "../z_en_kusa.c", 323); + osSyncPrintf(VT_RST); + return false; + } +} + +void EnKusa_DropCollectible(EnKusa* this, GlobalContext* globalCtx) { + s16 dropParams; + + switch (this->actor.params & 3) { + case 0: + case 2: + dropParams = (this->actor.params >> 8) & 0xF; + + if (dropParams >= 0xD) { + dropParams = 0; + } + Item_DropCollectibleRandom(globalCtx, NULL, &this->actor.posRot.pos, dropParams << 4); + break; + case 1: + if (Math_Rand_ZeroOne() < 0.5f) { + Item_DropCollectible(globalCtx, &this->actor.posRot.pos, ITEM00_SEEDS); + } else { + Item_DropCollectible(globalCtx, &this->actor.posRot.pos, ITEM00_HEART); + } + break; + } +} + +void EnKusa_Fall(EnKusa* this) { + this->actor.velocity.y += this->actor.gravity; + + if (this->actor.velocity.y < this->actor.minVelocityY) { + this->actor.velocity.y = this->actor.minVelocityY; + } +} + +void func_80A9B174(Vec3f* vec, f32 arg1) { + arg1 += ((Math_Rand_ZeroOne() * 0.2f) - 0.1f) * arg1; + vec->x -= vec->x * arg1; + vec->y -= vec->y * arg1; + vec->z -= vec->z * arg1; +} + +void EnKusa_SetScale(EnKusa* this) { + this->actor.scale.y = 0.16000001f; + this->actor.scale.x = 0.120000005f; + this->actor.scale.z = 0.120000005f; +} + +void EnKusa_SpawnFragments(EnKusa* this, GlobalContext* globalCtx) { + Vec3f velocity; + Vec3f pos; + s32 i; + s32 index; + Vec3f* scale; + s32 pad; + + for (i = 0; i < ARRAY_COUNT(D_80A9C23C); i++) { + scale = &D_80A9C23C[i]; + + pos.x = this->actor.posRot.pos.x + (scale->x * this->actor.scale.x * 20.0f); + pos.y = this->actor.posRot.pos.y + (scale->y * this->actor.scale.y * 20.0f) + 10.0f; + pos.z = this->actor.posRot.pos.z + (scale->z * this->actor.scale.z * 20.0f); + + velocity.x = (Math_Rand_ZeroOne() - 0.5f) * 8.0f; + velocity.y = Math_Rand_ZeroOne() * 10.0f; + velocity.z = (Math_Rand_ZeroOne() - 0.5f) * 8.0f; + + index = (s32)(Math_Rand_ZeroOne() * 111.1f) & 7; + + EffectSsKakera_Spawn(globalCtx, &pos, &velocity, &pos, -100, 64, 40, 3, 0, D_80A9C26C[index], 0, 0, 80, + KAKERA_COLOR_NONE, OBJECT_GAMEPLAY_KEEP, D_040355E0); + + pos.x = this->actor.posRot.pos.x + (scale->x * this->actor.scale.x * 40.0f); + pos.y = this->actor.posRot.pos.y + (scale->y * this->actor.scale.y * 40.0f) + 10.0f; + pos.z = this->actor.posRot.pos.z + (scale->z * this->actor.scale.z * 40.0f); + + velocity.x = (Math_Rand_ZeroOne() - 0.5f) * 6.0f; + velocity.y = Math_Rand_ZeroOne() * 10.0f; + velocity.z = (Math_Rand_ZeroOne() - 0.5f) * 6.0f; + + index = (s32)(Math_Rand_ZeroOne() * 111.1f) % 7; + + EffectSsKakera_Spawn(globalCtx, &pos, &velocity, &pos, -100, 64, 40, 3, 0, D_80A9C26C[index], 0, 0, 80, + KAKERA_COLOR_NONE, OBJECT_GAMEPLAY_KEEP, D_040356A0); + } +} + +void EnKusa_SpawnBugs(EnKusa* this, GlobalContext* globalCtx) { + s32 i; + + for (i = 0; i < 3; i++) { + Actor* bug = + Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_INSECT, this->actor.posRot.pos.x, + this->actor.posRot.pos.y, this->actor.posRot.pos.z, 0, Math_Rand_ZeroOne() * 0xFFFF, 0, 1); + + if (bug == NULL) { + break; + } + } +} + +void EnKusa_InitCollider(Actor* thisx, GlobalContext* globalCtx) { + EnKusa* this = THIS; + + Collider_InitCylinder(globalCtx, &this->collider); + Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); + Collider_CylinderUpdate(&this->actor, &this->collider); +} + +void EnKusa_Init(Actor* thisx, GlobalContext* globalCtx) { + EnKusa* this = THIS; + + Actor_ProcessInitChain(&this->actor, sInitChain); + + if (globalCtx->csCtx.state != 0) { + this->actor.uncullZoneForward += 1000.0f; + } + + EnKusa_InitCollider(thisx, globalCtx); + func_80061ED4(&this->actor.colChkInfo, NULL, &sColChkInfoInit); + + if (this->actor.shape.rot.y == 0) { + s16 rand = Math_Rand_ZeroFloat(0x10000); + + this->actor.posRot.rot.y = rand; + this->actor.initPosRot.rot.y = rand; + this->actor.shape.rot.y = rand; + } + + if (!EnKusa_SnapToFloor(this, globalCtx, 0.0f)) { + Actor_Kill(&this->actor); + return; + } + + this->kusaTexObjIndex = Object_GetIndex(&globalCtx->objectCtx, sObjectIds[thisx->params & 3]); + + if (this->kusaTexObjIndex < 0) { + // Bank danger! + osSyncPrintf("Error : バンク危険! (arg_data 0x%04x)(%s %d)\n", thisx->params, "../z_en_kusa.c", 561); + Actor_Kill(&this->actor); + return; + } + + func_80A9B7EC(this); +} + +void EnKusa_Destroy(Actor* thisx, GlobalContext* globalCtx) { + Collider_DestroyCylinder(globalCtx, &THIS->collider); +} + +void func_80A9B7EC(EnKusa* this) { + EnKusa_SetupAction(this, func_80A9B810); +} + +void func_80A9B810(EnKusa* this, GlobalContext* globalCtx) { + if (Object_IsLoaded(&globalCtx->objectCtx, this->kusaTexObjIndex)) { + if (this->actor.flags & 0x800) { + func_80A9BEAC(this); + } else { + func_80A9B89C(this); + } + + this->actor.draw = EnKusa_Draw; + this->actor.objBankIndex = this->kusaTexObjIndex; + this->actor.flags &= ~0x10; + } +} + +void func_80A9B89C(EnKusa* this) { + EnKusa_SetupAction(this, func_80A9B8D8); + this->actor.flags &= ~0x10; +} + +void func_80A9B8D8(EnKusa* this, GlobalContext* globalCtx) { + s32 pad; + + if (Actor_HasParent(&this->actor, globalCtx)) { + EnKusa_SetupLiftedUp(this); + Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 20, NA_SE_PL_PULL_UP_PLANT); + } else if (this->collider.base.acFlags & 2) { + this->collider.base.acFlags &= ~2; + EnKusa_SpawnFragments(this, globalCtx); + EnKusa_DropCollectible(this, globalCtx); + Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 20, NA_SE_EV_PLANT_BROKEN); + + if ((this->actor.params >> 4) & 1) { + EnKusa_SpawnBugs(this, globalCtx); + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B07C.s") + if ((this->actor.params & 3) == 0) { + Actor_Kill(&this->actor); + return; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B140.s") + func_80A9BEAC(this); + this->actor.flags |= 0x800; + } else { + if (!(this->collider.base.maskA & 8) && (this->actor.xzDistFromLink > 12.0f)) { + this->collider.base.maskA |= 8; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B174.s") + if (this->actor.xzDistFromLink < 600.0f) { + Collider_CylinderUpdate(&this->actor, &this->collider); + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B1FC.s") + if (this->actor.xzDistFromLink < 400.0f) { + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + if (this->actor.xzDistFromLink < 100.0f) { + func_8002F580(&this->actor, globalCtx); + } + } + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B21C.s") +void EnKusa_SetupLiftedUp(EnKusa* this) { + EnKusa_SetupAction(this, EnKusa_LiftedUp); + this->actor.room = -1; + this->actor.flags |= 0x10; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B574.s") +void EnKusa_LiftedUp(EnKusa* this, GlobalContext* globalCtx) { + if (Actor_HasNoParent(&this->actor, globalCtx)) { + this->actor.room = globalCtx->roomCtx.curRoom.num; + func_80A9BBB0(this); + this->actor.velocity.x = this->actor.speedXZ * Math_Sins(this->actor.posRot.rot.y); + this->actor.velocity.z = this->actor.speedXZ * Math_Coss(this->actor.posRot.rot.y); + this->actor.colChkInfo.mass = 240; + this->actor.gravity = -0.1f; + EnKusa_Fall(this); + func_80A9B174(&this->actor.velocity, 0.005f); + func_8002D7EC(&this->actor); + func_8002E4B4(globalCtx, &this->actor, 7.5f, 35.0f, 0.0f, 0xC5); + this->actor.gravity = -3.2f; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B630.s") +void func_80A9BBB0(EnKusa* this) { + EnKusa_SetupAction(this, func_80A9BC1C); + D_80A9C1D0 = -0xBB8; + D_80A9C1D8 = ((Math_Rand_ZeroOne() - 0.5f) * 1600.0f); + D_80A9C1D4 = 0; + D_80A9C1DC = 0; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/EnKusa_Init.s") +void func_80A9BC1C(EnKusa* this, GlobalContext* globalCtx) { + s32 pad; + Vec3f contactPos; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/EnKusa_Destroy.s") + if (this->actor.bgCheckFlags & 11) { + if (!(this->actor.bgCheckFlags & 32)) { + Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 20, NA_SE_EV_PLANT_BROKEN); + } + EnKusa_SpawnFragments(this, globalCtx); + EnKusa_DropCollectible(this, globalCtx); + switch (this->actor.params & 3) { + case 0: + case 2: + Actor_Kill(&this->actor); + break; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B7EC.s") + case 1: + func_80A9BF3C(this); + break; + } + } else { + if (this->actor.bgCheckFlags & 0x40) { + contactPos.x = this->actor.posRot.pos.x; + contactPos.y = this->actor.posRot.pos.y + this->actor.waterY; + contactPos.z = this->actor.posRot.pos.z; + EffectSsGSplash_Spawn(globalCtx, &contactPos, NULL, NULL, 0, 400); + EffectSsGRipple_Spawn(globalCtx, &contactPos, 150, 650, 0); + EffectSsGRipple_Spawn(globalCtx, &contactPos, 400, 800, 4); + EffectSsGRipple_Spawn(globalCtx, &contactPos, 500, 1100, 8); + this->actor.minVelocityY = -3.0f; + D_80A9C1D4 >>= 1; + D_80A9C1D0 >>= 1; + D_80A9C1DC >>= 1; + D_80A9C1D8 >>= 1; + this->actor.bgCheckFlags &= ~0x40; + Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 40, NA_SE_EV_DIVE_INTO_WATER_L); + } + EnKusa_Fall(this); + Math_ApproxS(&D_80A9C1D4, D_80A9C1D0, 0x1F4); + Math_ApproxS(&D_80A9C1DC, D_80A9C1D8, 0xAA); + this->actor.shape.rot.x += D_80A9C1D4; + this->actor.shape.rot.y += D_80A9C1DC; + func_80A9B174(&this->actor.velocity, 0.05f); + func_8002D7EC(&this->actor); + func_8002E4B4(globalCtx, &this->actor, 7.5f, 35.0f, 0.0f, 0xC5); + Collider_CylinderUpdate(&this->actor, &this->collider); + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B810.s") +void func_80A9BEAC(EnKusa* this) { -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B89C.s") + if ((this->actor.params & 3) != 1) { + if ((this->actor.params & 3) == 2) { + EnKusa_SetupAction(this, func_80A9BF30); + } + } else { + EnKusa_SetupAction(this, func_80A9BEFC); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9B8D8.s") +void func_80A9BEFC(EnKusa* this, GlobalContext* globalCtx) { + if (this->timer >= 120) { + func_80A9C00C(this); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BA98.s") +void func_80A9BF30(EnKusa* this, GlobalContext* globalCtx) { +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BAD8.s") +void func_80A9BF3C(EnKusa* this) { + this->actor.posRot.pos.x = this->actor.initPosRot.pos.x; + this->actor.posRot.pos.y = this->actor.initPosRot.pos.y - 9.0f; + this->actor.posRot.pos.z = this->actor.initPosRot.pos.z; + EnKusa_SetScale(this); + this->actor.shape.rot = this->actor.initPosRot.rot; + EnKusa_SetupAction(this, func_80A9BFA8); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BBB0.s") +void func_80A9BFA8(EnKusa* this, GlobalContext* globalCtx) { + if (this->timer > 120) { + if ((Math_ApproxF(&this->actor.posRot.pos.y, this->actor.initPosRot.pos.y, 0.6f)) && (this->timer >= 170)) { + func_80A9C00C(this); + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BC1C.s") +void func_80A9C00C(EnKusa* this) { + EnKusa_SetupAction(this, func_80A9C068); + EnKusa_SetScale(this); + this->actor.shape.rot = this->actor.initPosRot.rot; + this->actor.flags &= ~0x800; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BEAC.s") +void func_80A9C068(EnKusa* this, GlobalContext* globalCtx) { + s32 sp24; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BEFC.s") + sp24 = Math_ApproxF(&this->actor.scale.y, 0.4f, 0.014f) & 1; + sp24 &= Math_ApproxF(&this->actor.scale.x, 0.4f, 0.011f); + this->actor.scale.z = this->actor.scale.x; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BF30.s") + if (sp24) { + Actor_SetScale(&this->actor, 0.4f); + func_80A9B89C(this); + this->collider.base.maskA &= ~8; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BF3C.s") +void EnKusa_Update(Actor* thisx, GlobalContext* globalCtx) { + EnKusa* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9BFA8.s") + this->timer++; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9C00C.s") + this->actionFunc(this, globalCtx); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9C068.s") + if (this->actor.flags & 0x800) { + this->actor.shape.unk_08 = -6.25f; + } else { + this->actor.shape.unk_08 = 0.0f; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/EnKusa_Update.s") +void EnKusa_Draw(Actor* thisx, GlobalContext* globalCtx) { + static Gfx* dLists[] = { 0x0500B9D0, 0x06000140, 0x06000140 }; + EnKusa* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Kusa/func_80A9C164.s") + if (this->actor.flags & 0x800) { + Gfx_DrawDListOpa(globalCtx, D_060002E0); + } else { + Gfx_DrawDListOpa(globalCtx, dLists[thisx->params & 3]); + } +} diff --git a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.h b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.h index 1d817db167..0cd50a6771 100644 --- a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.h +++ b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.h @@ -6,9 +6,14 @@ struct EnKusa; +typedef void (*EnKusaActionFunc)(struct EnKusa*, GlobalContext*); + typedef struct EnKusa { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x54]; + /* 0x014C */ EnKusaActionFunc actionFunc; + /* 0x0150 */ ColliderCylinder collider; + /* 0x019C */ s16 timer; + /* 0x019E */ s8 kusaTexObjIndex; } EnKusa; // size = 0x01A0 extern const ActorInit En_Kusa_InitVars; diff --git a/undefined_syms.txt b/undefined_syms.txt index f1b1ec7c44..1c7a447349 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -1651,6 +1651,11 @@ D_06000B30 = 0x06000B30; D_06003CE0 = 0x06003CE0; D_060037B8 = 0x060037B8; +// z_en_kusa +D_060002E0 = 0x60002E0; +D_040355E0 = 0x40355E0; +D_040356A0 = 0x40356A0; + // z_en_karebaba D_060002B8 = 0x060002B8; D_060010F0 = 0x060010F0;