diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/ObjHamishi_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/ObjHamishi_Destroy.s deleted file mode 100644 index 5cc2d61284..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/ObjHamishi_Destroy.s +++ /dev/null @@ -1,12 +0,0 @@ -glabel ObjHamishi_Destroy -/* 00564 80B934F4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00568 80B934F8 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 0056C 80B934FC AFBF0014 */ sw $ra, 0x0014($sp) -/* 00570 80B93500 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00574 80B93504 0C0170EB */ jal Collider_DestroyCylinder - -/* 00578 80B93508 24E5014C */ addiu $a1, $a3, 0x014C ## $a1 = 0000014C -/* 0057C 80B9350C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00580 80B93510 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00584 80B93514 03E00008 */ jr $ra -/* 00588 80B93518 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/ObjHamishi_Draw.s b/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/ObjHamishi_Draw.s deleted file mode 100644 index dc22e2b7d9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/ObjHamishi_Draw.s +++ /dev/null @@ -1,73 +0,0 @@ -.rdata -glabel D_80B937B0 - .asciz "../z_obj_hamishi.c" - .balign 4 - -glabel D_80B937C4 - .asciz "../z_obj_hamishi.c" - .balign 4 - -glabel D_80B937D8 - .asciz "../z_obj_hamishi.c" - .balign 4 - -.text -glabel ObjHamishi_Draw -/* 006B8 80B93648 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8 -/* 006BC 80B9364C AFBF001C */ sw $ra, 0x001C($sp) -/* 006C0 80B93650 AFB00018 */ sw $s0, 0x0018($sp) -/* 006C4 80B93654 AFA40048 */ sw $a0, 0x0048($sp) -/* 006C8 80B93658 AFA5004C */ sw $a1, 0x004C($sp) -/* 006CC 80B9365C 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 006D0 80B93660 3C0680B9 */ lui $a2, %hi(D_80B937B0) ## $a2 = 80B90000 -/* 006D4 80B93664 24C637B0 */ addiu $a2, $a2, %lo(D_80B937B0) ## $a2 = 80B937B0 -/* 006D8 80B93668 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFEC -/* 006DC 80B9366C 2407018F */ addiu $a3, $zero, 0x018F ## $a3 = 0000018F -/* 006E0 80B93670 0C031AB1 */ jal Graph_OpenDisps -/* 006E4 80B93674 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 006E8 80B93678 8FAF004C */ lw $t7, 0x004C($sp) -/* 006EC 80B9367C 0C024F46 */ jal func_80093D18 -/* 006F0 80B93680 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000 -/* 006F4 80B93684 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 006F8 80B93688 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000 -/* 006FC 80B9368C 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003 -/* 00700 80B93690 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00704 80B93694 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0 -/* 00708 80B93698 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 0070C 80B9369C 8FA8004C */ lw $t0, 0x004C($sp) -/* 00710 80B936A0 3C0580B9 */ lui $a1, %hi(D_80B937C4) ## $a1 = 80B90000 -/* 00714 80B936A4 24A537C4 */ addiu $a1, $a1, %lo(D_80B937C4) ## $a1 = 80B937C4 -/* 00718 80B936A8 8D040000 */ lw $a0, 0x0000($t0) ## 00000000 -/* 0071C 80B936AC 24060194 */ addiu $a2, $zero, 0x0194 ## $a2 = 00000194 -/* 00720 80B936B0 0C0346A2 */ jal Matrix_NewMtx -/* 00724 80B936B4 AFA20030 */ sw $v0, 0x0030($sp) -/* 00728 80B936B8 8FA30030 */ lw $v1, 0x0030($sp) -/* 0072C 80B936BC 3C0BFFAA */ lui $t3, 0xFFAA ## $t3 = FFAA0000 -/* 00730 80B936C0 356B82FF */ ori $t3, $t3, 0x82FF ## $t3 = FFAA82FF -/* 00734 80B936C4 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00738 80B936C8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 0073C 80B936CC 3C0AFA00 */ lui $t2, 0xFA00 ## $t2 = FA000000 -/* 00740 80B936D0 3C0E0501 */ lui $t6, %hi(D_0500A3B8) ## $t6 = 05010000 -/* 00744 80B936D4 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 00748 80B936D8 AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0 -/* 0074C 80B936DC AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004 -/* 00750 80B936E0 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 00754 80B936E4 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00758 80B936E8 25CEA3B8 */ addiu $t6, $t6, %lo(D_0500A3B8) ## $t6 = 0500A3B8 -/* 0075C 80B936EC 3C0DDE00 */ lui $t5, 0xDE00 ## $t5 = DE000000 -/* 00760 80B936F0 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 00764 80B936F4 AE0C02C0 */ sw $t4, 0x02C0($s0) ## 000002C0 -/* 00768 80B936F8 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 0076C 80B936FC AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000 -/* 00770 80B93700 8FAF004C */ lw $t7, 0x004C($sp) -/* 00774 80B93704 3C0680B9 */ lui $a2, %hi(D_80B937D8) ## $a2 = 80B90000 -/* 00778 80B93708 24C637D8 */ addiu $a2, $a2, %lo(D_80B937D8) ## $a2 = 80B937D8 -/* 0077C 80B9370C 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFEC -/* 00780 80B93710 2407019B */ addiu $a3, $zero, 0x019B ## $a3 = 0000019B -/* 00784 80B93714 0C031AD5 */ jal Graph_CloseDisps -/* 00788 80B93718 8DE50000 */ lw $a1, 0x0000($t7) ## 00000000 -/* 0078C 80B9371C 8FBF001C */ lw $ra, 0x001C($sp) -/* 00790 80B93720 8FB00018 */ lw $s0, 0x0018($sp) -/* 00794 80B93724 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000 -/* 00798 80B93728 03E00008 */ jr $ra -/* 0079C 80B9372C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/ObjHamishi_Init.s b/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/ObjHamishi_Init.s deleted file mode 100644 index 7b6ac53e68..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/ObjHamishi_Init.s +++ /dev/null @@ -1,66 +0,0 @@ -glabel ObjHamishi_Init -/* 00480 80B93410 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00484 80B93414 AFA50024 */ sw $a1, 0x0024($sp) -/* 00488 80B93418 AFBF001C */ sw $ra, 0x001C($sp) -/* 0048C 80B9341C AFB00018 */ sw $s0, 0x0018($sp) -/* 00490 80B93420 3C0580B9 */ lui $a1, %hi(D_80B93798) ## $a1 = 80B90000 -/* 00494 80B93424 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00498 80B93428 0C01E037 */ jal Actor_ProcessInitChain - -/* 0049C 80B9342C 24A53798 */ addiu $a1, $a1, %lo(D_80B93798) ## $a1 = 80B93798 -/* 004A0 80B93430 8FAE0024 */ lw $t6, 0x0024($sp) -/* 004A4 80B93434 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 004A8 80B93438 91CF1D6C */ lbu $t7, 0x1D6C($t6) ## 00001D6C -/* 004AC 80B9343C 51E00007 */ beql $t7, $zero, .L80B9345C -/* 004B0 80B93440 861800B6 */ lh $t8, 0x00B6($s0) ## 000000B6 -/* 004B4 80B93444 C60400F4 */ lwc1 $f4, 0x00F4($s0) ## 000000F4 -/* 004B8 80B93448 44813000 */ mtc1 $at, $f6 ## $f6 = 1000.00 -/* 004BC 80B9344C 00000000 */ nop -/* 004C0 80B93450 46062200 */ add.s $f8, $f4, $f6 -/* 004C4 80B93454 E60800F4 */ swc1 $f8, 0x00F4($s0) ## 000000F4 -/* 004C8 80B93458 861800B6 */ lh $t8, 0x00B6($s0) ## 000000B6 -.L80B9345C: -/* 004CC 80B9345C 3C014780 */ lui $at, 0x4780 ## $at = 47800000 -/* 004D0 80B93460 5700000B */ bnel $t8, $zero, .L80B93490 -/* 004D4 80B93464 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004D8 80B93468 44816000 */ mtc1 $at, $f12 ## $f12 = 65536.00 -/* 004DC 80B9346C 0C00CFBE */ jal Math_Rand_ZeroFloat - -/* 004E0 80B93470 00000000 */ nop -/* 004E4 80B93474 4600028D */ trunc.w.s $f10, $f0 -/* 004E8 80B93478 44025000 */ mfc1 $v0, $f10 -/* 004EC 80B9347C 00000000 */ nop -/* 004F0 80B93480 A6020016 */ sh $v0, 0x0016($s0) ## 00000016 -/* 004F4 80B93484 A6020032 */ sh $v0, 0x0032($s0) ## 00000032 -/* 004F8 80B93488 A60200B6 */ sh $v0, 0x00B6($s0) ## 000000B6 -/* 004FC 80B9348C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L80B93490: -/* 00500 80B93490 0C2E4BE4 */ jal func_80B92F90 -/* 00504 80B93494 8FA50024 */ lw $a1, 0x0024($sp) -/* 00508 80B93498 3C0680B9 */ lui $a2, %hi(D_80B9377C) ## $a2 = 80B90000 -/* 0050C 80B9349C 24C6377C */ addiu $a2, $a2, %lo(D_80B9377C) ## $a2 = 80B9377C -/* 00510 80B934A0 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098 -/* 00514 80B934A4 0C0187B5 */ jal func_80061ED4 -/* 00518 80B934A8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 0051C 80B934AC 8605001C */ lh $a1, 0x001C($s0) ## 0000001C -/* 00520 80B934B0 8FA40024 */ lw $a0, 0x0024($sp) -/* 00524 80B934B4 0C00B2D0 */ jal Flags_GetSwitch - -/* 00528 80B934B8 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000 -/* 0052C 80B934BC 10400005 */ beq $v0, $zero, .L80B934D4 -/* 00530 80B934C0 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000 -/* 00534 80B934C4 0C00B55C */ jal Actor_Kill - -/* 00538 80B934C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0053C 80B934CC 10000005 */ beq $zero, $zero, .L80B934E4 -/* 00540 80B934D0 8FBF001C */ lw $ra, 0x001C($sp) -.L80B934D4: -/* 00544 80B934D4 44818000 */ mtc1 $at, $f16 ## $f16 = 0.00 -/* 00548 80B934D8 00000000 */ nop -/* 0054C 80B934DC E61000BC */ swc1 $f16, 0x00BC($s0) ## 000000BC -/* 00550 80B934E0 8FBF001C */ lw $ra, 0x001C($sp) -.L80B934E4: -/* 00554 80B934E4 8FB00018 */ lw $s0, 0x0018($sp) -/* 00558 80B934E8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 0055C 80B934EC 03E00008 */ jr $ra -/* 00560 80B934F0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/ObjHamishi_Update.s b/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/ObjHamishi_Update.s deleted file mode 100644 index e3e7edb475..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/ObjHamishi_Update.s +++ /dev/null @@ -1,85 +0,0 @@ -glabel ObjHamishi_Update -/* 0058C 80B9351C 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00590 80B93520 AFBF001C */ sw $ra, 0x001C($sp) -/* 00594 80B93524 AFB10018 */ sw $s1, 0x0018($sp) -/* 00598 80B93528 AFB00014 */ sw $s0, 0x0014($sp) -/* 0059C 80B9352C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 005A0 80B93530 0C2E4BFA */ jal func_80B92FE8 -/* 005A4 80B93534 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 005A8 80B93538 9202015D */ lbu $v0, 0x015D($s0) ## 0000015D -/* 005AC 80B9353C 304E0002 */ andi $t6, $v0, 0x0002 ## $t6 = 00000000 -/* 005B0 80B93540 51C0002A */ beql $t6, $zero, .L80B935EC -/* 005B4 80B93544 3C014416 */ lui $at, 0x4416 ## $at = 44160000 -/* 005B8 80B93548 8E0F0188 */ lw $t7, 0x0188($s0) ## 00000188 -/* 005BC 80B9354C 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 005C0 80B93550 34210040 */ ori $at, $at, 0x0040 ## $at = 40000040 -/* 005C4 80B93554 8DF80000 */ lw $t8, 0x0000($t7) ## 00000000 -/* 005C8 80B93558 0301C824 */ and $t9, $t8, $at -/* 005CC 80B9355C 53200023 */ beql $t9, $zero, .L80B935EC -/* 005D0 80B93560 3C014416 */ lui $at, 0x4416 ## $at = 44160000 -/* 005D4 80B93564 860901A6 */ lh $t1, 0x01A6($s0) ## 000001A6 -/* 005D8 80B93568 3048FFFD */ andi $t0, $v0, 0xFFFD ## $t0 = 00000000 -/* 005DC 80B9356C A208015D */ sb $t0, 0x015D($s0) ## 0000015D -/* 005E0 80B93570 252A0001 */ addiu $t2, $t1, 0x0001 ## $t2 = 00000001 -/* 005E4 80B93574 A60A01A6 */ sh $t2, 0x01A6($s0) ## 000001A6 -/* 005E8 80B93578 860B01A6 */ lh $t3, 0x01A6($s0) ## 000001A6 -/* 005EC 80B9357C 240C000F */ addiu $t4, $zero, 0x000F ## $t4 = 0000000F -/* 005F0 80B93580 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 005F4 80B93584 29610002 */ slti $at, $t3, 0x0002 -/* 005F8 80B93588 10200008 */ beq $at, $zero, .L80B935AC -/* 005FC 80B9358C 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 00600 80B93590 44812000 */ mtc1 $at, $f4 ## $f4 = 2.00 -/* 00604 80B93594 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000 -/* 00608 80B93598 44813000 */ mtc1 $at, $f6 ## $f6 = 400.00 -/* 0060C 80B9359C A60C01A0 */ sh $t4, 0x01A0($s0) ## 000001A0 -/* 00610 80B935A0 E6040198 */ swc1 $f4, 0x0198($s0) ## 00000198 -/* 00614 80B935A4 10000023 */ beq $zero, $zero, .L80B93634 -/* 00618 80B935A8 E606019C */ swc1 $f6, 0x019C($s0) ## 0000019C -.L80B935AC: -/* 0061C 80B935AC 0C2E4C59 */ jal func_80B93164 -/* 00620 80B935B0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00624 80B935B4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00628 80B935B8 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 0062C 80B935BC 24060028 */ addiu $a2, $zero, 0x0028 ## $a2 = 00000028 -/* 00630 80B935C0 0C01AEB6 */ jal Audio_PlaySoundAtPosition - -/* 00634 80B935C4 24072810 */ addiu $a3, $zero, 0x2810 ## $a3 = 00002810 -/* 00638 80B935C8 8605001C */ lh $a1, 0x001C($s0) ## 0000001C -/* 0063C 80B935CC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00640 80B935D0 0C00B2DD */ jal Flags_SetSwitch - -/* 00644 80B935D4 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000 -/* 00648 80B935D8 0C00B55C */ jal Actor_Kill - -/* 0064C 80B935DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00650 80B935E0 10000015 */ beq $zero, $zero, .L80B93638 -/* 00654 80B935E4 8FBF001C */ lw $ra, 0x001C($sp) -/* 00658 80B935E8 3C014416 */ lui $at, 0x4416 ## $at = 44160000 -.L80B935EC: -/* 0065C 80B935EC 44815000 */ mtc1 $at, $f10 ## $f10 = 600.00 -/* 00660 80B935F0 C6080090 */ lwc1 $f8, 0x0090($s0) ## 00000090 -/* 00664 80B935F4 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00668 80B935F8 304DFFFD */ andi $t5, $v0, 0xFFFD ## $t5 = 00000000 -/* 0066C 80B935FC 460A403C */ c.lt.s $f8, $f10 -/* 00670 80B93600 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00674 80B93604 A20D015D */ sb $t5, 0x015D($s0) ## 0000015D -/* 00678 80B93608 02212821 */ addu $a1, $s1, $at -/* 0067C 80B9360C 45000009 */ bc1f .L80B93634 -/* 00680 80B93610 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00684 80B93614 2606014C */ addiu $a2, $s0, 0x014C ## $a2 = 0000014C -/* 00688 80B93618 AFA60020 */ sw $a2, 0x0020($sp) -/* 0068C 80B9361C 0C01767D */ jal CollisionCheck_SetAC - ## CollisionCheck_setAC -/* 00690 80B93620 AFA50024 */ sw $a1, 0x0024($sp) -/* 00694 80B93624 8FA50024 */ lw $a1, 0x0024($sp) -/* 00698 80B93628 8FA60020 */ lw $a2, 0x0020($sp) -/* 0069C 80B9362C 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOT -/* 006A0 80B93630 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -.L80B93634: -/* 006A4 80B93634 8FBF001C */ lw $ra, 0x001C($sp) -.L80B93638: -/* 006A8 80B93638 8FB00014 */ lw $s0, 0x0014($sp) -/* 006AC 80B9363C 8FB10018 */ lw $s1, 0x0018($sp) -/* 006B0 80B93640 03E00008 */ jr $ra -/* 006B4 80B93644 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/func_80B92F90.s b/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/func_80B92F90.s deleted file mode 100644 index 24a3178d8e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/func_80B92F90.s +++ /dev/null @@ -1,26 +0,0 @@ -glabel func_80B92F90 -/* 00000 80B92F90 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00004 80B92F94 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00008 80B92F98 AFA50024 */ sw $a1, 0x0024($sp) -/* 0000C 80B92F9C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00010 80B92FA0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00014 80B92FA4 24C5014C */ addiu $a1, $a2, 0x014C ## $a1 = 0000014C -/* 00018 80B92FA8 AFA50018 */ sw $a1, 0x0018($sp) -/* 0001C 80B92FAC 0C0170D9 */ jal Collider_InitCylinder - -/* 00020 80B92FB0 AFA60020 */ sw $a2, 0x0020($sp) -/* 00024 80B92FB4 3C0780B9 */ lui $a3, %hi(D_80B93750) ## $a3 = 80B90000 -/* 00028 80B92FB8 8FA60020 */ lw $a2, 0x0020($sp) -/* 0002C 80B92FBC 24E73750 */ addiu $a3, $a3, %lo(D_80B93750) ## $a3 = 80B93750 -/* 00030 80B92FC0 8FA40024 */ lw $a0, 0x0024($sp) -/* 00034 80B92FC4 0C01712B */ jal Collider_SetCylinder - -/* 00038 80B92FC8 8FA50018 */ lw $a1, 0x0018($sp) -/* 0003C 80B92FCC 8FA40020 */ lw $a0, 0x0020($sp) -/* 00040 80B92FD0 0C0189B7 */ jal Collider_CylinderUpdate - -/* 00044 80B92FD4 8FA50018 */ lw $a1, 0x0018($sp) -/* 00048 80B92FD8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0004C 80B92FDC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00050 80B92FE0 03E00008 */ jr $ra -/* 00054 80B92FE4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/func_80B92FE8.s b/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/func_80B92FE8.s deleted file mode 100644 index 9e8b4baa64..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/func_80B92FE8.s +++ /dev/null @@ -1,108 +0,0 @@ -glabel func_80B92FE8 -/* 00058 80B92FE8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 0005C 80B92FEC AFBF001C */ sw $ra, 0x001C($sp) -/* 00060 80B92FF0 AFB00018 */ sw $s0, 0x0018($sp) -/* 00064 80B92FF4 848201A0 */ lh $v0, 0x01A0($a0) ## 000001A0 -/* 00068 80B92FF8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0006C 80B92FFC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 00070 80B93000 18400044 */ blez $v0, .L80B93114 -/* 00074 80B93004 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 00078 80B93008 848F01A2 */ lh $t7, 0x01A2($a0) ## 000001A2 -/* 0007C 80B9300C 849901A4 */ lh $t9, 0x01A4($a0) ## 000001A4 -/* 00080 80B93010 3C063E19 */ lui $a2, 0x3E19 ## $a2 = 3E190000 -/* 00084 80B93014 25F81388 */ addiu $t8, $t7, 0x1388 ## $t8 = 00001388 -/* 00088 80B93018 27280E10 */ addiu $t0, $t9, 0x0E10 ## $t0 = 00000E10 -/* 0008C 80B9301C A48E01A0 */ sh $t6, 0x01A0($a0) ## 000001A0 -/* 00090 80B93020 A49801A2 */ sh $t8, 0x01A2($a0) ## 000001A2 -/* 00094 80B93024 A48801A4 */ sh $t0, 0x01A4($a0) ## 000001A4 -/* 00098 80B93028 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E19999A -/* 0009C 80B9302C 24840198 */ addiu $a0, $a0, 0x0198 ## $a0 = 00000198 -/* 000A0 80B93030 0C01DE80 */ jal Math_ApproxF - -/* 000A4 80B93034 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 000A8 80B93038 2604019C */ addiu $a0, $s0, 0x019C ## $a0 = 0000019C -/* 000AC 80B9303C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 000B0 80B93040 0C01DE80 */ jal Math_ApproxF - -/* 000B4 80B93044 3C064220 */ lui $a2, 0x4220 ## $a2 = 42200000 -/* 000B8 80B93048 860401A2 */ lh $a0, 0x01A2($s0) ## 000001A2 -/* 000BC 80B9304C 00042080 */ sll $a0, $a0, 2 -/* 000C0 80B93050 00042400 */ sll $a0, $a0, 16 -/* 000C4 80B93054 0C01DE1C */ jal Math_Sins - ## sins? -/* 000C8 80B93058 00042403 */ sra $a0, $a0, 16 -/* 000CC 80B9305C C6040198 */ lwc1 $f4, 0x0198($s0) ## 00000198 -/* 000D0 80B93060 860401A2 */ lh $a0, 0x01A2($s0) ## 000001A2 -/* 000D4 80B93064 C6080008 */ lwc1 $f8, 0x0008($s0) ## 00000008 -/* 000D8 80B93068 46040182 */ mul.s $f6, $f0, $f4 -/* 000DC 80B9306C 00800821 */ addu $at, $a0, $zero -/* 000E0 80B93070 000420C0 */ sll $a0, $a0, 3 -/* 000E4 80B93074 00812023 */ subu $a0, $a0, $at -/* 000E8 80B93078 00042400 */ sll $a0, $a0, 16 -/* 000EC 80B9307C 00042403 */ sra $a0, $a0, 16 -/* 000F0 80B93080 46083280 */ add.s $f10, $f6, $f8 -/* 000F4 80B93084 0C01DE0D */ jal Math_Coss - ## coss? -/* 000F8 80B93088 E60A0024 */ swc1 $f10, 0x0024($s0) ## 00000024 -/* 000FC 80B9308C C6100198 */ lwc1 $f16, 0x0198($s0) ## 00000198 -/* 00100 80B93090 C6040010 */ lwc1 $f4, 0x0010($s0) ## 00000010 -/* 00104 80B93094 860401A4 */ lh $a0, 0x01A4($s0) ## 000001A4 -/* 00108 80B93098 46100482 */ mul.s $f18, $f0, $f16 -/* 0010C 80B9309C 00042080 */ sll $a0, $a0, 2 -/* 00110 80B930A0 00042400 */ sll $a0, $a0, 16 -/* 00114 80B930A4 00042403 */ sra $a0, $a0, 16 -/* 00118 80B930A8 46049180 */ add.s $f6, $f18, $f4 -/* 0011C 80B930AC 0C01DE1C */ jal Math_Sins - ## sins? -/* 00120 80B930B0 E606002C */ swc1 $f6, 0x002C($s0) ## 0000002C -/* 00124 80B930B4 C608019C */ lwc1 $f8, 0x019C($s0) ## 0000019C -/* 00128 80B930B8 860401A4 */ lh $a0, 0x01A4($s0) ## 000001A4 -/* 0012C 80B930BC 860D0014 */ lh $t5, 0x0014($s0) ## 00000014 -/* 00130 80B930C0 46080282 */ mul.s $f10, $f0, $f8 -/* 00134 80B930C4 00800821 */ addu $at, $a0, $zero -/* 00138 80B930C8 000420C0 */ sll $a0, $a0, 3 -/* 0013C 80B930CC 00812023 */ subu $a0, $a0, $at -/* 00140 80B930D0 00042400 */ sll $a0, $a0, 16 -/* 00144 80B930D4 00042403 */ sra $a0, $a0, 16 -/* 00148 80B930D8 4600540D */ trunc.w.s $f16, $f10 -/* 0014C 80B930DC 440C8000 */ mfc1 $t4, $f16 -/* 00150 80B930E0 00000000 */ nop -/* 00154 80B930E4 018D7021 */ addu $t6, $t4, $t5 -/* 00158 80B930E8 0C01DE0D */ jal Math_Coss - ## coss? -/* 0015C 80B930EC A60E00B4 */ sh $t6, 0x00B4($s0) ## 000000B4 -/* 00160 80B930F0 C612019C */ lwc1 $f18, 0x019C($s0) ## 0000019C -/* 00164 80B930F4 86090018 */ lh $t1, 0x0018($s0) ## 00000018 -/* 00168 80B930F8 46120102 */ mul.s $f4, $f0, $f18 -/* 0016C 80B930FC 4600218D */ trunc.w.s $f6, $f4 -/* 00170 80B93100 44083000 */ mfc1 $t0, $f6 -/* 00174 80B93104 00000000 */ nop -/* 00178 80B93108 01095021 */ addu $t2, $t0, $t1 -/* 0017C 80B9310C 10000010 */ beq $zero, $zero, .L80B93150 -/* 00180 80B93110 A60A00B8 */ sh $t2, 0x00B8($s0) ## 000000B8 -.L80B93114: -/* 00184 80B93114 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024 -/* 00188 80B93118 0C01DE80 */ jal Math_ApproxF - -/* 0018C 80B9311C 8E050008 */ lw $a1, 0x0008($s0) ## 00000008 -/* 00190 80B93120 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C -/* 00194 80B93124 8E050010 */ lw $a1, 0x0010($s0) ## 00000010 -/* 00198 80B93128 0C01DE80 */ jal Math_ApproxF - -/* 0019C 80B9312C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 001A0 80B93130 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4 -/* 001A4 80B93134 86050014 */ lh $a1, 0x0014($s0) ## 00000014 -/* 001A8 80B93138 0C01DE2B */ jal Math_ApproxUpdateScaledS - -/* 001AC 80B9313C 24060BB8 */ addiu $a2, $zero, 0x0BB8 ## $a2 = 00000BB8 -/* 001B0 80B93140 260400B8 */ addiu $a0, $s0, 0x00B8 ## $a0 = 000000B8 -/* 001B4 80B93144 86050018 */ lh $a1, 0x0018($s0) ## 00000018 -/* 001B8 80B93148 0C01DE2B */ jal Math_ApproxUpdateScaledS - -/* 001BC 80B9314C 24060BB8 */ addiu $a2, $zero, 0x0BB8 ## $a2 = 00000BB8 -.L80B93150: -/* 001C0 80B93150 8FBF001C */ lw $ra, 0x001C($sp) -/* 001C4 80B93154 8FB00018 */ lw $s0, 0x0018($sp) -/* 001C8 80B93158 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 001CC 80B9315C 03E00008 */ jr $ra -/* 001D0 80B93160 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/func_80B93164.s b/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/func_80B93164.s deleted file mode 100644 index 3dba504817..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/func_80B93164.s +++ /dev/null @@ -1,186 +0,0 @@ -glabel func_80B93164 -/* 001D4 80B93164 27BDFF28 */ addiu $sp, $sp, 0xFF28 ## $sp = FFFFFF28 -/* 001D8 80B93168 F7BE0070 */ sdc1 $f30, 0x0070($sp) -/* 001DC 80B9316C 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 001E0 80B93170 4481F000 */ mtc1 $at, $f30 ## $f30 = 2.00 -/* 001E4 80B93174 F7BC0068 */ sdc1 $f28, 0x0068($sp) -/* 001E8 80B93178 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 001EC 80B9317C 4481E000 */ mtc1 $at, $f28 ## $f28 = 5.00 -/* 001F0 80B93180 F7BA0060 */ sdc1 $f26, 0x0060($sp) -/* 001F4 80B93184 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 001F8 80B93188 4481D000 */ mtc1 $at, $f26 ## $f26 = 40.00 -/* 001FC 80B9318C AFBE0098 */ sw $s8, 0x0098($sp) -/* 00200 80B93190 AFB30084 */ sw $s3, 0x0084($sp) -/* 00204 80B93194 F7B80058 */ sdc1 $f24, 0x0058($sp) -/* 00208 80B93198 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0020C 80B9319C AFB70094 */ sw $s7, 0x0094($sp) -/* 00210 80B931A0 AFB60090 */ sw $s6, 0x0090($sp) -/* 00214 80B931A4 AFB5008C */ sw $s5, 0x008C($sp) -/* 00218 80B931A8 AFB40088 */ sw $s4, 0x0088($sp) -/* 0021C 80B931AC AFB20080 */ sw $s2, 0x0080($sp) -/* 00220 80B931B0 AFB1007C */ sw $s1, 0x007C($sp) -/* 00224 80B931B4 AFB00078 */ sw $s0, 0x0078($sp) -/* 00228 80B931B8 3C1380B9 */ lui $s3, %hi(D_80B93784) ## $s3 = 80B90000 -/* 0022C 80B931BC 3C1E0501 */ lui $s8, %hi(D_0500A5E8) ## $s8 = 05010000 -/* 00230 80B931C0 4481C000 */ mtc1 $at, $f24 ## $f24 = 10.00 -/* 00234 80B931C4 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000 -/* 00238 80B931C8 00A0A825 */ or $s5, $a1, $zero ## $s5 = 00000000 -/* 0023C 80B931CC AFBF009C */ sw $ra, 0x009C($sp) -/* 00240 80B931D0 F7B60050 */ sdc1 $f22, 0x0050($sp) -/* 00244 80B931D4 F7B40048 */ sdc1 $f20, 0x0048($sp) -/* 00248 80B931D8 241003E8 */ addiu $s0, $zero, 0x03E8 ## $s0 = 000003E8 -/* 0024C 80B931DC 27DEA5E8 */ addiu $s8, $s8, %lo(D_0500A5E8) ## $s8 = 0500A5E8 -/* 00250 80B931E0 26733784 */ addiu $s3, $s3, %lo(D_80B93784) ## $s3 = 80B93784 -/* 00254 80B931E4 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000 -/* 00258 80B931E8 24940024 */ addiu $s4, $a0, 0x0024 ## $s4 = 00000024 -/* 0025C 80B931EC 27B600BC */ addiu $s6, $sp, 0x00BC ## $s6 = FFFFFFE4 -/* 00260 80B931F0 27B700C8 */ addiu $s7, $sp, 0x00C8 ## $s7 = FFFFFFF0 -.L80B931F4: -/* 00264 80B931F4 26104E20 */ addiu $s0, $s0, 0x4E20 ## $s0 = 00005208 -/* 00268 80B931F8 00108400 */ sll $s0, $s0, 16 -/* 0026C 80B931FC 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00270 80B93200 00108403 */ sra $s0, $s0, 16 -/* 00274 80B93204 46180502 */ mul.s $f20, $f0, $f24 -/* 00278 80B93208 00102400 */ sll $a0, $s0, 16 -/* 0027C 80B9320C 0C01DE1C */ jal Math_Sins - ## sins? -/* 00280 80B93210 00042403 */ sra $a0, $a0, 16 -/* 00284 80B93214 46140102 */ mul.s $f4, $f0, $f20 -/* 00288 80B93218 C6460024 */ lwc1 $f6, 0x0024($s2) ## 00000024 -/* 0028C 80B9321C 46062200 */ add.s $f8, $f4, $f6 -/* 00290 80B93220 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00294 80B93224 E7A800BC */ swc1 $f8, 0x00BC($sp) -/* 00298 80B93228 461A0282 */ mul.s $f10, $f0, $f26 -/* 0029C 80B9322C C6500028 */ lwc1 $f16, 0x0028($s2) ## 00000028 -/* 002A0 80B93230 00102400 */ sll $a0, $s0, 16 -/* 002A4 80B93234 00042403 */ sra $a0, $a0, 16 -/* 002A8 80B93238 46105480 */ add.s $f18, $f10, $f16 -/* 002AC 80B9323C 461C9100 */ add.s $f4, $f18, $f28 -/* 002B0 80B93240 0C01DE0D */ jal Math_Coss - ## coss? -/* 002B4 80B93244 E7A400C0 */ swc1 $f4, 0x00C0($sp) -/* 002B8 80B93248 46140182 */ mul.s $f6, $f0, $f20 -/* 002BC 80B9324C C648002C */ lwc1 $f8, 0x002C($s2) ## 0000002C -/* 002C0 80B93250 46083280 */ add.s $f10, $f6, $f8 -/* 002C4 80B93254 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 002C8 80B93258 E7AA00C4 */ swc1 $f10, 0x00C4($sp) -/* 002CC 80B9325C 46180402 */ mul.s $f16, $f0, $f24 -/* 002D0 80B93260 00102400 */ sll $a0, $s0, 16 -/* 002D4 80B93264 00042403 */ sra $a0, $a0, 16 -/* 002D8 80B93268 0C01DE1C */ jal Math_Sins - ## sins? -/* 002DC 80B9326C 461E8500 */ add.s $f20, $f16, $f30 -/* 002E0 80B93270 46140482 */ mul.s $f18, $f0, $f20 -/* 002E4 80B93274 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 002E8 80B93278 E7B200C8 */ swc1 $f18, 0x00C8($sp) -/* 002EC 80B9327C 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 002F0 80B93280 46000586 */ mov.s $f22, $f0 -/* 002F4 80B93284 44912000 */ mtc1 $s1, $f4 ## $f4 = 0.00 -/* 002F8 80B93288 3C014020 */ lui $at, 0x4020 ## $at = 40200000 -/* 002FC 80B9328C 44815000 */ mtc1 $at, $f10 ## $f10 = 2.50 -/* 00300 80B93290 468021A0 */ cvt.s.w $f6, $f4 -/* 00304 80B93294 3C014170 */ lui $at, 0x4170 ## $at = 41700000 -/* 00308 80B93298 44819000 */ mtc1 $at, $f18 ## $f18 = 15.00 -/* 0030C 80B9329C 00102400 */ sll $a0, $s0, 16 -/* 00310 80B932A0 00042403 */ sra $a0, $a0, 16 -/* 00314 80B932A4 46060202 */ mul.s $f8, $f0, $f6 -/* 00318 80B932A8 00000000 */ nop -/* 0031C 80B932AC 460A4402 */ mul.s $f16, $f8, $f10 -/* 00320 80B932B0 00000000 */ nop -/* 00324 80B932B4 4612B102 */ mul.s $f4, $f22, $f18 -/* 00328 80B932B8 46048180 */ add.s $f6, $f16, $f4 -/* 0032C 80B932BC 0C01DE0D */ jal Math_Coss - ## coss? -/* 00330 80B932C0 E7A600CC */ swc1 $f6, 0x00CC($sp) -/* 00334 80B932C4 46140202 */ mul.s $f8, $f0, $f20 -/* 00338 80B932C8 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000 -/* 0033C 80B932CC 02C02825 */ or $a1, $s6, $zero ## $a1 = FFFFFFE4 -/* 00340 80B932D0 02E03025 */ or $a2, $s7, $zero ## $a2 = FFFFFFF0 -/* 00344 80B932D4 02803825 */ or $a3, $s4, $zero ## $a3 = 00000024 -/* 00348 80B932D8 240E001E */ addiu $t6, $zero, 0x001E ## $t6 = 0000001E -/* 0034C 80B932DC 16200004 */ bne $s1, $zero, .L80B932F0 -/* 00350 80B932E0 E7A800D0 */ swc1 $f8, 0x00D0($sp) -/* 00354 80B932E4 24020029 */ addiu $v0, $zero, 0x0029 ## $v0 = 00000029 -/* 00358 80B932E8 10000008 */ beq $zero, $zero, .L80B9330C -/* 0035C 80B932EC 2403FE3E */ addiu $v1, $zero, 0xFE3E ## $v1 = FFFFFE3E -.L80B932F0: -/* 00360 80B932F0 2A210004 */ slti $at, $s1, 0x0004 -/* 00364 80B932F4 10200004 */ beq $at, $zero, .L80B93308 -/* 00368 80B932F8 24020045 */ addiu $v0, $zero, 0x0045 ## $v0 = 00000045 -/* 0036C 80B932FC 24020025 */ addiu $v0, $zero, 0x0025 ## $v0 = 00000025 -/* 00370 80B93300 10000002 */ beq $zero, $zero, .L80B9330C -/* 00374 80B93304 2403FE84 */ addiu $v1, $zero, 0xFE84 ## $v1 = FFFFFE84 -.L80B93308: -/* 00378 80B93308 2403FEC0 */ addiu $v1, $zero, 0xFEC0 ## $v1 = FFFFFEC0 -.L80B9330C: -/* 0037C 80B9330C 86780000 */ lh $t8, 0x0000($s3) ## 80B93784 -/* 00380 80B93310 240F0005 */ addiu $t7, $zero, 0x0005 ## $t7 = 00000005 -/* 00384 80B93314 24190003 */ addiu $t9, $zero, 0x0003 ## $t9 = 00000003 -/* 00388 80B93318 24080046 */ addiu $t0, $zero, 0x0046 ## $t0 = 00000046 -/* 0038C 80B9331C 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001 -/* 00390 80B93320 240A0002 */ addiu $t2, $zero, 0x0002 ## $t2 = 00000002 -/* 00394 80B93324 AFAA0038 */ sw $t2, 0x0038($sp) -/* 00398 80B93328 AFA90034 */ sw $t1, 0x0034($sp) -/* 0039C 80B9332C AFA80030 */ sw $t0, 0x0030($sp) -/* 003A0 80B93330 AFB90028 */ sw $t9, 0x0028($sp) -/* 003A4 80B93334 AFAF001C */ sw $t7, 0x001C($sp) -/* 003A8 80B93338 AFA30010 */ sw $v1, 0x0010($sp) -/* 003AC 80B9333C AFA20014 */ sw $v0, 0x0014($sp) -/* 003B0 80B93340 AFAE0018 */ sw $t6, 0x0018($sp) -/* 003B4 80B93344 AFA00020 */ sw $zero, 0x0020($sp) -/* 003B8 80B93348 AFA0002C */ sw $zero, 0x002C($sp) -/* 003BC 80B9334C AFBE003C */ sw $s8, 0x003C($sp) -/* 003C0 80B93350 0C00A7A3 */ jal EffectSsKakera_Spawn - -/* 003C4 80B93354 AFB80024 */ sw $t8, 0x0024($sp) -/* 003C8 80B93358 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001 -/* 003CC 80B9335C 24010009 */ addiu $at, $zero, 0x0009 ## $at = 00000009 -/* 003D0 80B93360 1621FFA4 */ bne $s1, $at, .L80B931F4 -/* 003D4 80B93364 26730002 */ addiu $s3, $s3, 0x0002 ## $s3 = 80B93786 -/* 003D8 80B93368 3C01430C */ lui $at, 0x430C ## $at = 430C0000 -/* 003DC 80B9336C 4481A000 */ mtc1 $at, $f20 ## $f20 = 140.00 -/* 003E0 80B93370 240B00B4 */ addiu $t3, $zero, 0x00B4 ## $t3 = 000000B4 -/* 003E4 80B93374 240C005A */ addiu $t4, $zero, 0x005A ## $t4 = 0000005A -/* 003E8 80B93378 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001 -/* 003EC 80B9337C 4406A000 */ mfc1 $a2, $f20 -/* 003F0 80B93380 AFAD0018 */ sw $t5, 0x0018($sp) -/* 003F4 80B93384 AFAC0014 */ sw $t4, 0x0014($sp) -/* 003F8 80B93388 AFAB0010 */ sw $t3, 0x0010($sp) -/* 003FC 80B9338C 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000 -/* 00400 80B93390 02802825 */ or $a1, $s4, $zero ## $a1 = 00000024 -/* 00404 80B93394 0C00CD20 */ jal func_80033480 -/* 00408 80B93398 24070006 */ addiu $a3, $zero, 0x0006 ## $a3 = 00000006 -/* 0040C 80B9339C 4406A000 */ mfc1 $a2, $f20 -/* 00410 80B933A0 240E0050 */ addiu $t6, $zero, 0x0050 ## $t6 = 00000050 -/* 00414 80B933A4 240F005A */ addiu $t7, $zero, 0x005A ## $t7 = 0000005A -/* 00418 80B933A8 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 0041C 80B933AC AFB80018 */ sw $t8, 0x0018($sp) -/* 00420 80B933B0 AFAF0014 */ sw $t7, 0x0014($sp) -/* 00424 80B933B4 AFAE0010 */ sw $t6, 0x0010($sp) -/* 00428 80B933B8 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000 -/* 0042C 80B933BC 02802825 */ or $a1, $s4, $zero ## $a1 = 00000024 -/* 00430 80B933C0 0C00CD20 */ jal func_80033480 -/* 00434 80B933C4 2407000C */ addiu $a3, $zero, 0x000C ## $a3 = 0000000C -/* 00438 80B933C8 8FBF009C */ lw $ra, 0x009C($sp) -/* 0043C 80B933CC D7B40048 */ ldc1 $f20, 0x0048($sp) -/* 00440 80B933D0 D7B60050 */ ldc1 $f22, 0x0050($sp) -/* 00444 80B933D4 D7B80058 */ ldc1 $f24, 0x0058($sp) -/* 00448 80B933D8 D7BA0060 */ ldc1 $f26, 0x0060($sp) -/* 0044C 80B933DC D7BC0068 */ ldc1 $f28, 0x0068($sp) -/* 00450 80B933E0 D7BE0070 */ ldc1 $f30, 0x0070($sp) -/* 00454 80B933E4 8FB00078 */ lw $s0, 0x0078($sp) -/* 00458 80B933E8 8FB1007C */ lw $s1, 0x007C($sp) -/* 0045C 80B933EC 8FB20080 */ lw $s2, 0x0080($sp) -/* 00460 80B933F0 8FB30084 */ lw $s3, 0x0084($sp) -/* 00464 80B933F4 8FB40088 */ lw $s4, 0x0088($sp) -/* 00468 80B933F8 8FB5008C */ lw $s5, 0x008C($sp) -/* 0046C 80B933FC 8FB60090 */ lw $s6, 0x0090($sp) -/* 00470 80B93400 8FB70094 */ lw $s7, 0x0094($sp) -/* 00474 80B93404 8FBE0098 */ lw $s8, 0x0098($sp) -/* 00478 80B93408 03E00008 */ jr $ra -/* 0047C 80B9340C 27BD00D8 */ addiu $sp, $sp, 0x00D8 ## $sp = 00000000 diff --git a/data/overlays/actors/z_obj_hamishi.data.s b/data/overlays/actors/z_obj_hamishi.data.s deleted file mode 100644 index b2713fd20a..0000000000 --- a/data/overlays/actors/z_obj_hamishi.data.s +++ /dev/null @@ -1,26 +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 Obj_Hamishi_InitVars - .word 0x01D20600, 0x00000000, 0x00020000, 0x000001A8 -.word ObjHamishi_Init -.word ObjHamishi_Destroy -.word ObjHamishi_Update -.word ObjHamishi_Draw -glabel D_80B93750 - .word 0x0C000D39, 0x20010000, 0x00000000, 0x00000000, 0x00000000, 0x4FC1FFF6, 0x00000000, 0x00010100, 0x00320046, 0x00000000, 0x00000000 -glabel D_80B9377C - .word 0x0000000C, 0x003CFF00 -glabel D_80B93784 - .word 0x00910087, 0x00730055, 0x004B0035, 0x002D0028, 0x00230000 -glabel D_80B93798 - .word 0xC8500190, 0xB0F407D0, 0xB0F800FA, 0x30FC01F4, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_obj_hamishi.reloc.s b/data/overlays/actors/z_obj_hamishi.reloc.s deleted file mode 100644 index 557a162ea5..0000000000 --- a/data/overlays/actors/z_obj_hamishi.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_80B937F0 - .incbin "baserom/ovl_Obj_Hamishi", 0x860, 0x00000070 diff --git a/spec b/spec index a7f4bfedb9..d8bface48b 100644 --- a/spec +++ b/spec @@ -3385,8 +3385,7 @@ endseg beginseg name "ovl_Obj_Hamishi" include "build/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.o" - include "build/data/overlays/actors/z_obj_hamishi.data.o" - include "build/data/overlays/actors/z_obj_hamishi.reloc.o" + include "build/src/overlays/actors/ovl_Obj_Hamishi/ovl_Obj_Hamishi_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.c b/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.c index 5bc0e0168a..56903f4004 100644 --- a/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.c +++ b/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.c @@ -15,10 +15,9 @@ void ObjHamishi_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjHamishi_Update(Actor* thisx, GlobalContext* globalCtx); void ObjHamishi_Draw(Actor* thisx, GlobalContext* globalCtx); -extern UNK_TYPE D_0500A3B8; -extern UNK_TYPE D_0500A5E8; +extern Gfx D_0500A3B8[]; +extern Gfx D_0500A5E8[]; -/* const ActorInit Obj_Hamishi_InitVars = { ACTOR_OBJ_HAMISHI, ACTORTYPE_PROP, @@ -30,17 +29,172 @@ const ActorInit Obj_Hamishi_InitVars = { (ActorFunc)ObjHamishi_Update, (ActorFunc)ObjHamishi_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/func_80B92F90.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/func_80B92FE8.s") +static ColliderCylinderInit sCylinderInit = { + { COLTYPE_UNK12, 0x00, 0x0D, 0x39, 0x20, COLSHAPE_CYLINDER }, + { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x4FC1FFF6, 0x00, 0x00 }, 0x00, 0x01, 0x01 }, + { 50, 70, 0, { 0, 0, 0 } }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/func_80B93164.s") +static CollisionCheckInfoInit sColChkInfoInit = { 0, 0xC, 0x3C, 0xFF }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/ObjHamishi_Init.s") +static s16 sEffectScales[] = { + 145, 135, 115, 85, 75, 53, 45, 40, 35, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/ObjHamishi_Destroy.s") +static InitChainEntry sInitChain[] = { + ICHAIN_VEC3F_DIV1000(scale, 400, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneForward, 2000, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneScale, 250, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneDownward, 500, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/ObjHamishi_Update.s") +void ObjHamishi_InitCollision(Actor* thisx, GlobalContext* globalCtx) { + ObjHamishi* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Hamishi/ObjHamishi_Draw.s") + Collider_InitCylinder(globalCtx, &this->collider); + Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); + Collider_CylinderUpdate(&this->actor, &this->collider); +} + +void ObjHamishi_Shake(ObjHamishi* this) { + if (this->shakeFrames > 0) { + this->shakeFrames--; + this->shakePosPhase += 5000; + this->shakeRotPhase += 0xE10; + + Math_ApproxF(&this->shakePosSize, 0.0f, 0.15f); + Math_ApproxF(&this->shakeRotSize, 0.0f, 40.0f); + + this->actor.posRot.pos.x = + this->actor.initPosRot.pos.x + (Math_Sins(this->shakePosPhase * 4) * this->shakePosSize); + this->actor.posRot.pos.z = + this->actor.initPosRot.pos.z + (Math_Coss(this->shakePosPhase * 7) * this->shakePosSize); + this->actor.shape.rot.x = + this->actor.initPosRot.rot.x + (s16)(Math_Sins(this->shakeRotPhase * 4) * this->shakeRotSize); + this->actor.shape.rot.z = + this->actor.initPosRot.rot.z + (s16)(Math_Coss(this->shakeRotPhase * 7) * this->shakeRotSize); + } else { + Math_ApproxF(&this->actor.posRot.pos.x, this->actor.initPosRot.pos.x, 1.0f); + Math_ApproxF(&this->actor.posRot.pos.z, this->actor.initPosRot.pos.z, 1.0f); + Math_ApproxUpdateScaledS(&this->actor.shape.rot.x, this->actor.initPosRot.rot.x, 0xBB8); + Math_ApproxUpdateScaledS(&this->actor.shape.rot.z, this->actor.initPosRot.rot.z, 0xBB8); + } +} + +void ObjHamishi_Break(ObjHamishi* this, GlobalContext* globalCtx) { + s32 pad; + Vec3f velocity; + Vec3f pos; + s16 phi_s0 = 1000; + s16 gravity; + s16 phi_v0; + f32 temp_f20; + f32 temp_f22; + s32 i; + + for (i = 0; i < ARRAY_COUNT(sEffectScales); i++) { + phi_s0 += 20000; + + temp_f20 = Math_Rand_ZeroOne() * 10.0f; + pos.x = (Math_Sins(phi_s0) * temp_f20) + this->actor.posRot.pos.x; + pos.y = (Math_Rand_ZeroOne() * 40.0f) + this->actor.posRot.pos.y + 5.0f; + pos.z = (Math_Coss(phi_s0) * temp_f20) + this->actor.posRot.pos.z; + + temp_f20 = (Math_Rand_ZeroOne() * 10.0f) + 2.0f; + velocity.x = Math_Sins(phi_s0) * temp_f20; + temp_f22 = Math_Rand_ZeroOne(); + velocity.y = (Math_Rand_ZeroOne() * i * 2.5f) + (temp_f22 * 15.0f); + velocity.z = Math_Coss(phi_s0) * temp_f20; + + if (i == 0) { + phi_v0 = 41; + gravity = -450; + } else if (i < 4) { + phi_v0 = 37; + gravity = -380; + } else { + phi_v0 = 69; + gravity = -320; + } + + EffectSsKakera_Spawn(globalCtx, &pos, &velocity, &this->actor.posRot.pos, gravity, phi_v0, 30, 5, 0, + sEffectScales[i], 3, 0, 70, 1, OBJECT_GAMEPLAY_FIELD_KEEP, &D_0500A5E8); + } + + func_80033480(globalCtx, &this->actor.posRot, 140.0f, 6, 180, 90, 1); + func_80033480(globalCtx, &this->actor.posRot, 140.0f, 12, 80, 90, 1); +} + +void ObjHamishi_Init(Actor* thisx, GlobalContext* globalCtx) { + ObjHamishi* this = THIS; + + Actor_ProcessInitChain(&this->actor, sInitChain); + + if (globalCtx->csCtx.state != 0) { + this->actor.uncullZoneForward += 1000.0f; + } + if (this->actor.shape.rot.y == 0) { + this->actor.shape.rot.y = this->actor.posRot.rot.y = this->actor.initPosRot.rot.y = + Math_Rand_ZeroFloat(65536.0f); + } + + ObjHamishi_InitCollision(&this->actor, globalCtx); + func_80061ED4(&this->actor.colChkInfo, NULL, &sColChkInfoInit); + + if (Flags_GetSwitch(globalCtx, this->actor.params & 0x3F)) { + Actor_Kill(&this->actor); + return; + } + + this->actor.shape.unk_08 = 80.0f; +} + +void ObjHamishi_Destroy(Actor* thisx, GlobalContext* globalCtx) { + GlobalContext* globalCtx2 = globalCtx; + ObjHamishi* this = THIS; + + Collider_DestroyCylinder(globalCtx2, &this->collider); +} + +void ObjHamishi_Update(Actor* thisx, GlobalContext* globalCtx) { + ObjHamishi* this = THIS; + CollisionCheckContext* colChkCtx = &globalCtx->colChkCtx; + + ObjHamishi_Shake(this); + + if ((this->collider.base.acFlags & 2) && (this->collider.body.acHitItem->toucher.flags & 0x40000040)) { + this->collider.base.acFlags &= ~2; + this->hitCount++; + if (this->hitCount < 2) { + this->shakeFrames = 15; + this->shakePosSize = 2.0f; + this->shakeRotSize = 400.0f; + } else { + ObjHamishi_Break(this, globalCtx); + Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 40, NA_SE_EV_WALL_BROKEN); + Flags_SetSwitch(globalCtx, this->actor.params & 0x3F); + Actor_Kill(&this->actor); + } + } else { + this->collider.base.acFlags &= ~2; + + if (this->actor.xzDistFromLink < 600.0f) { + CollisionCheck_SetAC(globalCtx, colChkCtx, &this->collider); + CollisionCheck_SetOC(globalCtx, colChkCtx, &this->collider); + } + } +} + +void ObjHamishi_Draw(Actor* thisx, GlobalContext* globalCtx) { + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_obj_hamishi.c", 399); + + func_80093D18(globalCtx->state.gfxCtx); + + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_obj_hamishi.c", 404), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 170, 130, 255); + gSPDisplayList(POLY_OPA_DISP++, &D_0500A3B8); + + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_obj_hamishi.c", 411); +} diff --git a/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.h b/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.h index 01987a8a10..4e41c3cc16 100644 --- a/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.h +++ b/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.h @@ -8,7 +8,13 @@ struct ObjHamishi; typedef struct ObjHamishi { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x5C]; + /* 0x014C */ ColliderCylinder collider; + /* 0x0198 */ f32 shakePosSize; + /* 0x019C */ f32 shakeRotSize; + /* 0x01A0 */ s16 shakeFrames; + /* 0x01A2 */ s16 shakePosPhase; + /* 0x01A4 */ s16 shakeRotPhase; + /* 0x01A6 */ s16 hitCount; } ObjHamishi; // size = 0x01A8 extern const ActorInit Obj_Hamishi_InitVars;