diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/BgHidanDalm_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/BgHidanDalm_Destroy.s deleted file mode 100644 index 04c26efabc..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/BgHidanDalm_Destroy.s +++ /dev/null @@ -1,20 +0,0 @@ -glabel BgHidanDalm_Destroy -/* 000E4 80885F04 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 000E8 80885F08 AFA40018 */ sw $a0, 0x0018($sp) -/* 000EC 80885F0C 8FAE0018 */ lw $t6, 0x0018($sp) -/* 000F0 80885F10 AFBF0014 */ sw $ra, 0x0014($sp) -/* 000F4 80885F14 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000 -/* 000F8 80885F18 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 000FC 80885F1C 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C -/* 00100 80885F20 AFA7001C */ sw $a3, 0x001C($sp) -/* 00104 80885F24 0C00FB56 */ jal DynaPolyInfo_Free - ## DynaPolyInfo_delReserve -/* 00108 80885F28 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810 -/* 0010C 80885F2C 8FA50018 */ lw $a1, 0x0018($sp) -/* 00110 80885F30 8FA4001C */ lw $a0, 0x001C($sp) -/* 00114 80885F34 0C017232 */ jal Collider_DestroyTris -/* 00118 80885F38 24A5016C */ addiu $a1, $a1, 0x016C ## $a1 = 0000016C -/* 0011C 80885F3C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00120 80885F40 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00124 80885F44 03E00008 */ jr $ra -/* 00128 80885F48 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/BgHidanDalm_Draw.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/BgHidanDalm_Draw.s deleted file mode 100644 index 451077c3c7..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/BgHidanDalm_Draw.s +++ /dev/null @@ -1,37 +0,0 @@ -glabel BgHidanDalm_Draw -/* 005E4 80886404 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 005E8 80886408 AFBF0014 */ sw $ra, 0x0014($sp) -/* 005EC 8088640C 848E001C */ lh $t6, 0x001C($a0) ## 0000001C -/* 005F0 80886410 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 005F4 80886414 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000 -/* 005F8 80886418 15C00008 */ bne $t6, $zero, .L8088643C -/* 005FC 8088641C 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 00600 80886420 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00604 80886424 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 -/* 00608 80886428 24A5BBF0 */ addiu $a1, $a1, 0xBBF0 ## $a1 = 0600BBF0 -/* 0060C 8088642C 0C00D498 */ jal Gfx_DrawDListOpa - -/* 00610 80886430 AFA60018 */ sw $a2, 0x0018($sp) -/* 00614 80886434 10000006 */ beq $zero, $zero, .L80886450 -/* 00618 80886438 8FA60018 */ lw $a2, 0x0018($sp) -.L8088643C: -/* 0061C 8088643C 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 -/* 00620 80886440 24A5BDF0 */ addiu $a1, $a1, 0xBDF0 ## $a1 = 0600BDF0 -/* 00624 80886444 0C00D498 */ jal Gfx_DrawDListOpa - -/* 00628 80886448 AFA60018 */ sw $a2, 0x0018($sp) -/* 0062C 8088644C 8FA60018 */ lw $a2, 0x0018($sp) -.L80886450: -/* 00630 80886450 8CD80164 */ lw $t8, 0x0164($a2) ## 00000164 -/* 00634 80886454 3C0F8088 */ lui $t7, %hi(func_80885F4C) ## $t7 = 80880000 -/* 00638 80886458 25EF5F4C */ addiu $t7, $t7, %lo(func_80885F4C) ## $t7 = 80885F4C -/* 0063C 8088645C 55F80004 */ bnel $t7, $t8, .L80886470 -/* 00640 80886460 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00644 80886464 0C2218B6 */ jal func_808862D8 -/* 00648 80886468 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000 -/* 0064C 8088646C 8FBF0014 */ lw $ra, 0x0014($sp) -.L80886470: -/* 00650 80886470 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00654 80886474 03E00008 */ jr $ra -/* 00658 80886478 00000000 */ nop -/* 0065C 8088647C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/BgHidanDalm_Init.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/BgHidanDalm_Init.s deleted file mode 100644 index 9b0bb5ca20..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/BgHidanDalm_Init.s +++ /dev/null @@ -1,66 +0,0 @@ -glabel BgHidanDalm_Init -/* 00000 80885E20 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00004 80885E24 AFB10020 */ sw $s1, 0x0020($sp) -/* 00008 80885E28 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 0000C 80885E2C AFBF0024 */ sw $ra, 0x0024($sp) -/* 00010 80885E30 AFB0001C */ sw $s0, 0x001C($sp) -/* 00014 80885E34 3C058088 */ lui $a1, %hi(D_808865A0) ## $a1 = 80880000 -/* 00018 80885E38 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0001C 80885E3C AFA0002C */ sw $zero, 0x002C($sp) -/* 00020 80885E40 0C01E037 */ jal Actor_ProcessInitChain - -/* 00024 80885E44 24A565A0 */ addiu $a1, $a1, %lo(D_808865A0) ## $a1 = 808865A0 -/* 00028 80885E48 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0002C 80885E4C 0C010D20 */ jal DynaPolyInfo_SetActorMove - -/* 00030 80885E50 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00034 80885E54 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000 -/* 00038 80885E58 2484DA10 */ addiu $a0, $a0, 0xDA10 ## $a0 = 0600DA10 -/* 0003C 80885E5C 0C010620 */ jal DynaPolyInfo_Alloc - -/* 00040 80885E60 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFF4 -/* 00044 80885E64 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00048 80885E68 26250810 */ addiu $a1, $s1, 0x0810 ## $a1 = 00000810 -/* 0004C 80885E6C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00050 80885E70 0C00FA9D */ jal DynaPolyInfo_RegisterActor - ## DynaPolyInfo_setActor -/* 00054 80885E74 8FA7002C */ lw $a3, 0x002C($sp) -/* 00058 80885E78 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C -/* 0005C 80885E7C 2605016C */ addiu $a1, $s0, 0x016C ## $a1 = 0000016C -/* 00060 80885E80 AFA50028 */ sw $a1, 0x0028($sp) -/* 00064 80885E84 0C0171F8 */ jal Collider_InitTris -/* 00068 80885E88 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 0006C 80885E8C 3C078088 */ lui $a3, %hi(D_80886590) ## $a3 = 80880000 -/* 00070 80885E90 260E018C */ addiu $t6, $s0, 0x018C ## $t6 = 0000018C -/* 00074 80885E94 8FA50028 */ lw $a1, 0x0028($sp) -/* 00078 80885E98 AFAE0010 */ sw $t6, 0x0010($sp) -/* 0007C 80885E9C 24E76590 */ addiu $a3, $a3, %lo(D_80886590) ## $a3 = 80886590 -/* 00080 80885EA0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00084 80885EA4 0C0172EB */ jal Collider_SetTris -/* 00088 80885EA8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 0008C 80885EAC 860F001C */ lh $t7, 0x001C($s0) ## 0000001C -/* 00090 80885EB0 8608001C */ lh $t0, 0x001C($s0) ## 0000001C -/* 00094 80885EB4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00098 80885EB8 000FCA03 */ sra $t9, $t7, 8 -/* 0009C 80885EBC 310900FF */ andi $t1, $t0, 0x00FF ## $t1 = 00000000 -/* 000A0 80885EC0 A2190168 */ sb $t9, 0x0168($s0) ## 00000168 -/* 000A4 80885EC4 A609001C */ sh $t1, 0x001C($s0) ## 0000001C -/* 000A8 80885EC8 0C00B2D0 */ jal Flags_GetSwitch - -/* 000AC 80885ECC 332500FF */ andi $a1, $t9, 0x00FF ## $a1 = 00000000 -/* 000B0 80885ED0 10400005 */ beq $v0, $zero, .L80885EE8 -/* 000B4 80885ED4 3C0A8088 */ lui $t2, %hi(func_80885F4C) ## $t2 = 80880000 -/* 000B8 80885ED8 0C00B55C */ jal Actor_Kill - -/* 000BC 80885EDC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 000C0 80885EE0 10000004 */ beq $zero, $zero, .L80885EF4 -/* 000C4 80885EE4 8FBF0024 */ lw $ra, 0x0024($sp) -.L80885EE8: -/* 000C8 80885EE8 254A5F4C */ addiu $t2, $t2, %lo(func_80885F4C) ## $t2 = 00005F4C -/* 000CC 80885EEC AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164 -/* 000D0 80885EF0 8FBF0024 */ lw $ra, 0x0024($sp) -.L80885EF4: -/* 000D4 80885EF4 8FB0001C */ lw $s0, 0x001C($sp) -/* 000D8 80885EF8 8FB10020 */ lw $s1, 0x0020($sp) -/* 000DC 80885EFC 03E00008 */ jr $ra -/* 000E0 80885F00 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/BgHidanDalm_Update.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/BgHidanDalm_Update.s deleted file mode 100644 index 71012329c1..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/BgHidanDalm_Update.s +++ /dev/null @@ -1,25 +0,0 @@ -glabel BgHidanDalm_Update -/* 0045C 8088627C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00460 80886280 AFBF001C */ sw $ra, 0x001C($sp) -/* 00464 80886284 AFA50024 */ sw $a1, 0x0024($sp) -/* 00468 80886288 AFA40020 */ sw $a0, 0x0020($sp) -/* 0046C 8088628C 8C990164 */ lw $t9, 0x0164($a0) ## 00000164 -/* 00470 80886290 0320F809 */ jalr $ra, $t9 -/* 00474 80886294 00000000 */ nop -/* 00478 80886298 0C00B638 */ jal Actor_MoveForward - -/* 0047C 8088629C 8FA40020 */ lw $a0, 0x0020($sp) -/* 00480 808862A0 3C014200 */ lui $at, 0x4200 ## $at = 42000000 -/* 00484 808862A4 44812000 */ mtc1 $at, $f4 ## $f4 = 32.00 -/* 00488 808862A8 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005 -/* 0048C 808862AC AFAE0014 */ sw $t6, 0x0014($sp) -/* 00490 808862B0 8FA40024 */ lw $a0, 0x0024($sp) -/* 00494 808862B4 8FA50020 */ lw $a1, 0x0020($sp) -/* 00498 808862B8 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000 -/* 0049C 808862BC 3C074170 */ lui $a3, 0x4170 ## $a3 = 41700000 -/* 004A0 808862C0 0C00B92D */ jal func_8002E4B4 -/* 004A4 808862C4 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 004A8 808862C8 8FBF001C */ lw $ra, 0x001C($sp) -/* 004AC 808862CC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 004B0 808862D0 03E00008 */ jr $ra -/* 004B4 808862D4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/func_80885F4C.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/func_80885F4C.s deleted file mode 100644 index 14bd7738d6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/func_80885F4C.s +++ /dev/null @@ -1,109 +0,0 @@ -glabel func_80885F4C -/* 0012C 80885F4C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00130 80885F50 AFBF001C */ sw $ra, 0x001C($sp) -/* 00134 80885F54 AFB10018 */ sw $s1, 0x0018($sp) -/* 00138 80885F58 AFB00014 */ sw $s0, 0x0014($sp) -/* 0013C 80885F5C 908E017D */ lbu $t6, 0x017D($a0) ## 0000017D -/* 00140 80885F60 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00144 80885F64 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 00148 80885F68 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000 -/* 0014C 80885F6C 11E0004C */ beq $t7, $zero, .L808860A0 -/* 00150 80885F70 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44 -/* 00154 80885F74 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00158 80885F78 0C023A62 */ jal func_8008E988 -/* 0015C 80885F7C AFA30024 */ sw $v1, 0x0024($sp) -/* 00160 80885F80 14400047 */ bne $v0, $zero, .L808860A0 -/* 00164 80885F84 8FA30024 */ lw $v1, 0x0024($sp) -/* 00168 80885F88 80620842 */ lb $v0, 0x0842($v1) ## 00000842 -/* 0016C 80885F8C 24010016 */ addiu $at, $zero, 0x0016 ## $at = 00000016 -/* 00170 80885F90 10410003 */ beq $v0, $at, .L80885FA0 -/* 00174 80885F94 24010017 */ addiu $at, $zero, 0x0017 ## $at = 00000017 -/* 00178 80885F98 54410042 */ bnel $v0, $at, .L808860A4 -/* 0017C 80885F9C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -.L80885FA0: -/* 00180 80885FA0 9218017D */ lbu $t8, 0x017D($s0) ## 0000017D -/* 00184 80885FA4 8E020188 */ lw $v0, 0x0188($s0) ## 00000188 -/* 00188 80885FA8 3319FFFD */ andi $t9, $t8, 0xFFFD ## $t9 = 00000000 -/* 0018C 80885FAC A219017D */ sb $t9, 0x017D($s0) ## 0000017D -/* 00190 80885FB0 90480016 */ lbu $t0, 0x0016($v0) ## 00000016 -/* 00194 80885FB4 31090002 */ andi $t1, $t0, 0x0002 ## $t1 = 00000000 -/* 00198 80885FB8 55200006 */ bnel $t1, $zero, .L80885FD4 -/* 0019C 80885FBC 860C0032 */ lh $t4, 0x0032($s0) ## 00000032 -/* 001A0 80885FC0 904A0072 */ lbu $t2, 0x0072($v0) ## 00000072 -/* 001A4 80885FC4 314B0002 */ andi $t3, $t2, 0x0002 ## $t3 = 00000000 -/* 001A8 80885FC8 51600006 */ beql $t3, $zero, .L80885FE4 -/* 001AC 80885FCC 860E0032 */ lh $t6, 0x0032($s0) ## 00000032 -/* 001B0 80885FD0 860C0032 */ lh $t4, 0x0032($s0) ## 00000032 -.L80885FD4: -/* 001B4 80885FD4 258DC000 */ addiu $t5, $t4, 0xC000 ## $t5 = FFFFC000 -/* 001B8 80885FD8 10000004 */ beq $zero, $zero, .L80885FEC -/* 001BC 80885FDC A60D0032 */ sh $t5, 0x0032($s0) ## 00000032 -/* 001C0 80885FE0 860E0032 */ lh $t6, 0x0032($s0) ## 00000032 -.L80885FE4: -/* 001C4 80885FE4 25CF4000 */ addiu $t7, $t6, 0x4000 ## $t7 = 00004000 -/* 001C8 80885FE8 A60F0032 */ sh $t7, 0x0032($s0) ## 00000032 -.L80885FEC: -/* 001CC 80885FEC 0C01DE1C */ jal Math_Sins - ## sins? -/* 001D0 80885FF0 86040032 */ lh $a0, 0x0032($s0) ## 00000032 -/* 001D4 80885FF4 3C014202 */ lui $at, 0x4202 ## $at = 42020000 -/* 001D8 80885FF8 44813000 */ mtc1 $at, $f6 ## $f6 = 32.50 -/* 001DC 80885FFC C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024 -/* 001E0 80886000 86040032 */ lh $a0, 0x0032($s0) ## 00000032 -/* 001E4 80886004 46003202 */ mul.s $f8, $f6, $f0 -/* 001E8 80886008 46082280 */ add.s $f10, $f4, $f8 -/* 001EC 8088600C 0C01DE0D */ jal Math_Coss - ## coss? -/* 001F0 80886010 E60A0024 */ swc1 $f10, 0x0024($s0) ## 00000024 -/* 001F4 80886014 3C014202 */ lui $at, 0x4202 ## $at = 42020000 -/* 001F8 80886018 44819000 */ mtc1 $at, $f18 ## $f18 = 32.50 -/* 001FC 8088601C C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C -/* 00200 80886020 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00204 80886024 46009182 */ mul.s $f6, $f18, $f0 -/* 00208 80886028 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 0020C 8088602C 24060008 */ addiu $a2, $zero, 0x0008 ## $a2 = 00000008 -/* 00210 80886030 46068100 */ add.s $f4, $f16, $f6 -/* 00214 80886034 0C00B7D5 */ jal func_8002DF54 -/* 00218 80886038 E604002C */ swc1 $f4, 0x002C($s0) ## 0000002C -/* 0021C 8088603C 96090088 */ lhu $t1, 0x0088($s0) ## 00000088 -/* 00220 80886040 8E180004 */ lw $t8, 0x0004($s0) ## 00000004 -/* 00224 80886044 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00228 80886048 312BFFFD */ andi $t3, $t1, 0xFFFD ## $t3 = 00000000 -/* 0022C 8088604C 44814000 */ mtc1 $at, $f8 ## $f8 = 10.00 -/* 00230 80886050 3C088088 */ lui $t0, %hi(func_808860CC) ## $t0 = 80880000 -/* 00234 80886054 250860CC */ addiu $t0, $t0, %lo(func_808860CC) ## $t0 = 808860CC -/* 00238 80886058 A60B0088 */ sh $t3, 0x0088($s0) ## 00000088 -/* 0023C 8088605C 316CFFF7 */ andi $t4, $t3, 0xFFF7 ## $t4 = 00000000 -/* 00240 80886060 37190010 */ ori $t9, $t8, 0x0010 ## $t9 = 00000010 -/* 00244 80886064 AE190004 */ sw $t9, 0x0004($s0) ## 00000004 -/* 00248 80886068 AE080164 */ sw $t0, 0x0164($s0) ## 00000164 -/* 0024C 8088606C A60C0088 */ sh $t4, 0x0088($s0) ## 00000088 -/* 00250 80886070 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00254 80886074 92050168 */ lbu $a1, 0x0168($s0) ## 00000168 -/* 00258 80886078 0C00B2DD */ jal Flags_SetSwitch - -/* 0025C 8088607C E6080068 */ swc1 $f8, 0x0068($s0) ## 00000068 -/* 00260 80886080 8E241C44 */ lw $a0, 0x1C44($s1) ## 00001C44 -/* 00264 80886084 0C00BDF7 */ jal func_8002F7DC -/* 00268 80886088 2405180A */ addiu $a1, $zero, 0x180A ## $a1 = 0000180A -/* 0026C 8088608C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00270 80886090 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00274 80886094 240528B7 */ addiu $a1, $zero, 0x28B7 ## $a1 = 000028B7 -/* 00278 80886098 10000008 */ beq $zero, $zero, .L808860BC -/* 0027C 8088609C 8FBF001C */ lw $ra, 0x001C($sp) -.L808860A0: -/* 00280 808860A0 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -.L808860A4: -/* 00284 808860A4 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00288 808860A8 02212821 */ addu $a1, $s1, $at -/* 0028C 808860AC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00290 808860B0 0C01767D */ jal CollisionCheck_SetAC - ## CollisionCheck_setAC -/* 00294 808860B4 2606016C */ addiu $a2, $s0, 0x016C ## $a2 = 0000016C -/* 00298 808860B8 8FBF001C */ lw $ra, 0x001C($sp) -.L808860BC: -/* 0029C 808860BC 8FB00014 */ lw $s0, 0x0014($sp) -/* 002A0 808860C0 8FB10018 */ lw $s1, 0x0018($sp) -/* 002A4 808860C4 03E00008 */ jr $ra -/* 002A8 808860C8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/func_808860CC.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/func_808860CC.s deleted file mode 100644 index 725c5deb01..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/func_808860CC.s +++ /dev/null @@ -1,118 +0,0 @@ -glabel func_808860CC -/* 002AC 808860CC 27BDFF88 */ addiu $sp, $sp, 0xFF88 ## $sp = FFFFFF88 -/* 002B0 808860D0 AFB70050 */ sw $s7, 0x0050($sp) -/* 002B4 808860D4 AFB10038 */ sw $s1, 0x0038($sp) -/* 002B8 808860D8 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 002BC 808860DC 00A0B825 */ or $s7, $a1, $zero ## $s7 = 00000000 -/* 002C0 808860E0 AFBF0054 */ sw $ra, 0x0054($sp) -/* 002C4 808860E4 3C063B83 */ lui $a2, 0x3B83 ## $a2 = 3B830000 -/* 002C8 808860E8 AFB6004C */ sw $s6, 0x004C($sp) -/* 002CC 808860EC AFB50048 */ sw $s5, 0x0048($sp) -/* 002D0 808860F0 AFB40044 */ sw $s4, 0x0044($sp) -/* 002D4 808860F4 AFB30040 */ sw $s3, 0x0040($sp) -/* 002D8 808860F8 AFB2003C */ sw $s2, 0x003C($sp) -/* 002DC 808860FC AFB00034 */ sw $s0, 0x0034($sp) -/* 002E0 80886100 F7BA0028 */ sdc1 $f26, 0x0028($sp) -/* 002E4 80886104 F7B80020 */ sdc1 $f24, 0x0020($sp) -/* 002E8 80886108 F7B60018 */ sdc1 $f22, 0x0018($sp) -/* 002EC 8088610C F7B40010 */ sdc1 $f20, 0x0010($sp) -/* 002F0 80886110 34C6126F */ ori $a2, $a2, 0x126F ## $a2 = 3B83126F -/* 002F4 80886114 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 002F8 80886118 0C01DE80 */ jal Math_ApproxF - -/* 002FC 8088611C 24840050 */ addiu $a0, $a0, 0x0050 ## $a0 = 00000050 -/* 00300 80886120 10400006 */ beq $v0, $zero, .L8088613C -/* 00304 80886124 02E02025 */ or $a0, $s7, $zero ## $a0 = 00000000 -/* 00308 80886128 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 0030C 8088612C 0C00B7D5 */ jal func_8002DF54 -/* 00310 80886130 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007 -/* 00314 80886134 0C00B55C */ jal Actor_Kill - -/* 00318 80886138 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -.L8088613C: -/* 0031C 8088613C C6340050 */ lwc1 $f20, 0x0050($s1) ## 00000050 -/* 00320 80886140 C6240024 */ lwc1 $f4, 0x0024($s1) ## 00000024 -/* 00324 80886144 3C014320 */ lui $at, 0x4320 ## $at = 43200000 -/* 00328 80886148 E6340058 */ swc1 $f20, 0x0058($s1) ## 00000058 -/* 0032C 8088614C E6340054 */ swc1 $f20, 0x0054($s1) ## 00000054 -/* 00330 80886150 E7A4005C */ swc1 $f4, 0x005C($sp) -/* 00334 80886154 C6260050 */ lwc1 $f6, 0x0050($s1) ## 00000050 -/* 00338 80886158 44814000 */ mtc1 $at, $f8 ## $f8 = 160.00 -/* 0033C 8088615C C6300028 */ lwc1 $f16, 0x0028($s1) ## 00000028 -/* 00340 80886160 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000 -/* 00344 80886164 46083282 */ mul.s $f10, $f6, $f8 -/* 00348 80886168 4481D000 */ mtc1 $at, $f26 ## $f26 = 1.50 -/* 0034C 8088616C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00350 80886170 4481C000 */ mtc1 $at, $f24 ## $f24 = 0.50 -/* 00354 80886174 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 00358 80886178 3C158088 */ lui $s5, %hi(D_808865A8) ## $s5 = 80880000 -/* 0035C 8088617C 4481B000 */ mtc1 $at, $f22 ## $f22 = 5.00 -/* 00360 80886180 460A8480 */ add.s $f18, $f16, $f10 -/* 00364 80886184 26B565A8 */ addiu $s5, $s5, %lo(D_808865A8) ## $s5 = 808865A8 -/* 00368 80886188 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 0036C 8088618C 24160004 */ addiu $s6, $zero, 0x0004 ## $s6 = 00000004 -/* 00370 80886190 E7B20060 */ swc1 $f18, 0x0060($sp) -/* 00374 80886194 C624002C */ lwc1 $f4, 0x002C($s1) ## 0000002C -/* 00378 80886198 27B40068 */ addiu $s4, $sp, 0x0068 ## $s4 = FFFFFFF0 -/* 0037C 8088619C 27B3005C */ addiu $s3, $sp, 0x005C ## $s3 = FFFFFFE4 -/* 00380 808861A0 34128000 */ ori $s2, $zero, 0x8000 ## $s2 = 00008000 -/* 00384 808861A4 E7A40064 */ swc1 $f4, 0x0064($sp) -/* 00388 808861A8 862E0032 */ lh $t6, 0x0032($s1) ## 00000032 -.L808861AC: -/* 0038C 808861AC 01D22021 */ addu $a0, $t6, $s2 -/* 00390 808861B0 00042400 */ sll $a0, $a0, 16 -/* 00394 808861B4 0C01DE1C */ jal Math_Sins - ## sins? -/* 00398 808861B8 00042403 */ sra $a0, $a0, 16 -/* 0039C 808861BC 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 003A0 808861C0 46000506 */ mov.s $f20, $f0 -/* 003A4 808861C4 46180181 */ sub.s $f6, $f0, $f24 -/* 003A8 808861C8 46163202 */ mul.s $f8, $f6, $f22 -/* 003AC 808861CC 00000000 */ nop -/* 003B0 808861D0 4614B402 */ mul.s $f16, $f22, $f20 -/* 003B4 808861D4 46104280 */ add.s $f10, $f8, $f16 -/* 003B8 808861D8 E7AA0068 */ swc1 $f10, 0x0068($sp) -/* 003BC 808861DC 862F0032 */ lh $t7, 0x0032($s1) ## 00000032 -/* 003C0 808861E0 01F22021 */ addu $a0, $t7, $s2 -/* 003C4 808861E4 00042400 */ sll $a0, $a0, 16 -/* 003C8 808861E8 0C01DE0D */ jal Math_Coss - ## coss? -/* 003CC 808861EC 00042403 */ sra $a0, $a0, 16 -/* 003D0 808861F0 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 003D4 808861F4 46000506 */ mov.s $f20, $f0 -/* 003D8 808861F8 46180481 */ sub.s $f18, $f0, $f24 -/* 003DC 808861FC 46169102 */ mul.s $f4, $f18, $f22 -/* 003E0 80886200 00000000 */ nop -/* 003E4 80886204 4614B182 */ mul.s $f6, $f22, $f20 -/* 003E8 80886208 46062200 */ add.s $f8, $f4, $f6 -/* 003EC 8088620C 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 003F0 80886210 E7A80070 */ swc1 $f8, 0x0070($sp) -/* 003F4 80886214 46180401 */ sub.s $f16, $f0, $f24 -/* 003F8 80886218 02E02025 */ or $a0, $s7, $zero ## $a0 = 00000000 -/* 003FC 8088621C 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFE4 -/* 00400 80886220 02803025 */ or $a2, $s4, $zero ## $a2 = FFFFFFF0 -/* 00404 80886224 461A8282 */ mul.s $f10, $f16, $f26 -/* 00408 80886228 02A03825 */ or $a3, $s5, $zero ## $a3 = 808865A8 -/* 0040C 8088622C 0C00A2C6 */ jal func_80028B18 -/* 00410 80886230 E7AA006C */ swc1 $f10, 0x006C($sp) -/* 00414 80886234 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 00418 80886238 5616FFDC */ bnel $s0, $s6, .L808861AC -/* 0041C 8088623C 862E0032 */ lh $t6, 0x0032($s1) ## 00000032 -/* 00420 80886240 8FBF0054 */ lw $ra, 0x0054($sp) -/* 00424 80886244 D7B40010 */ ldc1 $f20, 0x0010($sp) -/* 00428 80886248 D7B60018 */ ldc1 $f22, 0x0018($sp) -/* 0042C 8088624C D7B80020 */ ldc1 $f24, 0x0020($sp) -/* 00430 80886250 D7BA0028 */ ldc1 $f26, 0x0028($sp) -/* 00434 80886254 8FB00034 */ lw $s0, 0x0034($sp) -/* 00438 80886258 8FB10038 */ lw $s1, 0x0038($sp) -/* 0043C 8088625C 8FB2003C */ lw $s2, 0x003C($sp) -/* 00440 80886260 8FB30040 */ lw $s3, 0x0040($sp) -/* 00444 80886264 8FB40044 */ lw $s4, 0x0044($sp) -/* 00448 80886268 8FB50048 */ lw $s5, 0x0048($sp) -/* 0044C 8088626C 8FB6004C */ lw $s6, 0x004C($sp) -/* 00450 80886270 8FB70050 */ lw $s7, 0x0050($sp) -/* 00454 80886274 03E00008 */ jr $ra -/* 00458 80886278 27BD0078 */ addiu $sp, $sp, 0x0078 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/func_808862D8.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/func_808862D8.s deleted file mode 100644 index 0d7cb7051b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/func_808862D8.s +++ /dev/null @@ -1,76 +0,0 @@ -glabel func_808862D8 -/* 004B8 808862D8 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8 -/* 004BC 808862DC AFB30028 */ sw $s3, 0x0028($sp) -/* 004C0 808862E0 AFA40058 */ sw $a0, 0x0058($sp) -/* 004C4 808862E4 27B30034 */ addiu $s3, $sp, 0x0034 ## $s3 = FFFFFFDC -/* 004C8 808862E8 AFBF002C */ sw $ra, 0x002C($sp) -/* 004CC 808862EC 3C048088 */ lui $a0, %hi(D_808864B8) ## $a0 = 80880000 -/* 004D0 808862F0 AFB20024 */ sw $s2, 0x0024($sp) -/* 004D4 808862F4 AFB10020 */ sw $s1, 0x0020($sp) -/* 004D8 808862F8 AFB0001C */ sw $s0, 0x001C($sp) -/* 004DC 808862FC 248464B8 */ addiu $a0, $a0, %lo(D_808864B8) ## $a0 = 808864B8 -/* 004E0 80886300 0C0346BD */ jal Matrix_MultVec3f -/* 004E4 80886304 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFDC -/* 004E8 80886308 27B10040 */ addiu $s1, $sp, 0x0040 ## $s1 = FFFFFFE8 -/* 004EC 8088630C 3C048088 */ lui $a0, %hi(D_808864C4) ## $a0 = 80880000 -/* 004F0 80886310 248464C4 */ addiu $a0, $a0, %lo(D_808864C4) ## $a0 = 808864C4 -/* 004F4 80886314 0C0346BD */ jal Matrix_MultVec3f -/* 004F8 80886318 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFE8 -/* 004FC 8088631C 27B2004C */ addiu $s2, $sp, 0x004C ## $s2 = FFFFFFF4 -/* 00500 80886320 3C048088 */ lui $a0, %hi(D_808864D0) ## $a0 = 80880000 -/* 00504 80886324 248464D0 */ addiu $a0, $a0, %lo(D_808864D0) ## $a0 = 808864D0 -/* 00508 80886328 0C0346BD */ jal Matrix_MultVec3f -/* 0050C 8088632C 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFF4 -/* 00510 80886330 8FB00058 */ lw $s0, 0x0058($sp) -/* 00514 80886334 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00518 80886338 02603025 */ or $a2, $s3, $zero ## $a2 = FFFFFFDC -/* 0051C 8088633C 2610016C */ addiu $s0, $s0, 0x016C ## $s0 = 0000016C -/* 00520 80886340 02002025 */ or $a0, $s0, $zero ## $a0 = 0000016C -/* 00524 80886344 02203825 */ or $a3, $s1, $zero ## $a3 = FFFFFFE8 -/* 00528 80886348 0C0189E8 */ jal func_800627A0 -/* 0052C 8088634C AFB20010 */ sw $s2, 0x0010($sp) -/* 00530 80886350 3C048088 */ lui $a0, %hi(D_8088650C) ## $a0 = 80880000 -/* 00534 80886354 2484650C */ addiu $a0, $a0, %lo(D_8088650C) ## $a0 = 8088650C -/* 00538 80886358 0C0346BD */ jal Matrix_MultVec3f -/* 0053C 8088635C 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFE8 -/* 00540 80886360 02002025 */ or $a0, $s0, $zero ## $a0 = 0000016C -/* 00544 80886364 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00548 80886368 02603025 */ or $a2, $s3, $zero ## $a2 = FFFFFFDC -/* 0054C 8088636C 02403825 */ or $a3, $s2, $zero ## $a3 = FFFFFFF4 -/* 00550 80886370 0C0189E8 */ jal func_800627A0 -/* 00554 80886374 AFB10010 */ sw $s1, 0x0010($sp) -/* 00558 80886378 3C048088 */ lui $a0, %hi(D_80886530) ## $a0 = 80880000 -/* 0055C 8088637C 24846530 */ addiu $a0, $a0, %lo(D_80886530) ## $a0 = 80886530 -/* 00560 80886380 0C0346BD */ jal Matrix_MultVec3f -/* 00564 80886384 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFDC -/* 00568 80886388 3C048088 */ lui $a0, %hi(D_8088653C) ## $a0 = 80880000 -/* 0056C 8088638C 2484653C */ addiu $a0, $a0, %lo(D_8088653C) ## $a0 = 8088653C -/* 00570 80886390 0C0346BD */ jal Matrix_MultVec3f -/* 00574 80886394 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFE8 -/* 00578 80886398 3C048088 */ lui $a0, %hi(D_80886548) ## $a0 = 80880000 -/* 0057C 8088639C 24846548 */ addiu $a0, $a0, %lo(D_80886548) ## $a0 = 80886548 -/* 00580 808863A0 0C0346BD */ jal Matrix_MultVec3f -/* 00584 808863A4 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFF4 -/* 00588 808863A8 02002025 */ or $a0, $s0, $zero ## $a0 = 0000016C -/* 0058C 808863AC 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002 -/* 00590 808863B0 02603025 */ or $a2, $s3, $zero ## $a2 = FFFFFFDC -/* 00594 808863B4 02203825 */ or $a3, $s1, $zero ## $a3 = FFFFFFE8 -/* 00598 808863B8 0C0189E8 */ jal func_800627A0 -/* 0059C 808863BC AFB20010 */ sw $s2, 0x0010($sp) -/* 005A0 808863C0 3C048088 */ lui $a0, %hi(D_80886578) ## $a0 = 80880000 -/* 005A4 808863C4 24846578 */ addiu $a0, $a0, %lo(D_80886578) ## $a0 = 80886578 -/* 005A8 808863C8 0C0346BD */ jal Matrix_MultVec3f -/* 005AC 808863CC 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFF4 -/* 005B0 808863D0 02002025 */ or $a0, $s0, $zero ## $a0 = 0000016C -/* 005B4 808863D4 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003 -/* 005B8 808863D8 02603025 */ or $a2, $s3, $zero ## $a2 = FFFFFFDC -/* 005BC 808863DC 02403825 */ or $a3, $s2, $zero ## $a3 = FFFFFFF4 -/* 005C0 808863E0 0C0189E8 */ jal func_800627A0 -/* 005C4 808863E4 AFB10010 */ sw $s1, 0x0010($sp) -/* 005C8 808863E8 8FBF002C */ lw $ra, 0x002C($sp) -/* 005CC 808863EC 8FB0001C */ lw $s0, 0x001C($sp) -/* 005D0 808863F0 8FB10020 */ lw $s1, 0x0020($sp) -/* 005D4 808863F4 8FB20024 */ lw $s2, 0x0024($sp) -/* 005D8 808863F8 8FB30028 */ lw $s3, 0x0028($sp) -/* 005DC 808863FC 03E00008 */ jr $ra -/* 005E0 80886400 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000 diff --git a/data/overlays/actors/z_bg_hidan_dalm.data.s b/data/overlays/actors/z_bg_hidan_dalm.data.s deleted file mode 100644 index c432413ba1..0000000000 --- a/data/overlays/actors/z_bg_hidan_dalm.data.s +++ /dev/null @@ -1,43 +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_Hidan_Dalm_InitVars - .word 0x00400100, 0x00000000, 0x002C0000, 0x000002FC -.word BgHidanDalm_Init -.word BgHidanDalm_Destroy -.word BgHidanDalm_Update -.word BgHidanDalm_Draw -glabel D_808864A0 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0x00000000, 0x00790000 -glabel D_808864B8 - .word 0x43988000, 0x00000000, 0xC3960000 -glabel D_808864C4 - .word 0x43988000, 0x44160000, 0xC3960000 -glabel D_808864D0 - .word 0x43988000, 0x44160000, 0x43960000, 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0x00000000, 0x00790000, 0x43988000, 0x00000000, 0xC3960000, 0x43988000, 0x44160000, 0x43960000 -glabel D_8088650C - .word 0x43988000, 0x00000000, 0x43960000, 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0x00000000, 0x00790000 -glabel D_80886530 - .word 0xC3988000, 0x00000000, 0xC3960000 -glabel D_8088653C - .word 0xC3988000, 0x44160000, 0x43960000 -glabel D_80886548 - .word 0xC3988000, 0x44160000, 0xC3960000, 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0x00000000, 0x00790000, 0xC3988000, 0x00000000, 0xC3960000 -glabel D_80886578 - .word 0xC3988000, 0x00000000, 0x43960000, 0xC3988000, 0x44160000, 0x43960000 -glabel D_80886590 - .word 0x0A000900, 0x20020000, 0x00000004 -.word D_808864A0 -glabel D_808865A0 - .word 0xC8500064, 0x386CFF38 -glabel D_808865A8 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_bg_hidan_dalm.reloc.s b/data/overlays/actors/z_bg_hidan_dalm.reloc.s deleted file mode 100644 index bfb2b337c2..0000000000 --- a/data/overlays/actors/z_bg_hidan_dalm.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_808865C0 - .incbin "baserom/ovl_Bg_Hidan_Dalm", 0x7A0, 0x000000A0 diff --git a/include/functions.h b/include/functions.h index b61c7de9cb..d4ba56391b 100644 --- a/include/functions.h +++ b/include/functions.h @@ -219,7 +219,7 @@ void func_800287AC(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* s16 life); void func_80028990(GlobalContext* globalCtx, f32 randScale, Vec3f* srcPos); void func_80028A54(GlobalContext* globalCtx, f32 randScale, Vec3f* srcPos); -// ? func_80028B18(?); +UNK_TYPE func_80028B18(GlobalContext* globalCtx, Vec3f*, Vec3f*, Vec3f*); void func_80028B74(GlobalContext*, Vec3f*, UNK_PTR, UNK_PTR, Color_RGB8*, Color_RGB8*); // ? func_80028BB0(?); // ? func_80028CEC(?); diff --git a/spec b/spec index 53cba47ad0..23d19659eb 100644 --- a/spec +++ b/spec @@ -837,8 +837,7 @@ endseg beginseg name "ovl_Bg_Hidan_Dalm" include "build/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.o" - include "build/data/overlays/actors/z_bg_hidan_dalm.data.o" - include "build/data/overlays/actors/z_bg_hidan_dalm.reloc.o" + include "build/src/overlays/actors/ovl_Bg_Hidan_Dalm/ovl_Bg_Hidan_Dalm_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.c b/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.c index 95fad0ade1..7918129625 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.c @@ -9,7 +9,9 @@ void BgHidanDalm_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgHidanDalm_Update(Actor* thisx, GlobalContext* globalCtx); void BgHidanDalm_Draw(Actor* thisx, GlobalContext* globalCtx); -/* +void BgHidanDalm_WaitInteraction(BgHidanDalm* this, GlobalContext* globalCtx); +void BgHidanDalm_Shrink(BgHidanDalm* this, GlobalContext* globalCtx); + const ActorInit Bg_Hidan_Dalm_InitVars = { ACTOR_BG_HIDAN_DALM, ACTORTYPE_BG, @@ -21,17 +23,164 @@ const ActorInit Bg_Hidan_Dalm_InitVars = { (ActorFunc)BgHidanDalm_Update, (ActorFunc)BgHidanDalm_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/BgHidanDalm_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/BgHidanDalm_Destroy.s") +static ColliderTrisItemInit sTrisItemInit[4] = { + { + { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000040, 0x00, 0x00 }, 0x00, 0x79, 0x00 }, + { { { 305.0f, 0.0f, -300.0f }, { 305.0f, 600.0f, -300.0f }, { 305.0f, 600.0f, 300.0f } } }, + }, + { + { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000040, 0x00, 0x00 }, 0x00, 0x79, 0x00 }, + { { { 305.0f, 0.0f, -300.0f }, { 305.0f, 600.0f, 300.0f }, { 305.0f, 0.0f, 300.0f } } }, + }, + { + { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000040, 0x00, 0x00 }, 0x00, 0x79, 0x00 }, + { { { -305.0f, 0.0f, -300.0f }, { -305.0f, 600.0f, 300.0f }, { -305.0f, 600.0f, -300.0f } } }, + }, + { + { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000040, 0x00, 0x00 }, 0x00, 0x79, 0x00 }, + { { { -305.0f, 0.0f, -300.0f }, { -305.0f, 0.0f, 300.0f }, { -305.0f, 600.0f, 300.0f } } }, + }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/func_80885F4C.s") +ColliderTrisInit D_80886590 = { + { COLTYPE_UNK10, 0x00, 0x09, 0x00, 0x20, COLSHAPE_TRIS }, + 4, + sTrisItemInit, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/func_808860CC.s") +InitChainEntry D_808865A0[] = { + ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE), + ICHAIN_F32_DIV1000(gravity, 65336, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/BgHidanDalm_Update.s") +extern Gfx D_0600BBF0[]; +extern Gfx D_0600BDF0[]; +extern UNK_TYPE D_0600DA10; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/func_808862D8.s") +void BgHidanDalm_Init(Actor* thisx, GlobalContext* globalCtx) { + BgHidanDalm* this = THIS; + s32 pad; + u32 dynaUnk; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Dalm/BgHidanDalm_Draw.s") + dynaUnk = 0; + Actor_ProcessInitChain(thisx, D_808865A0); + DynaPolyInfo_SetActorMove(&this->dyna, DPM_UNK); + DynaPolyInfo_Alloc(&D_0600DA10, &dynaUnk); + this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, thisx, dynaUnk); + Collider_InitTris(globalCtx, &this->collider); + Collider_SetTris(globalCtx, &this->collider, thisx, &D_80886590, this->colliderItems); + + this->switchFlag = (thisx->params >> 8) & 0xFF; + thisx->params &= 0xFF; + if (Flags_GetSwitch(globalCtx, this->switchFlag)) { + Actor_Kill(thisx); + } else { + this->actionFunc = BgHidanDalm_WaitInteraction; + } +} + +void BgHidanDalm_Destroy(Actor* thisx, GlobalContext* globalCtx) { + BgHidanDalm* this = THIS; + + DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId); + Collider_DestroyTris(globalCtx, &this->collider); +} + +void BgHidanDalm_WaitInteraction(BgHidanDalm* this, GlobalContext* globalCtx) { + Player* player = PLAYER; + + if ((this->collider.base.acFlags & 2) && !func_8008E988(globalCtx) && + (player->swordAnimation == 22 || player->swordAnimation == 23)) { + this->collider.base.acFlags &= ~2; + if (this->collider.list[0].body.bumperFlags & 2 || this->collider.list[1].body.bumperFlags & 2) { + this->dyna.actor.posRot.rot.y -= 0x4000; + } else { + this->dyna.actor.posRot.rot.y += 0x4000; + } + this->dyna.actor.posRot.pos.x += 32.5f * Math_Sins(this->dyna.actor.posRot.rot.y); + this->dyna.actor.posRot.pos.z += 32.5f * Math_Coss(this->dyna.actor.posRot.rot.y); + + func_8002DF54(globalCtx, &this->dyna.actor, 8); + this->dyna.actor.flags |= 0x10; + this->actionFunc = BgHidanDalm_Shrink; + this->dyna.actor.bgCheckFlags &= ~2; + this->dyna.actor.bgCheckFlags &= ~8; + this->dyna.actor.speedXZ = 10.0f; + Flags_SetSwitch(globalCtx, this->switchFlag); + func_8002F7DC(&PLAYER->actor, NA_SE_IT_HAMMER_HIT); + Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_DARUMA_VANISH); + } else { + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + } +} + +void BgHidanDalm_Shrink(BgHidanDalm* this, GlobalContext* globalCtx) { + static Vec3f accel = { 0, 0, 0 }; + s32 i; + Vec3f velocity; + Vec3f pos; + + if (Math_ApproxF(&this->dyna.actor.scale.x, 0.0f, 0.004f)) { + func_8002DF54(globalCtx, &this->dyna.actor, 7); + Actor_Kill(&this->dyna.actor); + } + + this->dyna.actor.scale.y = this->dyna.actor.scale.z = this->dyna.actor.scale.x; + + pos.x = this->dyna.actor.posRot.pos.x; + pos.y = this->dyna.actor.posRot.pos.y + this->dyna.actor.scale.x * 160.0f; + pos.z = this->dyna.actor.posRot.pos.z; + + for (i = 0; i < 4; i++) { + velocity.x = 5.0f * Math_Sins(this->dyna.actor.posRot.rot.y + 0x8000) + (Math_Rand_ZeroOne() - 0.5f) * 5.0f; + velocity.z = 5.0f * Math_Coss(this->dyna.actor.posRot.rot.y + 0x8000) + (Math_Rand_ZeroOne() - 0.5f) * 5.0f; + velocity.y = (Math_Rand_ZeroOne() - 0.5f) * 1.5f; + func_80028B18(globalCtx, &pos, &velocity, &accel); + } +} + +void BgHidanDalm_Update(Actor* thisx, GlobalContext* globalCtx) { + BgHidanDalm* this = THIS; + + this->actionFunc(this, globalCtx); + Actor_MoveForward(&this->dyna.actor); + func_8002E4B4(globalCtx, &this->dyna.actor, 10.0f, 15.0f, 32.0f, 5); +} + +/** + * Update vertices of collider tris based on the current matrix + */ +void BgHidanDalm_UpdateCollider(BgHidanDalm* this) { + Vec3f pos2; + Vec3f pos1; + Vec3f pos0; + + Matrix_MultVec3f(&sTrisItemInit[0].dim.vtx[0], &pos0); + Matrix_MultVec3f(&sTrisItemInit[0].dim.vtx[1], &pos1); + Matrix_MultVec3f(&sTrisItemInit[0].dim.vtx[2], &pos2); + func_800627A0(&this->collider, 0, &pos0, &pos1, &pos2); + Matrix_MultVec3f(&sTrisItemInit[1].dim.vtx[2], &pos1); + func_800627A0(&this->collider, 1, &pos0, &pos2, &pos1); + + Matrix_MultVec3f(&sTrisItemInit[2].dim.vtx[0], &pos0); + Matrix_MultVec3f(&sTrisItemInit[2].dim.vtx[1], &pos1); + Matrix_MultVec3f(&sTrisItemInit[2].dim.vtx[2], &pos2); + func_800627A0(&this->collider, 2, &pos0, &pos1, &pos2); + Matrix_MultVec3f(&sTrisItemInit[3].dim.vtx[1], &pos2); + func_800627A0(&this->collider, 3, &pos0, &pos2, &pos1); +} + +void BgHidanDalm_Draw(Actor* thisx, GlobalContext* globalCtx) { + BgHidanDalm* this = THIS; + + if (this->dyna.actor.params == 0) { + Gfx_DrawDListOpa(globalCtx, D_0600BBF0); + } else { + Gfx_DrawDListOpa(globalCtx, D_0600BDF0); + } + + if (this->actionFunc == BgHidanDalm_WaitInteraction) { + BgHidanDalm_UpdateCollider(this); + } +} diff --git a/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.h b/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.h index f6dbd09618..c4c7e0790d 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.h +++ b/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.h @@ -6,9 +6,14 @@ struct BgHidanDalm; +typedef void (*BgHidanDalmActionFunc)(struct BgHidanDalm*, GlobalContext*); + typedef struct BgHidanDalm { - /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x1B0]; + /* 0x0000 */ DynaPolyActor dyna; + /* 0x0164 */ BgHidanDalmActionFunc actionFunc; + /* 0x0168 */ u8 switchFlag; + /* 0x016C */ ColliderTris collider; + /* 0x018C */ ColliderTrisItem colliderItems[4]; } BgHidanDalm; // size = 0x02FC extern const ActorInit Bg_Hidan_Dalm_InitVars; diff --git a/undefined_syms.txt b/undefined_syms.txt index d49dae1f07..64ee50b81f 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -206,6 +206,11 @@ D_06005A20 = 0x06005A20; D_06000360 = 0x06000360; D_06000180 = 0x06000180; +// z_bg_hidan_dalm +D_0600BBF0 = 0x0600BBF0; +D_0600BDF0 = 0x0600BDF0; +D_0600DA10 = 0x0600DA10; + // z_bg_hidan_fslift D_0600B630 = 0x0600B630; D_0600E1E8 = 0x0600E1E8;