diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/ObjMure2_Init.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/ObjMure2_Init.s deleted file mode 100644 index 9033f42670..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/ObjMure2_Init.s +++ /dev/null @@ -1,27 +0,0 @@ -glabel ObjMure2_Init -/* 00688 80B9A5C8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0068C 80B9A5CC AFA5001C */ sw $a1, 0x001C($sp) -/* 00690 80B9A5D0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00694 80B9A5D4 3C0580BA */ lui $a1, %hi(D_80B9A86C) ## $a1 = 80BA0000 -/* 00698 80B9A5D8 24A5A86C */ addiu $a1, $a1, %lo(D_80B9A86C) ## $a1 = 80B9A86C -/* 0069C 80B9A5DC 0C01E037 */ jal Actor_ProcessInitChain - -/* 006A0 80B9A5E0 AFA40018 */ sw $a0, 0x0018($sp) -/* 006A4 80B9A5E4 8FAE001C */ lw $t6, 0x001C($sp) -/* 006A8 80B9A5E8 8FA40018 */ lw $a0, 0x0018($sp) -/* 006AC 80B9A5EC 3C014496 */ lui $at, 0x4496 ## $at = 44960000 -/* 006B0 80B9A5F0 91CF1D6C */ lbu $t7, 0x1D6C($t6) ## 00001D6C -/* 006B4 80B9A5F4 11E00006 */ beq $t7, $zero, .L80B9A610 -/* 006B8 80B9A5F8 00000000 */ nop -/* 006BC 80B9A5FC C48400F4 */ lwc1 $f4, 0x00F4($a0) ## 000000F4 -/* 006C0 80B9A600 44813000 */ mtc1 $at, $f6 ## $f6 = 1200.00 -/* 006C4 80B9A604 00000000 */ nop -/* 006C8 80B9A608 46062200 */ add.s $f8, $f4, $f6 -/* 006CC 80B9A60C E48800F4 */ swc1 $f8, 0x00F4($a0) ## 000000F4 -.L80B9A610: -/* 006D0 80B9A610 0C2E698A */ jal func_80B9A628 -/* 006D4 80B9A614 00000000 */ nop -/* 006D8 80B9A618 8FBF0014 */ lw $ra, 0x0014($sp) -/* 006DC 80B9A61C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 006E0 80B9A620 03E00008 */ jr $ra -/* 006E4 80B9A624 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B99F40.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/ObjMure2_SetPosShrubCircle.s similarity index 99% rename from asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B99F40.s rename to asm/non_matchings/overlays/actors/ovl_Obj_Mure2/ObjMure2_SetPosShrubCircle.s index bc4852abda..be5577eb8c 100644 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B99F40.s +++ b/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/ObjMure2_SetPosShrubCircle.s @@ -1,4 +1,4 @@ -glabel func_80B99F40 +glabel ObjMure2_SetPosShrubCircle /* 00000 80B99F40 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 /* 00004 80B99F44 AFB50034 */ sw $s5, 0x0034($sp) /* 00008 80B99F48 AFB40030 */ sw $s4, 0x0030($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/ObjMure2_Update.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/ObjMure2_Update.s deleted file mode 100644 index 4260bdfec9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/ObjMure2_Update.s +++ /dev/null @@ -1,26 +0,0 @@ -glabel ObjMure2_Update -/* 00844 80B9A784 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00848 80B9A788 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0084C 80B9A78C 90AE1D6C */ lbu $t6, 0x1D6C($a1) ## 00001D6C -/* 00850 80B9A790 3C014080 */ lui $at, 0x4080 ## $at = 40800000 -/* 00854 80B9A794 55C00006 */ bnel $t6, $zero, .L80B9A7B0 -/* 00858 80B9A798 44813000 */ mtc1 $at, $f6 ## $f6 = 4.00 -/* 0085C 80B9A79C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00860 80B9A7A0 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00 -/* 00864 80B9A7A4 10000004 */ beq $zero, $zero, .L80B9A7B8 -/* 00868 80B9A7A8 E4840184 */ swc1 $f4, 0x0184($a0) ## 00000184 -/* 0086C 80B9A7AC 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00 -.L80B9A7B0: -/* 00870 80B9A7B0 00000000 */ nop -/* 00874 80B9A7B4 E4860184 */ swc1 $f6, 0x0184($a0) ## 00000184 -.L80B9A7B8: -/* 00878 80B9A7B8 8C99014C */ lw $t9, 0x014C($a0) ## 0000014C -/* 0087C 80B9A7BC 0320F809 */ jalr $ra, $t9 -/* 00880 80B9A7C0 00000000 */ nop -/* 00884 80B9A7C4 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00888 80B9A7C8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 0088C 80B9A7CC 03E00008 */ jr $ra -/* 00890 80B9A7D0 00000000 */ nop -/* 00894 80B9A7D4 00000000 */ nop -/* 00898 80B9A7D8 00000000 */ nop -/* 0089C 80B9A7DC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A058.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A058.s deleted file mode 100644 index af77b100b4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A058.s +++ /dev/null @@ -1,70 +0,0 @@ -glabel func_80B9A058 -/* 00118 80B9A058 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 0011C 80B9A05C AFBF002C */ sw $ra, 0x002C($sp) -/* 00120 80B9A060 AFB50028 */ sw $s5, 0x0028($sp) -/* 00124 80B9A064 AFB40024 */ sw $s4, 0x0024($sp) -/* 00128 80B9A068 AFB30020 */ sw $s3, 0x0020($sp) -/* 0012C 80B9A06C AFB2001C */ sw $s2, 0x001C($sp) -/* 00130 80B9A070 AFB10018 */ sw $s1, 0x0018($sp) -/* 00134 80B9A074 AFB00014 */ sw $s0, 0x0014($sp) -/* 00138 80B9A078 84AE001C */ lh $t6, 0x001C($a1) ## 0000001C -/* 0013C 80B9A07C 3C1580BA */ lui $s5, %hi(D_80B9A818) ## $s5 = 80BA0000 -/* 00140 80B9A080 26B5A818 */ addiu $s5, $s5, %lo(D_80B9A818) ## $s5 = 80B9A818 -/* 00144 80B9A084 31CF0003 */ andi $t7, $t6, 0x0003 ## $t7 = 00000000 -/* 00148 80B9A088 000FC040 */ sll $t8, $t7, 1 -/* 0014C 80B9A08C 02B8C821 */ addu $t9, $s5, $t8 -/* 00150 80B9A090 87280000 */ lh $t0, 0x0000($t9) ## 00000000 -/* 00154 80B9A094 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000 -/* 00158 80B9A098 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0015C 80B9A09C 19000025 */ blez $t0, .L80B9A134 -/* 00160 80B9A0A0 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -/* 00164 80B9A0A4 3C1180BA */ lui $s1, %hi(D_80B9A828) ## $s1 = 80BA0000 -/* 00168 80B9A0A8 2631A828 */ addiu $s1, $s1, %lo(D_80B9A828) ## $s1 = 80B9A828 -/* 0016C 80B9A0AC 24B30024 */ addiu $s3, $a1, 0x0024 ## $s3 = 00000024 -/* 00170 80B9A0B0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L80B9A0B4: -/* 00174 80B9A0B4 0C01DF90 */ jal Math_Vec3f_Copy - ## Vec3f_Copy -/* 00178 80B9A0B8 02602825 */ or $a1, $s3, $zero ## $a1 = 00000024 -/* 0017C 80B9A0BC 0C01DE0D */ jal Math_CosS - ## coss? -/* 00180 80B9A0C0 86240002 */ lh $a0, 0x0002($s1) ## 80B9A82A -/* 00184 80B9A0C4 86290000 */ lh $t1, 0x0000($s1) ## 80B9A828 -/* 00188 80B9A0C8 C6040000 */ lwc1 $f4, 0x0000($s0) ## 00000000 -/* 0018C 80B9A0CC 44893000 */ mtc1 $t1, $f6 ## $f6 = 0.00 -/* 00190 80B9A0D0 00000000 */ nop -/* 00194 80B9A0D4 46803220 */ cvt.s.w $f8, $f6 -/* 00198 80B9A0D8 46004282 */ mul.s $f10, $f8, $f0 -/* 0019C 80B9A0DC 460A2400 */ add.s $f16, $f4, $f10 -/* 001A0 80B9A0E0 E6100000 */ swc1 $f16, 0x0000($s0) ## 00000000 -/* 001A4 80B9A0E4 0C01DE1C */ jal Math_SinS - ## sins? -/* 001A8 80B9A0E8 86240002 */ lh $a0, 0x0002($s1) ## 80B9A82A -/* 001AC 80B9A0EC 862A0000 */ lh $t2, 0x0000($s1) ## 80B9A828 -/* 001B0 80B9A0F0 C6120008 */ lwc1 $f18, 0x0008($s0) ## 00000008 -/* 001B4 80B9A0F4 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 001B8 80B9A0F8 448A3000 */ mtc1 $t2, $f6 ## $f6 = 0.00 -/* 001BC 80B9A0FC 2610000C */ addiu $s0, $s0, 0x000C ## $s0 = 0000000C -/* 001C0 80B9A100 26310004 */ addiu $s1, $s1, 0x0004 ## $s1 = 80B9A82C -/* 001C4 80B9A104 46803220 */ cvt.s.w $f8, $f6 -/* 001C8 80B9A108 46004102 */ mul.s $f4, $f8, $f0 -/* 001CC 80B9A10C 46049281 */ sub.s $f10, $f18, $f4 -/* 001D0 80B9A110 E60AFFFC */ swc1 $f10, -0x0004($s0) ## 00000008 -/* 001D4 80B9A114 868B001C */ lh $t3, 0x001C($s4) ## 0000001C -/* 001D8 80B9A118 316C0003 */ andi $t4, $t3, 0x0003 ## $t4 = 00000000 -/* 001DC 80B9A11C 000C6840 */ sll $t5, $t4, 1 -/* 001E0 80B9A120 02AD7021 */ addu $t6, $s5, $t5 -/* 001E4 80B9A124 85CF0000 */ lh $t7, 0x0000($t6) ## 00000000 -/* 001E8 80B9A128 024F082A */ slt $at, $s2, $t7 -/* 001EC 80B9A12C 5420FFE1 */ bnel $at, $zero, .L80B9A0B4 -/* 001F0 80B9A130 02002025 */ or $a0, $s0, $zero ## $a0 = 0000000C -.L80B9A134: -/* 001F4 80B9A134 8FBF002C */ lw $ra, 0x002C($sp) -/* 001F8 80B9A138 8FB00014 */ lw $s0, 0x0014($sp) -/* 001FC 80B9A13C 8FB10018 */ lw $s1, 0x0018($sp) -/* 00200 80B9A140 8FB2001C */ lw $s2, 0x001C($sp) -/* 00204 80B9A144 8FB30020 */ lw $s3, 0x0020($sp) -/* 00208 80B9A148 8FB40024 */ lw $s4, 0x0024($sp) -/* 0020C 80B9A14C 8FB50028 */ lw $s5, 0x0028($sp) -/* 00210 80B9A150 03E00008 */ jr $ra -/* 00214 80B9A154 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A158.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A158.s deleted file mode 100644 index de164be919..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A158.s +++ /dev/null @@ -1,72 +0,0 @@ -glabel func_80B9A158 -/* 00218 80B9A158 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 0021C 80B9A15C AFBF003C */ sw $ra, 0x003C($sp) -/* 00220 80B9A160 AFB60038 */ sw $s6, 0x0038($sp) -/* 00224 80B9A164 AFB50034 */ sw $s5, 0x0034($sp) -/* 00228 80B9A168 AFB40030 */ sw $s4, 0x0030($sp) -/* 0022C 80B9A16C AFB3002C */ sw $s3, 0x002C($sp) -/* 00230 80B9A170 AFB20028 */ sw $s2, 0x0028($sp) -/* 00234 80B9A174 AFB10024 */ sw $s1, 0x0024($sp) -/* 00238 80B9A178 AFB00020 */ sw $s0, 0x0020($sp) -/* 0023C 80B9A17C F7B40018 */ sdc1 $f20, 0x0018($sp) -/* 00240 80B9A180 84AE001C */ lh $t6, 0x001C($a1) ## 0000001C -/* 00244 80B9A184 3C1680BA */ lui $s6, %hi(D_80B9A818) ## $s6 = 80BA0000 -/* 00248 80B9A188 26D6A818 */ addiu $s6, $s6, %lo(D_80B9A818) ## $s6 = 80B9A818 -/* 0024C 80B9A18C 31CF0003 */ andi $t7, $t6, 0x0003 ## $t7 = 00000000 -/* 00250 80B9A190 000FC040 */ sll $t8, $t7, 1 -/* 00254 80B9A194 02D8C821 */ addu $t9, $s6, $t8 -/* 00258 80B9A198 87280000 */ lh $t0, 0x0000($t9) ## 00000000 -/* 0025C 80B9A19C 00A0A825 */ or $s5, $a1, $zero ## $s5 = 00000000 -/* 00260 80B9A1A0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00264 80B9A1A4 19000023 */ blez $t0, .L80B9A234 -/* 00268 80B9A1A8 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000 -/* 0026C 80B9A1AC 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000 -/* 00270 80B9A1B0 4481A000 */ mtc1 $at, $f20 ## $f20 = 80.00 -/* 00274 80B9A1B4 24B40024 */ addiu $s4, $a1, 0x0024 ## $s4 = 00000024 -/* 00278 80B9A1B8 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000 -/* 0027C 80B9A1BC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L80B9A1C0: -/* 00280 80B9A1C0 0C01DF90 */ jal Math_Vec3f_Copy - ## Vec3f_Copy -/* 00284 80B9A1C4 02802825 */ or $a1, $s4, $zero ## $a1 = 00000024 -/* 00288 80B9A1C8 00119400 */ sll $s2, $s1, 16 -/* 0028C 80B9A1CC 00129403 */ sra $s2, $s2, 16 -/* 00290 80B9A1D0 00122400 */ sll $a0, $s2, 16 -/* 00294 80B9A1D4 0C01DE1C */ jal Math_SinS - ## sins? -/* 00298 80B9A1D8 00042403 */ sra $a0, $a0, 16 -/* 0029C 80B9A1DC 4600A182 */ mul.s $f6, $f20, $f0 -/* 002A0 80B9A1E0 C6040000 */ lwc1 $f4, 0x0000($s0) ## 00000000 -/* 002A4 80B9A1E4 00122400 */ sll $a0, $s2, 16 -/* 002A8 80B9A1E8 00042403 */ sra $a0, $a0, 16 -/* 002AC 80B9A1EC 46062200 */ add.s $f8, $f4, $f6 -/* 002B0 80B9A1F0 0C01DE0D */ jal Math_CosS - ## coss? -/* 002B4 80B9A1F4 E6080000 */ swc1 $f8, 0x0000($s0) ## 00000000 -/* 002B8 80B9A1F8 4600A402 */ mul.s $f16, $f20, $f0 -/* 002BC 80B9A1FC C60A0008 */ lwc1 $f10, 0x0008($s0) ## 00000008 -/* 002C0 80B9A200 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001 -/* 002C4 80B9A204 2610000C */ addiu $s0, $s0, 0x000C ## $s0 = 0000000C -/* 002C8 80B9A208 26312000 */ addiu $s1, $s1, 0x2000 ## $s1 = 00002000 -/* 002CC 80B9A20C 46105480 */ add.s $f18, $f10, $f16 -/* 002D0 80B9A210 E612FFFC */ swc1 $f18, -0x0004($s0) ## 00000008 -/* 002D4 80B9A214 86A9001C */ lh $t1, 0x001C($s5) ## 0000001C -/* 002D8 80B9A218 312A0003 */ andi $t2, $t1, 0x0003 ## $t2 = 00000000 -/* 002DC 80B9A21C 000A5840 */ sll $t3, $t2, 1 -/* 002E0 80B9A220 02CB6021 */ addu $t4, $s6, $t3 -/* 002E4 80B9A224 858D0000 */ lh $t5, 0x0000($t4) ## 00000000 -/* 002E8 80B9A228 026D082A */ slt $at, $s3, $t5 -/* 002EC 80B9A22C 5420FFE4 */ bnel $at, $zero, .L80B9A1C0 -/* 002F0 80B9A230 02002025 */ or $a0, $s0, $zero ## $a0 = 0000000C -.L80B9A234: -/* 002F4 80B9A234 8FBF003C */ lw $ra, 0x003C($sp) -/* 002F8 80B9A238 D7B40018 */ ldc1 $f20, 0x0018($sp) -/* 002FC 80B9A23C 8FB00020 */ lw $s0, 0x0020($sp) -/* 00300 80B9A240 8FB10024 */ lw $s1, 0x0024($sp) -/* 00304 80B9A244 8FB20028 */ lw $s2, 0x0028($sp) -/* 00308 80B9A248 8FB3002C */ lw $s3, 0x002C($sp) -/* 0030C 80B9A24C 8FB40030 */ lw $s4, 0x0030($sp) -/* 00310 80B9A250 8FB50034 */ lw $s5, 0x0034($sp) -/* 00314 80B9A254 8FB60038 */ lw $s6, 0x0038($sp) -/* 00318 80B9A258 03E00008 */ jr $ra -/* 0031C 80B9A25C 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A260.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A260.s deleted file mode 100644 index 9dee9596bb..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A260.s +++ /dev/null @@ -1,22 +0,0 @@ -glabel func_80B9A260 -/* 00320 80B9A260 84A3001C */ lh $v1, 0x001C($a1) ## 0000001C -/* 00324 80B9A264 3C1880BA */ lui $t8, %hi(D_80B9A858) ## $t8 = 80BA0000 -/* 00328 80B9A268 00031203 */ sra $v0, $v1, 8 -/* 0032C 80B9A26C 3042000F */ andi $v0, $v0, 0x000F ## $v0 = 00000000 -/* 00330 80B9A270 00021400 */ sll $v0, $v0, 16 -/* 00334 80B9A274 00021403 */ sra $v0, $v0, 16 -/* 00338 80B9A278 2841000D */ slti $at, $v0, 0x000D -/* 0033C 80B9A27C 14200002 */ bne $at, $zero, .L80B9A288 -/* 00340 80B9A280 306E0003 */ andi $t6, $v1, 0x0003 ## $t6 = 00000000 -/* 00344 80B9A284 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80B9A288: -/* 00348 80B9A288 000E7840 */ sll $t7, $t6, 1 -/* 0034C 80B9A28C 030FC021 */ addu $t8, $t8, $t7 -/* 00350 80B9A290 8718A858 */ lh $t8, %lo(D_80B9A858)($t8) -/* 00354 80B9A294 00024A00 */ sll $t1, $v0, 8 -/* 00358 80B9A298 3319F0FF */ andi $t9, $t8, 0xF0FF ## $t9 = 00000000 -/* 0035C 80B9A29C A4990000 */ sh $t9, 0x0000($a0) ## 00000000 -/* 00360 80B9A2A0 84880000 */ lh $t0, 0x0000($a0) ## 00000000 -/* 00364 80B9A2A4 01095025 */ or $t2, $t0, $t1 ## $t2 = 00000000 -/* 00368 80B9A2A8 03E00008 */ jr $ra -/* 0036C 80B9A2AC A48A0000 */ sh $t2, 0x0000($a0) ## 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A2B0.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A2B0.s deleted file mode 100644 index 86a6c92c06..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A2B0.s +++ /dev/null @@ -1,116 +0,0 @@ -.rdata -glabel D_80B9A880 - .asciz "Warning : 既に子供がいる(%s %d)(arg_data 0x%04x)\n" - .balign 4 - -glabel D_80B9A8B4 - .asciz "../z_obj_mure2.c" - .balign 4 - -.text -glabel func_80B9A2B0 -/* 00370 80B9A2B0 27BDFEF8 */ addiu $sp, $sp, 0xFEF8 ## $sp = FFFFFEF8 -/* 00374 80B9A2B4 AFBF0054 */ sw $ra, 0x0054($sp) -/* 00378 80B9A2B8 AFBE0050 */ sw $s8, 0x0050($sp) -/* 0037C 80B9A2BC AFB7004C */ sw $s7, 0x004C($sp) -/* 00380 80B9A2C0 AFB60048 */ sw $s6, 0x0048($sp) -/* 00384 80B9A2C4 AFB50044 */ sw $s5, 0x0044($sp) -/* 00388 80B9A2C8 AFB40040 */ sw $s4, 0x0040($sp) -/* 0038C 80B9A2CC AFB3003C */ sw $s3, 0x003C($sp) -/* 00390 80B9A2D0 AFB20038 */ sw $s2, 0x0038($sp) -/* 00394 80B9A2D4 AFB10034 */ sw $s1, 0x0034($sp) -/* 00398 80B9A2D8 AFB00030 */ sw $s0, 0x0030($sp) -/* 0039C 80B9A2DC 8492001C */ lh $s2, 0x001C($a0) ## 0000001C -/* 003A0 80B9A2E0 3C1980BA */ lui $t9, %hi(D_80B9A860) ## $t9 = 80BA0000 -/* 003A4 80B9A2E4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 003A8 80B9A2E8 32520003 */ andi $s2, $s2, 0x0003 ## $s2 = 00000000 -/* 003AC 80B9A2EC 00127080 */ sll $t6, $s2, 2 -/* 003B0 80B9A2F0 032EC821 */ addu $t9, $t9, $t6 -/* 003B4 80B9A2F4 8F39A860 */ lw $t9, %lo(D_80B9A860)($t9) -/* 003B8 80B9A2F8 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000 -/* 003BC 80B9A2FC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 003C0 80B9A300 0320F809 */ jalr $ra, $t9 -/* 003C4 80B9A304 27A40070 */ addiu $a0, $sp, 0x0070 ## $a0 = FFFFFF68 -/* 003C8 80B9A308 27A4006E */ addiu $a0, $sp, 0x006E ## $a0 = FFFFFF66 -/* 003CC 80B9A30C 0C2E6898 */ jal func_80B9A260 -/* 003D0 80B9A310 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 003D4 80B9A314 3C0880BA */ lui $t0, %hi(D_80B9A818) ## $t0 = 80BA0000 -/* 003D8 80B9A318 2508A818 */ addiu $t0, $t0, %lo(D_80B9A818) ## $t0 = 80B9A818 -/* 003DC 80B9A31C 00127840 */ sll $t7, $s2, 1 -/* 003E0 80B9A320 01E89821 */ addu $s3, $t7, $t0 -/* 003E4 80B9A324 86690000 */ lh $t1, 0x0000($s3) ## 00000000 -/* 003E8 80B9A328 AFAF0068 */ sw $t7, 0x0068($sp) -/* 003EC 80B9A32C 02009025 */ or $s2, $s0, $zero ## $s2 = 00000000 -/* 003F0 80B9A330 19200035 */ blez $t1, .L80B9A408 -/* 003F4 80B9A334 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000 -/* 003F8 80B9A338 3C1780BA */ lui $s7, %hi(D_80B9A820) ## $s7 = 80BA0000 -/* 003FC 80B9A33C 3C1680BA */ lui $s6, %hi(D_80B9A8B4) ## $s6 = 80BA0000 -/* 00400 80B9A340 3C1580BA */ lui $s5, %hi(D_80B9A880) ## $s5 = 80BA0000 -/* 00404 80B9A344 26B5A880 */ addiu $s5, $s5, %lo(D_80B9A880) ## $s5 = 80B9A880 -/* 00408 80B9A348 26D6A8B4 */ addiu $s6, $s6, %lo(D_80B9A8B4) ## $s6 = 80B9A8B4 -/* 0040C 80B9A34C 26F7A820 */ addiu $s7, $s7, %lo(D_80B9A820) ## $s7 = 80B9A820 -/* 00410 80B9A350 241E000C */ addiu $s8, $zero, 0x000C ## $s8 = 0000000C -.L80B9A354: -/* 00414 80B9A354 8E4A0150 */ lw $t2, 0x0150($s2) ## 00000150 -/* 00418 80B9A358 02A02025 */ or $a0, $s5, $zero ## $a0 = 80B9A880 -/* 0041C 80B9A35C 02C02825 */ or $a1, $s6, $zero ## $a1 = 80B9A8B4 -/* 00420 80B9A360 11400005 */ beq $t2, $zero, .L80B9A378 -/* 00424 80B9A364 2406010D */ addiu $a2, $zero, 0x010D ## $a2 = 0000010D -/* 00428 80B9A368 0C00084C */ jal osSyncPrintf - -/* 0042C 80B9A36C 8607001C */ lh $a3, 0x001C($s0) ## 0000001C -/* 00430 80B9A370 10000021 */ beq $zero, $zero, .L80B9A3F8 -/* 00434 80B9A374 86620000 */ lh $v0, 0x0000($s3) ## 00000000 -.L80B9A378: -/* 00438 80B9A378 960B0180 */ lhu $t3, 0x0180($s0) ## 00000180 -/* 0043C 80B9A37C 022B6007 */ srav $t4, $t3, $s1 -/* 00440 80B9A380 318D0001 */ andi $t5, $t4, 0x0001 ## $t5 = 00000000 -/* 00444 80B9A384 55A0001C */ bnel $t5, $zero, .L80B9A3F8 -/* 00448 80B9A388 86620000 */ lh $v0, 0x0000($s3) ## 00000000 -/* 0044C 80B9A38C 023E0019 */ multu $s1, $s8 -/* 00450 80B9A390 8FAE0068 */ lw $t6, 0x0068($sp) -/* 00454 80B9A394 27B80070 */ addiu $t8, $sp, 0x0070 ## $t8 = FFFFFF68 -/* 00458 80B9A398 87AA006E */ lh $t2, 0x006E($sp) -/* 0045C 80B9A39C 02EEC821 */ addu $t9, $s7, $t6 -/* 00460 80B9A3A0 87260000 */ lh $a2, 0x0000($t9) ## 00000000 -/* 00464 80B9A3A4 26841C24 */ addiu $a0, $s4, 0x1C24 ## $a0 = 00001C24 -/* 00468 80B9A3A8 02802825 */ or $a1, $s4, $zero ## $a1 = 00000000 -/* 0046C 80B9A3AC 00007812 */ mflo $t7 -/* 00470 80B9A3B0 01F81021 */ addu $v0, $t7, $t8 -/* 00474 80B9A3B4 C4440004 */ lwc1 $f4, 0x0004($v0) ## 00000004 -/* 00478 80B9A3B8 8C470000 */ lw $a3, 0x0000($v0) ## 00000000 -/* 0047C 80B9A3BC E7A40010 */ swc1 $f4, 0x0010($sp) -/* 00480 80B9A3C0 C4460008 */ lwc1 $f6, 0x0008($v0) ## 00000008 -/* 00484 80B9A3C4 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 00488 80B9A3C8 86080030 */ lh $t0, 0x0030($s0) ## 00000030 -/* 0048C 80B9A3CC AFA0001C */ sw $zero, 0x001C($sp) -/* 00490 80B9A3D0 AFA80018 */ sw $t0, 0x0018($sp) -/* 00494 80B9A3D4 86090034 */ lh $t1, 0x0034($s0) ## 00000034 -/* 00498 80B9A3D8 AFAA0024 */ sw $t2, 0x0024($sp) -/* 0049C 80B9A3DC 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 004A0 80B9A3E0 AFA90020 */ sw $t1, 0x0020($sp) -/* 004A4 80B9A3E4 10400003 */ beq $v0, $zero, .L80B9A3F4 -/* 004A8 80B9A3E8 AE420150 */ sw $v0, 0x0150($s2) ## 00000150 -/* 004AC 80B9A3EC 820B0003 */ lb $t3, 0x0003($s0) ## 00000003 -/* 004B0 80B9A3F0 A04B0003 */ sb $t3, 0x0003($v0) ## 00000003 -.L80B9A3F4: -/* 004B4 80B9A3F4 86620000 */ lh $v0, 0x0000($s3) ## 00000000 -.L80B9A3F8: -/* 004B8 80B9A3F8 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001 -/* 004BC 80B9A3FC 0222082A */ slt $at, $s1, $v0 -/* 004C0 80B9A400 1420FFD4 */ bne $at, $zero, .L80B9A354 -/* 004C4 80B9A404 26520004 */ addiu $s2, $s2, 0x0004 ## $s2 = 00000004 -.L80B9A408: -/* 004C8 80B9A408 8FBF0054 */ lw $ra, 0x0054($sp) -/* 004CC 80B9A40C 8FB00030 */ lw $s0, 0x0030($sp) -/* 004D0 80B9A410 8FB10034 */ lw $s1, 0x0034($sp) -/* 004D4 80B9A414 8FB20038 */ lw $s2, 0x0038($sp) -/* 004D8 80B9A418 8FB3003C */ lw $s3, 0x003C($sp) -/* 004DC 80B9A41C 8FB40040 */ lw $s4, 0x0040($sp) -/* 004E0 80B9A420 8FB50044 */ lw $s5, 0x0044($sp) -/* 004E4 80B9A424 8FB60048 */ lw $s6, 0x0048($sp) -/* 004E8 80B9A428 8FB7004C */ lw $s7, 0x004C($sp) -/* 004EC 80B9A42C 8FBE0050 */ lw $s8, 0x0050($sp) -/* 004F0 80B9A430 03E00008 */ jr $ra -/* 004F4 80B9A434 27BD0108 */ addiu $sp, $sp, 0x0108 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A438.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A438.s deleted file mode 100644 index fa97bb0a8b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A438.s +++ /dev/null @@ -1,72 +0,0 @@ -glabel func_80B9A438 -/* 004F8 80B9A438 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 004FC 80B9A43C AFBF0024 */ sw $ra, 0x0024($sp) -/* 00500 80B9A440 AFB30020 */ sw $s3, 0x0020($sp) -/* 00504 80B9A444 AFB2001C */ sw $s2, 0x001C($sp) -/* 00508 80B9A448 AFB10018 */ sw $s1, 0x0018($sp) -/* 0050C 80B9A44C AFB00014 */ sw $s0, 0x0014($sp) -/* 00510 80B9A450 848E001C */ lh $t6, 0x001C($a0) ## 0000001C -/* 00514 80B9A454 3C0280BA */ lui $v0, %hi(D_80B9A818) ## $v0 = 80BA0000 -/* 00518 80B9A458 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 0051C 80B9A45C 31CF0003 */ andi $t7, $t6, 0x0003 ## $t7 = 00000000 -/* 00520 80B9A460 000FC040 */ sll $t8, $t7, 1 -/* 00524 80B9A464 00581021 */ addu $v0, $v0, $t8 -/* 00528 80B9A468 8442A818 */ lh $v0, %lo(D_80B9A818)($v0) -/* 0052C 80B9A46C 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000 -/* 00530 80B9A470 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00534 80B9A474 18400028 */ blez $v0, .L80B9A518 -/* 00538 80B9A478 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -.L80B9A47C: -/* 0053C 80B9A47C 96390180 */ lhu $t9, 0x0180($s1) ## 00000180 -/* 00540 80B9A480 02594007 */ srav $t0, $t9, $s2 -/* 00544 80B9A484 31090001 */ andi $t1, $t0, 0x0001 ## $t1 = 00000000 -/* 00548 80B9A488 55200019 */ bnel $t1, $zero, .L80B9A4F0 -/* 0054C 80B9A48C AE000150 */ sw $zero, 0x0150($s0) ## 00000150 -/* 00550 80B9A490 8E040150 */ lw $a0, 0x0150($s0) ## 00000150 -/* 00554 80B9A494 5080001D */ beql $a0, $zero, .L80B9A50C -/* 00558 80B9A498 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 0055C 80B9A49C 0C00BD04 */ jal Actor_HasParent -/* 00560 80B9A4A0 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000 -/* 00564 80B9A4A4 10400007 */ beq $v0, $zero, .L80B9A4C4 -/* 00568 80B9A4A8 00000000 */ nop -/* 0056C 80B9A4AC 962A0180 */ lhu $t2, 0x0180($s1) ## 00000180 -/* 00570 80B9A4B0 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001 -/* 00574 80B9A4B4 024B6004 */ sllv $t4, $t3, $s2 -/* 00578 80B9A4B8 014C6825 */ or $t5, $t2, $t4 ## $t5 = 00000000 -/* 0057C 80B9A4BC 10000003 */ beq $zero, $zero, .L80B9A4CC -/* 00580 80B9A4C0 A62D0180 */ sh $t5, 0x0180($s1) ## 00000180 -.L80B9A4C4: -/* 00584 80B9A4C4 0C00B55C */ jal Actor_Kill - -/* 00588 80B9A4C8 8E040150 */ lw $a0, 0x0150($s0) ## 00000150 -.L80B9A4CC: -/* 0058C 80B9A4CC AE000150 */ sw $zero, 0x0150($s0) ## 00000150 -/* 00590 80B9A4D0 862E001C */ lh $t6, 0x001C($s1) ## 0000001C -/* 00594 80B9A4D4 3C0280BA */ lui $v0, %hi(D_80B9A818) ## $v0 = 80BA0000 -/* 00598 80B9A4D8 31CF0003 */ andi $t7, $t6, 0x0003 ## $t7 = 00000000 -/* 0059C 80B9A4DC 000FC040 */ sll $t8, $t7, 1 -/* 005A0 80B9A4E0 00581021 */ addu $v0, $v0, $t8 -/* 005A4 80B9A4E4 10000008 */ beq $zero, $zero, .L80B9A508 -/* 005A8 80B9A4E8 8442A818 */ lh $v0, %lo(D_80B9A818)($v0) -/* 005AC 80B9A4EC AE000150 */ sw $zero, 0x0150($s0) ## 00000150 -.L80B9A4F0: -/* 005B0 80B9A4F0 8639001C */ lh $t9, 0x001C($s1) ## 0000001C -/* 005B4 80B9A4F4 3C0280BA */ lui $v0, %hi(D_80B9A818) ## $v0 = 80BA0000 -/* 005B8 80B9A4F8 33280003 */ andi $t0, $t9, 0x0003 ## $t0 = 00000000 -/* 005BC 80B9A4FC 00084840 */ sll $t1, $t0, 1 -/* 005C0 80B9A500 00491021 */ addu $v0, $v0, $t1 -/* 005C4 80B9A504 8442A818 */ lh $v0, %lo(D_80B9A818)($v0) -.L80B9A508: -/* 005C8 80B9A508 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000002 -.L80B9A50C: -/* 005CC 80B9A50C 0242082A */ slt $at, $s2, $v0 -/* 005D0 80B9A510 1420FFDA */ bne $at, $zero, .L80B9A47C -/* 005D4 80B9A514 26100004 */ addiu $s0, $s0, 0x0004 ## $s0 = 00000004 -.L80B9A518: -/* 005D8 80B9A518 8FBF0024 */ lw $ra, 0x0024($sp) -/* 005DC 80B9A51C 8FB00014 */ lw $s0, 0x0014($sp) -/* 005E0 80B9A520 8FB10018 */ lw $s1, 0x0018($sp) -/* 005E4 80B9A524 8FB2001C */ lw $s2, 0x001C($sp) -/* 005E8 80B9A528 8FB30020 */ lw $s3, 0x0020($sp) -/* 005EC 80B9A52C 03E00008 */ jr $ra -/* 005F0 80B9A530 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A534.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A534.s deleted file mode 100644 index 3be19067e9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A534.s +++ /dev/null @@ -1,42 +0,0 @@ -glabel func_80B9A534 -/* 005F4 80B9A534 848E001C */ lh $t6, 0x001C($a0) ## 0000001C -/* 005F8 80B9A538 3C0380BA */ lui $v1, %hi(D_80B9A818) ## $v1 = 80BA0000 -/* 005FC 80B9A53C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 00600 80B9A540 31CF0003 */ andi $t7, $t6, 0x0003 ## $t7 = 00000000 -/* 00604 80B9A544 000FC040 */ sll $t8, $t7, 1 -/* 00608 80B9A548 00781821 */ addu $v1, $v1, $t8 -/* 0060C 80B9A54C 8463A818 */ lh $v1, %lo(D_80B9A818)($v1) -/* 00610 80B9A550 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000 -/* 00614 80B9A554 1860001A */ blez $v1, .L80B9A5C0 -/* 00618 80B9A558 00000000 */ nop -.L80B9A55C: -/* 0061C 80B9A55C 8CA60150 */ lw $a2, 0x0150($a1) ## 00000150 -/* 00620 80B9A560 50C00014 */ beql $a2, $zero, .L80B9A5B4 -/* 00624 80B9A564 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 00628 80B9A568 94870180 */ lhu $a3, 0x0180($a0) ## 00000180 -/* 0062C 80B9A56C 0047C807 */ srav $t9, $a3, $v0 -/* 00630 80B9A570 33280001 */ andi $t0, $t9, 0x0001 ## $t0 = 00000000 -/* 00634 80B9A574 5500000F */ bnel $t0, $zero, .L80B9A5B4 -/* 00638 80B9A578 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000002 -/* 0063C 80B9A57C 8CC90130 */ lw $t1, 0x0130($a2) ## 00000130 -/* 00640 80B9A580 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001 -/* 00644 80B9A584 004A5804 */ sllv $t3, $t2, $v0 -/* 00648 80B9A588 15200009 */ bne $t1, $zero, .L80B9A5B0 -/* 0064C 80B9A58C 00EB6025 */ or $t4, $a3, $t3 ## $t4 = 00000000 -/* 00650 80B9A590 A48C0180 */ sh $t4, 0x0180($a0) ## 00000180 -/* 00654 80B9A594 ACA00150 */ sw $zero, 0x0150($a1) ## 00000150 -/* 00658 80B9A598 848D001C */ lh $t5, 0x001C($a0) ## 0000001C -/* 0065C 80B9A59C 3C0380BA */ lui $v1, %hi(D_80B9A818) ## $v1 = 80BA0000 -/* 00660 80B9A5A0 31AE0003 */ andi $t6, $t5, 0x0003 ## $t6 = 00000000 -/* 00664 80B9A5A4 000E7840 */ sll $t7, $t6, 1 -/* 00668 80B9A5A8 006F1821 */ addu $v1, $v1, $t7 -/* 0066C 80B9A5AC 8463A818 */ lh $v1, %lo(D_80B9A818)($v1) -.L80B9A5B0: -/* 00670 80B9A5B0 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000003 -.L80B9A5B4: -/* 00674 80B9A5B4 0043082A */ slt $at, $v0, $v1 -/* 00678 80B9A5B8 1420FFE8 */ bne $at, $zero, .L80B9A55C -/* 0067C 80B9A5BC 24A50004 */ addiu $a1, $a1, 0x0004 ## $a1 = 00000004 -.L80B9A5C0: -/* 00680 80B9A5C0 03E00008 */ jr $ra -/* 00684 80B9A5C4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A628.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A628.s deleted file mode 100644 index 5dea862610..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A628.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_80B9A628 -/* 006E8 80B9A628 3C0E80BA */ lui $t6, %hi(func_80B9A638) ## $t6 = 80BA0000 -/* 006EC 80B9A62C 25CEA638 */ addiu $t6, $t6, %lo(func_80B9A638) ## $t6 = 80B9A638 -/* 006F0 80B9A630 03E00008 */ jr $ra -/* 006F4 80B9A634 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A638.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A638.s deleted file mode 100644 index 20fd8665fc..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A638.s +++ /dev/null @@ -1,9 +0,0 @@ -glabel func_80B9A638 -/* 006F8 80B9A638 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 006FC 80B9A63C AFBF0014 */ sw $ra, 0x0014($sp) -/* 00700 80B9A640 0C2E6996 */ jal func_80B9A658 -/* 00704 80B9A644 AFA5001C */ sw $a1, 0x001C($sp) -/* 00708 80B9A648 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0070C 80B9A64C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00710 80B9A650 03E00008 */ jr $ra -/* 00714 80B9A654 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A658.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A658.s deleted file mode 100644 index dd7b871216..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A658.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_80B9A658 -/* 00718 80B9A658 3C0E80BA */ lui $t6, %hi(func_80B9A668) ## $t6 = 80BA0000 -/* 0071C 80B9A65C 25CEA668 */ addiu $t6, $t6, %lo(func_80B9A668) ## $t6 = 80B9A668 -/* 00720 80B9A660 03E00008 */ jr $ra -/* 00724 80B9A664 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A668.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A668.s deleted file mode 100644 index 248a223ce4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A668.s +++ /dev/null @@ -1,34 +0,0 @@ -glabel func_80B9A668 -/* 00728 80B9A668 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0072C 80B9A66C AFBF0014 */ sw $ra, 0x0014($sp) -/* 00730 80B9A670 AFA5001C */ sw $a1, 0x001C($sp) -/* 00734 80B9A674 C48E00EC */ lwc1 $f14, 0x00EC($a0) ## 000000EC -/* 00738 80B9A678 C48C00E4 */ lwc1 $f12, 0x00E4($a0) ## 000000E4 -/* 0073C 80B9A67C 0C032D57 */ jal Math3D_Dist1DSq -/* 00740 80B9A680 AFA40018 */ sw $a0, 0x0018($sp) -/* 00744 80B9A684 8FA40018 */ lw $a0, 0x0018($sp) -/* 00748 80B9A688 3C0180BA */ lui $at, %hi(D_80B9A800) ## $at = 80BA0000 -/* 0074C 80B9A68C 848E001C */ lh $t6, 0x001C($a0) ## 0000001C -/* 00750 80B9A690 C4860184 */ lwc1 $f6, 0x0184($a0) ## 00000184 -/* 00754 80B9A694 31CF0003 */ andi $t7, $t6, 0x0003 ## $t7 = 00000000 -/* 00758 80B9A698 000FC080 */ sll $t8, $t7, 2 -/* 0075C 80B9A69C 00380821 */ addu $at, $at, $t8 -/* 00760 80B9A6A0 C424A800 */ lwc1 $f4, %lo(D_80B9A800)($at) -/* 00764 80B9A6A4 46062202 */ mul.s $f8, $f4, $f6 -/* 00768 80B9A6A8 4608003C */ c.lt.s $f0, $f8 -/* 0076C 80B9A6AC 00000000 */ nop -/* 00770 80B9A6B0 4502000A */ bc1fl .L80B9A6DC -/* 00774 80B9A6B4 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00778 80B9A6B8 8C990004 */ lw $t9, 0x0004($a0) ## 00000004 -/* 0077C 80B9A6BC 37280010 */ ori $t0, $t9, 0x0010 ## $t0 = 00000010 -/* 00780 80B9A6C0 AC880004 */ sw $t0, 0x0004($a0) ## 00000004 -/* 00784 80B9A6C4 AFA40018 */ sw $a0, 0x0018($sp) -/* 00788 80B9A6C8 0C2E68AC */ jal func_80B9A2B0 -/* 0078C 80B9A6CC 8FA5001C */ lw $a1, 0x001C($sp) -/* 00790 80B9A6D0 0C2E69BA */ jal func_80B9A6E8 -/* 00794 80B9A6D4 8FA40018 */ lw $a0, 0x0018($sp) -/* 00798 80B9A6D8 8FBF0014 */ lw $ra, 0x0014($sp) -.L80B9A6DC: -/* 0079C 80B9A6DC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 007A0 80B9A6E0 03E00008 */ jr $ra -/* 007A4 80B9A6E4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A6E8.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A6E8.s deleted file mode 100644 index 9ae380875d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A6E8.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_80B9A6E8 -/* 007A8 80B9A6E8 3C0E80BA */ lui $t6, %hi(func_80B9A6F8) ## $t6 = 80BA0000 -/* 007AC 80B9A6EC 25CEA6F8 */ addiu $t6, $t6, %lo(func_80B9A6F8) ## $t6 = 80B9A6F8 -/* 007B0 80B9A6F0 03E00008 */ jr $ra -/* 007B4 80B9A6F4 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A6F8.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A6F8.s deleted file mode 100644 index 5fb087f2a8..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A6F8.s +++ /dev/null @@ -1,37 +0,0 @@ -glabel func_80B9A6F8 -/* 007B8 80B9A6F8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 007BC 80B9A6FC AFBF001C */ sw $ra, 0x001C($sp) -/* 007C0 80B9A700 AFB00018 */ sw $s0, 0x0018($sp) -/* 007C4 80B9A704 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 007C8 80B9A708 0C2E694D */ jal func_80B9A534 -/* 007CC 80B9A70C AFA50024 */ sw $a1, 0x0024($sp) -/* 007D0 80B9A710 C60C00E4 */ lwc1 $f12, 0x00E4($s0) ## 000000E4 -/* 007D4 80B9A714 0C032D57 */ jal Math3D_Dist1DSq -/* 007D8 80B9A718 C60E00EC */ lwc1 $f14, 0x00EC($s0) ## 000000EC -/* 007DC 80B9A71C 860E001C */ lh $t6, 0x001C($s0) ## 0000001C -/* 007E0 80B9A720 3C0180BA */ lui $at, %hi(D_80B9A80C) ## $at = 80BA0000 -/* 007E4 80B9A724 C6060184 */ lwc1 $f6, 0x0184($s0) ## 00000184 -/* 007E8 80B9A728 31CF0003 */ andi $t7, $t6, 0x0003 ## $t7 = 00000000 -/* 007EC 80B9A72C 000FC080 */ sll $t8, $t7, 2 -/* 007F0 80B9A730 00380821 */ addu $at, $at, $t8 -/* 007F4 80B9A734 C424A80C */ lwc1 $f4, %lo(D_80B9A80C)($at) -/* 007F8 80B9A738 46062202 */ mul.s $f8, $f4, $f6 -/* 007FC 80B9A73C 4600403E */ c.le.s $f8, $f0 -/* 00800 80B9A740 00000000 */ nop -/* 00804 80B9A744 4502000B */ bc1fl .L80B9A774 -/* 00808 80B9A748 8FBF001C */ lw $ra, 0x001C($sp) -/* 0080C 80B9A74C 8E190004 */ lw $t9, 0x0004($s0) ## 00000004 -/* 00810 80B9A750 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF -/* 00814 80B9A754 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00818 80B9A758 03214024 */ and $t0, $t9, $at -/* 0081C 80B9A75C AE080004 */ sw $t0, 0x0004($s0) ## 00000004 -/* 00820 80B9A760 0C2E690E */ jal func_80B9A438 -/* 00824 80B9A764 8FA50024 */ lw $a1, 0x0024($sp) -/* 00828 80B9A768 0C2E6996 */ jal func_80B9A658 -/* 0082C 80B9A76C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00830 80B9A770 8FBF001C */ lw $ra, 0x001C($sp) -.L80B9A774: -/* 00834 80B9A774 8FB00018 */ lw $s0, 0x0018($sp) -/* 00838 80B9A778 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 0083C 80B9A77C 03E00008 */ jr $ra -/* 00840 80B9A780 00000000 */ nop diff --git a/data/overlays/actors/z_obj_mure2.data.s b/data/overlays/actors/z_obj_mure2.data.s deleted file mode 100644 index e7b9dc6280..0000000000 --- a/data/overlays/actors/z_obj_mure2.data.s +++ /dev/null @@ -1,36 +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_Mure2_InitVars - .word 0x01510600, 0x00000000, 0x00010000, 0x00000188 -.word ObjMure2_Init -.word Actor_Noop -.word ObjMure2_Update -.word 0x00000000 -glabel D_80B9A800 - .word 0x4A1C4000, 0x4A1C4000, 0x4A1C4000 -glabel D_80B9A80C - .word 0x4A316E44, 0x4A316E44, 0x4A316E44 -glabel D_80B9A818 - .word 0x0009000C, 0x00080000 -glabel D_80B9A820 - .word 0x01250125, 0x014E0000 -glabel D_80B9A828 - .word 0x00280666, 0x00282CCC, 0x00285999, 0x00288666, 0x0014C000, 0x00501333, 0x00504000, 0x00506CCC, 0x00509333, 0x0050ACCC, 0x0050C666, 0x003CE000 -glabel D_80B9A858 - .word 0x00000000, 0x00000000 -glabel D_80B9A860 - .word func_80B99F40 -.word func_80B9A058 -.word func_80B9A158 -glabel D_80B9A86C - .word 0xB0F40064, 0xB0F80834, 0x30FC0064, 0x00000000, 0x00000000 - diff --git a/spec b/spec index 33228f4aaf..ec71b70822 100644 --- a/spec +++ b/spec @@ -3439,8 +3439,11 @@ endseg beginseg name "ovl_Obj_Mure2" include "build/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.o" - include "build/data/overlays/actors/z_obj_mure2.data.o" +#ifdef NON_MATCHING + include "build/src/overlays/actors/ovl_Obj_Mure2/ovl_Obj_Mure2_reloc.o" +#else include "build/data/overlays/actors/z_obj_mure2.reloc.o" +#endif endseg beginseg diff --git a/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.c b/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.c index 3a50efbf10..fca4f45e43 100644 --- a/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.c +++ b/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.c @@ -10,10 +10,26 @@ #define THIS ((ObjMure2*)thisx) +typedef void (*ObjMure2SetPosFunc)(Vec3f* vec, ObjMure2* this); + +typedef struct { + s16 radius; + s16 angle; +} Mure2sScatteredShrubInfo; + void ObjMure2_Init(Actor* thisx, GlobalContext* globalCtx); void ObjMure2_Update(Actor* thisx, GlobalContext* globalCtx); -/* +void ObjMure2_SetPosShrubCircle(Vec3f* vec, ObjMure2* this); +void ObjMure2_SetPosShrubScattered(Vec3f* vec, ObjMure2* this); +void ObjMure2_SetPosRockCircle(Vec3f* vec, ObjMure2* this); +void ObjMure2_Wait(ObjMure2* this, GlobalContext* globalCtx); +void func_80B9A668(ObjMure2* this, GlobalContext* globalCtx); +void func_80B9A6F8(ObjMure2* this, GlobalContext* globalCtx); +void ObjMure2_SetupWait(ObjMure2* this); +void func_80B9A658(ObjMure2* this); +void func_80B9A6E8(ObjMure2* this); + const ActorInit Obj_Mure2_InitVars = { ACTOR_OBJ_MURE2, ACTORTYPE_PROP, @@ -25,33 +41,196 @@ const ActorInit Obj_Mure2_InitVars = { (ActorFunc)ObjMure2_Update, NULL, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B99F40.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A058.s") +static f32 sDistSquared1[] = { SQ(1600.0f), SQ(1600.0f), SQ(1600.0f) }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A158.s") +static f32 sDistSquared2[] = { SQ(1705.0f), SQ(1705.0f), SQ(1705.0f) }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A260.s") +/*static*/ s16 D_80B9A818[] = { 9, 12, 8 }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A2B0.s") +static s16 sActorSpawnIDs[] = { ACTOR_EN_KUSA, ACTOR_EN_KUSA, ACTOR_EN_ISHI }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A438.s") +#ifdef NON_MATCHING +// Very close to matching, just regalloc and a stack diff +void ObjMure2_SetPosShrubCircle(Vec3f* vec, ObjMure2* this) { + Vec3f* vecPtr = vec; + s32 i; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A534.s") + Math_Vec3f_Copy(vecPtr, &this->actor.posRot.pos); + for (i = 1, vecPtr++; i < D_80B9A818[this->actor.params & 3]; vecPtr++, i++) { + Math_Vec3f_Copy(vecPtr, &this->actor.posRot.pos); + vecPtr->x += (80.0f * Math_SinS((i - 1) * 0x2000)); + vecPtr->z += (80.0f * Math_CosS((i - 1) * 0x2000)); + } +} +#else +#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure2/ObjMure2_SetPosShrubCircle.s") +#endif -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure2/ObjMure2_Init.s") +static Mure2sScatteredShrubInfo sScatteredShrubInfo[] = { + { 40, 0x0666 }, { 40, 0x2CCC }, { 40, 0x5999 }, { 40, 0x8666 }, { 20, 0xC000 }, { 80, 0x1333 }, + { 80, 0x4000 }, { 80, 0x6CCC }, { 80, 0x9333 }, { 80, 0xACCC }, { 80, 0xC666 }, { 60, 0xE000 }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A628.s") +void ObjMure2_SetPosShrubScattered(Vec3f* vec, ObjMure2* this) { -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A638.s") + Vec3f* vecPtr; + s32 i; + Vec3f* actorPos = &this->actor.posRot.pos; // Required to match + ObjMure2* this2 = this; // Required to match -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A658.s") + for (vecPtr = vec, i = 0; i < D_80B9A818[this2->actor.params & 3]; vecPtr++, i++) { + Math_Vec3f_Copy(vecPtr, actorPos); + if (1) {} + vecPtr->x += (sScatteredShrubInfo[i].radius * Math_CosS(sScatteredShrubInfo[i].angle)); + vecPtr->z -= (sScatteredShrubInfo[i].radius * Math_SinS(sScatteredShrubInfo[i].angle)); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A668.s") +void ObjMure2_SetPosRockCircle(Vec3f* vec, ObjMure2* this) { + Vec3f* vecPtr = vec; + s32 i; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A6E8.s") + for (i = 0; i < D_80B9A818[this->actor.params & 3]; vecPtr++, i++) { + Math_Vec3f_Copy(vecPtr, &this->actor.posRot.pos); + vecPtr->x += (80.0f * Math_SinS(i * 0x2000)); + vecPtr->z += (80.0f * Math_CosS(i * 0x2000)); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure2/func_80B9A6F8.s") +void ObjMure2_SetActorSpawnParams(s16* params, ObjMure2* this) { + static s16 actorSpawnParams[] = { 0, 0, 0 }; + s16 dropTable = (this->actor.params >> 8) & 0xF; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure2/ObjMure2_Update.s") + if (dropTable >= 13) { + dropTable = 0; + } + *params = actorSpawnParams[this->actor.params & 3] & 0xF0FF; + *params |= (dropTable << 8); +} + +void ObjMure2_SpawnActors(ObjMure2* this, GlobalContext* globalCtx) { + static ObjMure2SetPosFunc setPosFunc[] = { + ObjMure2_SetPosShrubCircle, + ObjMure2_SetPosShrubScattered, + ObjMure2_SetPosRockCircle, + }; + s32 actorNum = this->actor.params & 3; + s32 i; + Vec3f spawnPos[12]; + s16 params; + + setPosFunc[actorNum](&spawnPos, this); + ObjMure2_SetActorSpawnParams(¶ms, this); + + for (i = 0; i < D_80B9A818[actorNum]; i++) { + if (this->actorSpawnPtrList[i] != NULL) { + // Translation: Warning : I already have a child (%s %d)(arg_data 0x%04x) + osSyncPrintf("Warning : 既に子供がいる(%s %d)(arg_data 0x%04x)\n", "../z_obj_mure2.c", 269, + this->actor.params); + continue; + } + + if (((this->currentActorNum >> i) & 1) == 0) { + this->actorSpawnPtrList[i] = + Actor_Spawn(&globalCtx->actorCtx, globalCtx, sActorSpawnIDs[actorNum], spawnPos[i].x, spawnPos[i].y, + spawnPos[i].z, this->actor.posRot.rot.x, 0, this->actor.posRot.rot.z, params); + if (this->actorSpawnPtrList[i] != NULL) { + this->actorSpawnPtrList[i]->room = this->actor.room; + } + } + } +} + +void ObjMure2_CleanupAndDie(ObjMure2* this, GlobalContext* globalCtx) { + s32 i; + + for (i = 0; i < D_80B9A818[this->actor.params & 3]; i++) { + if (((this->currentActorNum >> i) & 1) == 0) { + if (this->actorSpawnPtrList[i] != NULL) { + if (Actor_HasParent(this->actorSpawnPtrList[i], globalCtx)) { + this->currentActorNum |= (1 << i); + } else { + Actor_Kill(this->actorSpawnPtrList[i]); + } + this->actorSpawnPtrList[i] = NULL; + } + } else { + this->actorSpawnPtrList[i] = NULL; + } + } +} + +void func_80B9A534(ObjMure2* this) { + s32 i; + + for (i = 0; i < D_80B9A818[this->actor.params & 3]; i++) { + if (this->actorSpawnPtrList[i] != NULL && (((this->currentActorNum >> i) & 1) == 0) && + (this->actorSpawnPtrList[i]->update == NULL)) { + this->currentActorNum |= (1 << i); + this->actorSpawnPtrList[i] = NULL; + } + } +} + +static InitChainEntry sInitChain[] = { + ICHAIN_F32(uncullZoneForward, 100, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneScale, 2100, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneDownward, 100, ICHAIN_STOP), +}; + +void ObjMure2_Init(Actor* thisx, GlobalContext* globalCtx) { + ObjMure2* this = THIS; + + Actor_ProcessInitChain(&this->actor, sInitChain); + if (globalCtx->csCtx.state != 0) { + this->actor.uncullZoneForward += 1200.0f; + } + ObjMure2_SetupWait(this); +} + +void ObjMure2_SetupWait(ObjMure2* this) { + this->actionFunc = ObjMure2_Wait; +} + +void ObjMure2_Wait(ObjMure2* this, GlobalContext* globalCtx) { + func_80B9A658(this); +} + +void func_80B9A658(ObjMure2* this) { + this->actionFunc = func_80B9A668; +} + +void func_80B9A668(ObjMure2* this, GlobalContext* globalCtx) { + if (Math3D_Dist1DSq(this->actor.projectedPos.x, this->actor.projectedPos.z) < + (sDistSquared1[this->actor.params & 3] * this->unk_184)) { + this->actor.flags |= 0x10; + ObjMure2_SpawnActors(this, globalCtx); + func_80B9A6E8(this); + } +} + +void func_80B9A6E8(ObjMure2* this) { + this->actionFunc = func_80B9A6F8; +} + +void func_80B9A6F8(ObjMure2* this, GlobalContext* globalCtx) { + func_80B9A534(this); + if ((sDistSquared2[this->actor.params & 3] * this->unk_184) <= + Math3D_Dist1DSq(this->actor.projectedPos.x, this->actor.projectedPos.z)) { + this->actor.flags &= ~0x10; + ObjMure2_CleanupAndDie(this, globalCtx); + func_80B9A658(this); + } +} + +void ObjMure2_Update(Actor* thisx, GlobalContext* globalCtx) { + ObjMure2* this = THIS; + + if (globalCtx->csCtx.state == 0) { + this->unk_184 = 1.0f; + } else { + this->unk_184 = 4.0f; + } + this->actionFunc(this, globalCtx); +} diff --git a/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.h b/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.h index 38519365eb..28d7b11611 100644 --- a/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.h +++ b/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.h @@ -6,9 +6,14 @@ struct ObjMure2; +typedef void (*ObjMure2ActionFunc)(struct ObjMure2*, GlobalContext*); + typedef struct ObjMure2 { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x3C]; + /* 0x014C */ ObjMure2ActionFunc actionFunc; + /* 0x0150 */ Actor* actorSpawnPtrList[12]; // pointers to all of the actors spawned by the parent + /* 0x0180 */ u16 currentActorNum; // used to keep track of of the index to actorSpawnPtrList + /* 0x0184 */ f32 unk_184; // some sort of distance } ObjMure2; // size = 0x0188 extern const ActorInit Obj_Mure2_InitVars;