From ed4d8af39e4b0cbdffad394c64cab95a8a055235 Mon Sep 17 00:00:00 2001 From: gamestabled <55638330+gamestabled@users.noreply.github.com> Date: Fri, 15 Jan 2021 16:00:01 -0500 Subject: [PATCH] Shopnuts (#577) * matched functions, still need data * shopnuts OK * cleaned up some things in hintnuts by comparing to shopnuts * merge with new animation stuff * fixing merge 2 * suggested changes * missed a DECR * suggestions --- .../ovl_En_Shopnuts/EnShopnuts_Destroy.s | 12 - .../actors/ovl_En_Shopnuts/EnShopnuts_Draw.s | 22 -- .../actors/ovl_En_Shopnuts/EnShopnuts_Init.s | 90 ------ .../ovl_En_Shopnuts/EnShopnuts_Update.s | 89 ------ .../actors/ovl_En_Shopnuts/func_80AFA880.s | 28 -- .../actors/ovl_En_Shopnuts/func_80AFA8E8.s | 19 -- .../actors/ovl_En_Shopnuts/func_80AFA930.s | 16 - .../actors/ovl_En_Shopnuts/func_80AFA96C.s | 29 -- .../actors/ovl_En_Shopnuts/func_80AFA9D4.s | 21 -- .../actors/ovl_En_Shopnuts/func_80AFAA20.s | 25 -- .../actors/ovl_En_Shopnuts/func_80AFAA7C.s | 172 ----------- .../actors/ovl_En_Shopnuts/func_80AFACE0.s | 38 --- .../actors/ovl_En_Shopnuts/func_80AFAD64.s | 57 ---- .../actors/ovl_En_Shopnuts/func_80AFAE28.s | 90 ------ .../actors/ovl_En_Shopnuts/func_80AFAF64.s | 55 ---- .../actors/ovl_En_Shopnuts/func_80AFB028.s | 46 --- .../actors/ovl_En_Shopnuts/func_80AFB0C4.s | 27 -- .../actors/ovl_En_Shopnuts/func_80AFB25C.s | 15 - .../actors/ovl_En_Shopnuts/func_80AFB290.s | 153 --------- data/overlays/actors/z_en_shopnuts.data.s | 24 -- data/overlays/actors/z_en_shopnuts.reloc.s | 13 - spec | 3 +- .../actors/ovl_En_Hintnuts/z_en_hintnuts.c | 63 ++-- .../actors/ovl_En_Hintnuts/z_en_hintnuts.h | 2 +- .../actors/ovl_En_Shopnuts/z_en_shopnuts.c | 290 ++++++++++++++++-- .../actors/ovl_En_Shopnuts/z_en_shopnuts.h | 9 +- 26 files changed, 295 insertions(+), 1113 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA880.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA8E8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA930.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA96C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA9D4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAA20.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAA7C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFACE0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAD64.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAE28.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAF64.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB028.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB0C4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB25C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB290.s delete mode 100644 data/overlays/actors/z_en_shopnuts.data.s delete mode 100644 data/overlays/actors/z_en_shopnuts.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Destroy.s deleted file mode 100644 index c0c597a3e3..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Destroy.s +++ /dev/null @@ -1,12 +0,0 @@ -glabel EnShopnuts_Destroy -/* 00138 80AFA858 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0013C 80AFA85C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00140 80AFA860 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00144 80AFA864 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00148 80AFA868 0C0170EB */ jal Collider_DestroyCylinder - -/* 0014C 80AFA86C 24C50270 */ addiu $a1, $a2, 0x0270 ## $a1 = 00000270 -/* 00150 80AFA870 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00154 80AFA874 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00158 80AFA878 03E00008 */ jr $ra -/* 0015C 80AFA87C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Draw.s deleted file mode 100644 index 9b7f3752d4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Draw.s +++ /dev/null @@ -1,22 +0,0 @@ -glabel EnShopnuts_Draw -/* 00D4C 80AFB46C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00D50 80AFB470 AFA40028 */ sw $a0, 0x0028($sp) -/* 00D54 80AFB474 8FAE0028 */ lw $t6, 0x0028($sp) -/* 00D58 80AFB478 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00D5C 80AFB47C AFA5002C */ sw $a1, 0x002C($sp) -/* 00D60 80AFB480 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00D64 80AFB484 3C0F80B0 */ lui $t7, %hi(func_80AFB25C) ## $t7 = 80B00000 -/* 00D68 80AFB488 3C1880B0 */ lui $t8, %hi(func_80AFB290) ## $t8 = 80B00000 -/* 00D6C 80AFB48C 8DC50150 */ lw $a1, 0x0150($t6) ## 00000150 -/* 00D70 80AFB490 91C7014E */ lbu $a3, 0x014E($t6) ## 0000014E -/* 00D74 80AFB494 8DC6016C */ lw $a2, 0x016C($t6) ## 0000016C -/* 00D78 80AFB498 2718B290 */ addiu $t8, $t8, %lo(func_80AFB290) ## $t8 = 80AFB290 -/* 00D7C 80AFB49C 25EFB25C */ addiu $t7, $t7, %lo(func_80AFB25C) ## $t7 = 80AFB25C -/* 00D80 80AFB4A0 AFAF0010 */ sw $t7, 0x0010($sp) -/* 00D84 80AFB4A4 AFB80014 */ sw $t8, 0x0014($sp) -/* 00D88 80AFB4A8 0C0286B2 */ jal SkelAnime_DrawFlexOpa -/* 00D8C 80AFB4AC AFAE0018 */ sw $t6, 0x0018($sp) -/* 00D90 80AFB4B0 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00D94 80AFB4B4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 00D98 80AFB4B8 03E00008 */ jr $ra -/* 00D9C 80AFB4BC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Init.s deleted file mode 100644 index a11b285215..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Init.s +++ /dev/null @@ -1,90 +0,0 @@ -glabel EnShopnuts_Init -/* 00000 80AFA720 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00004 80AFA724 AFA5003C */ sw $a1, 0x003C($sp) -/* 00008 80AFA728 AFBF002C */ sw $ra, 0x002C($sp) -/* 0000C 80AFA72C AFB00028 */ sw $s0, 0x0028($sp) -/* 00010 80AFA730 3C0580B0 */ lui $a1, %hi(D_80AFB514) ## $a1 = 80B00000 -/* 00014 80AFA734 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00018 80AFA738 0C01E037 */ jal Actor_ProcessInitChain - -/* 0001C 80AFA73C 24A5B514 */ addiu $a1, $a1, %lo(D_80AFB514) ## $a1 = 80AFB514 -/* 00020 80AFA740 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle) -/* 00024 80AFA744 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle) -/* 00028 80AFA748 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4 -/* 0002C 80AFA74C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 00030 80AFA750 0C00AC78 */ jal ActorShape_Init - -/* 00034 80AFA754 3C07420C */ lui $a3, 0x420C ## $a3 = 420C0000 -/* 00038 80AFA758 3C060600 */ lui $a2, %hi(D_060041A8) ## $a2 = 06000000 -/* 0003C 80AFA75C 3C070600 */ lui $a3, %hi(D_06004574) ## $a3 = 06000000 -/* 00040 80AFA760 260E0196 */ addiu $t6, $s0, 0x0196 ## $t6 = 00000196 -/* 00044 80AFA764 260F0202 */ addiu $t7, $s0, 0x0202 ## $t7 = 00000202 -/* 00048 80AFA768 24180012 */ addiu $t8, $zero, 0x0012 ## $t8 = 00000012 -/* 0004C 80AFA76C AFB80018 */ sw $t8, 0x0018($sp) -/* 00050 80AFA770 AFAF0014 */ sw $t7, 0x0014($sp) -/* 00054 80AFA774 AFAE0010 */ sw $t6, 0x0010($sp) -/* 00058 80AFA778 24E74574 */ addiu $a3, $a3, %lo(D_06004574) ## $a3 = 06004574 -/* 0005C 80AFA77C 24C641A8 */ addiu $a2, $a2, %lo(D_060041A8) ## $a2 = 060041A8 -/* 00060 80AFA780 8FA4003C */ lw $a0, 0x003C($sp) -/* 00064 80AFA784 0C0291BE */ jal SkelAnime_InitFlex -/* 00068 80AFA788 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 0006C 80AFA78C 26050270 */ addiu $a1, $s0, 0x0270 ## $a1 = 00000270 -/* 00070 80AFA790 AFA50030 */ sw $a1, 0x0030($sp) -/* 00074 80AFA794 0C0170D9 */ jal Collider_InitCylinder - -/* 00078 80AFA798 8FA4003C */ lw $a0, 0x003C($sp) -/* 0007C 80AFA79C 3C0780B0 */ lui $a3, %hi(D_80AFB4E0) ## $a3 = 80B00000 -/* 00080 80AFA7A0 24E7B4E0 */ addiu $a3, $a3, %lo(D_80AFB4E0) ## $a3 = 80AFB4E0 -/* 00084 80AFA7A4 8FA4003C */ lw $a0, 0x003C($sp) -/* 00088 80AFA7A8 8FA50030 */ lw $a1, 0x0030($sp) -/* 0008C 80AFA7AC 0C01712B */ jal Collider_SetCylinder - -/* 00090 80AFA7B0 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00094 80AFA7B4 3C0680B0 */ lui $a2, %hi(D_80AFB50C) ## $a2 = 80B00000 -/* 00098 80AFA7B8 24C6B50C */ addiu $a2, $a2, %lo(D_80AFB50C) ## $a2 = 80AFB50C -/* 0009C 80AFA7BC 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098 -/* 000A0 80AFA7C0 0C0187B5 */ jal func_80061ED4 -/* 000A4 80AFA7C4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 000A8 80AFA7C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 000AC 80AFA7CC 0C0189B7 */ jal Collider_CylinderUpdate - -/* 000B0 80AFA7D0 8FA50030 */ lw $a1, 0x0030($sp) -/* 000B4 80AFA7D4 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 000B8 80AFA7D8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 000BC 80AFA7DC 3C038016 */ lui $v1, %hi(gSaveContext) -/* 000C0 80AFA7E0 14410004 */ bne $v0, $at, .L80AFA7F4 -/* 000C4 80AFA7E4 2463E660 */ addiu $v1, %lo(gSaveContext) -/* 000C8 80AFA7E8 94790EF0 */ lhu $t9, 0x0EF0($v1) ## 8015F550 -/* 000CC 80AFA7EC 33280800 */ andi $t0, $t9, 0x0800 ## $t0 = 00000000 -/* 000D0 80AFA7F0 1500000E */ bne $t0, $zero, .L80AFA82C -.L80AFA7F4: -/* 000D4 80AFA7F4 3C038016 */ lui $v1, %hi(gSaveContext) -/* 000D8 80AFA7F8 24010009 */ addiu $at, $zero, 0x0009 ## $at = 00000009 -/* 000DC 80AFA7FC 14410004 */ bne $v0, $at, .L80AFA810 -/* 000E0 80AFA800 2463E660 */ addiu $v1, %lo(gSaveContext) -/* 000E4 80AFA804 94690F2A */ lhu $t1, 0x0F2A($v1) ## 8015F58A -/* 000E8 80AFA808 312A0004 */ andi $t2, $t1, 0x0004 ## $t2 = 00000000 -/* 000EC 80AFA80C 15400007 */ bne $t2, $zero, .L80AFA82C -.L80AFA810: -/* 000F0 80AFA810 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A -/* 000F4 80AFA814 14410009 */ bne $v0, $at, .L80AFA83C -/* 000F8 80AFA818 00000000 */ nop -/* 000FC 80AFA81C 946B0F2A */ lhu $t3, 0x0F2A($v1) ## 8015F58A -/* 00100 80AFA820 316C0008 */ andi $t4, $t3, 0x0008 ## $t4 = 00000000 -/* 00104 80AFA824 11800005 */ beq $t4, $zero, .L80AFA83C -/* 00108 80AFA828 00000000 */ nop -.L80AFA82C: -/* 0010C 80AFA82C 0C00B55C */ jal Actor_Kill - -/* 00110 80AFA830 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00114 80AFA834 10000004 */ beq $zero, $zero, .L80AFA848 -/* 00118 80AFA838 8FBF002C */ lw $ra, 0x002C($sp) -.L80AFA83C: -/* 0011C 80AFA83C 0C2BEA20 */ jal func_80AFA880 -/* 00120 80AFA840 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00124 80AFA844 8FBF002C */ lw $ra, 0x002C($sp) -.L80AFA848: -/* 00128 80AFA848 8FB00028 */ lw $s0, 0x0028($sp) -/* 0012C 80AFA84C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00130 80AFA850 03E00008 */ jr $ra -/* 00134 80AFA854 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Update.s deleted file mode 100644 index 135777ff1a..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Update.s +++ /dev/null @@ -1,89 +0,0 @@ -glabel EnShopnuts_Update -/* 00A04 80AFB124 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00A08 80AFB128 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00A0C 80AFB12C AFB10020 */ sw $s1, 0x0020($sp) -/* 00A10 80AFB130 AFB0001C */ sw $s0, 0x001C($sp) -/* 00A14 80AFB134 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00A18 80AFB138 0C2BEC31 */ jal func_80AFB0C4 -/* 00A1C 80AFB13C 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 00A20 80AFB140 8E190190 */ lw $t9, 0x0190($s0) ## 00000190 -/* 00A24 80AFB144 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00A28 80AFB148 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00A2C 80AFB14C 0320F809 */ jalr $ra, $t9 -/* 00A30 80AFB150 00000000 */ nop -/* 00A34 80AFB154 860E02B0 */ lh $t6, 0x02B0($s0) ## 000002B0 -/* 00A38 80AFB158 860F02B2 */ lh $t7, 0x02B2($s0) ## 000002B2 -/* 00A3C 80AFB15C 24180004 */ addiu $t8, $zero, 0x0004 ## $t8 = 00000004 -/* 00A40 80AFB160 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00 -/* 00A44 80AFB164 448F3000 */ mtc1 $t7, $f6 ## $f6 = 0.00 -/* 00A48 80AFB168 AFB80014 */ sw $t8, 0x0014($sp) -/* 00A4C 80AFB16C 46802120 */ cvt.s.w $f4, $f4 -/* 00A50 80AFB170 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00A54 80AFB174 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00A58 80AFB178 3C0641A0 */ lui $a2, 0x41A0 ## $a2 = 41A00000 -/* 00A5C 80AFB17C 46803220 */ cvt.s.w $f8, $f6 -/* 00A60 80AFB180 44072000 */ mfc1 $a3, $f4 -/* 00A64 80AFB184 0C00B92D */ jal func_8002E4B4 -/* 00A68 80AFB188 E7A80010 */ swc1 $f8, 0x0010($sp) -/* 00A6C 80AFB18C 92080281 */ lbu $t0, 0x0281($s0) ## 00000281 -/* 00A70 80AFB190 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00A74 80AFB194 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00A78 80AFB198 31090001 */ andi $t1, $t0, 0x0001 ## $t1 = 00000000 -/* 00A7C 80AFB19C 11200004 */ beq $t1, $zero, .L80AFB1B0 -/* 00A80 80AFB1A0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00A84 80AFB1A4 02212821 */ addu $a1, $s1, $at -/* 00A88 80AFB1A8 0C01767D */ jal CollisionCheck_SetAC - ## CollisionCheck_setAC -/* 00A8C 80AFB1AC 26060270 */ addiu $a2, $s0, 0x0270 ## $a2 = 00000270 -.L80AFB1B0: -/* 00A90 80AFB1B0 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00A94 80AFB1B4 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00A98 80AFB1B8 02212821 */ addu $a1, $s1, $at -/* 00A9C 80AFB1BC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00AA0 80AFB1C0 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOT -/* 00AA4 80AFB1C4 26060270 */ addiu $a2, $s0, 0x0270 ## $a2 = 00000270 -/* 00AA8 80AFB1C8 8E030190 */ lw $v1, 0x0190($s0) ## 00000190 -/* 00AAC 80AFB1CC 3C0A80B0 */ lui $t2, %hi(func_80AFAA7C) ## $t2 = 80B00000 -/* 00AB0 80AFB1D0 254AAA7C */ addiu $t2, $t2, %lo(func_80AFAA7C) ## $t2 = 80AFAA7C -/* 00AB4 80AFB1D4 15430006 */ bne $t2, $v1, .L80AFB1F0 -/* 00AB8 80AFB1D8 3C0B80B0 */ lui $t3, %hi(func_80AFAF64) ## $t3 = 80B00000 -/* 00ABC 80AFB1DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00AC0 80AFB1E0 0C00B56E */ jal Actor_SetHeight - -/* 00AC4 80AFB1E4 8E050164 */ lw $a1, 0x0164($s0) ## 00000164 -/* 00AC8 80AFB1E8 10000018 */ beq $zero, $zero, .L80AFB24C -/* 00ACC 80AFB1EC 8FBF0024 */ lw $ra, 0x0024($sp) -.L80AFB1F0: -/* 00AD0 80AFB1F0 256BAF64 */ addiu $t3, $t3, %lo(func_80AFAF64) ## $t3 = FFFFAF64 -/* 00AD4 80AFB1F4 15630012 */ bne $t3, $v1, .L80AFB240 -/* 00AD8 80AFB1F8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00ADC 80AFB1FC 3C040600 */ lui $a0, %hi(D_0600039C) ## $a0 = 06000000 -/* 00AE0 80AFB200 0C028800 */ jal Animation_GetLastFrame - -/* 00AE4 80AFB204 2484039C */ addiu $a0, $a0, %lo(D_0600039C) ## $a0 = 0600039C -/* 00AE8 80AFB208 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 00AEC 80AFB20C 44810000 */ mtc1 $at, $f0 ## $f0 = 20.00 -/* 00AF0 80AFB210 C60A0164 */ lwc1 $f10, 0x0164($s0) ## 00000164 -/* 00AF4 80AFB214 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00 -/* 00AF8 80AFB218 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00AFC 80AFB21C 46005402 */ mul.s $f16, $f10, $f0 -/* 00B00 80AFB220 46809120 */ cvt.s.w $f4, $f18 -/* 00B04 80AFB224 46048183 */ div.s $f6, $f16, $f4 -/* 00B08 80AFB228 46060201 */ sub.s $f8, $f0, $f6 -/* 00B0C 80AFB22C 44054000 */ mfc1 $a1, $f8 -/* 00B10 80AFB230 0C00B56E */ jal Actor_SetHeight - -/* 00B14 80AFB234 00000000 */ nop -/* 00B18 80AFB238 10000004 */ beq $zero, $zero, .L80AFB24C -/* 00B1C 80AFB23C 8FBF0024 */ lw $ra, 0x0024($sp) -.L80AFB240: -/* 00B20 80AFB240 0C00B56E */ jal Actor_SetHeight - -/* 00B24 80AFB244 3C0541A0 */ lui $a1, 0x41A0 ## $a1 = 41A00000 -/* 00B28 80AFB248 8FBF0024 */ lw $ra, 0x0024($sp) -.L80AFB24C: -/* 00B2C 80AFB24C 8FB0001C */ lw $s0, 0x001C($sp) -/* 00B30 80AFB250 8FB10020 */ lw $s1, 0x0020($sp) -/* 00B34 80AFB254 03E00008 */ jr $ra -/* 00B38 80AFB258 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA880.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA880.s deleted file mode 100644 index 78c96d0897..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA880.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel func_80AFA880 -/* 00160 80AFA880 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00164 80AFA884 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00168 80AFA888 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 0016C 80AFA88C 3C050600 */ lui $a1, %hi(D_0600139C) ## $a1 = 06000000 -/* 00170 80AFA890 24A5139C */ addiu $a1, $a1, %lo(D_0600139C) ## $a1 = 0600139C -/* 00174 80AFA894 AFA70018 */ sw $a3, 0x0018($sp) -/* 00178 80AFA898 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 0017C 80AFA89C 0C0294A7 */ jal Animation_PlayOnceSetSpeed -/* 00180 80AFA8A0 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000 -/* 00184 80AFA8A4 24040064 */ addiu $a0, $zero, 0x0064 ## $a0 = 00000064 -/* 00188 80AFA8A8 0C01DF64 */ jal Rand_S16Offset - -/* 0018C 80AFA8AC 24050032 */ addiu $a1, $zero, 0x0032 ## $a1 = 00000032 -/* 00190 80AFA8B0 8FA70018 */ lw $a3, 0x0018($sp) -/* 00194 80AFA8B4 3C1980B0 */ lui $t9, %hi(func_80AFAA7C) ## $t9 = 80B00000 -/* 00198 80AFA8B8 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005 -/* 0019C 80AFA8BC 90EF0281 */ lbu $t7, 0x0281($a3) ## 00000281 -/* 001A0 80AFA8C0 2739AA7C */ addiu $t9, $t9, %lo(func_80AFAA7C) ## $t9 = 80AFAA7C -/* 001A4 80AFA8C4 A4E20194 */ sh $v0, 0x0194($a3) ## 00000194 -/* 001A8 80AFA8C8 31F8FFFE */ andi $t8, $t7, 0xFFFE ## $t8 = 00000000 -/* 001AC 80AFA8CC A4EE02B2 */ sh $t6, 0x02B2($a3) ## 000002B2 -/* 001B0 80AFA8D0 A0F80281 */ sb $t8, 0x0281($a3) ## 00000281 -/* 001B4 80AFA8D4 ACF90190 */ sw $t9, 0x0190($a3) ## 00000190 -/* 001B8 80AFA8D8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 001BC 80AFA8DC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 001C0 80AFA8E0 03E00008 */ jr $ra -/* 001C4 80AFA8E4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA8E8.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA8E8.s deleted file mode 100644 index 56c2f947ef..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA8E8.s +++ /dev/null @@ -1,19 +0,0 @@ -glabel func_80AFA8E8 -/* 001C8 80AFA8E8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 001CC 80AFA8EC AFBF0014 */ sw $ra, 0x0014($sp) -/* 001D0 80AFA8F0 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 001D4 80AFA8F4 3C050600 */ lui $a1, %hi(D_06000BA0) ## $a1 = 06000000 -/* 001D8 80AFA8F8 24A50BA0 */ addiu $a1, $a1, %lo(D_06000BA0) ## $a1 = 06000BA0 -/* 001DC 80AFA8FC AFA60018 */ sw $a2, 0x0018($sp) -/* 001E0 80AFA900 0C0294BE */ jal Animation_PlayLoop -/* 001E4 80AFA904 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 001E8 80AFA908 8FA60018 */ lw $a2, 0x0018($sp) -/* 001EC 80AFA90C 3C0F80B0 */ lui $t7, %hi(func_80AFACE0) ## $t7 = 80B00000 -/* 001F0 80AFA910 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002 -/* 001F4 80AFA914 25EFACE0 */ addiu $t7, $t7, %lo(func_80AFACE0) ## $t7 = 80AFACE0 -/* 001F8 80AFA918 A4CE0194 */ sh $t6, 0x0194($a2) ## 00000194 -/* 001FC 80AFA91C ACCF0190 */ sw $t7, 0x0190($a2) ## 00000190 -/* 00200 80AFA920 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00204 80AFA924 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00208 80AFA928 03E00008 */ jr $ra -/* 0020C 80AFA92C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA930.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA930.s deleted file mode 100644 index 24b63f8494..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA930.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel func_80AFA930 -/* 00210 80AFA930 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00214 80AFA934 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00218 80AFA938 AFA40018 */ sw $a0, 0x0018($sp) -/* 0021C 80AFA93C 3C050600 */ lui $a1, %hi(D_060001EC) ## $a1 = 06000000 -/* 00220 80AFA940 24A501EC */ addiu $a1, $a1, %lo(D_060001EC) ## $a1 = 060001EC -/* 00224 80AFA944 0C02947A */ jal Animation_PlayOnce -/* 00228 80AFA948 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 0022C 80AFA94C 8FAF0018 */ lw $t7, 0x0018($sp) -/* 00230 80AFA950 3C0E80B0 */ lui $t6, %hi(func_80AFAE28) ## $t6 = 80B00000 -/* 00234 80AFA954 25CEAE28 */ addiu $t6, $t6, %lo(func_80AFAE28) ## $t6 = 80AFAE28 -/* 00238 80AFA958 ADEE0190 */ sw $t6, 0x0190($t7) ## 00000190 -/* 0023C 80AFA95C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00240 80AFA960 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00244 80AFA964 03E00008 */ jr $ra -/* 00248 80AFA968 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA96C.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA96C.s deleted file mode 100644 index f754768749..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA96C.s +++ /dev/null @@ -1,29 +0,0 @@ -glabel func_80AFA96C -/* 0024C 80AFA96C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00250 80AFA970 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00254 80AFA974 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 00258 80AFA978 3C050600 */ lui $a1, %hi(D_06004574) ## $a1 = 06000000 -/* 0025C 80AFA97C 24A54574 */ addiu $a1, $a1, %lo(D_06004574) ## $a1 = 06004574 -/* 00260 80AFA980 AFA70018 */ sw $a3, 0x0018($sp) -/* 00264 80AFA984 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 00268 80AFA988 0C0294D3 */ jal Animation_MorphToLoop -/* 0026C 80AFA98C 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000 -/* 00270 80AFA990 8FA70018 */ lw $a3, 0x0018($sp) -/* 00274 80AFA994 3C0E80B0 */ lui $t6, %hi(func_80AFAE28) ## $t6 = 80B00000 -/* 00278 80AFA998 25CEAE28 */ addiu $t6, $t6, %lo(func_80AFAE28) ## $t6 = 80AFAE28 -/* 0027C 80AFA99C 8CEF0190 */ lw $t7, 0x0190($a3) ## 00000190 -/* 00280 80AFA9A0 3C0880B0 */ lui $t0, %hi(func_80AFAD64) ## $t0 = 80B00000 -/* 00284 80AFA9A4 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001 -/* 00288 80AFA9A8 15CF0004 */ bne $t6, $t7, .L80AFA9BC -/* 0028C 80AFA9AC 2508AD64 */ addiu $t0, $t0, %lo(func_80AFAD64) ## $t0 = 80AFAD64 -/* 00290 80AFA9B0 24181002 */ addiu $t8, $zero, 0x1002 ## $t8 = 00001002 -/* 00294 80AFA9B4 10000002 */ beq $zero, $zero, .L80AFA9C0 -/* 00298 80AFA9B8 A4F80194 */ sh $t8, 0x0194($a3) ## 00000194 -.L80AFA9BC: -/* 0029C 80AFA9BC A4F90194 */ sh $t9, 0x0194($a3) ## 00000194 -.L80AFA9C0: -/* 002A0 80AFA9C0 ACE80190 */ sw $t0, 0x0190($a3) ## 00000190 -/* 002A4 80AFA9C4 8FBF0014 */ lw $ra, 0x0014($sp) -/* 002A8 80AFA9C8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 002AC 80AFA9CC 03E00008 */ jr $ra -/* 002B0 80AFA9D0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA9D4.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA9D4.s deleted file mode 100644 index 43b6a0c1b7..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA9D4.s +++ /dev/null @@ -1,21 +0,0 @@ -glabel func_80AFA9D4 -/* 002B4 80AFA9D4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 002B8 80AFA9D8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 002BC 80AFA9DC AFA40018 */ sw $a0, 0x0018($sp) -/* 002C0 80AFA9E0 3C050600 */ lui $a1, %hi(D_0600039C) ## $a1 = 06000000 -/* 002C4 80AFA9E4 24A5039C */ addiu $a1, $a1, %lo(D_0600039C) ## $a1 = 0600039C -/* 002C8 80AFA9E8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 002CC 80AFA9EC 0C029490 */ jal Animation_MorphToPlayOnce -/* 002D0 80AFA9F0 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000 -/* 002D4 80AFA9F4 8FA40018 */ lw $a0, 0x0018($sp) -/* 002D8 80AFA9F8 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 002DC 80AFA9FC 2405387D */ addiu $a1, $zero, 0x387D ## $a1 = 0000387D -/* 002E0 80AFAA00 8FAF0018 */ lw $t7, 0x0018($sp) -/* 002E4 80AFAA04 3C0E80B0 */ lui $t6, %hi(func_80AFAF64) ## $t6 = 80B00000 -/* 002E8 80AFAA08 25CEAF64 */ addiu $t6, $t6, %lo(func_80AFAF64) ## $t6 = 80AFAF64 -/* 002EC 80AFAA0C ADEE0190 */ sw $t6, 0x0190($t7) ## 00000190 -/* 002F0 80AFAA10 8FBF0014 */ lw $ra, 0x0014($sp) -/* 002F4 80AFAA14 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 002F8 80AFAA18 03E00008 */ jr $ra -/* 002FC 80AFAA1C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAA20.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAA20.s deleted file mode 100644 index 65e56468dd..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAA20.s +++ /dev/null @@ -1,25 +0,0 @@ -glabel func_80AFAA20 -/* 00300 80AFAA20 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00304 80AFAA24 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00308 80AFAA28 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 0030C 80AFAA2C 3C050600 */ lui $a1, %hi(D_06000764) ## $a1 = 06000000 -/* 00310 80AFAA30 24A50764 */ addiu $a1, $a1, %lo(D_06000764) ## $a1 = 06000764 -/* 00314 80AFAA34 AFA70018 */ sw $a3, 0x0018($sp) -/* 00318 80AFAA38 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 0031C 80AFAA3C 0C029490 */ jal Animation_MorphToPlayOnce -/* 00320 80AFAA40 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000 -/* 00324 80AFAA44 8FA40018 */ lw $a0, 0x0018($sp) -/* 00328 80AFAA48 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 0032C 80AFAA4C 24053880 */ addiu $a1, $zero, 0x3880 ## $a1 = 00003880 -/* 00330 80AFAA50 8FA70018 */ lw $a3, 0x0018($sp) -/* 00334 80AFAA54 3C1880B0 */ lui $t8, %hi(func_80AFB028) ## $t8 = 80B00000 -/* 00338 80AFAA58 2718B028 */ addiu $t8, $t8, %lo(func_80AFB028) ## $t8 = 80AFB028 -/* 0033C 80AFAA5C 90EE0281 */ lbu $t6, 0x0281($a3) ## 00000281 -/* 00340 80AFAA60 ACF80190 */ sw $t8, 0x0190($a3) ## 00000190 -/* 00344 80AFAA64 31CFFFFE */ andi $t7, $t6, 0xFFFE ## $t7 = 00000000 -/* 00348 80AFAA68 A0EF0281 */ sb $t7, 0x0281($a3) ## 00000281 -/* 0034C 80AFAA6C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00350 80AFAA70 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00354 80AFAA74 03E00008 */ jr $ra -/* 00358 80AFAA78 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAA7C.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAA7C.s deleted file mode 100644 index 91a3aaabea..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAA7C.s +++ /dev/null @@ -1,172 +0,0 @@ -glabel func_80AFAA7C -/* 0035C 80AFAA7C 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00360 80AFAA80 AFBF001C */ sw $ra, 0x001C($sp) -/* 00364 80AFAA84 AFB00018 */ sw $s0, 0x0018($sp) -/* 00368 80AFAA88 AFA50034 */ sw $a1, 0x0034($sp) -/* 0036C 80AFAA8C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00370 80AFAA90 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50 -/* 00374 80AFAA94 C4840168 */ lwc1 $f4, 0x0168($a0) ## 00000168 -/* 00378 80AFAA98 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0037C 80AFAA9C 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000 -/* 00380 80AFAAA0 4606203C */ c.lt.s $f4, $f6 -/* 00384 80AFAAA4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C -/* 00388 80AFAAA8 3C054110 */ lui $a1, 0x4110 ## $a1 = 41100000 -/* 0038C 80AFAAAC 45000002 */ bc1f .L80AFAAB8 -/* 00390 80AFAAB0 00000000 */ nop -/* 00394 80AFAAB4 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001 -.L80AFAAB8: -/* 00398 80AFAAB8 50600006 */ beql $v1, $zero, .L80AFAAD4 -/* 0039C 80AFAABC AFA3002C */ sw $v1, 0x002C($sp) -/* 003A0 80AFAAC0 86020194 */ lh $v0, 0x0194($s0) ## 00000194 -/* 003A4 80AFAAC4 10400002 */ beq $v0, $zero, .L80AFAAD0 -/* 003A8 80AFAAC8 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 003AC 80AFAACC A60E0194 */ sh $t6, 0x0194($s0) ## 00000194 -.L80AFAAD0: -/* 003B0 80AFAAD0 AFA3002C */ sw $v1, 0x002C($sp) -.L80AFAAD4: -/* 003B4 80AFAAD4 0C0295B2 */ jal Animation_OnFrame -/* 003B8 80AFAAD8 AFA40020 */ sw $a0, 0x0020($sp) -/* 003BC 80AFAADC 3C014110 */ lui $at, 0x4110 ## $at = 41100000 -/* 003C0 80AFAAE0 44816000 */ mtc1 $at, $f12 ## $f12 = 9.00 -/* 003C4 80AFAAE4 10400005 */ beq $v0, $zero, .L80AFAAFC -/* 003C8 80AFAAE8 8FA40020 */ lw $a0, 0x0020($sp) -/* 003CC 80AFAAEC 920F0281 */ lbu $t7, 0x0281($s0) ## 00000281 -/* 003D0 80AFAAF0 35F80001 */ ori $t8, $t7, 0x0001 ## $t8 = 00000001 -/* 003D4 80AFAAF4 1000000C */ beq $zero, $zero, .L80AFAB28 -/* 003D8 80AFAAF8 A2180281 */ sb $t8, 0x0281($s0) ## 00000281 -.L80AFAAFC: -/* 003DC 80AFAAFC 0C0295B2 */ jal Animation_OnFrame -/* 003E0 80AFAB00 3C054100 */ lui $a1, 0x4100 ## $a1 = 41000000 -/* 003E4 80AFAB04 3C014110 */ lui $at, 0x4110 ## $at = 41100000 -/* 003E8 80AFAB08 44816000 */ mtc1 $at, $f12 ## $f12 = 9.00 -/* 003EC 80AFAB0C 10400006 */ beq $v0, $zero, .L80AFAB28 -/* 003F0 80AFAB10 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 003F4 80AFAB14 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 003F8 80AFAB18 2405387C */ addiu $a1, $zero, 0x387C ## $a1 = 0000387C -/* 003FC 80AFAB1C 3C014110 */ lui $at, 0x4110 ## $at = 41100000 -/* 00400 80AFAB20 44816000 */ mtc1 $at, $f12 ## $f12 = 9.00 -/* 00404 80AFAB24 00000000 */ nop -.L80AFAB28: -/* 00408 80AFAB28 C6000164 */ lwc1 $f0, 0x0164($s0) ## 00000164 -/* 0040C 80AFAB2C 3C014150 */ lui $at, 0x4150 ## $at = 41500000 -/* 00410 80AFAB30 460C003C */ c.lt.s $f0, $f12 -/* 00414 80AFAB34 00000000 */ nop -/* 00418 80AFAB38 45020004 */ bc1fl .L80AFAB4C -/* 0041C 80AFAB3C 44817000 */ mtc1 $at, $f14 ## $f14 = 13.00 -/* 00420 80AFAB40 1000000B */ beq $zero, $zero, .L80AFAB70 -/* 00424 80AFAB44 46006006 */ mov.s $f0, $f12 -/* 00428 80AFAB48 44817000 */ mtc1 $at, $f14 ## $f14 = 13.00 -.L80AFAB4C: -/* 0042C 80AFAB4C 00000000 */ nop -/* 00430 80AFAB50 4600703C */ c.lt.s $f14, $f0 -/* 00434 80AFAB54 00000000 */ nop -/* 00438 80AFAB58 45020004 */ bc1fl .L80AFAB6C -/* 0043C 80AFAB5C 46000086 */ mov.s $f2, $f0 -/* 00440 80AFAB60 10000002 */ beq $zero, $zero, .L80AFAB6C -/* 00444 80AFAB64 46007086 */ mov.s $f2, $f14 -/* 00448 80AFAB68 46000086 */ mov.s $f2, $f0 -.L80AFAB6C: -/* 0044C 80AFAB6C 46001006 */ mov.s $f0, $f2 -.L80AFAB70: -/* 00450 80AFAB70 460C0201 */ sub.s $f8, $f0, $f12 -/* 00454 80AFAB74 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 00458 80AFAB78 44818000 */ mtc1 $at, $f16 ## $f16 = 5.00 -/* 0045C 80AFAB7C 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 00460 80AFAB80 460C4282 */ mul.s $f10, $f8, $f12 -/* 00464 80AFAB84 46105480 */ add.s $f18, $f10, $f16 -/* 00468 80AFAB88 4600910D */ trunc.w.s $f4, $f18 -/* 0046C 80AFAB8C 44082000 */ mfc1 $t0, $f4 -/* 00470 80AFAB90 00000000 */ nop -/* 00474 80AFAB94 A60802B2 */ sh $t0, 0x02B2($s0) ## 000002B2 -/* 00478 80AFAB98 8FA9002C */ lw $t1, 0x002C($sp) -/* 0047C 80AFAB9C 1520000C */ bne $t1, $zero, .L80AFABD0 -/* 00480 80AFABA0 00000000 */ nop -/* 00484 80AFABA4 C6060090 */ lwc1 $f6, 0x0090($s0) ## 00000090 -/* 00488 80AFABA8 44814000 */ mtc1 $at, $f8 ## $f8 = 120.00 -/* 0048C 80AFABAC 00000000 */ nop -/* 00490 80AFABB0 4608303C */ c.lt.s $f6, $f8 -/* 00494 80AFABB4 00000000 */ nop -/* 00498 80AFABB8 45000005 */ bc1f .L80AFABD0 -/* 0049C 80AFABBC 00000000 */ nop -/* 004A0 80AFABC0 0C2BEA75 */ jal func_80AFA9D4 -/* 004A4 80AFABC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004A8 80AFABC8 10000021 */ beq $zero, $zero, .L80AFAC50 -/* 004AC 80AFABCC 8FAB002C */ lw $t3, 0x002C($sp) -.L80AFABD0: -/* 004B0 80AFABD0 0C02927F */ jal SkelAnime_Update - -/* 004B4 80AFABD4 8FA40020 */ lw $a0, 0x0020($sp) -/* 004B8 80AFABD8 1040001C */ beq $v0, $zero, .L80AFAC4C -/* 004BC 80AFABDC 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 004C0 80AFABE0 C6020090 */ lwc1 $f2, 0x0090($s0) ## 00000090 -/* 004C4 80AFABE4 44815000 */ mtc1 $at, $f10 ## $f10 = 120.00 -/* 004C8 80AFABE8 00000000 */ nop -/* 004CC 80AFABEC 460A103C */ c.lt.s $f2, $f10 -/* 004D0 80AFABF0 00000000 */ nop -/* 004D4 80AFABF4 45020006 */ bc1fl .L80AFAC10 -/* 004D8 80AFABF8 860A0194 */ lh $t2, 0x0194($s0) ## 00000194 -/* 004DC 80AFABFC 0C2BEA75 */ jal func_80AFA9D4 -/* 004E0 80AFAC00 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004E4 80AFAC04 10000012 */ beq $zero, $zero, .L80AFAC50 -/* 004E8 80AFAC08 8FAB002C */ lw $t3, 0x002C($sp) -/* 004EC 80AFAC0C 860A0194 */ lh $t2, 0x0194($s0) ## 00000194 -.L80AFAC10: -/* 004F0 80AFAC10 3C0143A0 */ lui $at, 0x43A0 ## $at = 43A00000 -/* 004F4 80AFAC14 1540000B */ bne $t2, $zero, .L80AFAC44 -/* 004F8 80AFAC18 00000000 */ nop -/* 004FC 80AFAC1C 44818000 */ mtc1 $at, $f16 ## $f16 = 320.00 -/* 00500 80AFAC20 00000000 */ nop -/* 00504 80AFAC24 4602803C */ c.lt.s $f16, $f2 -/* 00508 80AFAC28 00000000 */ nop -/* 0050C 80AFAC2C 45000005 */ bc1f .L80AFAC44 -/* 00510 80AFAC30 00000000 */ nop -/* 00514 80AFAC34 0C2BEA3A */ jal func_80AFA8E8 -/* 00518 80AFAC38 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0051C 80AFAC3C 10000004 */ beq $zero, $zero, .L80AFAC50 -/* 00520 80AFAC40 8FAB002C */ lw $t3, 0x002C($sp) -.L80AFAC44: -/* 00524 80AFAC44 0C2BEA5B */ jal func_80AFA96C -/* 00528 80AFAC48 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L80AFAC4C: -/* 0052C 80AFAC4C 8FAB002C */ lw $t3, 0x002C($sp) -.L80AFAC50: -/* 00530 80AFAC50 3C014320 */ lui $at, 0x4320 ## $at = 43200000 -/* 00534 80AFAC54 5160001E */ beql $t3, $zero, .L80AFACD0 -/* 00538 80AFAC58 8FBF001C */ lw $ra, 0x001C($sp) -/* 0053C 80AFAC5C C6020090 */ lwc1 $f2, 0x0090($s0) ## 00000090 -/* 00540 80AFAC60 44819000 */ mtc1 $at, $f18 ## $f18 = 160.00 -/* 00544 80AFAC64 00000000 */ nop -/* 00548 80AFAC68 4602903C */ c.lt.s $f18, $f2 -/* 0054C 80AFAC6C 00000000 */ nop -/* 00550 80AFAC70 45020017 */ bc1fl .L80AFACD0 -/* 00554 80AFAC74 8FBF001C */ lw $ra, 0x001C($sp) -/* 00558 80AFAC78 C6000094 */ lwc1 $f0, 0x0094($s0) ## 00000094 -/* 0055C 80AFAC7C 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 00560 80AFAC80 44812000 */ mtc1 $at, $f4 ## $f4 = 120.00 -/* 00564 80AFAC84 46000005 */ abs.s $f0, $f0 -/* 00568 80AFAC88 4604003C */ c.lt.s $f0, $f4 -/* 0056C 80AFAC8C 00000000 */ nop -/* 00570 80AFAC90 4502000F */ bc1fl .L80AFACD0 -/* 00574 80AFAC94 8FBF001C */ lw $ra, 0x001C($sp) -/* 00578 80AFAC98 860C0194 */ lh $t4, 0x0194($s0) ## 00000194 -/* 0057C 80AFAC9C 3C0143F0 */ lui $at, 0x43F0 ## $at = 43F00000 -/* 00580 80AFACA0 51800007 */ beql $t4, $zero, .L80AFACC0 -/* 00584 80AFACA4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00588 80AFACA8 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00 -/* 0058C 80AFACAC 00000000 */ nop -/* 00590 80AFACB0 4606103C */ c.lt.s $f2, $f6 -/* 00594 80AFACB4 00000000 */ nop -/* 00598 80AFACB8 45000004 */ bc1f .L80AFACCC -/* 0059C 80AFACBC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -.L80AFACC0: -/* 005A0 80AFACC0 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00 -/* 005A4 80AFACC4 00000000 */ nop -/* 005A8 80AFACC8 E6080168 */ swc1 $f8, 0x0168($s0) ## 00000168 -.L80AFACCC: -/* 005AC 80AFACCC 8FBF001C */ lw $ra, 0x001C($sp) -.L80AFACD0: -/* 005B0 80AFACD0 8FB00018 */ lw $s0, 0x0018($sp) -/* 005B4 80AFACD4 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 005B8 80AFACD8 03E00008 */ jr $ra -/* 005BC 80AFACDC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFACE0.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFACE0.s deleted file mode 100644 index 02ebc269ed..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFACE0.s +++ /dev/null @@ -1,38 +0,0 @@ -glabel func_80AFACE0 -/* 005C0 80AFACE0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 005C4 80AFACE4 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 005C8 80AFACE8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 005CC 80AFACEC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 005D0 80AFACF0 AFA50024 */ sw $a1, 0x0024($sp) -/* 005D4 80AFACF4 AFA4001C */ sw $a0, 0x001C($sp) -/* 005D8 80AFACF8 0C02927F */ jal SkelAnime_Update - -/* 005DC 80AFACFC AFA60020 */ sw $a2, 0x0020($sp) -/* 005E0 80AFAD00 8FA4001C */ lw $a0, 0x001C($sp) -/* 005E4 80AFAD04 0C0295B2 */ jal Animation_OnFrame -/* 005E8 80AFAD08 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 005EC 80AFAD0C 10400005 */ beq $v0, $zero, .L80AFAD24 -/* 005F0 80AFAD10 8FA60020 */ lw $a2, 0x0020($sp) -/* 005F4 80AFAD14 84C20194 */ lh $v0, 0x0194($a2) ## 00000194 -/* 005F8 80AFAD18 10400002 */ beq $v0, $zero, .L80AFAD24 -/* 005FC 80AFAD1C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 00600 80AFAD20 A4CE0194 */ sh $t6, 0x0194($a2) ## 00000194 -.L80AFAD24: -/* 00604 80AFAD24 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 00608 80AFAD28 44813000 */ mtc1 $at, $f6 ## $f6 = 120.00 -/* 0060C 80AFAD2C C4C40090 */ lwc1 $f4, 0x0090($a2) ## 00000090 -/* 00610 80AFAD30 4606203C */ c.lt.s $f4, $f6 -/* 00614 80AFAD34 00000000 */ nop -/* 00618 80AFAD38 45010004 */ bc1t .L80AFAD4C -/* 0061C 80AFAD3C 00000000 */ nop -/* 00620 80AFAD40 84CF0194 */ lh $t7, 0x0194($a2) ## 00000194 -/* 00624 80AFAD44 55E00004 */ bnel $t7, $zero, .L80AFAD58 -/* 00628 80AFAD48 8FBF0014 */ lw $ra, 0x0014($sp) -.L80AFAD4C: -/* 0062C 80AFAD4C 0C2BEA75 */ jal func_80AFA9D4 -/* 00630 80AFAD50 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000 -/* 00634 80AFAD54 8FBF0014 */ lw $ra, 0x0014($sp) -.L80AFAD58: -/* 00638 80AFAD58 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 0063C 80AFAD5C 03E00008 */ jr $ra -/* 00640 80AFAD60 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAD64.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAD64.s deleted file mode 100644 index 8ef68a20f4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAD64.s +++ /dev/null @@ -1,57 +0,0 @@ -glabel func_80AFAD64 -/* 00644 80AFAD64 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00648 80AFAD68 AFB00018 */ sw $s0, 0x0018($sp) -/* 0064C 80AFAD6C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00650 80AFAD70 AFBF001C */ sw $ra, 0x001C($sp) -/* 00654 80AFAD74 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 00658 80AFAD78 AFA5002C */ sw $a1, 0x002C($sp) -/* 0065C 80AFAD7C 0C02927F */ jal SkelAnime_Update - -/* 00660 80AFAD80 AFA40024 */ sw $a0, 0x0024($sp) -/* 00664 80AFAD84 8FA40024 */ lw $a0, 0x0024($sp) -/* 00668 80AFAD88 0C0295B2 */ jal Animation_OnFrame -/* 0066C 80AFAD8C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 00670 80AFAD90 10400005 */ beq $v0, $zero, .L80AFADA8 -/* 00674 80AFAD94 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6 -/* 00678 80AFAD98 86020194 */ lh $v0, 0x0194($s0) ## 00000194 -/* 0067C 80AFAD9C 10400002 */ beq $v0, $zero, .L80AFADA8 -/* 00680 80AFADA0 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 00684 80AFADA4 A60E0194 */ sh $t6, 0x0194($s0) ## 00000194 -.L80AFADA8: -/* 00688 80AFADA8 860F0194 */ lh $t7, 0x0194($s0) ## 00000194 -/* 0068C 80AFADAC 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002 -/* 00690 80AFADB0 24070E38 */ addiu $a3, $zero, 0x0E38 ## $a3 = 00000E38 -/* 00694 80AFADB4 31F81000 */ andi $t8, $t7, 0x1000 ## $t8 = 00000000 -/* 00698 80AFADB8 57000004 */ bnel $t8, $zero, .L80AFADCC -/* 0069C 80AFADBC 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 006A0 80AFADC0 0C01E1EF */ jal Math_ApproachS - -/* 006A4 80AFADC4 8605008A */ lh $a1, 0x008A($s0) ## 0000008A -/* 006A8 80AFADC8 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -.L80AFADCC: -/* 006AC 80AFADCC 44813000 */ mtc1 $at, $f6 ## $f6 = 120.00 -/* 006B0 80AFADD0 C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090 -/* 006B4 80AFADD4 4606203C */ c.lt.s $f4, $f6 -/* 006B8 80AFADD8 00000000 */ nop -/* 006BC 80AFADDC 45010005 */ bc1t .L80AFADF4 -/* 006C0 80AFADE0 00000000 */ nop -/* 006C4 80AFADE4 86020194 */ lh $v0, 0x0194($s0) ## 00000194 -/* 006C8 80AFADE8 24011000 */ addiu $at, $zero, 0x1000 ## $at = 00001000 -/* 006CC 80AFADEC 14410005 */ bne $v0, $at, .L80AFAE04 -/* 006D0 80AFADF0 00000000 */ nop -.L80AFADF4: -/* 006D4 80AFADF4 0C2BEA75 */ jal func_80AFA9D4 -/* 006D8 80AFADF8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 006DC 80AFADFC 10000006 */ beq $zero, $zero, .L80AFAE18 -/* 006E0 80AFAE00 8FBF001C */ lw $ra, 0x001C($sp) -.L80AFAE04: -/* 006E4 80AFAE04 54400004 */ bnel $v0, $zero, .L80AFAE18 -/* 006E8 80AFAE08 8FBF001C */ lw $ra, 0x001C($sp) -/* 006EC 80AFAE0C 0C2BEA4C */ jal func_80AFA930 -/* 006F0 80AFAE10 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 006F4 80AFAE14 8FBF001C */ lw $ra, 0x001C($sp) -.L80AFAE18: -/* 006F8 80AFAE18 8FB00018 */ lw $s0, 0x0018($sp) -/* 006FC 80AFAE1C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 00700 80AFAE20 03E00008 */ jr $ra -/* 00704 80AFAE24 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAE28.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAE28.s deleted file mode 100644 index 3531bd3841..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAE28.s +++ /dev/null @@ -1,90 +0,0 @@ -glabel func_80AFAE28 -/* 00708 80AFAE28 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8 -/* 0070C 80AFAE2C AFB00030 */ sw $s0, 0x0030($sp) -/* 00710 80AFAE30 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00714 80AFAE34 AFBF0034 */ sw $ra, 0x0034($sp) -/* 00718 80AFAE38 AFA5004C */ sw $a1, 0x004C($sp) -/* 0071C 80AFAE3C 8605008A */ lh $a1, 0x008A($s0) ## 0000008A -/* 00720 80AFAE40 248400B6 */ addiu $a0, $a0, 0x00B6 ## $a0 = 000000B6 -/* 00724 80AFAE44 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002 -/* 00728 80AFAE48 0C01E1EF */ jal Math_ApproachS - -/* 0072C 80AFAE4C 24070E38 */ addiu $a3, $zero, 0x0E38 ## $a3 = 00000E38 -/* 00730 80AFAE50 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 00734 80AFAE54 44813000 */ mtc1 $at, $f6 ## $f6 = 120.00 -/* 00738 80AFAE58 C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090 -/* 0073C 80AFAE5C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C -/* 00740 80AFAE60 4606203C */ c.lt.s $f4, $f6 -/* 00744 80AFAE64 00000000 */ nop -/* 00748 80AFAE68 45000005 */ bc1f .L80AFAE80 -/* 0074C 80AFAE6C 00000000 */ nop -/* 00750 80AFAE70 0C2BEA75 */ jal func_80AFA9D4 -/* 00754 80AFAE74 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00758 80AFAE78 10000036 */ beq $zero, $zero, .L80AFAF54 -/* 0075C 80AFAE7C 8FBF0034 */ lw $ra, 0x0034($sp) -.L80AFAE80: -/* 00760 80AFAE80 0C02927F */ jal SkelAnime_Update - -/* 00764 80AFAE84 AFA40038 */ sw $a0, 0x0038($sp) -/* 00768 80AFAE88 10400005 */ beq $v0, $zero, .L80AFAEA0 -/* 0076C 80AFAE8C 8FA40038 */ lw $a0, 0x0038($sp) -/* 00770 80AFAE90 0C2BEA5B */ jal func_80AFA96C -/* 00774 80AFAE94 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00778 80AFAE98 1000002E */ beq $zero, $zero, .L80AFAF54 -/* 0077C 80AFAE9C 8FBF0034 */ lw $ra, 0x0034($sp) -.L80AFAEA0: -/* 00780 80AFAEA0 0C0295B2 */ jal Animation_OnFrame -/* 00784 80AFAEA4 3C0540C0 */ lui $a1, 0x40C0 ## $a1 = 40C00000 -/* 00788 80AFAEA8 5040002A */ beql $v0, $zero, .L80AFAF54 -/* 0078C 80AFAEAC 8FBF0034 */ lw $ra, 0x0034($sp) -/* 00790 80AFAEB0 0C01DE1C */ jal Math_SinS - ## sins? -/* 00794 80AFAEB4 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 00798 80AFAEB8 3C0141B8 */ lui $at, 0x41B8 ## $at = 41B80000 -/* 0079C 80AFAEBC 44814000 */ mtc1 $at, $f8 ## $f8 = 23.00 -/* 007A0 80AFAEC0 C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024 -/* 007A4 80AFAEC4 3C014140 */ lui $at, 0x4140 ## $at = 41400000 -/* 007A8 80AFAEC8 46080282 */ mul.s $f10, $f0, $f8 -/* 007AC 80AFAECC 44813000 */ mtc1 $at, $f6 ## $f6 = 12.00 -/* 007B0 80AFAED0 46105480 */ add.s $f18, $f10, $f16 -/* 007B4 80AFAED4 E7B2003C */ swc1 $f18, 0x003C($sp) -/* 007B8 80AFAED8 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028 -/* 007BC 80AFAEDC 46062200 */ add.s $f8, $f4, $f6 -/* 007C0 80AFAEE0 E7A80040 */ swc1 $f8, 0x0040($sp) -/* 007C4 80AFAEE4 0C01DE0D */ jal Math_CosS - ## coss? -/* 007C8 80AFAEE8 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 007CC 80AFAEEC 3C0141B8 */ lui $at, 0x41B8 ## $at = 41B80000 -/* 007D0 80AFAEF0 44815000 */ mtc1 $at, $f10 ## $f10 = 23.00 -/* 007D4 80AFAEF4 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C -/* 007D8 80AFAEF8 C7A40040 */ lwc1 $f4, 0x0040($sp) -/* 007DC 80AFAEFC 460A0402 */ mul.s $f16, $f0, $f10 -/* 007E0 80AFAF00 8FA5004C */ lw $a1, 0x004C($sp) -/* 007E4 80AFAF04 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 007E8 80AFAF08 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002 -/* 007EC 80AFAF0C 24060193 */ addiu $a2, $zero, 0x0193 ## $a2 = 00000193 -/* 007F0 80AFAF10 8FA7003C */ lw $a3, 0x003C($sp) -/* 007F4 80AFAF14 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24 -/* 007F8 80AFAF18 46128080 */ add.s $f2, $f16, $f18 -/* 007FC 80AFAF1C E7A20014 */ swc1 $f2, 0x0014($sp) -/* 00800 80AFAF20 860E00B4 */ lh $t6, 0x00B4($s0) ## 000000B4 -/* 00804 80AFAF24 AFAE0018 */ sw $t6, 0x0018($sp) -/* 00808 80AFAF28 860F00B6 */ lh $t7, 0x00B6($s0) ## 000000B6 -/* 0080C 80AFAF2C AFAF001C */ sw $t7, 0x001C($sp) -/* 00810 80AFAF30 861800B8 */ lh $t8, 0x00B8($s0) ## 000000B8 -/* 00814 80AFAF34 AFB90024 */ sw $t9, 0x0024($sp) -/* 00818 80AFAF38 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 0081C 80AFAF3C AFB80020 */ sw $t8, 0x0020($sp) -/* 00820 80AFAF40 10400003 */ beq $v0, $zero, .L80AFAF50 -/* 00824 80AFAF44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00828 80AFAF48 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 0082C 80AFAF4C 2405387E */ addiu $a1, $zero, 0x387E ## $a1 = 0000387E -.L80AFAF50: -/* 00830 80AFAF50 8FBF0034 */ lw $ra, 0x0034($sp) -.L80AFAF54: -/* 00834 80AFAF54 8FB00030 */ lw $s0, 0x0030($sp) -/* 00838 80AFAF58 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000 -/* 0083C 80AFAF5C 03E00008 */ jr $ra -/* 00840 80AFAF60 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAF64.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAF64.s deleted file mode 100644 index 597c69482e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAF64.s +++ /dev/null @@ -1,55 +0,0 @@ -glabel func_80AFAF64 -/* 00844 80AFAF64 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00848 80AFAF68 AFB00018 */ sw $s0, 0x0018($sp) -/* 0084C 80AFAF6C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00850 80AFAF70 AFBF001C */ sw $ra, 0x001C($sp) -/* 00854 80AFAF74 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 00858 80AFAF78 AFA5002C */ sw $a1, 0x002C($sp) -/* 0085C 80AFAF7C 0C02927F */ jal SkelAnime_Update - -/* 00860 80AFAF80 AFA40020 */ sw $a0, 0x0020($sp) -/* 00864 80AFAF84 10400007 */ beq $v0, $zero, .L80AFAFA4 -/* 00868 80AFAF88 3C014080 */ lui $at, 0x4080 ## $at = 40800000 -/* 0086C 80AFAF8C 0C2BEA20 */ jal func_80AFA880 -/* 00870 80AFAF90 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00874 80AFAF94 3C014080 */ lui $at, 0x4080 ## $at = 40800000 -/* 00878 80AFAF98 44816000 */ mtc1 $at, $f12 ## $f12 = 4.00 -/* 0087C 80AFAF9C 10000016 */ beq $zero, $zero, .L80AFAFF8 -/* 00880 80AFAFA0 44056000 */ mfc1 $a1, $f12 -.L80AFAFA4: -/* 00884 80AFAFA4 44816000 */ mtc1 $at, $f12 ## $f12 = 4.00 -/* 00888 80AFAFA8 C6000164 */ lwc1 $f0, 0x0164($s0) ## 00000164 -/* 0088C 80AFAFAC 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00890 80AFAFB0 4600603C */ c.lt.s $f12, $f0 -/* 00894 80AFAFB4 00000000 */ nop -/* 00898 80AFAFB8 45020004 */ bc1fl .L80AFAFCC -/* 0089C 80AFAFBC 46000086 */ mov.s $f2, $f0 -/* 008A0 80AFAFC0 10000002 */ beq $zero, $zero, .L80AFAFCC -/* 008A4 80AFAFC4 46006086 */ mov.s $f2, $f12 -/* 008A8 80AFAFC8 46000086 */ mov.s $f2, $f0 -.L80AFAFCC: -/* 008AC 80AFAFCC 46026101 */ sub.s $f4, $f12, $f2 -/* 008B0 80AFAFD0 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00 -/* 008B4 80AFAFD4 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 008B8 80AFAFD8 44815000 */ mtc1 $at, $f10 ## $f10 = 5.00 -/* 008BC 80AFAFDC 46062202 */ mul.s $f8, $f4, $f6 -/* 008C0 80AFAFE0 460A4400 */ add.s $f16, $f8, $f10 -/* 008C4 80AFAFE4 4600848D */ trunc.w.s $f18, $f16 -/* 008C8 80AFAFE8 440F9000 */ mfc1 $t7, $f18 -/* 008CC 80AFAFEC 00000000 */ nop -/* 008D0 80AFAFF0 A60F02B2 */ sh $t7, 0x02B2($s0) ## 000002B2 -/* 008D4 80AFAFF4 44056000 */ mfc1 $a1, $f12 -.L80AFAFF8: -/* 008D8 80AFAFF8 0C0295B2 */ jal Animation_OnFrame -/* 008DC 80AFAFFC 8FA40020 */ lw $a0, 0x0020($sp) -/* 008E0 80AFB000 50400005 */ beql $v0, $zero, .L80AFB018 -/* 008E4 80AFB004 8FBF001C */ lw $ra, 0x001C($sp) -/* 008E8 80AFB008 92180281 */ lbu $t8, 0x0281($s0) ## 00000281 -/* 008EC 80AFB00C 3319FFFE */ andi $t9, $t8, 0xFFFE ## $t9 = 00000000 -/* 008F0 80AFB010 A2190281 */ sb $t9, 0x0281($s0) ## 00000281 -/* 008F4 80AFB014 8FBF001C */ lw $ra, 0x001C($sp) -.L80AFB018: -/* 008F8 80AFB018 8FB00018 */ lw $s0, 0x0018($sp) -/* 008FC 80AFB01C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 00900 80AFB020 03E00008 */ jr $ra -/* 00904 80AFB024 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB028.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB028.s deleted file mode 100644 index 24ea2af438..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB028.s +++ /dev/null @@ -1,46 +0,0 @@ -glabel func_80AFB028 -/* 00908 80AFB028 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 0090C 80AFB02C AFB00030 */ sw $s0, 0x0030($sp) -/* 00910 80AFB030 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00914 80AFB034 AFBF0034 */ sw $ra, 0x0034($sp) -/* 00918 80AFB038 AFA5003C */ sw $a1, 0x003C($sp) -/* 0091C 80AFB03C 0C02927F */ jal SkelAnime_Update - -/* 00920 80AFB040 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 00924 80AFB044 10400015 */ beq $v0, $zero, .L80AFB09C -/* 00928 80AFB048 8FA5003C */ lw $a1, 0x003C($sp) -/* 0092C 80AFB04C C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028 -/* 00930 80AFB050 8E070024 */ lw $a3, 0x0024($s0) ## 00000024 -/* 00934 80AFB054 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24 -/* 00938 80AFB058 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 0093C 80AFB05C C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C -/* 00940 80AFB060 2406011A */ addiu $a2, $zero, 0x011A ## $a2 = 0000011A -/* 00944 80AFB064 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 00948 80AFB068 860E00B4 */ lh $t6, 0x00B4($s0) ## 000000B4 -/* 0094C 80AFB06C AFAE0018 */ sw $t6, 0x0018($sp) -/* 00950 80AFB070 860F00B6 */ lh $t7, 0x00B6($s0) ## 000000B6 -/* 00954 80AFB074 AFAF001C */ sw $t7, 0x001C($sp) -/* 00958 80AFB078 861800B8 */ lh $t8, 0x00B8($s0) ## 000000B8 -/* 0095C 80AFB07C AFB80020 */ sw $t8, 0x0020($sp) -/* 00960 80AFB080 8619001C */ lh $t9, 0x001C($s0) ## 0000001C -/* 00964 80AFB084 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 00968 80AFB088 AFB90024 */ sw $t9, 0x0024($sp) -/* 0096C 80AFB08C 0C00B55C */ jal Actor_Kill - -/* 00970 80AFB090 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00974 80AFB094 10000007 */ beq $zero, $zero, .L80AFB0B4 -/* 00978 80AFB098 8FBF0034 */ lw $ra, 0x0034($sp) -.L80AFB09C: -/* 0097C 80AFB09C 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6 -/* 00980 80AFB0A0 8605008A */ lh $a1, 0x008A($s0) ## 0000008A -/* 00984 80AFB0A4 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002 -/* 00988 80AFB0A8 0C01E1EF */ jal Math_ApproachS - -/* 0098C 80AFB0AC 24070E38 */ addiu $a3, $zero, 0x0E38 ## $a3 = 00000E38 -/* 00990 80AFB0B0 8FBF0034 */ lw $ra, 0x0034($sp) -.L80AFB0B4: -/* 00994 80AFB0B4 8FB00030 */ lw $s0, 0x0030($sp) -/* 00998 80AFB0B8 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 0099C 80AFB0BC 03E00008 */ jr $ra -/* 009A0 80AFB0C0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB0C4.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB0C4.s deleted file mode 100644 index 7963f849eb..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB0C4.s +++ /dev/null @@ -1,27 +0,0 @@ -glabel func_80AFB0C4 -/* 009A4 80AFB0C4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 009A8 80AFB0C8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 009AC 80AFB0CC 90820281 */ lbu $v0, 0x0281($a0) ## 00000281 -/* 009B0 80AFB0D0 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 -/* 009B4 80AFB0D4 304E0002 */ andi $t6, $v0, 0x0002 ## $t6 = 00000000 -/* 009B8 80AFB0D8 11C00009 */ beq $t6, $zero, .L80AFB100 -/* 009BC 80AFB0DC 304FFFFD */ andi $t7, $v0, 0xFFFD ## $t7 = 00000000 -/* 009C0 80AFB0E0 A08F0281 */ sb $t7, 0x0281($a0) ## 00000281 -/* 009C4 80AFB0E4 AFA40018 */ sw $a0, 0x0018($sp) -/* 009C8 80AFB0E8 0C00D594 */ jal func_80035650 -/* 009CC 80AFB0EC 24850288 */ addiu $a1, $a0, 0x0288 ## $a1 = 00000288 -/* 009D0 80AFB0F0 0C2BEA88 */ jal func_80AFAA20 -/* 009D4 80AFB0F4 8FA40018 */ lw $a0, 0x0018($sp) -/* 009D8 80AFB0F8 10000007 */ beq $zero, $zero, .L80AFB118 -/* 009DC 80AFB0FC 8FBF0014 */ lw $ra, 0x0014($sp) -.L80AFB100: -/* 009E0 80AFB100 90B81C26 */ lbu $t8, 0x1C26($a1) ## 00001C26 -/* 009E4 80AFB104 53000004 */ beql $t8, $zero, .L80AFB118 -/* 009E8 80AFB108 8FBF0014 */ lw $ra, 0x0014($sp) -/* 009EC 80AFB10C 0C2BEA88 */ jal func_80AFAA20 -/* 009F0 80AFB110 00000000 */ nop -/* 009F4 80AFB114 8FBF0014 */ lw $ra, 0x0014($sp) -.L80AFB118: -/* 009F8 80AFB118 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 009FC 80AFB11C 03E00008 */ jr $ra -/* 00A00 80AFB120 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB25C.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB25C.s deleted file mode 100644 index d332b451f4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB25C.s +++ /dev/null @@ -1,15 +0,0 @@ -glabel func_80AFB25C -/* 00B3C 80AFB25C 24010009 */ addiu $at, $zero, 0x0009 ## $at = 00000009 -/* 00B40 80AFB260 AFA40000 */ sw $a0, 0x0000($sp) -/* 00B44 80AFB264 14A10008 */ bne $a1, $at, .L80AFB288 -/* 00B48 80AFB268 AFA7000C */ sw $a3, 0x000C($sp) -/* 00B4C 80AFB26C 8FAF0014 */ lw $t7, 0x0014($sp) -/* 00B50 80AFB270 3C0E80B0 */ lui $t6, %hi(func_80AFAE28) ## $t6 = 80B00000 -/* 00B54 80AFB274 25CEAE28 */ addiu $t6, $t6, %lo(func_80AFAE28) ## $t6 = 80AFAE28 -/* 00B58 80AFB278 8DF80190 */ lw $t8, 0x0190($t7) ## 00000190 -/* 00B5C 80AFB27C 15D80002 */ bne $t6, $t8, .L80AFB288 -/* 00B60 80AFB280 00000000 */ nop -/* 00B64 80AFB284 ACC00000 */ sw $zero, 0x0000($a2) ## 00000000 -.L80AFB288: -/* 00B68 80AFB288 03E00008 */ jr $ra -/* 00B6C 80AFB28C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB290.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB290.s deleted file mode 100644 index 13b1088394..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB290.s +++ /dev/null @@ -1,153 +0,0 @@ -.rdata -glabel D_80AFB520 - .asciz "../z_en_shopnuts.c" - .balign 4 - -glabel D_80AFB534 - .asciz "../z_en_shopnuts.c" - .balign 4 - -glabel D_80AFB548 - .asciz "../z_en_shopnuts.c" - .balign 4 - -.late_rodata -glabel D_80AFB55C - .word 0x3DAA9931 -glabel D_80AFB560 - .word 0x3DEF0069 -glabel D_80AFB564 - .float 1.7 - -glabel D_80AFB568 - .float 0.7 - -glabel D_80AFB56C - .word 0x3E2AB368 - -.text -glabel func_80AFB290 -/* 00B70 80AFB290 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0 -/* 00B74 80AFB294 24010009 */ addiu $at, $zero, 0x0009 ## $at = 00000009 -/* 00B78 80AFB298 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00B7C 80AFB29C AFA40050 */ sw $a0, 0x0050($sp) -/* 00B80 80AFB2A0 AFA60058 */ sw $a2, 0x0058($sp) -/* 00B84 80AFB2A4 14A1006D */ bne $a1, $at, .L80AFB45C -/* 00B88 80AFB2A8 AFA7005C */ sw $a3, 0x005C($sp) -/* 00B8C 80AFB2AC 8FAF0060 */ lw $t7, 0x0060($sp) -/* 00B90 80AFB2B0 3C0E80B0 */ lui $t6, %hi(func_80AFAE28) ## $t6 = 80B00000 -/* 00B94 80AFB2B4 25CEAE28 */ addiu $t6, $t6, %lo(func_80AFAE28) ## $t6 = 80AFAE28 -/* 00B98 80AFB2B8 8DF80190 */ lw $t8, 0x0190($t7) ## 00000190 -/* 00B9C 80AFB2BC 3C0680B0 */ lui $a2, %hi(D_80AFB520) ## $a2 = 80B00000 -/* 00BA0 80AFB2C0 24C6B520 */ addiu $a2, $a2, %lo(D_80AFB520) ## $a2 = 80AFB520 -/* 00BA4 80AFB2C4 15D80065 */ bne $t6, $t8, .L80AFB45C -/* 00BA8 80AFB2C8 240702AA */ addiu $a3, $zero, 0x02AA ## $a3 = 000002AA -/* 00BAC 80AFB2CC 8C850000 */ lw $a1, 0x0000($a0) ## 00000000 -/* 00BB0 80AFB2D0 27A40028 */ addiu $a0, $sp, 0x0028 ## $a0 = FFFFFFD8 -/* 00BB4 80AFB2D4 0C031AB1 */ jal Graph_OpenDisps -/* 00BB8 80AFB2D8 AFA50038 */ sw $a1, 0x0038($sp) -/* 00BBC 80AFB2DC 8FA80060 */ lw $t0, 0x0060($sp) -/* 00BC0 80AFB2E0 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000 -/* 00BC4 80AFB2E4 44819000 */ mtc1 $at, $f18 ## $f18 = 6.00 -/* 00BC8 80AFB2E8 C5000164 */ lwc1 $f0, 0x0164($t0) ## 00000164 -/* 00BCC 80AFB2EC 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000 -/* 00BD0 80AFB2F0 4612003E */ c.le.s $f0, $f18 -/* 00BD4 80AFB2F4 00000000 */ nop -/* 00BD8 80AFB2F8 4502000F */ bc1fl .L80AFB338 -/* 00BDC 80AFB2FC 44811000 */ mtc1 $at, $f2 ## $f2 = 7.00 -/* 00BE0 80AFB300 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00BE4 80AFB304 44819000 */ mtc1 $at, $f18 ## $f18 = 1.00 -/* 00BE8 80AFB308 3C0180B0 */ lui $at, %hi(D_80AFB55C) ## $at = 80B00000 -/* 00BEC 80AFB30C C424B55C */ lwc1 $f4, %lo(D_80AFB55C)($at) -/* 00BF0 80AFB310 3C0180B0 */ lui $at, %hi(D_80AFB560) ## $at = 80B00000 -/* 00BF4 80AFB314 C428B560 */ lwc1 $f8, %lo(D_80AFB560)($at) -/* 00BF8 80AFB318 46040182 */ mul.s $f6, $f0, $f4 -/* 00BFC 80AFB31C 00000000 */ nop -/* 00C00 80AFB320 46080282 */ mul.s $f10, $f0, $f8 -/* 00C04 80AFB324 46069381 */ sub.s $f14, $f18, $f6 -/* 00C08 80AFB328 46125300 */ add.s $f12, $f10, $f18 -/* 00C0C 80AFB32C 10000028 */ beq $zero, $zero, .L80AFB3D0 -/* 00C10 80AFB330 46006406 */ mov.s $f16, $f12 -/* 00C14 80AFB334 44811000 */ mtc1 $at, $f2 ## $f2 = -0.00 -.L80AFB338: -/* 00C18 80AFB338 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00C1C 80AFB33C 4602003E */ c.le.s $f0, $f2 -/* 00C20 80AFB340 00000000 */ nop -/* 00C24 80AFB344 4502000E */ bc1fl .L80AFB380 -/* 00C28 80AFB348 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00 -/* 00C2C 80AFB34C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00C30 80AFB350 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50 -/* 00C34 80AFB354 3C0180B0 */ lui $at, %hi(D_80AFB564) ## $at = 80B00000 -/* 00C38 80AFB358 C426B564 */ lwc1 $f6, %lo(D_80AFB564)($at) -/* 00C3C 80AFB35C 46120001 */ sub.s $f0, $f0, $f18 -/* 00C40 80AFB360 3C0180B0 */ lui $at, %hi(D_80AFB568) ## $at = 80B00000 -/* 00C44 80AFB364 C428B568 */ lwc1 $f8, %lo(D_80AFB568)($at) -/* 00C48 80AFB368 46002380 */ add.s $f14, $f4, $f0 -/* 00C4C 80AFB36C 46080282 */ mul.s $f10, $f0, $f8 -/* 00C50 80AFB370 460A3301 */ sub.s $f12, $f6, $f10 -/* 00C54 80AFB374 10000016 */ beq $zero, $zero, .L80AFB3D0 -/* 00C58 80AFB378 46006406 */ mov.s $f16, $f12 -/* 00C5C 80AFB37C 44812000 */ mtc1 $at, $f4 ## $f4 = -0.00 -.L80AFB380: -/* 00C60 80AFB380 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00C64 80AFB384 4604003E */ c.le.s $f0, $f4 -/* 00C68 80AFB388 00000000 */ nop -/* 00C6C 80AFB38C 4502000D */ bc1fl .L80AFB3C4 -/* 00C70 80AFB390 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00 -/* 00C74 80AFB394 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00C78 80AFB398 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00 -/* 00C7C 80AFB39C 46020201 */ sub.s $f8, $f0, $f2 -/* 00C80 80AFB3A0 3C0180B0 */ lui $at, %hi(D_80AFB56C) ## $at = 80B00000 -/* 00C84 80AFB3A4 C426B56C */ lwc1 $f6, %lo(D_80AFB56C)($at) -/* 00C88 80AFB3A8 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000 -/* 00C8C 80AFB3AC 44812000 */ mtc1 $at, $f4 ## $f4 = 1.50 -/* 00C90 80AFB3B0 46064282 */ mul.s $f10, $f8, $f6 -/* 00C94 80AFB3B4 46006406 */ mov.s $f16, $f12 -/* 00C98 80AFB3B8 10000005 */ beq $zero, $zero, .L80AFB3D0 -/* 00C9C 80AFB3BC 460A2381 */ sub.s $f14, $f4, $f10 -/* 00CA0 80AFB3C0 44816000 */ mtc1 $at, $f12 ## $f12 = 1.50 -.L80AFB3C4: -/* 00CA4 80AFB3C4 00000000 */ nop -/* 00CA8 80AFB3C8 46006406 */ mov.s $f16, $f12 -/* 00CAC 80AFB3CC 46006386 */ mov.s $f14, $f12 -.L80AFB3D0: -/* 00CB0 80AFB3D0 44068000 */ mfc1 $a2, $f16 -/* 00CB4 80AFB3D4 0C0342A3 */ jal Matrix_Scale -/* 00CB8 80AFB3D8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00CBC 80AFB3DC 8FA70038 */ lw $a3, 0x0038($sp) -/* 00CC0 80AFB3E0 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000 -/* 00CC4 80AFB3E4 354A0003 */ ori $t2, $t2, 0x0003 ## $t2 = DA380003 -/* 00CC8 80AFB3E8 8CE202C0 */ lw $v0, 0x02C0($a3) ## 000002C0 -/* 00CCC 80AFB3EC 3C0580B0 */ lui $a1, %hi(D_80AFB534) ## $a1 = 80B00000 -/* 00CD0 80AFB3F0 24A5B534 */ addiu $a1, $a1, %lo(D_80AFB534) ## $a1 = 80AFB534 -/* 00CD4 80AFB3F4 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 00CD8 80AFB3F8 ACE902C0 */ sw $t1, 0x02C0($a3) ## 000002C0 -/* 00CDC 80AFB3FC AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 00CE0 80AFB400 8FAB0050 */ lw $t3, 0x0050($sp) -/* 00CE4 80AFB404 240602CA */ addiu $a2, $zero, 0x02CA ## $a2 = 000002CA -/* 00CE8 80AFB408 8D640000 */ lw $a0, 0x0000($t3) ## 00000000 -/* 00CEC 80AFB40C 0C0346A2 */ jal Matrix_NewMtx -/* 00CF0 80AFB410 AFA20024 */ sw $v0, 0x0024($sp) -/* 00CF4 80AFB414 8FA30024 */ lw $v1, 0x0024($sp) -/* 00CF8 80AFB418 3C0E0600 */ lui $t6, %hi(D_06003B68) ## $t6 = 06000000 -/* 00CFC 80AFB41C 25CE3B68 */ addiu $t6, $t6, %lo(D_06003B68) ## $t6 = 06003B68 -/* 00D00 80AFB420 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00D04 80AFB424 8FAC0038 */ lw $t4, 0x0038($sp) -/* 00D08 80AFB428 3C0FDE00 */ lui $t7, 0xDE00 ## $t7 = DE000000 -/* 00D0C 80AFB42C 3C0680B0 */ lui $a2, %hi(D_80AFB548) ## $a2 = 80B00000 -/* 00D10 80AFB430 8D8202C0 */ lw $v0, 0x02C0($t4) ## 000002C0 -/* 00D14 80AFB434 24C6B548 */ addiu $a2, $a2, %lo(D_80AFB548) ## $a2 = 80AFB548 -/* 00D18 80AFB438 27A40028 */ addiu $a0, $sp, 0x0028 ## $a0 = FFFFFFD8 -/* 00D1C 80AFB43C 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 00D20 80AFB440 AD8D02C0 */ sw $t5, 0x02C0($t4) ## 000002C0 -/* 00D24 80AFB444 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 00D28 80AFB448 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 00D2C 80AFB44C 8FB80050 */ lw $t8, 0x0050($sp) -/* 00D30 80AFB450 240702CD */ addiu $a3, $zero, 0x02CD ## $a3 = 000002CD -/* 00D34 80AFB454 0C031AD5 */ jal Graph_CloseDisps -/* 00D38 80AFB458 8F050000 */ lw $a1, 0x0000($t8) ## 00000000 -.L80AFB45C: -/* 00D3C 80AFB45C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00D40 80AFB460 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000 -/* 00D44 80AFB464 03E00008 */ jr $ra -/* 00D48 80AFB468 00000000 */ nop diff --git a/data/overlays/actors/z_en_shopnuts.data.s b/data/overlays/actors/z_en_shopnuts.data.s deleted file mode 100644 index 00d58bfc81..0000000000 --- a/data/overlays/actors/z_en_shopnuts.data.s +++ /dev/null @@ -1,24 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purpose registers - -.section .data - -.balign 16 - -glabel En_Shopnuts_InitVars - .word 0x01950500, 0x00000005, 0x01680000, 0x000002BC -.word EnShopnuts_Init -.word EnShopnuts_Destroy -.word EnShopnuts_Update -.word EnShopnuts_Draw -glabel D_80AFB4E0 - .word 0x06000939, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010100, 0x00140028, 0x00000000, 0x00000000 -glabel D_80AFB50C - .word 0x01000014, 0x0028FE00 -glabel D_80AFB514 - .word 0x8917004E, 0xB06CFFFF, 0x304C0A28 - diff --git a/data/overlays/actors/z_en_shopnuts.reloc.s b/data/overlays/actors/z_en_shopnuts.reloc.s deleted file mode 100644 index 91ad6389a7..0000000000 --- a/data/overlays/actors/z_en_shopnuts.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_80AFB570 - .incbin "baserom/ovl_En_Shopnuts", 0xE50, 0x00000120 diff --git a/spec b/spec index efee2cd448..2624c4715f 100644 --- a/spec +++ b/spec @@ -2910,8 +2910,7 @@ endseg beginseg name "ovl_En_Shopnuts" include "build/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.o" - include "build/data/overlays/actors/z_en_shopnuts.data.o" - include "build/data/overlays/actors/z_en_shopnuts.reloc.o" + include "build/src/overlays/actors/ovl_En_Shopnuts/ovl_En_Shopnuts_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c b/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c index ce0aa99a5a..ca38e6b78a 100644 --- a/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c +++ b/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c @@ -219,39 +219,27 @@ void EnHintnuts_SetupFreeze(EnHintnuts* this) { } void EnHintnuts_Wait(EnHintnuts* this, GlobalContext* globalCtx) { - s32 hasSlowPlaybackSpeed; - f32 boundedCurrentFrame; - f32 boundedCurrentFrameTemp; + s32 hasSlowPlaybackSpeed = false; - hasSlowPlaybackSpeed = 0; if (this->skelAnime.playSpeed < 0.5f) { - hasSlowPlaybackSpeed = 1; + hasSlowPlaybackSpeed = true; } - if (hasSlowPlaybackSpeed && this->animFlagAndTimer != 0) { + if (hasSlowPlaybackSpeed && (this->animFlagAndTimer != 0)) { this->animFlagAndTimer--; } - if (Animation_OnFrame(&this->skelAnime, 9.0f) != 0) { + if (Animation_OnFrame(&this->skelAnime, 9.0f)) { this->collider.base.acFlags |= 1; - } else if (Animation_OnFrame(&this->skelAnime, 8.0f) != 0) { + } else if (Animation_OnFrame(&this->skelAnime, 8.0f)) { Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_UP); } - if (this->skelAnime.curFrame < 9.0f) { - boundedCurrentFrame = 9.0f; - } else { - if (this->skelAnime.curFrame > 12.0f) { - boundedCurrentFrameTemp = 12.0f; - } else { - boundedCurrentFrameTemp = this->skelAnime.curFrame; - } - boundedCurrentFrame = boundedCurrentFrameTemp; - } - this->collider.dim.height = (((boundedCurrentFrame - 9.0f) * 9.0f) + 5.0f); + + this->collider.dim.height = 5.0f + ((CLAMP(this->skelAnime.curFrame, 9.0f, 12.0f) - 9.0f) * 9.0f); if (!hasSlowPlaybackSpeed && (this->actor.xzDistToLink < 120.0f)) { EnHintnuts_SetupBurrow(this); - } else if (SkelAnime_Update(&this->skelAnime) != 0) { + } else if (SkelAnime_Update(&this->skelAnime)) { if (this->actor.xzDistToLink < 120.0f) { EnHintnuts_SetupBurrow(this); - } else if ((this->animFlagAndTimer == 0) && (320.0f < this->actor.xzDistToLink)) { + } else if ((this->animFlagAndTimer == 0) && (this->actor.xzDistToLink > 320.0f)) { EnHintnuts_SetupLookAround(this); } else { EnHintnuts_SetupStand(this); @@ -265,7 +253,7 @@ void EnHintnuts_Wait(EnHintnuts* this, GlobalContext* globalCtx) { void EnHintnuts_LookAround(EnHintnuts* this, GlobalContext* globalCtx) { SkelAnime_Update(&this->skelAnime); - if (Animation_OnFrame(&this->skelAnime, 0.0f) != 0 && this->animFlagAndTimer != 0) { + if (Animation_OnFrame(&this->skelAnime, 0.0f) && this->animFlagAndTimer != 0) { this->animFlagAndTimer--; } if ((this->actor.xzDistToLink < 120.0f) || (this->animFlagAndTimer == 0)) { @@ -275,7 +263,7 @@ void EnHintnuts_LookAround(EnHintnuts* this, GlobalContext* globalCtx) { void EnHintnuts_Stand(EnHintnuts* this, GlobalContext* globalCtx) { SkelAnime_Update(&this->skelAnime); - if (Animation_OnFrame(&this->skelAnime, 0.0f) != 0 && this->animFlagAndTimer != 0) { + if (Animation_OnFrame(&this->skelAnime, 0.0f) && this->animFlagAndTimer != 0) { this->animFlagAndTimer--; } if (!(this->animFlagAndTimer & 0x1000)) { @@ -294,12 +282,12 @@ void EnHintnuts_ThrowNut(EnHintnuts* this, GlobalContext* globalCtx) { Math_ApproachS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 2, 0xE38); if (this->actor.xzDistToLink < 120.0f) { EnHintnuts_SetupBurrow(this); - } else if (SkelAnime_Update(&this->skelAnime) != 0) { + } else if (SkelAnime_Update(&this->skelAnime)) { EnHintnuts_SetupStand(this); - } else if (Animation_OnFrame(&this->skelAnime, 6.0f) != 0) { - nutPos.x = (Math_SinS(this->actor.shape.rot.y) * 23.0f) + this->actor.posRot.pos.x; + } else if (Animation_OnFrame(&this->skelAnime, 6.0f)) { + nutPos.x = this->actor.posRot.pos.x + (Math_SinS(this->actor.shape.rot.y) * 23.0f); nutPos.y = this->actor.posRot.pos.y + 12.0f; - nutPos.z = (Math_CosS(this->actor.shape.rot.y) * 23.0f) + this->actor.posRot.pos.z; + nutPos.z = this->actor.posRot.pos.z + (Math_CosS(this->actor.shape.rot.y) * 23.0f); if (Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_NUTSBALL, nutPos.x, nutPos.y, nutPos.z, this->actor.shape.rot.x, this->actor.shape.rot.y, this->actor.shape.rot.z, 1) != NULL) { Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_THROW); @@ -308,16 +296,12 @@ void EnHintnuts_ThrowNut(EnHintnuts* this, GlobalContext* globalCtx) { } void EnHintnuts_Burrow(EnHintnuts* this, GlobalContext* globalCtx) { - f32 boundedCurrentFrame; - - if (SkelAnime_Update(&this->skelAnime) != 0) { + if (SkelAnime_Update(&this->skelAnime)) { EnHintnuts_SetupWait(this); } else { - boundedCurrentFrame = - this->skelAnime.curFrame < 1.0f ? 1.0f : this->skelAnime.curFrame > 3.0f ? 3.0f : this->skelAnime.curFrame; - this->collider.dim.height = (((3.0f - boundedCurrentFrame) * 12.0f) + 5.0f); + this->collider.dim.height = 5.0f + ((3.0f - CLAMP(this->skelAnime.curFrame, 1.0f, 3.0f)) * 12.0f); } - if (Animation_OnFrame(&this->skelAnime, 4.0f) != 0) { + if (Animation_OnFrame(&this->skelAnime, 4.0f)) { this->collider.base.acFlags &= ~1; } @@ -326,7 +310,7 @@ void EnHintnuts_Burrow(EnHintnuts* this, GlobalContext* globalCtx) { } void EnHintnuts_BeginRun(EnHintnuts* this, GlobalContext* globalCtx) { - if (SkelAnime_Update(&this->skelAnime) != 0) { + if (SkelAnime_Update(&this->skelAnime)) { this->unk_196 = this->actor.yawTowardsLink + 0x8000; EnHintnuts_SetupRun(this); } @@ -334,7 +318,7 @@ void EnHintnuts_BeginRun(EnHintnuts* this, GlobalContext* globalCtx) { } void EnHintnuts_BeginFreeze(EnHintnuts* this, GlobalContext* globalCtx) { - if (SkelAnime_Update(&this->skelAnime) != 0) { + if (SkelAnime_Update(&this->skelAnime)) { EnHintnuts_SetupFreeze(this); } } @@ -364,7 +348,7 @@ void EnHintnuts_Run(EnHintnuts* this, GlobalContext* globalCtx) { if (temp_ret != 0 && this->animFlagAndTimer != 0) { this->animFlagAndTimer--; } - if ((temp_ret != 0) || (Animation_OnFrame(&this->skelAnime, 6.0f) != 0)) { + if ((temp_ret != 0) || (Animation_OnFrame(&this->skelAnime, 6.0f))) { Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_WALK); } @@ -420,7 +404,7 @@ void EnHintnuts_Leave(EnHintnuts* this, GlobalContext* globalCtx) { if (this->animFlagAndTimer != 0) { this->animFlagAndTimer--; } - if ((Animation_OnFrame(&this->skelAnime, 0.0f) != 0) || (Animation_OnFrame(&this->skelAnime, 6.0f) != 0)) { + if ((Animation_OnFrame(&this->skelAnime, 0.0f)) || (Animation_OnFrame(&this->skelAnime, 6.0f))) { Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_WALK); } if (this->actor.bgCheckFlags & 8) { @@ -452,7 +436,7 @@ void EnHintnuts_Leave(EnHintnuts* this, GlobalContext* globalCtx) { void EnHintnuts_Freeze(EnHintnuts* this, GlobalContext* globalCtx) { this->actor.dmgEffectTimer = 1; SkelAnime_Update(&this->skelAnime); - if (Animation_OnFrame(&this->skelAnime, 0.0f) != 0) { + if (Animation_OnFrame(&this->skelAnime, 0.0f)) { Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_FAINT); } if (this->animFlagAndTimer == 0) { @@ -551,6 +535,7 @@ s32 EnHintnuts_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** d void EnHintnuts_Draw(Actor* thisx, GlobalContext* globalCtx) { EnHintnuts* this = THIS; + if (this->actor.params == 0xA) { Gfx_DrawDListOpa(globalCtx, D_060014E0); } else { diff --git a/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.h b/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.h index 0993ccc20b..fb6d669e26 100644 --- a/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.h +++ b/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.h @@ -12,7 +12,7 @@ typedef struct EnHintnuts { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; /* 0x0190 */ EnHintnutsActionFunc actionFunc; - /* 0x0194 */ s16 animFlagAndTimer; // 0x1000 bit denotes which animation + /* 0x0194 */ s16 animFlagAndTimer; // 0x1000 bit denotes that projectile has been thrown /* 0x0196 */ s16 unk_196; /* 0x0198 */ u16 textIdCopy; /* 0x019A */ Vec3s jointTable[10]; diff --git a/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c b/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c index c11f829b3f..fa032a7c64 100644 --- a/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c +++ b/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c @@ -9,16 +9,23 @@ void EnShopnuts_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnShopnuts_Update(Actor* thisx, GlobalContext* globalCtx); void EnShopnuts_Draw(Actor* thisx, GlobalContext* globalCtx); -extern UNK_TYPE D_060001EC; -extern UNK_TYPE D_0600039C; -extern UNK_TYPE D_06000764; -extern UNK_TYPE D_06000BA0; -extern UNK_TYPE D_0600139C; -extern UNK_TYPE D_06003B68; -extern UNK_TYPE D_060041A8; -extern UNK_TYPE D_06004574; +void EnShopnuts_SetupWait(EnShopnuts* this); +void EnShopnuts_Wait(EnShopnuts* this, GlobalContext* globalCtx); +void EnShopnuts_LookAround(EnShopnuts* this, GlobalContext* globalCtx); +void EnShopnuts_Stand(EnShopnuts* this, GlobalContext* globalCtx); +void EnShopnuts_ThrowNut(EnShopnuts* this, GlobalContext* globalCtx); +void EnShopnuts_Burrow(EnShopnuts* this, GlobalContext* globalCtx); +void EnShopnuts_SpawnSalesman(EnShopnuts* this, GlobalContext* globalCtx); + +extern AnimationHeader D_060001EC; +extern AnimationHeader D_0600039C; +extern AnimationHeader D_06000764; +extern AnimationHeader D_06000BA0; +extern AnimationHeader D_0600139C; +extern Gfx D_06003B68[]; +extern FlexSkeletonHeader D_060041A8; +extern AnimationHeader D_06004574; -/* const ActorInit En_Shopnuts_InitVars = { ACTOR_EN_SHOPNUTS, ACTORTYPE_ENEMY, @@ -30,41 +37,266 @@ const ActorInit En_Shopnuts_InitVars = { (ActorFunc)EnShopnuts_Update, (ActorFunc)EnShopnuts_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Destroy.s") +static ColliderCylinderInit sCylinderInit = { + { COLTYPE_UNK6, 0x00, 0x09, 0x39, 0x10, COLSHAPE_CYLINDER }, + { 0x00, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x00, 0x01, 0x01 }, + { 0x0014, 0x0028, 0x0000, { 0x0000, 0x0000, 0x0000 } } +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA880.s") +static CollisionCheckInfoInit sColChkInfoInit = { 1, 20, 40, 0xFE }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA8E8.s") +static InitChainEntry sInitChain[] = { + ICHAIN_S8(naviEnemyId, 0x4E, ICHAIN_CONTINUE), + ICHAIN_F32(gravity, -1, ICHAIN_CONTINUE), + ICHAIN_F32(unk_4C, 2600, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA930.s") +void EnShopnuts_Init(Actor* thisx, GlobalContext* globalCtx) { + EnShopnuts* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA96C.s") + Actor_ProcessInitChain(&this->actor, sInitChain); + ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 35.0f); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060041A8, &D_06004574, this->jointTable, this->morphTable, 18); + Collider_InitCylinder(globalCtx, &this->collider); + Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); + func_80061ED4(&this->actor.colChkInfo, NULL, &sColChkInfoInit); + Collider_CylinderUpdate(&this->actor, &this->collider); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA9D4.s") + if (((this->actor.params == 0x0002) && (gSaveContext.itemGetInf[0] & 0x800)) || + ((this->actor.params == 0x0009) && (gSaveContext.infTable[25] & 4)) || + ((this->actor.params == 0x000A) && (gSaveContext.infTable[25] & 8))) { + Actor_Kill(&this->actor); + } else { + EnShopnuts_SetupWait(this); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAA20.s") +void EnShopnuts_Destroy(Actor* thisx, GlobalContext* globalCtx) { + EnShopnuts* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAA7C.s") + Collider_DestroyCylinder(globalCtx, &this->collider); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFACE0.s") +void EnShopnuts_SetupWait(EnShopnuts* this) { + Animation_PlayOnceSetSpeed(&this->skelAnime, &D_0600139C, 0.0f); + this->animFlagAndTimer = Rand_S16Offset(100, 50); + this->collider.dim.height = 5; + this->collider.base.acFlags &= ~1; + this->actionFunc = EnShopnuts_Wait; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAD64.s") +void EnShopnuts_SetupLookAround(EnShopnuts* this) { + Animation_PlayLoop(&this->skelAnime, &D_06000BA0); + this->animFlagAndTimer = 2; + this->actionFunc = EnShopnuts_LookAround; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAE28.s") +void EnShopnuts_SetupThrowNut(EnShopnuts* this) { + Animation_PlayOnce(&this->skelAnime, &D_060001EC); + this->actionFunc = EnShopnuts_ThrowNut; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAF64.s") +void EnShopnuts_SetupStand(EnShopnuts* this) { + Animation_MorphToLoop(&this->skelAnime, &D_06004574, -3.0f); + if (this->actionFunc == EnShopnuts_ThrowNut) { + this->animFlagAndTimer = 2 | 0x1000; // sets timer and flag + } else { + this->animFlagAndTimer = 1; + } + this->actionFunc = EnShopnuts_Stand; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB028.s") +void EnShopnuts_SetupBurrow(EnShopnuts* this) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600039C, -5.0f); + Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_DOWN); + this->actionFunc = EnShopnuts_Burrow; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB0C4.s") +void EnShopnuts_SetupSpawnSalesman(EnShopnuts* this) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_06000764, -3.0f); + Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_DAMAGE); + this->collider.base.acFlags &= ~1; + this->actionFunc = EnShopnuts_SpawnSalesman; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Update.s") +void EnShopnuts_Wait(EnShopnuts* this, GlobalContext* globalCtx) { + s32 hasSlowPlaybackSpeed = false; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB25C.s") + if (this->skelAnime.playSpeed < 0.5f) { + hasSlowPlaybackSpeed = true; + } + if (hasSlowPlaybackSpeed && (this->animFlagAndTimer != 0)) { + this->animFlagAndTimer--; + } + if (Animation_OnFrame(&this->skelAnime, 9.0f)) { + this->collider.base.acFlags |= 1; + } else if (Animation_OnFrame(&this->skelAnime, 8.0f)) { + Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_UP); + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB290.s") + this->collider.dim.height = ((CLAMP(this->skelAnime.curFrame, 9.0f, 13.0f) - 9.0f) * 9.0f) + 5.0f; + if (!hasSlowPlaybackSpeed && (this->actor.xzDistToLink < 120.0f)) { + EnShopnuts_SetupBurrow(this); + } else if (SkelAnime_Update(&this->skelAnime)) { + if (this->actor.xzDistToLink < 120.0f) { + EnShopnuts_SetupBurrow(this); + } else if ((this->animFlagAndTimer == 0) && (this->actor.xzDistToLink > 320.0f)) { + EnShopnuts_SetupLookAround(this); + } else { + EnShopnuts_SetupStand(this); + } + } + if (hasSlowPlaybackSpeed && + ((this->actor.xzDistToLink > 160.0f) && (fabsf(this->actor.yDistToLink) < 120.0f)) && + ((this->animFlagAndTimer == 0) || (this->actor.xzDistToLink < 480.0f))) { + this->skelAnime.playSpeed = 1.0f; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Draw.s") +void EnShopnuts_LookAround(EnShopnuts* this, GlobalContext* globalCtx) { + SkelAnime_Update(&this->skelAnime); + if (Animation_OnFrame(&this->skelAnime, 0.0f) && (this->animFlagAndTimer != 0)) { + this->animFlagAndTimer--; + } + if ((this->actor.xzDistToLink < 120.0f) || (this->animFlagAndTimer == 0)) { + EnShopnuts_SetupBurrow(this); + } +} + +void EnShopnuts_Stand(EnShopnuts* this, GlobalContext* globalCtx) { + SkelAnime_Update(&this->skelAnime); + if (Animation_OnFrame(&this->skelAnime, 0.0f) && (this->animFlagAndTimer != 0)) { + this->animFlagAndTimer--; + } + if (!(this->animFlagAndTimer & 0x1000)) { + Math_ApproachS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 2, 0xE38); + } + if ((this->actor.xzDistToLink < 120.0f) || (this->animFlagAndTimer == 0x1000)) { + EnShopnuts_SetupBurrow(this); + } else if (this->animFlagAndTimer == 0) { + EnShopnuts_SetupThrowNut(this); + } +} + +void EnShopnuts_ThrowNut(EnShopnuts* this, GlobalContext* globalCtx) { + Vec3f spawnPos; + + Math_ApproachS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 2, 0xE38); + if (this->actor.xzDistToLink < 120.0f) { + EnShopnuts_SetupBurrow(this); + } else if (SkelAnime_Update(&this->skelAnime)) { + EnShopnuts_SetupStand(this); + } else if (Animation_OnFrame(&this->skelAnime, 6.0f)) { + spawnPos.x = this->actor.posRot.pos.x + (Math_SinS(this->actor.shape.rot.y) * 23.0f); + spawnPos.y = this->actor.posRot.pos.y + 12.0f; + spawnPos.z = this->actor.posRot.pos.z + (Math_CosS(this->actor.shape.rot.y) * 23.0f); + if (Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_NUTSBALL, spawnPos.x, spawnPos.y, spawnPos.z, + this->actor.shape.rot.x, this->actor.shape.rot.y, this->actor.shape.rot.z, 2) != NULL) { + Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_THROW); + } + } +} + +void EnShopnuts_Burrow(EnShopnuts* this, GlobalContext* globalCtx) { + if (SkelAnime_Update(&this->skelAnime)) { + EnShopnuts_SetupWait(this); + } else { + this->collider.dim.height = ((4.0f - CLAMP_MAX(this->skelAnime.curFrame, 4.0f)) * 10.0f) + 5.0f; + } + if (Animation_OnFrame(&this->skelAnime, 4.0f)) { + this->collider.base.acFlags &= ~1; + } +} + +void EnShopnuts_SpawnSalesman(EnShopnuts* this, GlobalContext* globalCtx) { + if (SkelAnime_Update(&this->skelAnime)) { + Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_DNS, this->actor.posRot.pos.x, this->actor.posRot.pos.y, + this->actor.posRot.pos.z, this->actor.shape.rot.x, this->actor.shape.rot.y, this->actor.shape.rot.z, + this->actor.params); + Actor_Kill(&this->actor); + } else { + Math_ApproachS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 2, 0xE38); + } +} + +void EnShopnuts_ColliderCheck(EnShopnuts* this, GlobalContext* globalCtx) { + if (this->collider.base.acFlags & 2) { + this->collider.base.acFlags &= ~2; + func_80035650(&this->actor, &this->collider.body, 1); + EnShopnuts_SetupSpawnSalesman(this); + } else if (globalCtx->actorCtx.unk_02 != 0) { + EnShopnuts_SetupSpawnSalesman(this); + } +} + +void EnShopnuts_Update(Actor* thisx, GlobalContext* globalCtx) { + EnShopnuts* this = THIS; + + EnShopnuts_ColliderCheck(this, globalCtx); + this->actionFunc(this, globalCtx); + func_8002E4B4(globalCtx, &this->actor, 20.0f, this->collider.dim.radius, this->collider.dim.height, 4); + if (this->collider.base.acFlags & 1) { + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + } + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + if (this->actionFunc == EnShopnuts_Wait) { + Actor_SetHeight(&this->actor, this->skelAnime.curFrame); + } else if (this->actionFunc == EnShopnuts_Burrow) { + Actor_SetHeight(&this->actor, + 20.0f - ((this->skelAnime.curFrame * 20.0f) / Animation_GetLastFrame(&D_0600039C))); + } else { + Actor_SetHeight(&this->actor, 20.0f); + } +} + +s32 EnShopnuts_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, + void* thisx) { + EnShopnuts* this = THIS; + + if ((limbIndex == 9) && (this->actionFunc == EnShopnuts_ThrowNut)) { + *dList = NULL; + } + return 0; +} + +void EnShopnuts_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { + EnShopnuts* this = THIS; + + f32 curFrame; + f32 x; + f32 y; + f32 z; + + if ((limbIndex == 9) && (this->actionFunc == EnShopnuts_ThrowNut)) { + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_shopnuts.c", 682); + curFrame = this->skelAnime.curFrame; + if (curFrame <= 6.0f) { + y = 1.0f - (curFrame * 0.0833f); + x = z = (curFrame * 0.1167f) + 1.0f; + } else if (curFrame <= 7.0f) { + curFrame -= 6.0f; + y = 0.5f + curFrame; + x = z = 1.7f - (curFrame * 0.7f); + } else if (curFrame <= 10.0f) { + y = 1.5f - ((curFrame - 7.0f) * 0.1667f); + x = z = 1.0f; + } else { + x = y = z = 1.0f; + } + + Matrix_Scale(x, y, z, MTXMODE_APPLY); + if (1) {} + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_shopnuts.c", 714), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, D_06003B68); + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_shopnuts.c", 717); + } +} + +void EnShopnuts_Draw(Actor* thisx, GlobalContext* globalCtx) { + EnShopnuts* this = THIS; + + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, + EnShopnuts_OverrideLimbDraw, EnShopnuts_PostLimbDraw, this); +} diff --git a/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.h b/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.h index a24899e53a..53058806bf 100644 --- a/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.h +++ b/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.h @@ -6,9 +6,16 @@ struct EnShopnuts; +typedef void (*EnShopnutsActionFunc)(struct EnShopnuts*, GlobalContext*); + typedef struct EnShopnuts { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x170]; + /* 0x014C */ SkelAnime skelAnime; + /* 0x0190 */ EnShopnutsActionFunc actionFunc; + /* 0x0194 */ s16 animFlagAndTimer; // 0x1000 bit denotes that projectile has been thrown + /* 0x0196 */ Vec3s jointTable[18]; + /* 0x0202 */ Vec3s morphTable[18]; + /* 0x0270 */ ColliderCylinder collider; } EnShopnuts; // size = 0x02BC extern const ActorInit En_Shopnuts_InitVars;