diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Destroy.s deleted file mode 100644 index d8fcddbd39..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Destroy.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel BgHakaHuta_Destroy -/* 000BC 8087D07C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 000C0 8087D080 AFA40018 */ sw $a0, 0x0018($sp) -/* 000C4 8087D084 8FAE0018 */ lw $t6, 0x0018($sp) -/* 000C8 8087D088 AFBF0014 */ sw $ra, 0x0014($sp) -/* 000CC 8087D08C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 000D0 8087D090 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810 -/* 000D4 8087D094 0C00FB56 */ jal DynaPoly_DeleteBgActor - ## DynaPoly_DeleteBgActor -/* 000D8 8087D098 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C -/* 000DC 8087D09C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 000E0 8087D0A0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 000E4 8087D0A4 03E00008 */ jr $ra -/* 000E8 8087D0A8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Draw.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Draw.s deleted file mode 100644 index 801fc4a4f0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Draw.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel BgHakaHuta_Draw -/* 00930 8087D8F0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00934 8087D8F4 AFA40018 */ sw $a0, 0x0018($sp) -/* 00938 8087D8F8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 0093C 8087D8FC AFBF0014 */ sw $ra, 0x0014($sp) -/* 00940 8087D900 3C050600 */ lui $a1, %hi(D_060006B0) ## $a1 = 06000000 -/* 00944 8087D904 0C00D498 */ jal Gfx_DrawDListOpa - -/* 00948 8087D908 24A506B0 */ addiu $a1, $a1, %lo(D_060006B0) ## $a1 = 060006B0 -/* 0094C 8087D90C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00950 8087D910 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00954 8087D914 03E00008 */ jr $ra -/* 00958 8087D918 00000000 */ nop -/* 0095C 8087D91C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Init.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Init.s deleted file mode 100644 index 7e8a4befc4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Init.s +++ /dev/null @@ -1,55 +0,0 @@ -glabel BgHakaHuta_Init -/* 00000 8087CFC0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00004 8087CFC4 AFA50034 */ sw $a1, 0x0034($sp) -/* 00008 8087CFC8 AFBF001C */ sw $ra, 0x001C($sp) -/* 0000C 8087CFCC AFB00018 */ sw $s0, 0x0018($sp) -/* 00010 8087CFD0 3C058088 */ lui $a1, %hi(D_8087D940) ## $a1 = 80880000 -/* 00014 8087CFD4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00018 8087CFD8 AFA00024 */ sw $zero, 0x0024($sp) -/* 0001C 8087CFDC 0C01E037 */ jal Actor_ProcessInitChain - -/* 00020 8087CFE0 24A5D940 */ addiu $a1, $a1, %lo(D_8087D940) ## $a1 = 8087D940 -/* 00024 8087CFE4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00028 8087CFE8 0C010D20 */ jal DynaPolyActor_Init - -/* 0002C 8087CFEC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00030 8087CFF0 3C040600 */ lui $a0, %hi(D_06000870) ## $a0 = 06000000 -/* 00034 8087CFF4 24840870 */ addiu $a0, $a0, %lo(D_06000870) ## $a0 = 06000870 -/* 00038 8087CFF8 0C010620 */ jal CollisionHeader_GetVirtual - -/* 0003C 8087CFFC 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4 -/* 00040 8087D000 8FA40034 */ lw $a0, 0x0034($sp) -/* 00044 8087D004 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00048 8087D008 8FA70024 */ lw $a3, 0x0024($sp) -/* 0004C 8087D00C 0C00FA9D */ jal DynaPoly_SetBgActor - ## DynaPoly_SetBgActor -/* 00050 8087D010 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810 -/* 00054 8087D014 860E001C */ lh $t6, 0x001C($s0) ## 0000001C -/* 00058 8087D018 8619001C */ lh $t9, 0x001C($s0) ## 0000001C -/* 0005C 8087D01C AE02014C */ sw $v0, 0x014C($s0) ## 0000014C -/* 00060 8087D020 000E7A03 */ sra $t7, $t6, 8 -/* 00064 8087D024 31F800FF */ andi $t8, $t7, 0x00FF ## $t8 = 00000000 -/* 00068 8087D028 332800FF */ andi $t0, $t9, 0x00FF ## $t0 = 00000000 -/* 0006C 8087D02C A618016A */ sh $t8, 0x016A($s0) ## 0000016A -/* 00070 8087D030 A608001C */ sh $t0, 0x001C($s0) ## 0000001C -/* 00074 8087D034 8605001C */ lh $a1, 0x001C($s0) ## 0000001C -/* 00078 8087D038 0C00B2D0 */ jal Flags_GetSwitch - -/* 0007C 8087D03C 8FA40034 */ lw $a0, 0x0034($sp) -/* 00080 8087D040 10400007 */ beq $v0, $zero, .L8087D060 -/* 00084 8087D044 3C0B8088 */ lui $t3, %hi(func_8087D2F0) ## $t3 = 80880000 -/* 00088 8087D048 3C0A8088 */ lui $t2, %hi(func_8087D720) ## $t2 = 80880000 -/* 0008C 8087D04C 2409FFFF */ addiu $t1, $zero, 0xFFFF ## $t1 = FFFFFFFF -/* 00090 8087D050 254AD720 */ addiu $t2, $t2, %lo(func_8087D720) ## $t2 = 8087D720 -/* 00094 8087D054 A6090168 */ sh $t1, 0x0168($s0) ## 00000168 -/* 00098 8087D058 10000003 */ beq $zero, $zero, .L8087D068 -/* 0009C 8087D05C AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164 -.L8087D060: -/* 000A0 8087D060 256BD2F0 */ addiu $t3, $t3, %lo(func_8087D2F0) ## $t3 = 8087D2F0 -/* 000A4 8087D064 AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164 -.L8087D068: -/* 000A8 8087D068 8FBF001C */ lw $ra, 0x001C($sp) -/* 000AC 8087D06C 8FB00018 */ lw $s0, 0x0018($sp) -/* 000B0 8087D070 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 000B4 8087D074 03E00008 */ jr $ra -/* 000B8 8087D078 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Update.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Update.s deleted file mode 100644 index 066bc69172..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Update.s +++ /dev/null @@ -1,10 +0,0 @@ -glabel BgHakaHuta_Update -/* 0090C 8087D8CC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00910 8087D8D0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00914 8087D8D4 8C990164 */ lw $t9, 0x0164($a0) ## 00000164 -/* 00918 8087D8D8 0320F809 */ jalr $ra, $t9 -/* 0091C 8087D8DC 00000000 */ nop -/* 00920 8087D8E0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00924 8087D8E4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00928 8087D8E8 03E00008 */ jr $ra -/* 0092C 8087D8EC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D0AC.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D0AC.s deleted file mode 100644 index 2da81db932..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D0AC.s +++ /dev/null @@ -1,118 +0,0 @@ -glabel func_8087D0AC -/* 000EC 8087D0AC 27BDFF58 */ addiu $sp, $sp, 0xFF58 ## $sp = FFFFFF58 -/* 000F0 8087D0B0 AFBF0074 */ sw $ra, 0x0074($sp) -/* 000F4 8087D0B4 AFBE0070 */ sw $s8, 0x0070($sp) -/* 000F8 8087D0B8 AFB7006C */ sw $s7, 0x006C($sp) -/* 000FC 8087D0BC AFB60068 */ sw $s6, 0x0068($sp) -/* 00100 8087D0C0 AFB50064 */ sw $s5, 0x0064($sp) -/* 00104 8087D0C4 AFB40060 */ sw $s4, 0x0060($sp) -/* 00108 8087D0C8 AFB3005C */ sw $s3, 0x005C($sp) -/* 0010C 8087D0CC AFB20058 */ sw $s2, 0x0058($sp) -/* 00110 8087D0D0 AFB10054 */ sw $s1, 0x0054($sp) -/* 00114 8087D0D4 AFB00050 */ sw $s0, 0x0050($sp) -/* 00118 8087D0D8 F7BC0048 */ sdc1 $f28, 0x0048($sp) -/* 0011C 8087D0DC F7BA0040 */ sdc1 $f26, 0x0040($sp) -/* 00120 8087D0E0 F7B80038 */ sdc1 $f24, 0x0038($sp) -/* 00124 8087D0E4 F7B60030 */ sdc1 $f22, 0x0030($sp) -/* 00128 8087D0E8 F7B40028 */ sdc1 $f20, 0x0028($sp) -/* 0012C 8087D0EC AFA500AC */ sw $a1, 0x00AC($sp) -/* 00130 8087D0F0 848E0032 */ lh $t6, 0x0032($a0) ## 00000032 -/* 00134 8087D0F4 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 00138 8087D0F8 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000 -/* 0013C 8087D0FC 55C00006 */ bnel $t6, $zero, .L8087D118 -/* 00140 8087D100 4481A000 */ mtc1 $at, $f20 ## $f20 = -1.00 -/* 00144 8087D104 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00148 8087D108 4481A000 */ mtc1 $at, $f20 ## $f20 = 1.00 -/* 0014C 8087D10C 10000004 */ beq $zero, $zero, .L8087D120 -/* 00150 8087D110 3C01BF00 */ lui $at, 0xBF00 ## $at = BF000000 -/* 00154 8087D114 4481A000 */ mtc1 $at, $f20 ## $f20 = -0.50 -.L8087D118: -/* 00158 8087D118 00000000 */ nop -/* 0015C 8087D11C 3C01BF00 */ lui $at, 0xBF00 ## $at = BF000000 -.L8087D120: -/* 00160 8087D120 44812000 */ mtc1 $at, $f4 ## $f4 = -0.50 -/* 00164 8087D124 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00 -/* 00168 8087D128 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 0016C 8087D12C 46142182 */ mul.s $f6, $f4, $f20 -/* 00170 8087D130 E7A2008C */ swc1 $f2, 0x008C($sp) -/* 00174 8087D134 E7A20090 */ swc1 $f2, 0x0090($sp) -/* 00178 8087D138 4481E000 */ mtc1 $at, $f28 ## $f28 = 50.00 -/* 0017C 8087D13C 3C178088 */ lui $s7, %hi(D_8087D954) ## $s7 = 80880000 -/* 00180 8087D140 3C168088 */ lui $s6, %hi(D_8087D950) ## $s6 = 80880000 -/* 00184 8087D144 3C158088 */ lui $s5, %hi(D_8087D944) ## $s5 = 80880000 -/* 00188 8087D148 E7A60088 */ swc1 $f6, 0x0088($sp) -/* 0018C 8087D14C C6280028 */ lwc1 $f8, 0x0028($s1) ## 00000028 -/* 00190 8087D150 26B5D944 */ addiu $s5, $s5, %lo(D_8087D944) ## $s5 = 8087D944 -/* 00194 8087D154 26D6D950 */ addiu $s6, $s6, %lo(D_8087D950) ## $s6 = 8087D950 -/* 00198 8087D158 E7A80098 */ swc1 $f8, 0x0098($sp) -/* 0019C 8087D15C C62A002C */ lwc1 $f10, 0x002C($s1) ## 0000002C -/* 001A0 8087D160 44814000 */ mtc1 $at, $f8 ## $f8 = 50.00 -/* 001A4 8087D164 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 001A8 8087D168 E7AA009C */ swc1 $f10, 0x009C($sp) -/* 001AC 8087D16C C6320008 */ lwc1 $f18, 0x0008($s1) ## 00000008 -/* 001B0 8087D170 C6300024 */ lwc1 $f16, 0x0024($s1) ## 00000024 -/* 001B4 8087D174 4481D000 */ mtc1 $at, $f26 ## $f26 = 10.00 -/* 001B8 8087D178 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 001BC 8087D17C 46128101 */ sub.s $f4, $f16, $f18 -/* 001C0 8087D180 4481C000 */ mtc1 $at, $f24 ## $f24 = 120.00 -/* 001C4 8087D184 26F7D954 */ addiu $s7, $s7, %lo(D_8087D954) ## $s7 = 8087D954 -/* 001C8 8087D188 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 001CC 8087D18C 46142182 */ mul.s $f6, $f4, $f20 -/* 001D0 8087D190 241E0004 */ addiu $s8, $zero, 0x0004 ## $s8 = 00000004 -/* 001D4 8087D194 27B40088 */ addiu $s4, $sp, 0x0088 ## $s4 = FFFFFFE0 -/* 001D8 8087D198 27B30094 */ addiu $s3, $sp, 0x0094 ## $s3 = FFFFFFEC -/* 001DC 8087D19C 24120002 */ addiu $s2, $zero, 0x0002 ## $s2 = 00000002 -/* 001E0 8087D1A0 46064001 */ sub.s $f0, $f8, $f6 -/* 001E4 8087D1A4 46140582 */ mul.s $f22, $f0, $f20 -/* 001E8 8087D1A8 00000000 */ nop -.L8087D1AC: -/* 001EC 8087D1AC 16120005 */ bne $s0, $s2, .L8087D1C4 -/* 001F0 8087D1B0 00000000 */ nop -/* 001F4 8087D1B4 4614C402 */ mul.s $f16, $f24, $f20 -/* 001F8 8087D1B8 C7AA009C */ lwc1 $f10, 0x009C($sp) -/* 001FC 8087D1BC 46105480 */ add.s $f18, $f10, $f16 -/* 00200 8087D1C0 E7B2009C */ swc1 $f18, 0x009C($sp) -.L8087D1C4: -/* 00204 8087D1C4 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00208 8087D1C8 00000000 */ nop -/* 0020C 8087D1CC 46160202 */ mul.s $f8, $f0, $f22 -/* 00210 8087D1D0 C6240008 */ lwc1 $f4, 0x0008($s1) ## 00000008 -/* 00214 8087D1D4 46082181 */ sub.s $f6, $f4, $f8 -/* 00218 8087D1D8 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 0021C 8087D1DC E7A60094 */ swc1 $f6, 0x0094($sp) -/* 00220 8087D1E0 461A0282 */ mul.s $f10, $f0, $f26 -/* 00224 8087D1E4 2419000A */ addiu $t9, $zero, 0x000A ## $t9 = 0000000A -/* 00228 8087D1E8 AFB9001C */ sw $t9, 0x001C($sp) -/* 0022C 8087D1EC 8FA400AC */ lw $a0, 0x00AC($sp) -/* 00230 8087D1F0 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFEC -/* 00234 8087D1F4 02803025 */ or $a2, $s4, $zero ## $a2 = FFFFFFE0 -/* 00238 8087D1F8 02A03825 */ or $a3, $s5, $zero ## $a3 = 8087D944 -/* 0023C 8087D1FC 461C5400 */ add.s $f16, $f10, $f28 -/* 00240 8087D200 AFB60010 */ sw $s6, 0x0010($sp) -/* 00244 8087D204 AFB70014 */ sw $s7, 0x0014($sp) -/* 00248 8087D208 4600848D */ trunc.w.s $f18, $f16 -/* 0024C 8087D20C 44189000 */ mfc1 $t8, $f18 -/* 00250 8087D210 0C00A0A7 */ jal func_8002829C -/* 00254 8087D214 AFB80018 */ sw $t8, 0x0018($sp) -/* 00258 8087D218 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 0025C 8087D21C 161EFFE3 */ bne $s0, $s8, .L8087D1AC -/* 00260 8087D220 00000000 */ nop -/* 00264 8087D224 8FBF0074 */ lw $ra, 0x0074($sp) -/* 00268 8087D228 D7B40028 */ ldc1 $f20, 0x0028($sp) -/* 0026C 8087D22C D7B60030 */ ldc1 $f22, 0x0030($sp) -/* 00270 8087D230 D7B80038 */ ldc1 $f24, 0x0038($sp) -/* 00274 8087D234 D7BA0040 */ ldc1 $f26, 0x0040($sp) -/* 00278 8087D238 D7BC0048 */ ldc1 $f28, 0x0048($sp) -/* 0027C 8087D23C 8FB00050 */ lw $s0, 0x0050($sp) -/* 00280 8087D240 8FB10054 */ lw $s1, 0x0054($sp) -/* 00284 8087D244 8FB20058 */ lw $s2, 0x0058($sp) -/* 00288 8087D248 8FB3005C */ lw $s3, 0x005C($sp) -/* 0028C 8087D24C 8FB40060 */ lw $s4, 0x0060($sp) -/* 00290 8087D250 8FB50064 */ lw $s5, 0x0064($sp) -/* 00294 8087D254 8FB60068 */ lw $s6, 0x0068($sp) -/* 00298 8087D258 8FB7006C */ lw $s7, 0x006C($sp) -/* 0029C 8087D25C 8FBE0070 */ lw $s8, 0x0070($sp) -/* 002A0 8087D260 03E00008 */ jr $ra -/* 002A4 8087D264 27BD00A8 */ addiu $sp, $sp, 0x00A8 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D268.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D268.s deleted file mode 100644 index c39ab3a443..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D268.s +++ /dev/null @@ -1,38 +0,0 @@ -glabel func_8087D268 -/* 002A8 8087D268 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 002AC 8087D26C AFBF001C */ sw $ra, 0x001C($sp) -/* 002B0 8087D270 AFB00018 */ sw $s0, 0x0018($sp) -/* 002B4 8087D274 AFA50034 */ sw $a1, 0x0034($sp) -/* 002B8 8087D278 AFA60038 */ sw $a2, 0x0038($sp) -/* 002BC 8087D27C 848E00B6 */ lh $t6, 0x00B6($a0) ## 000000B6 -/* 002C0 8087D280 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 002C4 8087D284 30C7FFFF */ andi $a3, $a2, 0xFFFF ## $a3 = 00000000 -/* 002C8 8087D288 15C00007 */ bne $t6, $zero, .L8087D2A8 -/* 002CC 8087D28C 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 002D0 8087D290 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 002D4 8087D294 44813000 */ mtc1 $at, $f6 ## $f6 = 120.00 -/* 002D8 8087D298 C484002C */ lwc1 $f4, 0x002C($a0) ## 0000002C -/* 002DC 8087D29C 46062200 */ add.s $f8, $f4, $f6 -/* 002E0 8087D2A0 10000006 */ beq $zero, $zero, .L8087D2BC -/* 002E4 8087D2A4 E7A8002C */ swc1 $f8, 0x002C($sp) -.L8087D2A8: -/* 002E8 8087D2A8 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C -/* 002EC 8087D2AC 44818000 */ mtc1 $at, $f16 ## $f16 = 120.00 -/* 002F0 8087D2B0 00000000 */ nop -/* 002F4 8087D2B4 46105481 */ sub.s $f18, $f10, $f16 -/* 002F8 8087D2B8 E7B2002C */ swc1 $f18, 0x002C($sp) -.L8087D2BC: -/* 002FC 8087D2BC C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024 -/* 00300 8087D2C0 8FA40034 */ lw $a0, 0x0034($sp) -/* 00304 8087D2C4 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4 -/* 00308 8087D2C8 E7A40024 */ swc1 $f4, 0x0024($sp) -/* 0030C 8087D2CC C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028 -/* 00310 8087D2D0 2406001E */ addiu $a2, $zero, 0x001E ## $a2 = 0000001E -/* 00314 8087D2D4 0C01AEB6 */ jal Audio_PlaySoundAtPosition - -/* 00318 8087D2D8 E7A60028 */ swc1 $f6, 0x0028($sp) -/* 0031C 8087D2DC 8FBF001C */ lw $ra, 0x001C($sp) -/* 00320 8087D2E0 8FB00018 */ lw $s0, 0x0018($sp) -/* 00324 8087D2E4 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 00328 8087D2E8 03E00008 */ jr $ra -/* 0032C 8087D2EC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D2F0.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D2F0.s deleted file mode 100644 index 5705bda27d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D2F0.s +++ /dev/null @@ -1,198 +0,0 @@ -glabel func_8087D2F0 -/* 00330 8087D2F0 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0 -/* 00334 8087D2F4 AFB0002C */ sw $s0, 0x002C($sp) -/* 00338 8087D2F8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0033C 8087D2FC AFB10030 */ sw $s1, 0x0030($sp) -/* 00340 8087D300 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 00344 8087D304 AFBF0034 */ sw $ra, 0x0034($sp) -/* 00348 8087D308 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 0034C 8087D30C 0C00B2D0 */ jal Flags_GetSwitch - -/* 00350 8087D310 8605001C */ lh $a1, 0x001C($s0) ## 0000001C -/* 00354 8087D314 504000A4 */ beql $v0, $zero, .L8087D5A8 -/* 00358 8087D318 8FBF0034 */ lw $ra, 0x0034($sp) -/* 0035C 8087D31C 0C023A62 */ jal Player_InCsMode -/* 00360 8087D320 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00364 8087D324 1440009F */ bne $v0, $zero, .L8087D5A4 -/* 00368 8087D328 240E0019 */ addiu $t6, $zero, 0x0019 ## $t6 = 00000019 -/* 0036C 8087D32C 3C0F8088 */ lui $t7, %hi(func_8087D5B8) ## $t7 = 80880000 -/* 00370 8087D330 25EFD5B8 */ addiu $t7, $t7, %lo(func_8087D5B8) ## $t7 = 8087D5B8 -/* 00374 8087D334 A60E0168 */ sh $t6, 0x0168($s0) ## 00000168 -/* 00378 8087D338 AE0F0164 */ sw $t7, 0x0164($s0) ## 00000164 -/* 0037C 8087D33C AFA00010 */ sw $zero, 0x0010($sp) -/* 00380 8087D340 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00384 8087D344 24051771 */ addiu $a1, $zero, 0x1771 ## $a1 = 00001771 -/* 00388 8087D348 240603E7 */ addiu $a2, $zero, 0x03E7 ## $a2 = 000003E7 -/* 0038C 8087D34C 0C02003E */ jal func_800800F8 -/* 00390 8087D350 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000 -/* 00394 8087D354 8603016A */ lh $v1, 0x016A($s0) ## 0000016A -/* 00398 8087D358 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 0039C 8087D35C 54610061 */ bnel $v1, $at, .L8087D4E4 -/* 003A0 8087D360 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 003A4 8087D364 0C01DE0D */ jal Math_CosS - ## coss? -/* 003A8 8087D368 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 003AC 8087D36C E7A00040 */ swc1 $f0, 0x0040($sp) -/* 003B0 8087D370 0C01DE1C */ jal Math_SinS - ## sins? -/* 003B4 8087D374 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 003B8 8087D378 E7A00044 */ swc1 $f0, 0x0044($sp) -/* 003BC 8087D37C 0C01DE1C */ jal Math_SinS - ## sins? -/* 003C0 8087D380 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 003C4 8087D384 E7A00048 */ swc1 $f0, 0x0048($sp) -/* 003C8 8087D388 0C01DE0D */ jal Math_CosS - ## coss? -/* 003CC 8087D38C 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 003D0 8087D390 3C01C1C8 */ lui $at, 0xC1C8 ## $at = C1C80000 -/* 003D4 8087D394 44811000 */ mtc1 $at, $f2 ## $f2 = -25.00 -/* 003D8 8087D398 C7A60040 */ lwc1 $f6, 0x0040($sp) -/* 003DC 8087D39C 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 003E0 8087D3A0 44816000 */ mtc1 $at, $f12 ## $f12 = 40.00 -/* 003E4 8087D3A4 46061202 */ mul.s $f8, $f2, $f6 -/* 003E8 8087D3A8 C7B00044 */ lwc1 $f16, 0x0044($sp) -/* 003EC 8087D3AC C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024 -/* 003F0 8087D3B0 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 003F4 8087D3B4 460C8482 */ mul.s $f18, $f16, $f12 -/* 003F8 8087D3B8 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24 -/* 003FC 8087D3BC 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002 -/* 00400 8087D3C0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00404 8087D3C4 24060013 */ addiu $a2, $zero, 0x0013 ## $a2 = 00000013 -/* 00408 8087D3C8 46082280 */ add.s $f10, $f4, $f8 -/* 0040C 8087D3CC 44814000 */ mtc1 $at, $f8 ## $f8 = 10.00 -/* 00410 8087D3D0 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028 -/* 00414 8087D3D4 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000 -/* 00418 8087D3D8 460A9180 */ add.s $f6, $f18, $f10 -/* 0041C 8087D3DC C7AA0048 */ lwc1 $f10, 0x0048($sp) -/* 00420 8087D3E0 46082401 */ sub.s $f16, $f4, $f8 -/* 00424 8087D3E4 44073000 */ mfc1 $a3, $f6 -/* 00428 8087D3E8 460A1182 */ mul.s $f6, $f2, $f10 -/* 0042C 8087D3EC E7B00010 */ swc1 $f16, 0x0010($sp) -/* 00430 8087D3F0 460C0202 */ mul.s $f8, $f0, $f12 -/* 00434 8087D3F4 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C -/* 00438 8087D3F8 AFA00018 */ sw $zero, 0x0018($sp) -/* 0043C 8087D3FC 46069101 */ sub.s $f4, $f18, $f6 -/* 00440 8087D400 46044400 */ add.s $f16, $f8, $f4 -/* 00444 8087D404 E7B00014 */ swc1 $f16, 0x0014($sp) -/* 00448 8087D408 861800B6 */ lh $t8, 0x00B6($s0) ## 000000B6 -/* 0044C 8087D40C AFA4003C */ sw $a0, 0x003C($sp) -/* 00450 8087D410 AFA80024 */ sw $t0, 0x0024($sp) -/* 00454 8087D414 0301C821 */ addu $t9, $t8, $at -/* 00458 8087D418 AFB9001C */ sw $t9, 0x001C($sp) -/* 0045C 8087D41C 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 00460 8087D420 AFA00020 */ sw $zero, 0x0020($sp) -/* 00464 8087D424 0C01DE0D */ jal Math_CosS - ## coss? -/* 00468 8087D428 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 0046C 8087D42C E7A00040 */ swc1 $f0, 0x0040($sp) -/* 00470 8087D430 0C01DE1C */ jal Math_SinS - ## sins? -/* 00474 8087D434 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 00478 8087D438 E7A00044 */ swc1 $f0, 0x0044($sp) -/* 0047C 8087D43C 0C01DE1C */ jal Math_SinS - ## sins? -/* 00480 8087D440 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 00484 8087D444 E7A00048 */ swc1 $f0, 0x0048($sp) -/* 00488 8087D448 0C01DE0D */ jal Math_CosS - ## coss? -/* 0048C 8087D44C 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 00490 8087D450 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000 -/* 00494 8087D454 44811000 */ mtc1 $at, $f2 ## $f2 = 80.00 -/* 00498 8087D458 3C01C1C8 */ lui $at, 0xC1C8 ## $at = C1C80000 -/* 0049C 8087D45C 44816000 */ mtc1 $at, $f12 ## $f12 = -25.00 -/* 004A0 8087D460 C7B20040 */ lwc1 $f18, 0x0040($sp) -/* 004A4 8087D464 C7A40044 */ lwc1 $f4, 0x0044($sp) -/* 004A8 8087D468 C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024 -/* 004AC 8087D46C 46126182 */ mul.s $f6, $f12, $f18 -/* 004B0 8087D470 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 004B4 8087D474 240A0002 */ addiu $t2, $zero, 0x0002 ## $t2 = 00000002 -/* 004B8 8087D478 46022402 */ mul.s $f16, $f4, $f2 -/* 004BC 8087D47C 8FA4003C */ lw $a0, 0x003C($sp) -/* 004C0 8087D480 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 004C4 8087D484 24060013 */ addiu $a2, $zero, 0x0013 ## $a2 = 00000013 -/* 004C8 8087D488 46065200 */ add.s $f8, $f10, $f6 -/* 004CC 8087D48C 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00 -/* 004D0 8087D490 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028 -/* 004D4 8087D494 46088480 */ add.s $f18, $f16, $f8 -/* 004D8 8087D498 C7A80048 */ lwc1 $f8, 0x0048($sp) -/* 004DC 8087D49C 46065101 */ sub.s $f4, $f10, $f6 -/* 004E0 8087D4A0 44079000 */ mfc1 $a3, $f18 -/* 004E4 8087D4A4 46086482 */ mul.s $f18, $f12, $f8 -/* 004E8 8087D4A8 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 004EC 8087D4AC 46020182 */ mul.s $f6, $f0, $f2 -/* 004F0 8087D4B0 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C -/* 004F4 8087D4B4 AFA00018 */ sw $zero, 0x0018($sp) -/* 004F8 8087D4B8 46128281 */ sub.s $f10, $f16, $f18 -/* 004FC 8087D4BC 460A3100 */ add.s $f4, $f6, $f10 -/* 00500 8087D4C0 E7A40014 */ swc1 $f4, 0x0014($sp) -/* 00504 8087D4C4 860900B6 */ lh $t1, 0x00B6($s0) ## 000000B6 -/* 00508 8087D4C8 AFAA0024 */ sw $t2, 0x0024($sp) -/* 0050C 8087D4CC AFA00020 */ sw $zero, 0x0020($sp) -/* 00510 8087D4D0 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 00514 8087D4D4 AFA9001C */ sw $t1, 0x001C($sp) -/* 00518 8087D4D8 10000033 */ beq $zero, $zero, .L8087D5A8 -/* 0051C 8087D4DC 8FBF0034 */ lw $ra, 0x0034($sp) -/* 00520 8087D4E0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -.L8087D4E4: -/* 00524 8087D4E4 54610030 */ bnel $v1, $at, .L8087D5A8 -/* 00528 8087D4E8 8FBF0034 */ lw $ra, 0x0034($sp) -/* 0052C 8087D4EC 0C01DE0D */ jal Math_CosS - ## coss? -/* 00530 8087D4F0 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 00534 8087D4F4 E7A00040 */ swc1 $f0, 0x0040($sp) -/* 00538 8087D4F8 0C01DE1C */ jal Math_SinS - ## sins? -/* 0053C 8087D4FC 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 00540 8087D500 E7A00044 */ swc1 $f0, 0x0044($sp) -/* 00544 8087D504 0C01DE1C */ jal Math_SinS - ## sins? -/* 00548 8087D508 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 0054C 8087D50C E7A00048 */ swc1 $f0, 0x0048($sp) -/* 00550 8087D510 0C01DE0D */ jal Math_CosS - ## coss? -/* 00554 8087D514 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 00558 8087D518 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 0055C 8087D51C 44811000 */ mtc1 $at, $f2 ## $f2 = 100.00 -/* 00560 8087D520 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 00564 8087D524 44816000 */ mtc1 $at, $f12 ## $f12 = 40.00 -/* 00568 8087D528 3C01C1C8 */ lui $at, 0xC1C8 ## $at = C1C80000 -/* 0056C 8087D52C 44814000 */ mtc1 $at, $f8 ## $f8 = -25.00 -/* 00570 8087D530 C7B00040 */ lwc1 $f16, 0x0040($sp) -/* 00574 8087D534 C7A40044 */ lwc1 $f4, 0x0044($sp) -/* 00578 8087D538 C6060008 */ lwc1 $f6, 0x0008($s0) ## 00000008 -/* 0057C 8087D53C 46104482 */ mul.s $f18, $f8, $f16 -/* 00580 8087D540 240C00FD */ addiu $t4, $zero, 0x00FD ## $t4 = 000000FD -/* 00584 8087D544 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24 -/* 00588 8087D548 46022202 */ mul.s $f8, $f4, $f2 -/* 0058C 8087D54C 44812000 */ mtc1 $at, $f4 ## $f4 = -25.00 -/* 00590 8087D550 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00594 8087D554 24060090 */ addiu $a2, $zero, 0x0090 ## $a2 = 00000090 -/* 00598 8087D558 46123280 */ add.s $f10, $f6, $f18 -/* 0059C 8087D55C C606000C */ lwc1 $f6, 0x000C($s0) ## 0000000C -/* 005A0 8087D560 460A4400 */ add.s $f16, $f8, $f10 -/* 005A4 8087D564 C7A80048 */ lwc1 $f8, 0x0048($sp) -/* 005A8 8087D568 460C3481 */ sub.s $f18, $f6, $f12 -/* 005AC 8087D56C 46082282 */ mul.s $f10, $f4, $f8 -/* 005B0 8087D570 44078000 */ mfc1 $a3, $f16 -/* 005B4 8087D574 E7B20010 */ swc1 $f18, 0x0010($sp) -/* 005B8 8087D578 46020482 */ mul.s $f18, $f0, $f2 -/* 005BC 8087D57C C6100010 */ lwc1 $f16, 0x0010($s0) ## 00000010 -/* 005C0 8087D580 AFA00018 */ sw $zero, 0x0018($sp) -/* 005C4 8087D584 460A8181 */ sub.s $f6, $f16, $f10 -/* 005C8 8087D588 46069100 */ add.s $f4, $f18, $f6 -/* 005CC 8087D58C E7A40014 */ swc1 $f4, 0x0014($sp) -/* 005D0 8087D590 860B00B6 */ lh $t3, 0x00B6($s0) ## 000000B6 -/* 005D4 8087D594 AFAC0024 */ sw $t4, 0x0024($sp) -/* 005D8 8087D598 AFA00020 */ sw $zero, 0x0020($sp) -/* 005DC 8087D59C 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 005E0 8087D5A0 AFAB001C */ sw $t3, 0x001C($sp) -.L8087D5A4: -/* 005E4 8087D5A4 8FBF0034 */ lw $ra, 0x0034($sp) -.L8087D5A8: -/* 005E8 8087D5A8 8FB0002C */ lw $s0, 0x002C($sp) -/* 005EC 8087D5AC 8FB10030 */ lw $s1, 0x0030($sp) -/* 005F0 8087D5B0 03E00008 */ jr $ra -/* 005F4 8087D5B4 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D5B8.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D5B8.s deleted file mode 100644 index 4f5910e1af..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D5B8.s +++ /dev/null @@ -1,51 +0,0 @@ -glabel func_8087D5B8 -/* 005F8 8087D5B8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 005FC 8087D5BC AFBF0014 */ sw $ra, 0x0014($sp) -/* 00600 8087D5C0 AFA5001C */ sw $a1, 0x001C($sp) -/* 00604 8087D5C4 84820168 */ lh $v0, 0x0168($a0) ## 00000168 -/* 00608 8087D5C8 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 0060C 8087D5CC 3C01C080 */ lui $at, 0xC080 ## $at = C0800000 -/* 00610 8087D5D0 10400002 */ beq $v0, $zero, .L8087D5DC -/* 00614 8087D5D4 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 00618 8087D5D8 A48E0168 */ sh $t6, 0x0168($a0) ## 00000168 -.L8087D5DC: -/* 0061C 8087D5DC 84EF0032 */ lh $t7, 0x0032($a3) ## 00000032 -/* 00620 8087D5E0 55E00006 */ bnel $t7, $zero, .L8087D5FC -/* 00624 8087D5E4 44810000 */ mtc1 $at, $f0 ## $f0 = -4.00 -/* 00628 8087D5E8 3C014080 */ lui $at, 0x4080 ## $at = 40800000 -/* 0062C 8087D5EC 44810000 */ mtc1 $at, $f0 ## $f0 = 4.00 -/* 00630 8087D5F0 10000004 */ beq $zero, $zero, .L8087D604 -/* 00634 8087D5F4 C4E40008 */ lwc1 $f4, 0x0008($a3) ## 00000008 -/* 00638 8087D5F8 44810000 */ mtc1 $at, $f0 ## $f0 = 4.00 -.L8087D5FC: -/* 0063C 8087D5FC 00000000 */ nop -/* 00640 8087D600 C4E40008 */ lwc1 $f4, 0x0008($a3) ## 00000008 -.L8087D604: -/* 00644 8087D604 AFA70018 */ sw $a3, 0x0018($sp) -/* 00648 8087D608 24E40024 */ addiu $a0, $a3, 0x0024 ## $a0 = 00000024 -/* 0064C 8087D60C 46002180 */ add.s $f6, $f4, $f0 -/* 00650 8087D610 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000 -/* 00654 8087D614 44053000 */ mfc1 $a1, $f6 -/* 00658 8087D618 0C01DE80 */ jal Math_StepToF - -/* 0065C 8087D61C 00000000 */ nop -/* 00660 8087D620 8FA70018 */ lw $a3, 0x0018($sp) -/* 00664 8087D624 24190025 */ addiu $t9, $zero, 0x0025 ## $t9 = 00000025 -/* 00668 8087D628 24062855 */ addiu $a2, $zero, 0x2855 ## $a2 = 00002855 -/* 0066C 8087D62C 84F80168 */ lh $t8, 0x0168($a3) ## 00000168 -/* 00670 8087D630 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 00674 8087D634 5700000A */ bnel $t8, $zero, .L8087D660 -/* 00678 8087D638 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0067C 8087D63C A4F90168 */ sh $t9, 0x0168($a3) ## 00000168 -/* 00680 8087D640 AFA70018 */ sw $a3, 0x0018($sp) -/* 00684 8087D644 0C21F49A */ jal func_8087D268 -/* 00688 8087D648 8FA5001C */ lw $a1, 0x001C($sp) -/* 0068C 8087D64C 8FA70018 */ lw $a3, 0x0018($sp) -/* 00690 8087D650 3C088088 */ lui $t0, %hi(func_8087D66C) ## $t0 = 80880000 -/* 00694 8087D654 2508D66C */ addiu $t0, $t0, %lo(func_8087D66C) ## $t0 = 8087D66C -/* 00698 8087D658 ACE80164 */ sw $t0, 0x0164($a3) ## 00000164 -/* 0069C 8087D65C 8FBF0014 */ lw $ra, 0x0014($sp) -.L8087D660: -/* 006A0 8087D660 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 006A4 8087D664 03E00008 */ jr $ra -/* 006A8 8087D668 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D66C.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D66C.s deleted file mode 100644 index 403c76301b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D66C.s +++ /dev/null @@ -1,52 +0,0 @@ -glabel func_8087D66C -/* 006AC 8087D66C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 006B0 8087D670 AFBF001C */ sw $ra, 0x001C($sp) -/* 006B4 8087D674 AFB00018 */ sw $s0, 0x0018($sp) -/* 006B8 8087D678 AFA50024 */ sw $a1, 0x0024($sp) -/* 006BC 8087D67C 84820168 */ lh $v0, 0x0168($a0) ## 00000168 -/* 006C0 8087D680 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 006C4 8087D684 3C01C1C0 */ lui $at, 0xC1C0 ## $at = C1C00000 -/* 006C8 8087D688 10400002 */ beq $v0, $zero, .L8087D694 -/* 006CC 8087D68C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 006D0 8087D690 A48E0168 */ sh $t6, 0x0168($a0) ## 00000168 -.L8087D694: -/* 006D4 8087D694 860F0032 */ lh $t7, 0x0032($s0) ## 00000032 -/* 006D8 8087D698 55E00006 */ bnel $t7, $zero, .L8087D6B4 -/* 006DC 8087D69C 44810000 */ mtc1 $at, $f0 ## $f0 = -24.00 -/* 006E0 8087D6A0 3C0141C0 */ lui $at, 0x41C0 ## $at = 41C00000 -/* 006E4 8087D6A4 44810000 */ mtc1 $at, $f0 ## $f0 = 24.00 -/* 006E8 8087D6A8 10000004 */ beq $zero, $zero, .L8087D6BC -/* 006EC 8087D6AC C6040008 */ lwc1 $f4, 0x0008($s0) ## 00000008 -/* 006F0 8087D6B0 44810000 */ mtc1 $at, $f0 ## $f0 = 24.00 -.L8087D6B4: -/* 006F4 8087D6B4 00000000 */ nop -/* 006F8 8087D6B8 C6040008 */ lwc1 $f4, 0x0008($s0) ## 00000008 -.L8087D6BC: -/* 006FC 8087D6BC 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024 -/* 00700 8087D6C0 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000 -/* 00704 8087D6C4 46002180 */ add.s $f6, $f4, $f0 -/* 00708 8087D6C8 44053000 */ mfc1 $a1, $f6 -/* 0070C 8087D6CC 0C01DE80 */ jal Math_StepToF - -/* 00710 8087D6D0 00000000 */ nop -/* 00714 8087D6D4 14400003 */ bne $v0, $zero, .L8087D6E4 -/* 00718 8087D6D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0071C 8087D6DC 0C21F42B */ jal func_8087D0AC -/* 00720 8087D6E0 8FA50024 */ lw $a1, 0x0024($sp) -.L8087D6E4: -/* 00724 8087D6E4 86180168 */ lh $t8, 0x0168($s0) ## 00000168 -/* 00728 8087D6E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0072C 8087D6EC 8FA50024 */ lw $a1, 0x0024($sp) -/* 00730 8087D6F0 57000007 */ bnel $t8, $zero, .L8087D710 -/* 00734 8087D6F4 8FBF001C */ lw $ra, 0x001C($sp) -/* 00738 8087D6F8 0C21F49A */ jal func_8087D268 -/* 0073C 8087D6FC 24062856 */ addiu $a2, $zero, 0x2856 ## $a2 = 00002856 -/* 00740 8087D700 3C198088 */ lui $t9, %hi(func_8087D720) ## $t9 = 80880000 -/* 00744 8087D704 2739D720 */ addiu $t9, $t9, %lo(func_8087D720) ## $t9 = 8087D720 -/* 00748 8087D708 AE190164 */ sw $t9, 0x0164($s0) ## 00000164 -/* 0074C 8087D70C 8FBF001C */ lw $ra, 0x001C($sp) -.L8087D710: -/* 00750 8087D710 8FB00018 */ lw $s0, 0x0018($sp) -/* 00754 8087D714 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00758 8087D718 03E00008 */ jr $ra -/* 0075C 8087D71C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D720.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D720.s deleted file mode 100644 index 0be52c2813..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D720.s +++ /dev/null @@ -1,116 +0,0 @@ -.late_rodata -glabel D_8087D970 - .float 9.5873802e-5 -glabel D_8087D974 - .float 0.16001178 - - -.text -glabel func_8087D720 -/* 00760 8087D720 27BDFF80 */ addiu $sp, $sp, 0xFF80 ## $sp = FFFFFF80 -/* 00764 8087D724 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00768 8087D728 AFB00020 */ sw $s0, 0x0020($sp) -/* 0076C 8087D72C 848E0168 */ lh $t6, 0x0168($a0) ## 00000168 -/* 00770 8087D730 24020006 */ addiu $v0, $zero, 0x0006 ## $v0 = 00000006 -/* 00774 8087D734 3C188088 */ lui $t8, %hi(func_8087D8C0) ## $t8 = 80880000 -/* 00778 8087D738 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001 -/* 0077C 8087D73C A48F0168 */ sh $t7, 0x0168($a0) ## 00000168 -/* 00780 8087D740 84830168 */ lh $v1, 0x0168($a0) ## 00000168 -/* 00784 8087D744 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00788 8087D748 2718D8C0 */ addiu $t8, $t8, %lo(func_8087D8C0) ## $t8 = 8087D8C0 -/* 0078C 8087D74C 14430019 */ bne $v0, $v1, .L8087D7B4 -/* 00790 8087D750 00000000 */ nop -/* 00794 8087D754 AC980164 */ sw $t8, 0x0164($a0) ## 00000164 -/* 00798 8087D758 84B907A0 */ lh $t9, 0x07A0($a1) ## 000007A0 -/* 0079C 8087D75C 00194080 */ sll $t0, $t9, 2 -/* 007A0 8087D760 00A84821 */ addu $t1, $a1, $t0 -/* 007A4 8087D764 8D240790 */ lw $a0, 0x0790($t1) ## 00000790 -/* 007A8 8087D768 0C024BE2 */ jal Quake_Add -/* 007AC 8087D76C 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003 -/* 007B0 8087D770 00022400 */ sll $a0, $v0, 16 -/* 007B4 8087D774 AFA20030 */ sw $v0, 0x0030($sp) -/* 007B8 8087D778 00042403 */ sra $a0, $a0, 16 -/* 007BC 8087D77C 0C024B6B */ jal Quake_SetSpeed -/* 007C0 8087D780 24057530 */ addiu $a1, $zero, 0x7530 ## $a1 = 00007530 -/* 007C4 8087D784 87A40032 */ lh $a0, 0x0032($sp) -/* 007C8 8087D788 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004 -/* 007CC 8087D78C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 007D0 8087D790 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 007D4 8087D794 AFA00010 */ sw $zero, 0x0010($sp) -/* 007D8 8087D798 0C024B9C */ jal Quake_SetQuakeValues -/* 007DC 8087D79C AFA4002C */ sw $a0, 0x002C($sp) -/* 007E0 8087D7A0 8FA4002C */ lw $a0, 0x002C($sp) -/* 007E4 8087D7A4 0C024B7C */ jal Quake_SetCountdown -/* 007E8 8087D7A8 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002 -/* 007EC 8087D7AC 10000007 */ beq $zero, $zero, .L8087D7CC -/* 007F0 8087D7B0 86030168 */ lh $v1, 0x0168($s0) ## 00000168 -.L8087D7B4: -/* 007F4 8087D7B4 14600005 */ bne $v1, $zero, .L8087D7CC -/* 007F8 8087D7B8 3C0A8088 */ lui $t2, %hi(func_8087D8C0) ## $t2 = 80880000 -/* 007FC 8087D7BC A6020168 */ sh $v0, 0x0168($s0) ## 00000168 -/* 00800 8087D7C0 254AD8C0 */ addiu $t2, $t2, %lo(func_8087D8C0) ## $t2 = 8087D8C0 -/* 00804 8087D7C4 AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164 -/* 00808 8087D7C8 86030168 */ lh $v1, 0x0168($s0) ## 00000168 -.L8087D7CC: -/* 0080C 8087D7CC 44832000 */ mtc1 $v1, $f4 ## $f4 = 0.00 -/* 00810 8087D7D0 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00814 8087D7D4 44810000 */ mtc1 $at, $f0 ## $f0 = 30.00 -/* 00818 8087D7D8 468021A0 */ cvt.s.w $f6, $f4 -/* 0081C 8087D7DC 3C0141C0 */ lui $at, 0x41C0 ## $at = 41C00000 -/* 00820 8087D7E0 44814000 */ mtc1 $at, $f8 ## $f8 = 24.00 -/* 00824 8087D7E4 3C018088 */ lui $at, %hi(D_8087D958) ## $at = 80880000 -/* 00828 8087D7E8 46083280 */ add.s $f10, $f6, $f8 -/* 0082C 8087D7EC 460A003C */ c.lt.s $f0, $f10 -/* 00830 8087D7F0 E42AD958 */ swc1 $f10, %lo(D_8087D958)($at) -/* 00834 8087D7F4 3C018088 */ lui $at, %hi(D_8087D958) ## $at = 80880000 -/* 00838 8087D7F8 45020003 */ bc1fl .L8087D808 -/* 0083C 8087D7FC 860B0032 */ lh $t3, 0x0032($s0) ## 00000032 -/* 00840 8087D800 E420D958 */ swc1 $f0, %lo(D_8087D958)($at) -/* 00844 8087D804 860B0032 */ lh $t3, 0x0032($s0) ## 00000032 -.L8087D808: -/* 00848 8087D808 3C018088 */ lui $at, %hi(D_8087D970) ## $at = 80880000 -/* 0084C 8087D80C C424D970 */ lwc1 $f4, %lo(D_8087D970)($at) -/* 00850 8087D810 448B8000 */ mtc1 $t3, $f16 ## $f16 = 0.00 -/* 00854 8087D814 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00858 8087D818 468084A0 */ cvt.s.w $f18, $f16 -/* 0085C 8087D81C 46049302 */ mul.s $f12, $f18, $f4 -/* 00860 8087D820 0C034348 */ jal Matrix_RotateY -/* 00864 8087D824 00000000 */ nop -/* 00868 8087D828 860C0168 */ lh $t4, 0x0168($s0) ## 00000168 -/* 0086C 8087D82C 3C018088 */ lui $at, %hi(D_8087D974) ## $at = 80880000 -/* 00870 8087D830 C42AD974 */ lwc1 $f10, %lo(D_8087D974)($at) -/* 00874 8087D834 448C3000 */ mtc1 $t4, $f6 ## $f6 = 0.00 -/* 00878 8087D838 3C058088 */ lui $a1, %hi(D_8087D964) ## $a1 = 80880000 -/* 0087C 8087D83C 24A5D964 */ addiu $a1, $a1, %lo(D_8087D964) ## $a1 = 8087D964 -/* 00880 8087D840 46803220 */ cvt.s.w $f8, $f6 -/* 00884 8087D844 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 -/* 00888 8087D848 460A4302 */ mul.s $f12, $f8, $f10 -/* 0088C 8087D84C 0C0348FF */ jal func_800D23FC -/* 00890 8087D850 00000000 */ nop -/* 00894 8087D854 3C048088 */ lui $a0, %hi(D_8087D958) ## $a0 = 80880000 -/* 00898 8087D858 2484D958 */ addiu $a0, $a0, %lo(D_8087D958) ## $a0 = 8087D958 -/* 0089C 8087D85C 0C0346BD */ jal Matrix_MultVec3f -/* 008A0 8087D860 27A50034 */ addiu $a1, $sp, 0x0034 ## $a1 = FFFFFFB4 -/* 008A4 8087D864 C6100008 */ lwc1 $f16, 0x0008($s0) ## 00000008 -/* 008A8 8087D868 C7B20034 */ lwc1 $f18, 0x0034($sp) -/* 008AC 8087D86C C606000C */ lwc1 $f6, 0x000C($s0) ## 0000000C -/* 008B0 8087D870 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFC0 -/* 008B4 8087D874 46128100 */ add.s $f4, $f16, $f18 -/* 008B8 8087D878 C6100010 */ lwc1 $f16, 0x0010($s0) ## 00000010 -/* 008BC 8087D87C E6040024 */ swc1 $f4, 0x0024($s0) ## 00000024 -/* 008C0 8087D880 C7A80038 */ lwc1 $f8, 0x0038($sp) -/* 008C4 8087D884 46083280 */ add.s $f10, $f6, $f8 -/* 008C8 8087D888 E60A0028 */ swc1 $f10, 0x0028($s0) ## 00000028 -/* 008CC 8087D88C C7B2003C */ lwc1 $f18, 0x003C($sp) -/* 008D0 8087D890 46128100 */ add.s $f4, $f16, $f18 -/* 008D4 8087D894 0C034236 */ jal Matrix_Get -/* 008D8 8087D898 E604002C */ swc1 $f4, 0x002C($s0) ## 0000002C -/* 008DC 8087D89C 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFC0 -/* 008E0 8087D8A0 260500B4 */ addiu $a1, $s0, 0x00B4 ## $a1 = 000000B4 -/* 008E4 8087D8A4 0C034833 */ jal func_800D20CC -/* 008E8 8087D8A8 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 008EC 8087D8AC 8FBF0024 */ lw $ra, 0x0024($sp) -/* 008F0 8087D8B0 8FB00020 */ lw $s0, 0x0020($sp) -/* 008F4 8087D8B4 27BD0080 */ addiu $sp, $sp, 0x0080 ## $sp = 00000000 -/* 008F8 8087D8B8 03E00008 */ jr $ra -/* 008FC 8087D8BC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D8C0.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D8C0.s deleted file mode 100644 index 2a25d15b02..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D8C0.s +++ /dev/null @@ -1,4 +0,0 @@ -glabel func_8087D8C0 -/* 00900 8087D8C0 AFA40000 */ sw $a0, 0x0000($sp) -/* 00904 8087D8C4 03E00008 */ jr $ra -/* 00908 8087D8C8 AFA50004 */ sw $a1, 0x0004($sp) diff --git a/data/overlays/actors/z_bg_haka_huta.data.s b/data/overlays/actors/z_bg_haka_huta.data.s deleted file mode 100644 index ae305b14a0..0000000000 --- a/data/overlays/actors/z_bg_haka_huta.data.s +++ /dev/null @@ -1,30 +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 Bg_Haka_Huta_InitVars - .word 0x00BD0100, 0x00000010, 0x008D0000, 0x0000016C -.word BgHakaHuta_Init -.word BgHakaHuta_Destroy -.word BgHakaHuta_Update -.word BgHakaHuta_Draw -glabel D_8087D940 - .word 0x48500064 -glabel D_8087D944 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_8087D950 - .word 0x1E1432FF -glabel D_8087D954 - .word 0x000000FF -glabel D_8087D958 - .word 0x41F00000, 0x00000000, 0x00000000 -glabel D_8087D964 - .word 0x3D05729B, 0x3EA6CF42, 0xBF71E4F7 - diff --git a/data/overlays/actors/z_bg_haka_huta.reloc.s b/data/overlays/actors/z_bg_haka_huta.reloc.s deleted file mode 100644 index 4f41584822..0000000000 --- a/data/overlays/actors/z_bg_haka_huta.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_8087D980 - .incbin "baserom/ovl_Bg_Haka_Huta", 0x9C0, 0x000000C0 diff --git a/spec b/spec index 053d7171a3..901da63c4b 100644 --- a/spec +++ b/spec @@ -734,8 +734,7 @@ endseg beginseg name "ovl_Bg_Haka_Huta" include "build/src/overlays/actors/ovl_Bg_Haka_Huta/z_bg_haka_huta.o" - include "build/data/overlays/actors/z_bg_haka_huta.data.o" - include "build/data/overlays/actors/z_bg_haka_huta.reloc.o" + include "build/src/overlays/actors/ovl_Bg_Haka_Huta/ovl_Bg_Haka_Huta_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_Bg_Haka_Huta/z_bg_haka_huta.c b/src/overlays/actors/ovl_Bg_Haka_Huta/z_bg_haka_huta.c index b4ea40dbdd..e1f1ee030e 100644 --- a/src/overlays/actors/ovl_Bg_Haka_Huta/z_bg_haka_huta.c +++ b/src/overlays/actors/ovl_Bg_Haka_Huta/z_bg_haka_huta.c @@ -1,3 +1,9 @@ +/* + * File: z_bg_haka_huta.c + * Overlay: ovl_Bg_Haka_Huta + * Description: Coffin Lid + */ + #include "z_bg_haka_huta.h" #define FLAGS 0x00000010 @@ -9,17 +15,17 @@ void BgHakaHuta_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgHakaHuta_Update(Actor* thisx, GlobalContext* globalCtx); void BgHakaHuta_Draw(Actor* thisx, GlobalContext* globalCtx); -void func_8087D0AC(BgHakaHuta* this, GlobalContext* globalCtx); -// void func_8087D268(BgHakaHuta* this, GlobalContext* globalCtx, u16 arg2); not sure about this one -// void func_8087D5B8(BgHakaHuta* this, GlobalContext* globalCtx); not sure about this one -void func_8087D66C(BgHakaHuta* this, GlobalContext* globalCtx); +void BgHakaHuta_SpawnDust(BgHakaHuta* this, GlobalContext* globalCtx); +void func_8087D268(BgHakaHuta* this, GlobalContext* globalCtx, u16 sfx); +void BgHakaHuta_SpawnEnemies(BgHakaHuta* this, GlobalContext* globalCtx); +void BgHakaHuta_Open(BgHakaHuta* this, GlobalContext* globalCtx); +void BgHakaHuta_SlideOpen(BgHakaHuta* this, GlobalContext* globalCtx); void func_8087D720(BgHakaHuta* this, GlobalContext* globalCtx); void func_8087D8C0(BgHakaHuta* this, GlobalContext* globalCtx); -extern UNK_TYPE D_060006B0; -extern UNK_TYPE D_06000870; +extern Gfx D_060006B0[]; +extern CollisionHeader D_06000870; -/* const ActorInit Bg_Haka_Huta_InitVars = { ACTOR_BG_HAKA_HUTA, ACTORCAT_BG, @@ -31,25 +37,183 @@ const ActorInit Bg_Haka_Huta_InitVars = { (ActorFunc)BgHakaHuta_Update, (ActorFunc)BgHakaHuta_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Destroy.s") +static InitChainEntry sInitChain[] = { + ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D0AC.s") +void BgHakaHuta_Init(Actor* thisx, GlobalContext* globalCtx) { + BgHakaHuta* this = THIS; + s16 pad; + CollisionHeader* colHeader; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D268.s") + colHeader = NULL; + Actor_ProcessInitChain(&this->dyna.actor, sInitChain); + DynaPolyActor_Init(&this->dyna, 1); + CollisionHeader_GetVirtual(&D_06000870, &colHeader); + this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader); + this->unk_16A = (thisx->params >> 8) & 0xFF; + this->dyna.actor.params &= 0xFF; + if (Flags_GetSwitch(globalCtx, this->dyna.actor.params)) { + this->counter = -1; + this->actionFunc = func_8087D720; + } else { + this->actionFunc = BgHakaHuta_SpawnEnemies; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D2F0.s") +void BgHakaHuta_Destroy(Actor* thisx, GlobalContext* globalCtx) { + BgHakaHuta* this = THIS; + DynaPoly_DeleteBgActor(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D5B8.s") +void BgHakaHuta_SpawnDust(BgHakaHuta* this, GlobalContext* globalCtx) { + static Vec3f sEffectAccel[] = { 0.0f, 0.0f, 0.0f }; + static Color_RGBA8 primColor = { 30, 20, 50, 255 }; + static Color_RGBA8 envColor = { 0, 0, 0, 255 }; + f32 scale; + f32 phi_f20; + Vec3f effectPos; + Vec3f effectVel; + s32 i; + f32 new_Xpos; + f32 xPosOffset; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D66C.s") + phi_f20 = (this->dyna.actor.world.rot.y == 0) ? 1.0f : -1.0f; + effectVel.y = 0.0f; + effectVel.z = 0.0f; + effectVel.x = -0.5f * phi_f20; + effectPos.y = this->dyna.actor.world.pos.y; + effectPos.z = this->dyna.actor.world.pos.z; + new_Xpos = 50 - ((this->dyna.actor.world.pos.x - this->dyna.actor.home.pos.x) * phi_f20); + xPosOffset = new_Xpos * phi_f20; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D720.s") + for (i = 0; i < 4; i++) { + if (i == 2) { + effectPos.z += 120.0f * phi_f20; + } + effectPos.x = this->dyna.actor.home.pos.x - (Rand_ZeroOne() * xPosOffset); + scale = ((Rand_ZeroOne() * 10.0f) + 50.0f); + func_8002829C(globalCtx, &effectPos, &effectVel, sEffectAccel, &primColor, &envColor, scale, 0xA); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/func_8087D8C0.s") +void func_8087D268(BgHakaHuta* this, GlobalContext* globalCtx, u16 sfx) { + Vec3f pos; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Update.s") + pos.z = (this->dyna.actor.shape.rot.y == 0) ? this->dyna.actor.world.pos.z + 120.0f + : this->dyna.actor.world.pos.z - 120.0f; + pos.x = this->dyna.actor.world.pos.x; + pos.y = this->dyna.actor.world.pos.y; + Audio_PlaySoundAtPosition(globalCtx, &pos, 30, sfx); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Huta/BgHakaHuta_Draw.s") +void BgHakaHuta_SpawnEnemies(BgHakaHuta* this, GlobalContext* globalCtx) { + if (Flags_GetSwitch(globalCtx, this->dyna.actor.params) && !Player_InCsMode(globalCtx)) { + this->counter = 25; + this->actionFunc = BgHakaHuta_Open; + func_800800F8(globalCtx, 0x1771, 0x3E7, &this->dyna.actor, 0); + if (this->unk_16A == 2) { + Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_FIREFLY, + (this->dyna.actor.world.pos.x + (-25.0f) * Math_CosS(this->dyna.actor.shape.rot.y) + + 40.0f * Math_SinS(this->dyna.actor.shape.rot.y)), + this->dyna.actor.world.pos.y - 10.0f, + (this->dyna.actor.world.pos.z - (-25.0f) * Math_SinS(this->dyna.actor.shape.rot.y) + + Math_CosS(this->dyna.actor.shape.rot.y) * 40.0f), + 0, this->dyna.actor.shape.rot.y + 0x8000, 0, 2); + + Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_FIREFLY, + (this->dyna.actor.world.pos.x + (-25.0f) * (Math_CosS(this->dyna.actor.shape.rot.y)) + + Math_SinS(this->dyna.actor.shape.rot.y) * 80.0f), + this->dyna.actor.world.pos.y - 10.0f, + (this->dyna.actor.world.pos.z - (-25.0f) * (Math_SinS(this->dyna.actor.shape.rot.y)) + + Math_CosS(this->dyna.actor.shape.rot.y) * 80.0f), + 0, this->dyna.actor.shape.rot.y, 0, 2); + + } else if (this->unk_16A == 1) { + Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_RD, + (this->dyna.actor.home.pos.x + (-25.0f) * (Math_CosS(this->dyna.actor.shape.rot.y)) + + Math_SinS(this->dyna.actor.shape.rot.y) * 100.0f), + this->dyna.actor.home.pos.y - 40.0f, + (this->dyna.actor.home.pos.z - (-25.0f) * (Math_SinS(this->dyna.actor.shape.rot.y)) + + Math_CosS(this->dyna.actor.shape.rot.y) * 100.0f), + 0, this->dyna.actor.shape.rot.y, 0, 0xFD); + } + } +} + +void BgHakaHuta_Open(BgHakaHuta* this, GlobalContext* globalCtx) { + f32 posOffset; + + if (this->counter != 0) { + this->counter--; + } + posOffset = (this->dyna.actor.world.rot.y == 0) ? 4.0f : -4.0f; + Math_StepToF(&this->dyna.actor.world.pos.x, this->dyna.actor.home.pos.x + posOffset, 2.0f); + if (this->counter == 0) { + this->counter = 37; + func_8087D268(this, globalCtx, NA_SE_EV_COFFIN_CAP_OPEN); + this->actionFunc = BgHakaHuta_SlideOpen; + } +} + +void BgHakaHuta_SlideOpen(BgHakaHuta* this, GlobalContext* globalCtx) { + f32 posOffset; + + if (this->counter != 0) { + this->counter--; + } + posOffset = (this->dyna.actor.world.rot.y == 0) ? 24.0f : -24.0f; + if (!Math_StepToF(&this->dyna.actor.world.pos.x, this->dyna.actor.home.pos.x + posOffset, 0.5f)) { + BgHakaHuta_SpawnDust(this, globalCtx); + } + if (this->counter == 0) { + func_8087D268(this, globalCtx, NA_SE_EV_COFFIN_CAP_BOUND); + this->actionFunc = func_8087D720; + } +} + +void func_8087D720(BgHakaHuta* this, GlobalContext* globalCtx) { + static Vec3f D_8087D958 = { 30.0f, 0.0f, 0.0f }; + static Vec3f D_8087D964 = { 0.032579999f, 0.325800001f, -0.944899976f }; + MtxF mtx; + Vec3f vec; + s32 quakeIndex; + + this->counter++; + if (this->counter == 6) { + this->actionFunc = func_8087D8C0; + quakeIndex = Quake_Add(ACTIVE_CAM, 3); + Quake_SetSpeed(quakeIndex, 0x7530); + Quake_SetQuakeValues(quakeIndex, 4, 0, 0, 0); + Quake_SetCountdown(quakeIndex, 2); + } else if (this->counter == 0) { + this->counter = 6; + this->actionFunc = func_8087D8C0; + } + + D_8087D958.x = this->counter + 24.0f; + if (D_8087D958.x > 30.0f) { + D_8087D958.x = 30.0f; + } + Matrix_RotateY(this->dyna.actor.world.rot.y * (M_PI / 0x8000), 0); + func_800D23FC(this->counter * (191 * M_PI / 3750), &D_8087D964, 1); + Matrix_MultVec3f(&D_8087D958, &vec); + this->dyna.actor.world.pos.x = this->dyna.actor.home.pos.x + vec.x; + this->dyna.actor.world.pos.y = this->dyna.actor.home.pos.y + vec.y; + this->dyna.actor.world.pos.z = this->dyna.actor.home.pos.z + vec.z; + Matrix_Get(&mtx); + func_800D20CC(&mtx, &this->dyna.actor.shape.rot, 0); +} + +void func_8087D8C0(BgHakaHuta* this, GlobalContext* globalCtx) { +} + +void BgHakaHuta_Update(Actor* thisx, GlobalContext* globalCtx) { + BgHakaHuta* this = THIS; + this->actionFunc(this, globalCtx); +} + +void BgHakaHuta_Draw(Actor* thisx, GlobalContext* globalCtx) { + Gfx_DrawDListOpa(globalCtx, D_060006B0); +} diff --git a/src/overlays/actors/ovl_Bg_Haka_Huta/z_bg_haka_huta.h b/src/overlays/actors/ovl_Bg_Haka_Huta/z_bg_haka_huta.h index 38903cff2e..6543e90ed5 100644 --- a/src/overlays/actors/ovl_Bg_Haka_Huta/z_bg_haka_huta.h +++ b/src/overlays/actors/ovl_Bg_Haka_Huta/z_bg_haka_huta.h @@ -11,7 +11,8 @@ typedef void (*BgHakaHutaActionFunc)(struct BgHakaHuta*, GlobalContext*); typedef struct BgHakaHuta { /* 0x0000 */ DynaPolyActor dyna; /* 0x0164 */ BgHakaHutaActionFunc actionFunc; - /* 0x0168 */ char unk_168[0x4]; + /* 0x0168 */ s16 counter; + /* 0x016A */ s16 unk_16A; } BgHakaHuta; // size = 0x016C extern const ActorInit Bg_Haka_Huta_InitVars;