diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/ObjMure_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/ObjMure_Destroy.s deleted file mode 100644 index acb258265c..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/ObjMure_Destroy.s +++ /dev/null @@ -1,4 +0,0 @@ -glabel ObjMure_Destroy -/* 001DC 80B98C7C AFA40000 */ sw $a0, 0x0000($sp) -/* 001E0 80B98C80 03E00008 */ jr $ra -/* 001E4 80B98C84 AFA50004 */ sw $a1, 0x0004($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/ObjMure_Init.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/ObjMure_Init.s deleted file mode 100644 index 2d7711990c..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/ObjMure_Init.s +++ /dev/null @@ -1,120 +0,0 @@ -.rdata -glabel D_80B99B04 - .asciz "Error 群れな敵 (%s %d)(arg_data 0x%04x)\n" - .balign 4 - -glabel D_80B99B30 - .asciz "../z_obj_mure.c" - .balign 4 - -glabel D_80B99B40 - .asciz "Error 群れな敵 (%s %d)(arg_data 0x%04x)\n" - .balign 4 - -glabel D_80B99B6C - .asciz "../z_obj_mure.c" - .balign 4 - -glabel D_80B99B7C - .asciz "群れな敵 (arg_data 0x%04x)(chNum(%d) ptn(%d) svNum(%d) type(%d))\n" - .balign 4 - -glabel D_80B99BC0 - .asciz "Warning : 個体数が設定されていません(%s %d)(arg_data 0x%04x)\n" - .balign 4 - -glabel D_80B99C00 - .asciz "../z_obj_mure.c" - .balign 4 - -.text -glabel ObjMure_Init -/* 000A8 80B98B48 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 000AC 80B98B4C AFBF0024 */ sw $ra, 0x0024($sp) -/* 000B0 80B98B50 AFB00020 */ sw $s0, 0x0020($sp) -/* 000B4 80B98B54 8487001C */ lh $a3, 0x001C($a0) ## 0000001C -/* 000B8 80B98B58 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 000BC 80B98B5C 240600ED */ addiu $a2, $zero, 0x00ED ## $a2 = 000000ED -/* 000C0 80B98B60 0007C203 */ sra $t8, $a3, 8 -/* 000C4 80B98B64 33190007 */ andi $t9, $t8, 0x0007 ## $t9 = 00000000 -/* 000C8 80B98B68 A4990152 */ sh $t9, 0x0152($a0) ## 00000152 -/* 000CC 80B98B6C 848B0152 */ lh $t3, 0x0152($a0) ## 00000152 -/* 000D0 80B98B70 00077303 */ sra $t6, $a3, 12 -/* 000D4 80B98B74 00074143 */ sra $t0, $a3, 5 -/* 000D8 80B98B78 31CF000F */ andi $t7, $t6, 0x000F ## $t7 = 00000000 -/* 000DC 80B98B7C 31090003 */ andi $t1, $t0, 0x0003 ## $t1 = 00000000 -/* 000E0 80B98B80 30EA001F */ andi $t2, $a3, 0x001F ## $t2 = 00000000 -/* 000E4 80B98B84 29610004 */ slti $at, $t3, 0x0004 -/* 000E8 80B98B88 A48F0150 */ sh $t7, 0x0150($a0) ## 00000150 -/* 000EC 80B98B8C A4890154 */ sh $t1, 0x0154($a0) ## 00000154 -/* 000F0 80B98B90 1420000A */ bne $at, $zero, .L80B98BBC -/* 000F4 80B98B94 A48A0156 */ sh $t2, 0x0156($a0) ## 00000156 -/* 000F8 80B98B98 3C0480BA */ lui $a0, %hi(D_80B99B04) ## $a0 = 80BA0000 -/* 000FC 80B98B9C 3C0580BA */ lui $a1, %hi(D_80B99B30) ## $a1 = 80BA0000 -/* 00100 80B98BA0 24A59B30 */ addiu $a1, $a1, %lo(D_80B99B30) ## $a1 = 80B99B30 -/* 00104 80B98BA4 0C00084C */ jal osSyncPrintf - -/* 00108 80B98BA8 24849B04 */ addiu $a0, $a0, %lo(D_80B99B04) ## $a0 = 80B99B04 -/* 0010C 80B98BAC 0C00B55C */ jal Actor_Kill - -/* 00110 80B98BB0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00114 80B98BB4 1000002D */ beq $zero, $zero, .L80B98C6C -/* 00118 80B98BB8 8FBF0024 */ lw $ra, 0x0024($sp) -.L80B98BBC: -/* 0011C 80B98BBC 860C0156 */ lh $t4, 0x0156($s0) ## 00000156 -/* 00120 80B98BC0 3C0480BA */ lui $a0, %hi(D_80B99B40) ## $a0 = 80BA0000 -/* 00124 80B98BC4 24849B40 */ addiu $a0, $a0, %lo(D_80B99B40) ## $a0 = 80B99B40 -/* 00128 80B98BC8 29810005 */ slti $at, $t4, 0x0005 -/* 0012C 80B98BCC 14200008 */ bne $at, $zero, .L80B98BF0 -/* 00130 80B98BD0 240600F5 */ addiu $a2, $zero, 0x00F5 ## $a2 = 000000F5 -/* 00134 80B98BD4 3C0580BA */ lui $a1, %hi(D_80B99B6C) ## $a1 = 80BA0000 -/* 00138 80B98BD8 0C00084C */ jal osSyncPrintf - -/* 0013C 80B98BDC 24A59B6C */ addiu $a1, $a1, %lo(D_80B99B6C) ## $a1 = 80B99B6C -/* 00140 80B98BE0 0C00B55C */ jal Actor_Kill - -/* 00144 80B98BE4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00148 80B98BE8 10000020 */ beq $zero, $zero, .L80B98C6C -/* 0014C 80B98BEC 8FBF0024 */ lw $ra, 0x0024($sp) -.L80B98BF0: -/* 00150 80B98BF0 0C2E62C7 */ jal func_80B98B1C -/* 00154 80B98BF4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00158 80B98BF8 14400005 */ bne $v0, $zero, .L80B98C10 -/* 0015C 80B98BFC 3C0D80BA */ lui $t5, %hi(func_80B992E4) ## $t5 = 80BA0000 -/* 00160 80B98C00 0C00B55C */ jal Actor_Kill - -/* 00164 80B98C04 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00168 80B98C08 10000018 */ beq $zero, $zero, .L80B98C6C -/* 0016C 80B98C0C 8FBF0024 */ lw $ra, 0x0024($sp) -.L80B98C10: -/* 00170 80B98C10 860E0154 */ lh $t6, 0x0154($s0) ## 00000154 -/* 00174 80B98C14 25AD92E4 */ addiu $t5, $t5, %lo(func_80B992E4) ## $t5 = FFFF92E4 -/* 00178 80B98C18 AE0D014C */ sw $t5, 0x014C($s0) ## 0000014C -/* 0017C 80B98C1C 8605001C */ lh $a1, 0x001C($s0) ## 0000001C -/* 00180 80B98C20 86060150 */ lh $a2, 0x0150($s0) ## 00000150 -/* 00184 80B98C24 86070152 */ lh $a3, 0x0152($s0) ## 00000152 -/* 00188 80B98C28 AFAE0010 */ sw $t6, 0x0010($sp) -/* 0018C 80B98C2C 860F0156 */ lh $t7, 0x0156($s0) ## 00000156 -/* 00190 80B98C30 3C0480BA */ lui $a0, %hi(D_80B99B7C) ## $a0 = 80BA0000 -/* 00194 80B98C34 24849B7C */ addiu $a0, $a0, %lo(D_80B99B7C) ## $a0 = 80B99B7C -/* 00198 80B98C38 0C00084C */ jal osSyncPrintf - -/* 0019C 80B98C3C AFAF0014 */ sw $t7, 0x0014($sp) -/* 001A0 80B98C40 0C2E6322 */ jal func_80B98C88 -/* 001A4 80B98C44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 001A8 80B98C48 1C400007 */ bgtz $v0, .L80B98C68 -/* 001AC 80B98C4C 3C0480BA */ lui $a0, %hi(D_80B99BC0) ## $a0 = 80BA0000 -/* 001B0 80B98C50 3C0580BA */ lui $a1, %hi(D_80B99C00) ## $a1 = 80BA0000 -/* 001B4 80B98C54 24A59C00 */ addiu $a1, $a1, %lo(D_80B99C00) ## $a1 = 80B99C00 -/* 001B8 80B98C58 24849BC0 */ addiu $a0, $a0, %lo(D_80B99BC0) ## $a0 = 80B99BC0 -/* 001BC 80B98C5C 2406010C */ addiu $a2, $zero, 0x010C ## $a2 = 0000010C -/* 001C0 80B98C60 0C00084C */ jal osSyncPrintf - -/* 001C4 80B98C64 8607001C */ lh $a3, 0x001C($s0) ## 0000001C -.L80B98C68: -/* 001C8 80B98C68 8FBF0024 */ lw $ra, 0x0024($sp) -.L80B98C6C: -/* 001CC 80B98C6C 8FB00020 */ lw $s0, 0x0020($sp) -/* 001D0 80B98C70 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 001D4 80B98C74 03E00008 */ jr $ra -/* 001D8 80B98C78 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/ObjMure_Update.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/ObjMure_Update.s deleted file mode 100644 index 1ad16d6349..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/ObjMure_Update.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel ObjMure_Update -/* 00F58 80B999F8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00F5C 80B999FC AFBF0014 */ sw $ra, 0x0014($sp) -/* 00F60 80B99A00 848201A4 */ lh $v0, 0x01A4($a0) ## 000001A4 -/* 00F64 80B99A04 18400002 */ blez $v0, .L80B99A10 -/* 00F68 80B99A08 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 00F6C 80B99A0C A48E01A4 */ sh $t6, 0x01A4($a0) ## 000001A4 -.L80B99A10: -/* 00F70 80B99A10 8C99014C */ lw $t9, 0x014C($a0) ## 0000014C -/* 00F74 80B99A14 0320F809 */ jalr $ra, $t9 -/* 00F78 80B99A18 00000000 */ nop -/* 00F7C 80B99A1C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00F80 80B99A20 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00F84 80B99A24 03E00008 */ jr $ra -/* 00F88 80B99A28 00000000 */ nop -/* 00F8C 80B99A2C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98AA0.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98AA0.s deleted file mode 100644 index 56bf3fb3a7..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98AA0.s +++ /dev/null @@ -1,47 +0,0 @@ -.rdata -glabel D_80B99AB0 - .asciz "Error : カリングの設定がされていません。(%s %d)(arg_data 0x%04x)\n" - .balign 4 - -glabel D_80B99AF4 - .asciz "../z_obj_mure.c" - .balign 4 - -.text -glabel func_80B98AA0 -/* 00000 80B98AA0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00004 80B98AA4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00008 80B98AA8 AFA40018 */ sw $a0, 0x0018($sp) -/* 0000C 80B98AAC AFA5001C */ sw $a1, 0x001C($sp) -/* 00010 80B98AB0 84820156 */ lh $v0, 0x0156($a0) ## 00000156 -/* 00014 80B98AB4 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00018 80B98AB8 8FA40018 */ lw $a0, 0x0018($sp) -/* 0001C 80B98ABC 10410006 */ beq $v0, $at, .L80B98AD8 -/* 00020 80B98AC0 3C0580BA */ lui $a1, %hi(D_80B99A8C) ## $a1 = 80BA0000 -/* 00024 80B98AC4 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 00028 80B98AC8 10410003 */ beq $v0, $at, .L80B98AD8 -/* 0002C 80B98ACC 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 00030 80B98AD0 14410005 */ bne $v0, $at, .L80B98AE8 -/* 00034 80B98AD4 240600CC */ addiu $a2, $zero, 0x00CC ## $a2 = 000000CC -.L80B98AD8: -/* 00038 80B98AD8 0C01E037 */ jal Actor_ProcessInitChain - -/* 0003C 80B98ADC 24A59A8C */ addiu $a1, $a1, %lo(D_80B99A8C) ## $a1 = 80B99A8C -/* 00040 80B98AE0 1000000A */ beq $zero, $zero, .L80B98B0C -/* 00044 80B98AE4 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -.L80B98AE8: -/* 00048 80B98AE8 8FAF0018 */ lw $t7, 0x0018($sp) -/* 0004C 80B98AEC 3C0480BA */ lui $a0, %hi(D_80B99AB0) ## $a0 = 80BA0000 -/* 00050 80B98AF0 3C0580BA */ lui $a1, %hi(D_80B99AF4) ## $a1 = 80BA0000 -/* 00054 80B98AF4 24A59AF4 */ addiu $a1, $a1, %lo(D_80B99AF4) ## $a1 = 80B99AF4 -/* 00058 80B98AF8 24849AB0 */ addiu $a0, $a0, %lo(D_80B99AB0) ## $a0 = 80B99AB0 -/* 0005C 80B98AFC 0C00084C */ jal osSyncPrintf - -/* 00060 80B98B00 85E7001C */ lh $a3, 0x001C($t7) ## 0000001C -/* 00064 80B98B04 10000001 */ beq $zero, $zero, .L80B98B0C -/* 00068 80B98B08 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80B98B0C: -/* 0006C 80B98B0C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00070 80B98B10 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00074 80B98B14 03E00008 */ jr $ra -/* 00078 80B98B18 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98B1C.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98B1C.s deleted file mode 100644 index 58dde7d4b1..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98B1C.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel func_80B98B1C -/* 0007C 80B98B1C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00080 80B98B20 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00084 80B98B24 0C2E62A8 */ jal func_80B98AA0 -/* 00088 80B98B28 00000000 */ nop -/* 0008C 80B98B2C 14400003 */ bne $v0, $zero, .L80B98B3C -/* 00090 80B98B30 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00094 80B98B34 10000002 */ beq $zero, $zero, .L80B98B40 -/* 00098 80B98B38 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80B98B3C: -/* 0009C 80B98B3C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -.L80B98B40: -/* 000A0 80B98B40 03E00008 */ jr $ra -/* 000A4 80B98B44 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98C88.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98C88.s deleted file mode 100644 index b30f5e233e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98C88.s +++ /dev/null @@ -1,13 +0,0 @@ -glabel func_80B98C88 -/* 001E8 80B98C88 84830150 */ lh $v1, 0x0150($a0) ## 00000150 -/* 001EC 80B98C8C 14600007 */ bne $v1, $zero, .L80B98CAC -/* 001F0 80B98C90 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000 -/* 001F4 80B98C94 848E0152 */ lh $t6, 0x0152($a0) ## 00000152 -/* 001F8 80B98C98 3C0280BA */ lui $v0, %hi(D_80B99A64) ## $v0 = 80BA0000 -/* 001FC 80B98C9C 000E7880 */ sll $t7, $t6, 2 -/* 00200 80B98CA0 004F1021 */ addu $v0, $v0, $t7 -/* 00204 80B98CA4 03E00008 */ jr $ra -/* 00208 80B98CA8 8C429A64 */ lw $v0, %lo(D_80B99A64)($v0) -.L80B98CAC: -/* 0020C 80B98CAC 03E00008 */ jr $ra -/* 00210 80B98CB0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98CB4.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98CB4.s deleted file mode 100644 index b8e0b5a559..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98CB4.s +++ /dev/null @@ -1,38 +0,0 @@ -.rdata -glabel D_80B99C10 - .asciz "おかしなの (%s %d)\n" - .balign 4 - -glabel D_80B99C24 - .asciz "../z_obj_mure.c" - .balign 4 - -.text -glabel func_80B98CB4 -/* 00214 80B98CB4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00218 80B98CB8 28C10004 */ slti $at, $a2, 0x0004 -/* 0021C 80B98CBC AFBF0014 */ sw $ra, 0x0014($sp) -/* 00220 80B98CC0 AFA40018 */ sw $a0, 0x0018($sp) -/* 00224 80B98CC4 AFA5001C */ sw $a1, 0x001C($sp) -/* 00228 80B98CC8 14200007 */ bne $at, $zero, .L80B98CE8 -/* 0022C 80B98CCC AFA70024 */ sw $a3, 0x0024($sp) -/* 00230 80B98CD0 3C0480BA */ lui $a0, %hi(D_80B99C10) ## $a0 = 80BA0000 -/* 00234 80B98CD4 3C0580BA */ lui $a1, %hi(D_80B99C24) ## $a1 = 80BA0000 -/* 00238 80B98CD8 24A59C24 */ addiu $a1, $a1, %lo(D_80B99C24) ## $a1 = 80B99C24 -/* 0023C 80B98CDC 24849C10 */ addiu $a0, $a0, %lo(D_80B99C10) ## $a0 = 80B99C10 -/* 00240 80B98CE0 0C00084C */ jal osSyncPrintf - -/* 00244 80B98CE4 24060133 */ addiu $a2, $zero, 0x0133 ## $a2 = 00000133 -.L80B98CE8: -/* 00248 80B98CE8 8FAF001C */ lw $t7, 0x001C($sp) -/* 0024C 80B98CEC 8FAE0018 */ lw $t6, 0x0018($sp) -/* 00250 80B98CF0 8DF90000 */ lw $t9, 0x0000($t7) ## 00000000 -/* 00254 80B98CF4 ADD90000 */ sw $t9, 0x0000($t6) ## 00000000 -/* 00258 80B98CF8 8DF80004 */ lw $t8, 0x0004($t7) ## 00000004 -/* 0025C 80B98CFC ADD80004 */ sw $t8, 0x0004($t6) ## 00000004 -/* 00260 80B98D00 8DF90008 */ lw $t9, 0x0008($t7) ## 00000008 -/* 00264 80B98D04 ADD90008 */ sw $t9, 0x0008($t6) ## 00000008 -/* 00268 80B98D08 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0026C 80B98D0C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00270 80B98D10 03E00008 */ jr $ra -/* 00274 80B98D14 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98D18.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98D18.s deleted file mode 100644 index d04e19332b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98D18.s +++ /dev/null @@ -1,176 +0,0 @@ -.rdata -glabel D_80B99C34 - .asciz "Error : 既に子供がいる(%s %d)(arg_data 0x%04x)\n" - .balign 4 - -glabel D_80B99C64 - .asciz "../z_obj_mure.c" - .balign 4 - -glabel D_80B99C74 - .asciz "warning 発生失敗 (%s %d)\n" - .balign 4 - -glabel D_80B99C90 - .asciz "../z_obj_mure.c" - .balign 4 - -glabel D_80B99CA0 - .asciz "warning 発生失敗 (%s %d)\n" - .balign 4 - -glabel D_80B99CBC - .asciz "../z_obj_mure.c" - .balign 4 - -.text -glabel func_80B98D18 -/* 00278 80B98D18 27BDFF78 */ addiu $sp, $sp, 0xFF78 ## $sp = FFFFFF78 -/* 0027C 80B98D1C AFBF0054 */ sw $ra, 0x0054($sp) -/* 00280 80B98D20 AFB50044 */ sw $s5, 0x0044($sp) -/* 00284 80B98D24 AFB00030 */ sw $s0, 0x0030($sp) -/* 00288 80B98D28 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0028C 80B98D2C 00A0A825 */ or $s5, $a1, $zero ## $s5 = 00000000 -/* 00290 80B98D30 AFBE0050 */ sw $s8, 0x0050($sp) -/* 00294 80B98D34 AFB7004C */ sw $s7, 0x004C($sp) -/* 00298 80B98D38 AFB60048 */ sw $s6, 0x0048($sp) -/* 0029C 80B98D3C AFB40040 */ sw $s4, 0x0040($sp) -/* 002A0 80B98D40 AFB3003C */ sw $s3, 0x003C($sp) -/* 002A4 80B98D44 AFB20038 */ sw $s2, 0x0038($sp) -/* 002A8 80B98D48 0C2E6322 */ jal func_80B98C88 -/* 002AC 80B98D4C AFB10034 */ sw $s1, 0x0034($sp) -/* 002B0 80B98D50 AFA2006C */ sw $v0, 0x006C($sp) -/* 002B4 80B98D54 1840006C */ blez $v0, .L80B98F08 -/* 002B8 80B98D58 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000 -/* 002BC 80B98D5C 3C1E80BA */ lui $s8, %hi(D_80B99A80) ## $s8 = 80BA0000 -/* 002C0 80B98D60 3C1780BA */ lui $s7, %hi(D_80B99A74) ## $s7 = 80BA0000 -/* 002C4 80B98D64 26F79A74 */ addiu $s7, $s7, %lo(D_80B99A74) ## $s7 = 80B99A74 -/* 002C8 80B98D68 27DE9A80 */ addiu $s8, $s8, %lo(D_80B99A80) ## $s8 = 80B99A80 -/* 002CC 80B98D6C 02008825 */ or $s1, $s0, $zero ## $s1 = 00000000 -/* 002D0 80B98D70 0200A025 */ or $s4, $s0, $zero ## $s4 = 00000000 -/* 002D4 80B98D74 27B60074 */ addiu $s6, $sp, 0x0074 ## $s6 = FFFFFFEC -.L80B98D78: -/* 002D8 80B98D78 8E2E0158 */ lw $t6, 0x0158($s1) ## 00000158 -/* 002DC 80B98D7C 3C0480BA */ lui $a0, %hi(D_80B99C34) ## $a0 = 80BA0000 -/* 002E0 80B98D80 24849C34 */ addiu $a0, $a0, %lo(D_80B99C34) ## $a0 = 80B99C34 -/* 002E4 80B98D84 11C00005 */ beq $t6, $zero, .L80B98D9C -/* 002E8 80B98D88 3C0580BA */ lui $a1, %hi(D_80B99C64) ## $a1 = 80BA0000 -/* 002EC 80B98D8C 24A59C64 */ addiu $a1, $a1, %lo(D_80B99C64) ## $a1 = 80B99C64 -/* 002F0 80B98D90 2406014D */ addiu $a2, $zero, 0x014D ## $a2 = 0000014D -/* 002F4 80B98D94 0C00084C */ jal osSyncPrintf - -/* 002F8 80B98D98 8607001C */ lh $a3, 0x001C($s0) ## 0000001C -.L80B98D9C: -/* 002FC 80B98D9C 92820194 */ lbu $v0, 0x0194($s4) ## 00000194 -/* 00300 80B98DA0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00304 80B98DA4 26B21C24 */ addiu $s2, $s5, 0x1C24 ## $s2 = 00001C24 -/* 00308 80B98DA8 10410051 */ beq $v0, $at, .L80B98EF0 -/* 0030C 80B98DAC 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00310 80B98DB0 1441002B */ bne $v0, $at, .L80B98E60 -/* 00314 80B98DB4 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 00318 80B98DB8 02C02025 */ or $a0, $s6, $zero ## $a0 = FFFFFFEC -/* 0031C 80B98DBC 86060152 */ lh $a2, 0x0152($s0) ## 00000152 -/* 00320 80B98DC0 0C2E632D */ jal func_80B98CB4 -/* 00324 80B98DC4 02603825 */ or $a3, $s3, $zero ## $a3 = 00000000 -/* 00328 80B98DC8 86020156 */ lh $v0, 0x0156($s0) ## 00000156 -/* 0032C 80B98DCC C7A40078 */ lwc1 $f4, 0x0078($sp) -/* 00330 80B98DD0 C7A6007C */ lwc1 $f6, 0x007C($sp) -/* 00334 80B98DD4 00021040 */ sll $v0, $v0, 1 -/* 00338 80B98DD8 02E27821 */ addu $t7, $s7, $v0 -/* 0033C 80B98DDC 85E60000 */ lh $a2, 0x0000($t7) ## 00000000 -/* 00340 80B98DE0 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 00344 80B98DE4 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 00348 80B98DE8 86180030 */ lh $t8, 0x0030($s0) ## 00000030 -/* 0034C 80B98DEC 03C24821 */ addu $t1, $s8, $v0 -/* 00350 80B98DF0 852A0000 */ lh $t2, 0x0000($t1) ## 00000000 -/* 00354 80B98DF4 AFB80018 */ sw $t8, 0x0018($sp) -/* 00358 80B98DF8 86190032 */ lh $t9, 0x0032($s0) ## 00000032 -/* 0035C 80B98DFC 02402025 */ or $a0, $s2, $zero ## $a0 = 00001C24 -/* 00360 80B98E00 02A02825 */ or $a1, $s5, $zero ## $a1 = 00000000 -/* 00364 80B98E04 AFB9001C */ sw $t9, 0x001C($sp) -/* 00368 80B98E08 86080034 */ lh $t0, 0x0034($s0) ## 00000034 -/* 0036C 80B98E0C 8FA70074 */ lw $a3, 0x0074($sp) -/* 00370 80B98E10 AFAA0024 */ sw $t2, 0x0024($sp) -/* 00374 80B98E14 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 00378 80B98E18 AFA80020 */ sw $t0, 0x0020($sp) -/* 0037C 80B98E1C 10400008 */ beq $v0, $zero, .L80B98E40 -/* 00380 80B98E20 AE220158 */ sw $v0, 0x0158($s1) ## 00000158 -/* 00384 80B98E24 8C4B0004 */ lw $t3, 0x0004($v0) ## 00000004 -/* 00388 80B98E28 356C0800 */ ori $t4, $t3, 0x0800 ## $t4 = 00000800 -/* 0038C 80B98E2C AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 -/* 00390 80B98E30 8E2E0158 */ lw $t6, 0x0158($s1) ## 00000158 -/* 00394 80B98E34 820D0003 */ lb $t5, 0x0003($s0) ## 00000003 -/* 00398 80B98E38 1000002D */ beq $zero, $zero, .L80B98EF0 -/* 0039C 80B98E3C A1CD0003 */ sb $t5, 0x0003($t6) ## 00000003 -.L80B98E40: -/* 003A0 80B98E40 3C0480BA */ lui $a0, %hi(D_80B99C74) ## $a0 = 80BA0000 -/* 003A4 80B98E44 3C0580BA */ lui $a1, %hi(D_80B99C90) ## $a1 = 80BA0000 -/* 003A8 80B98E48 24A59C90 */ addiu $a1, $a1, %lo(D_80B99C90) ## $a1 = 80B99C90 -/* 003AC 80B98E4C 24849C74 */ addiu $a0, $a0, %lo(D_80B99C74) ## $a0 = 80B99C74 -/* 003B0 80B98E50 0C00084C */ jal osSyncPrintf - -/* 003B4 80B98E54 24060167 */ addiu $a2, $zero, 0x0167 ## $a2 = 00000167 -/* 003B8 80B98E58 10000026 */ beq $zero, $zero, .L80B98EF4 -/* 003BC 80B98E5C 8FAD006C */ lw $t5, 0x006C($sp) -.L80B98E60: -/* 003C0 80B98E60 02C02025 */ or $a0, $s6, $zero ## $a0 = FFFFFFEC -/* 003C4 80B98E64 86060152 */ lh $a2, 0x0152($s0) ## 00000152 -/* 003C8 80B98E68 0C2E632D */ jal func_80B98CB4 -/* 003CC 80B98E6C 02603825 */ or $a3, $s3, $zero ## $a3 = 00000000 -/* 003D0 80B98E70 86020156 */ lh $v0, 0x0156($s0) ## 00000156 -/* 003D4 80B98E74 C7A80078 */ lwc1 $f8, 0x0078($sp) -/* 003D8 80B98E78 C7AA007C */ lwc1 $f10, 0x007C($sp) -/* 003DC 80B98E7C 00021040 */ sll $v0, $v0, 1 -/* 003E0 80B98E80 02E27821 */ addu $t7, $s7, $v0 -/* 003E4 80B98E84 85E60000 */ lh $a2, 0x0000($t7) ## 00000000 -/* 003E8 80B98E88 E7A80010 */ swc1 $f8, 0x0010($sp) -/* 003EC 80B98E8C E7AA0014 */ swc1 $f10, 0x0014($sp) -/* 003F0 80B98E90 86180030 */ lh $t8, 0x0030($s0) ## 00000030 -/* 003F4 80B98E94 03C24821 */ addu $t1, $s8, $v0 -/* 003F8 80B98E98 852A0000 */ lh $t2, 0x0000($t1) ## 00000000 -/* 003FC 80B98E9C AFB80018 */ sw $t8, 0x0018($sp) -/* 00400 80B98EA0 86190032 */ lh $t9, 0x0032($s0) ## 00000032 -/* 00404 80B98EA4 02402025 */ or $a0, $s2, $zero ## $a0 = 00001C24 -/* 00408 80B98EA8 02A02825 */ or $a1, $s5, $zero ## $a1 = 00000000 -/* 0040C 80B98EAC AFB9001C */ sw $t9, 0x001C($sp) -/* 00410 80B98EB0 86080034 */ lh $t0, 0x0034($s0) ## 00000034 -/* 00414 80B98EB4 8FA70074 */ lw $a3, 0x0074($sp) -/* 00418 80B98EB8 AFAA0024 */ sw $t2, 0x0024($sp) -/* 0041C 80B98EBC 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 00420 80B98EC0 AFA80020 */ sw $t0, 0x0020($sp) -/* 00424 80B98EC4 10400004 */ beq $v0, $zero, .L80B98ED8 -/* 00428 80B98EC8 AE220158 */ sw $v0, 0x0158($s1) ## 00000158 -/* 0042C 80B98ECC 820B0003 */ lb $t3, 0x0003($s0) ## 00000003 -/* 00430 80B98ED0 10000007 */ beq $zero, $zero, .L80B98EF0 -/* 00434 80B98ED4 A04B0003 */ sb $t3, 0x0003($v0) ## 00000003 -.L80B98ED8: -/* 00438 80B98ED8 3C0480BA */ lui $a0, %hi(D_80B99CA0) ## $a0 = 80BA0000 -/* 0043C 80B98EDC 3C0580BA */ lui $a1, %hi(D_80B99CBC) ## $a1 = 80BA0000 -/* 00440 80B98EE0 24A59CBC */ addiu $a1, $a1, %lo(D_80B99CBC) ## $a1 = 80B99CBC -/* 00444 80B98EE4 24849CA0 */ addiu $a0, $a0, %lo(D_80B99CA0) ## $a0 = 80B99CA0 -/* 00448 80B98EE8 0C00084C */ jal osSyncPrintf - -/* 0044C 80B98EEC 2406017E */ addiu $a2, $zero, 0x017E ## $a2 = 0000017E -.L80B98EF0: -/* 00450 80B98EF0 8FAD006C */ lw $t5, 0x006C($sp) -.L80B98EF4: -/* 00454 80B98EF4 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001 -/* 00458 80B98EF8 26310004 */ addiu $s1, $s1, 0x0004 ## $s1 = 00000004 -/* 0045C 80B98EFC 026D082A */ slt $at, $s3, $t5 -/* 00460 80B98F00 1420FF9D */ bne $at, $zero, .L80B98D78 -/* 00464 80B98F04 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000001 -.L80B98F08: -/* 00468 80B98F08 8FBF0054 */ lw $ra, 0x0054($sp) -/* 0046C 80B98F0C 8FB00030 */ lw $s0, 0x0030($sp) -/* 00470 80B98F10 8FB10034 */ lw $s1, 0x0034($sp) -/* 00474 80B98F14 8FB20038 */ lw $s2, 0x0038($sp) -/* 00478 80B98F18 8FB3003C */ lw $s3, 0x003C($sp) -/* 0047C 80B98F1C 8FB40040 */ lw $s4, 0x0040($sp) -/* 00480 80B98F20 8FB50044 */ lw $s5, 0x0044($sp) -/* 00484 80B98F24 8FB60048 */ lw $s6, 0x0048($sp) -/* 00488 80B98F28 8FB7004C */ lw $s7, 0x004C($sp) -/* 0048C 80B98F2C 8FBE0050 */ lw $s8, 0x0050($sp) -/* 00490 80B98F30 03E00008 */ jr $ra -/* 00494 80B98F34 27BD0088 */ addiu $sp, $sp, 0x0088 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98F38.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98F38.s deleted file mode 100644 index 8a67624263..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98F38.s +++ /dev/null @@ -1,126 +0,0 @@ -.rdata -glabel D_80B99CCC - .asciz "Error : 既に子供がいる(%s %d)(arg_data 0x%04x)\n" - .balign 4 - -glabel D_80B99CFC - .asciz "../z_obj_mure.c" - .balign 4 - -glabel D_80B99D0C - .asciz "warning 発生失敗 (%s %d)\n" - .balign 4 - -glabel D_80B99D28 - .asciz "../z_obj_mure.c" - .balign 4 - -.text -glabel func_80B98F38 -/* 00498 80B98F38 27BDFF70 */ addiu $sp, $sp, 0xFF70 ## $sp = FFFFFF70 -/* 0049C 80B98F3C AFBF0054 */ sw $ra, 0x0054($sp) -/* 004A0 80B98F40 AFB40040 */ sw $s4, 0x0040($sp) -/* 004A4 80B98F44 AFB00030 */ sw $s0, 0x0030($sp) -/* 004A8 80B98F48 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 004AC 80B98F4C 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000 -/* 004B0 80B98F50 AFBE0050 */ sw $s8, 0x0050($sp) -/* 004B4 80B98F54 AFB7004C */ sw $s7, 0x004C($sp) -/* 004B8 80B98F58 AFB60048 */ sw $s6, 0x0048($sp) -/* 004BC 80B98F5C AFB50044 */ sw $s5, 0x0044($sp) -/* 004C0 80B98F60 AFB3003C */ sw $s3, 0x003C($sp) -/* 004C4 80B98F64 AFB20038 */ sw $s2, 0x0038($sp) -/* 004C8 80B98F68 0C2E6322 */ jal func_80B98C88 -/* 004CC 80B98F6C AFB10034 */ sw $s1, 0x0034($sp) -/* 004D0 80B98F70 0040A825 */ or $s5, $v0, $zero ## $s5 = 00000000 -/* 004D4 80B98F74 18400045 */ blez $v0, .L80B9908C -/* 004D8 80B98F78 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000 -/* 004DC 80B98F7C 3C1E80BA */ lui $s8, %hi(D_80B99CCC) ## $s8 = 80BA0000 -/* 004E0 80B98F80 27DE9CCC */ addiu $s8, $s8, %lo(D_80B99CCC) ## $s8 = 80B99CCC -/* 004E4 80B98F84 02009025 */ or $s2, $s0, $zero ## $s2 = 00000000 -/* 004E8 80B98F88 26961C24 */ addiu $s6, $s4, 0x1C24 ## $s6 = 00001C24 -/* 004EC 80B98F8C 02009825 */ or $s3, $s0, $zero ## $s3 = 00000000 -/* 004F0 80B98F90 26170024 */ addiu $s7, $s0, 0x0024 ## $s7 = 00000024 -.L80B98F94: -/* 004F4 80B98F94 8E4E0158 */ lw $t6, 0x0158($s2) ## 00000158 -/* 004F8 80B98F98 3C0580BA */ lui $a1, %hi(D_80B99CFC) ## $a1 = 80BA0000 -/* 004FC 80B98F9C 24A59CFC */ addiu $a1, $a1, %lo(D_80B99CFC) ## $a1 = 80B99CFC -/* 00500 80B98FA0 11C00004 */ beq $t6, $zero, .L80B98FB4 -/* 00504 80B98FA4 03C02025 */ or $a0, $s8, $zero ## $a0 = 80B99CCC -/* 00508 80B98FA8 24060197 */ addiu $a2, $zero, 0x0197 ## $a2 = 00000197 -/* 0050C 80B98FAC 0C00084C */ jal osSyncPrintf - -/* 00510 80B98FB0 8607001C */ lh $a3, 0x001C($s0) ## 0000001C -.L80B98FB4: -/* 00514 80B98FB4 27A4007C */ addiu $a0, $sp, 0x007C ## $a0 = FFFFFFEC -/* 00518 80B98FB8 02E02825 */ or $a1, $s7, $zero ## $a1 = 00000024 -/* 0051C 80B98FBC 86060152 */ lh $a2, 0x0152($s0) ## 00000152 -/* 00520 80B98FC0 0C2E632D */ jal func_80B98CB4 -/* 00524 80B98FC4 02203825 */ or $a3, $s1, $zero ## $a3 = 00000000 -/* 00528 80B98FC8 86020156 */ lh $v0, 0x0156($s0) ## 00000156 -/* 0052C 80B98FCC 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 00530 80B98FD0 02C02025 */ or $a0, $s6, $zero ## $a0 = 00001C24 -/* 00534 80B98FD4 14410005 */ bne $v0, $at, .L80B98FEC -/* 00538 80B98FD8 C7A40080 */ lwc1 $f4, 0x0080($sp) -/* 0053C 80B98FDC 16200003 */ bne $s1, $zero, .L80B98FEC -/* 00540 80B98FE0 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001 -/* 00544 80B98FE4 10000005 */ beq $zero, $zero, .L80B98FFC -/* 00548 80B98FE8 00021840 */ sll $v1, $v0, 1 -.L80B98FEC: -/* 0054C 80B98FEC 00021840 */ sll $v1, $v0, 1 -/* 00550 80B98FF0 3C0880BA */ lui $t0, %hi(D_80B99A80) ## $t0 = 80BA0000 -/* 00554 80B98FF4 01034021 */ addu $t0, $t0, $v1 -/* 00558 80B98FF8 85089A80 */ lh $t0, %lo(D_80B99A80)($t0) -.L80B98FFC: -/* 0055C 80B98FFC C7A60084 */ lwc1 $f6, 0x0084($sp) -/* 00560 80B99000 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 00564 80B99004 3C0680BA */ lui $a2, %hi(D_80B99A74) ## $a2 = 80BA0000 -/* 00568 80B99008 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 0056C 80B9900C 860F0030 */ lh $t7, 0x0030($s0) ## 00000030 -/* 00570 80B99010 00C33021 */ addu $a2, $a2, $v1 -/* 00574 80B99014 84C69A74 */ lh $a2, %lo(D_80B99A74)($a2) -/* 00578 80B99018 AFAF0018 */ sw $t7, 0x0018($sp) -/* 0057C 80B9901C 86180032 */ lh $t8, 0x0032($s0) ## 00000032 -/* 00580 80B99020 02802825 */ or $a1, $s4, $zero ## $a1 = 00000000 -/* 00584 80B99024 8FA7007C */ lw $a3, 0x007C($sp) -/* 00588 80B99028 AFB8001C */ sw $t8, 0x001C($sp) -/* 0058C 80B9902C 86190034 */ lh $t9, 0x0034($s0) ## 00000034 -/* 00590 80B99030 AFA80024 */ sw $t0, 0x0024($sp) -/* 00594 80B99034 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 00598 80B99038 AFB90020 */ sw $t9, 0x0020($sp) -/* 0059C 80B9903C 10400006 */ beq $v0, $zero, .L80B99058 -/* 005A0 80B99040 AE420158 */ sw $v0, 0x0158($s2) ## 00000158 -/* 005A4 80B99044 A2600194 */ sb $zero, 0x0194($s3) ## 00000194 -/* 005A8 80B99048 8E4A0158 */ lw $t2, 0x0158($s2) ## 00000158 -/* 005AC 80B9904C 82090003 */ lb $t1, 0x0003($s0) ## 00000003 -/* 005B0 80B99050 10000009 */ beq $zero, $zero, .L80B99078 -/* 005B4 80B99054 A1490003 */ sb $t1, 0x0003($t2) ## 00000003 -.L80B99058: -/* 005B8 80B99058 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001 -/* 005BC 80B9905C 3C0480BA */ lui $a0, %hi(D_80B99D0C) ## $a0 = 80BA0000 -/* 005C0 80B99060 3C0580BA */ lui $a1, %hi(D_80B99D28) ## $a1 = 80BA0000 -/* 005C4 80B99064 A26B0194 */ sb $t3, 0x0194($s3) ## 00000194 -/* 005C8 80B99068 24A59D28 */ addiu $a1, $a1, %lo(D_80B99D28) ## $a1 = 80B99D28 -/* 005CC 80B9906C 24849D0C */ addiu $a0, $a0, %lo(D_80B99D0C) ## $a0 = 80B99D0C -/* 005D0 80B99070 0C00084C */ jal osSyncPrintf - -/* 005D4 80B99074 240601B6 */ addiu $a2, $zero, 0x01B6 ## $a2 = 000001B6 -.L80B99078: -/* 005D8 80B99078 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001 -/* 005DC 80B9907C 0235082A */ slt $at, $s1, $s5 -/* 005E0 80B99080 26520004 */ addiu $s2, $s2, 0x0004 ## $s2 = 00000004 -/* 005E4 80B99084 1420FFC3 */ bne $at, $zero, .L80B98F94 -/* 005E8 80B99088 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001 -.L80B9908C: -/* 005EC 80B9908C 8FBF0054 */ lw $ra, 0x0054($sp) -/* 005F0 80B99090 8FB00030 */ lw $s0, 0x0030($sp) -/* 005F4 80B99094 8FB10034 */ lw $s1, 0x0034($sp) -/* 005F8 80B99098 8FB20038 */ lw $s2, 0x0038($sp) -/* 005FC 80B9909C 8FB3003C */ lw $s3, 0x003C($sp) -/* 00600 80B990A0 8FB40040 */ lw $s4, 0x0040($sp) -/* 00604 80B990A4 8FB50044 */ lw $s5, 0x0044($sp) -/* 00608 80B990A8 8FB60048 */ lw $s6, 0x0048($sp) -/* 0060C 80B990AC 8FB7004C */ lw $s7, 0x004C($sp) -/* 00610 80B990B0 8FBE0050 */ lw $s8, 0x0050($sp) -/* 00614 80B990B4 03E00008 */ jr $ra -/* 00618 80B990B8 27BD0090 */ addiu $sp, $sp, 0x0090 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B990BC.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B990BC.s deleted file mode 100644 index 58bf8bce51..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B990BC.s +++ /dev/null @@ -1,24 +0,0 @@ -glabel func_80B990BC -/* 0061C 80B990BC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00620 80B990C0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00624 80B990C4 84820154 */ lh $v0, 0x0154($a0) ## 00000154 -/* 00628 80B990C8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 0062C 80B990CC 10400005 */ beq $v0, $zero, .L80B990E4 -/* 00630 80B990D0 00000000 */ nop -/* 00634 80B990D4 10410007 */ beq $v0, $at, .L80B990F4 -/* 00638 80B990D8 00000000 */ nop -/* 0063C 80B990DC 10000008 */ beq $zero, $zero, .L80B99100 -/* 00640 80B990E0 8FBF0014 */ lw $ra, 0x0014($sp) -.L80B990E4: -/* 00644 80B990E4 0C2E6346 */ jal func_80B98D18 -/* 00648 80B990E8 00000000 */ nop -/* 0064C 80B990EC 10000004 */ beq $zero, $zero, .L80B99100 -/* 00650 80B990F0 8FBF0014 */ lw $ra, 0x0014($sp) -.L80B990F4: -/* 00654 80B990F4 0C2E63CE */ jal func_80B98F38 -/* 00658 80B990F8 00000000 */ nop -/* 0065C 80B990FC 8FBF0014 */ lw $ra, 0x0014($sp) -.L80B99100: -/* 00660 80B99100 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00664 80B99104 03E00008 */ jr $ra -/* 00668 80B99108 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B9910C.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B9910C.s deleted file mode 100644 index 9303996f4b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B9910C.s +++ /dev/null @@ -1,73 +0,0 @@ -glabel func_80B9910C -/* 0066C 80B9910C 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00670 80B99110 AFBF0034 */ sw $ra, 0x0034($sp) -/* 00674 80B99114 AFB60030 */ sw $s6, 0x0030($sp) -/* 00678 80B99118 00A0B025 */ or $s6, $a1, $zero ## $s6 = 00000000 -/* 0067C 80B9911C AFB5002C */ sw $s5, 0x002C($sp) -/* 00680 80B99120 AFB40028 */ sw $s4, 0x0028($sp) -/* 00684 80B99124 AFB30024 */ sw $s3, 0x0024($sp) -/* 00688 80B99128 AFB20020 */ sw $s2, 0x0020($sp) -/* 0068C 80B9912C AFB1001C */ sw $s1, 0x001C($sp) -/* 00690 80B99130 AFB00018 */ sw $s0, 0x0018($sp) -/* 00694 80B99134 0C2E6322 */ jal func_80B98C88 -/* 00698 80B99138 AFA40038 */ sw $a0, 0x0038($sp) -/* 0069C 80B9913C 18400027 */ blez $v0, .L80B991DC -/* 006A0 80B99140 8FA40038 */ lw $a0, 0x0038($sp) -/* 006A4 80B99144 00027080 */ sll $t6, $v0, 2 -/* 006A8 80B99148 01C49021 */ addu $s2, $t6, $a0 -/* 006AC 80B9914C 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 006B0 80B99150 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 006B4 80B99154 24150002 */ addiu $s5, $zero, 0x0002 ## $s5 = 00000002 -/* 006B8 80B99158 24140001 */ addiu $s4, $zero, 0x0001 ## $s4 = 00000001 -.L80B9915C: -/* 006BC 80B9915C 92220194 */ lbu $v0, 0x0194($s1) ## 00000194 -/* 006C0 80B99160 10540005 */ beq $v0, $s4, .L80B99178 -/* 006C4 80B99164 00000000 */ nop -/* 006C8 80B99168 50550006 */ beql $v0, $s5, .L80B99184 -/* 006CC 80B9916C 8E040158 */ lw $a0, 0x0158($s0) ## 00000158 -/* 006D0 80B99170 1000000B */ beq $zero, $zero, .L80B991A0 -/* 006D4 80B99174 8E040158 */ lw $a0, 0x0158($s0) ## 00000158 -.L80B99178: -/* 006D8 80B99178 10000014 */ beq $zero, $zero, .L80B991CC -/* 006DC 80B9917C AE000158 */ sw $zero, 0x0158($s0) ## 00000158 -/* 006E0 80B99180 8E040158 */ lw $a0, 0x0158($s0) ## 00000158 -.L80B99184: -/* 006E4 80B99184 50800012 */ beql $a0, $zero, .L80B991D0 -/* 006E8 80B99188 26100004 */ addiu $s0, $s0, 0x0004 ## $s0 = 00000004 -/* 006EC 80B9918C 0C00B55C */ jal Actor_Kill - -/* 006F0 80B99190 00000000 */ nop -/* 006F4 80B99194 1000000D */ beq $zero, $zero, .L80B991CC -/* 006F8 80B99198 AE000158 */ sw $zero, 0x0158($s0) ## 0000015C -/* 006FC 80B9919C 8E040158 */ lw $a0, 0x0158($s0) ## 0000015C -.L80B991A0: -/* 00700 80B991A0 5080000B */ beql $a0, $zero, .L80B991D0 -/* 00704 80B991A4 26100004 */ addiu $s0, $s0, 0x0004 ## $s0 = 00000008 -/* 00708 80B991A8 0C00BD04 */ jal Actor_HasParent -/* 0070C 80B991AC 02C02825 */ or $a1, $s6, $zero ## $a1 = 00000000 -/* 00710 80B991B0 10400003 */ beq $v0, $zero, .L80B991C0 -/* 00714 80B991B4 00000000 */ nop -/* 00718 80B991B8 10000004 */ beq $zero, $zero, .L80B991CC -/* 0071C 80B991BC AE000158 */ sw $zero, 0x0158($s0) ## 00000160 -.L80B991C0: -/* 00720 80B991C0 0C00B55C */ jal Actor_Kill - -/* 00724 80B991C4 8E040158 */ lw $a0, 0x0158($s0) ## 00000160 -/* 00728 80B991C8 AE000158 */ sw $zero, 0x0158($s0) ## 00000160 -.L80B991CC: -/* 0072C 80B991CC 26100004 */ addiu $s0, $s0, 0x0004 ## $s0 = 0000000C -.L80B991D0: -/* 00730 80B991D0 0212082B */ sltu $at, $s0, $s2 -/* 00734 80B991D4 1420FFE1 */ bne $at, $zero, .L80B9915C -/* 00738 80B991D8 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001 -.L80B991DC: -/* 0073C 80B991DC 8FBF0034 */ lw $ra, 0x0034($sp) -/* 00740 80B991E0 8FB00018 */ lw $s0, 0x0018($sp) -/* 00744 80B991E4 8FB1001C */ lw $s1, 0x001C($sp) -/* 00748 80B991E8 8FB20020 */ lw $s2, 0x0020($sp) -/* 0074C 80B991EC 8FB30024 */ lw $s3, 0x0024($sp) -/* 00750 80B991F0 8FB40028 */ lw $s4, 0x0028($sp) -/* 00754 80B991F4 8FB5002C */ lw $s5, 0x002C($sp) -/* 00758 80B991F8 8FB60030 */ lw $s6, 0x0030($sp) -/* 0075C 80B991FC 03E00008 */ jr $ra -/* 00760 80B99200 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B99204.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B99204.s deleted file mode 100644 index 3921b41474..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B99204.s +++ /dev/null @@ -1,9 +0,0 @@ -glabel func_80B99204 -/* 00764 80B99204 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00768 80B99208 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0076C 80B9920C 0C2E6443 */ jal func_80B9910C -/* 00770 80B99210 00000000 */ nop -/* 00774 80B99214 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00778 80B99218 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 0077C 80B9921C 03E00008 */ jr $ra -/* 00780 80B99220 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B99224.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B99224.s deleted file mode 100644 index 046ca90964..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B99224.s +++ /dev/null @@ -1,55 +0,0 @@ -glabel func_80B99224 -/* 00784 80B99224 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00788 80B99228 AFBF001C */ sw $ra, 0x001C($sp) -/* 0078C 80B9922C AFB00018 */ sw $s0, 0x0018($sp) -/* 00790 80B99230 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00794 80B99234 0C2E6322 */ jal func_80B98C88 -/* 00798 80B99238 AFA50024 */ sw $a1, 0x0024($sp) -/* 0079C 80B9923C 00405025 */ or $t2, $v0, $zero ## $t2 = 00000000 -/* 007A0 80B99240 18400023 */ blez $v0, .L80B992D0 -/* 007A4 80B99244 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 007A8 80B99248 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 007AC 80B9924C 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002 -/* 007B0 80B99250 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002 -/* 007B4 80B99254 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -.L80B99258: -/* 007B8 80B99258 8CA20158 */ lw $v0, 0x0158($a1) ## 00000158 -/* 007BC 80B9925C 02061821 */ addu $v1, $s0, $a2 -/* 007C0 80B99260 50400018 */ beql $v0, $zero, .L80B992C4 -/* 007C4 80B99264 24C60001 */ addiu $a2, $a2, 0x0001 ## $a2 = 00000001 -/* 007C8 80B99268 90640194 */ lbu $a0, 0x0194($v1) ## 00000194 -/* 007CC 80B9926C 1480000D */ bne $a0, $zero, .L80B992A4 -/* 007D0 80B99270 00000000 */ nop -/* 007D4 80B99274 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130 -/* 007D8 80B99278 51C00008 */ beql $t6, $zero, .L80B9929C -/* 007DC 80B9927C A0670194 */ sb $a3, 0x0194($v1) ## 00000194 -/* 007E0 80B99280 8C4F0004 */ lw $t7, 0x0004($v0) ## 00000004 -/* 007E4 80B99284 31F80800 */ andi $t8, $t7, 0x0800 ## $t8 = 00000000 -/* 007E8 80B99288 5300000E */ beql $t8, $zero, .L80B992C4 -/* 007EC 80B9928C 24C60001 */ addiu $a2, $a2, 0x0001 ## $a2 = 00000002 -/* 007F0 80B99290 1000000B */ beq $zero, $zero, .L80B992C0 -/* 007F4 80B99294 A0680194 */ sb $t0, 0x0194($v1) ## 00000194 -/* 007F8 80B99298 A0670194 */ sb $a3, 0x0194($v1) ## 00000194 -.L80B9929C: -/* 007FC 80B9929C 10000008 */ beq $zero, $zero, .L80B992C0 -/* 00800 80B992A0 ACA00158 */ sw $zero, 0x0158($a1) ## 00000158 -.L80B992A4: -/* 00804 80B992A4 55240007 */ bnel $t1, $a0, .L80B992C4 -/* 00808 80B992A8 24C60001 */ addiu $a2, $a2, 0x0001 ## $a2 = 00000003 -/* 0080C 80B992AC 8C590130 */ lw $t9, 0x0130($v0) ## 00000130 -/* 00810 80B992B0 57200004 */ bnel $t9, $zero, .L80B992C4 -/* 00814 80B992B4 24C60001 */ addiu $a2, $a2, 0x0001 ## $a2 = 00000004 -/* 00818 80B992B8 A0670194 */ sb $a3, 0x0194($v1) ## 00000194 -/* 0081C 80B992BC ACA00158 */ sw $zero, 0x0158($a1) ## 00000158 -.L80B992C0: -/* 00820 80B992C0 24C60001 */ addiu $a2, $a2, 0x0001 ## $a2 = 00000005 -.L80B992C4: -/* 00824 80B992C4 00CA082A */ slt $at, $a2, $t2 -/* 00828 80B992C8 1420FFE3 */ bne $at, $zero, .L80B99258 -/* 0082C 80B992CC 24A50004 */ addiu $a1, $a1, 0x0004 ## $a1 = 00000004 -.L80B992D0: -/* 00830 80B992D0 8FBF001C */ lw $ra, 0x001C($sp) -/* 00834 80B992D4 8FB00018 */ lw $s0, 0x0018($sp) -/* 00838 80B992D8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 0083C 80B992DC 03E00008 */ jr $ra -/* 00840 80B992E0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B992E4.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B992E4.s deleted file mode 100644 index df66a53c8f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B992E4.s +++ /dev/null @@ -1,6 +0,0 @@ -glabel func_80B992E4 -/* 00844 80B992E4 3C0E80BA */ lui $t6, %hi(func_80B992F8) ## $t6 = 80BA0000 -/* 00848 80B992E8 AFA50004 */ sw $a1, 0x0004($sp) -/* 0084C 80B992EC 25CE92F8 */ addiu $t6, $t6, %lo(func_80B992F8) ## $t6 = 80B992F8 -/* 00850 80B992F0 03E00008 */ jr $ra -/* 00854 80B992F4 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B992F8.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B992F8.s deleted file mode 100644 index f7abb085d0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B992F8.s +++ /dev/null @@ -1,26 +0,0 @@ -glabel func_80B992F8 -/* 00858 80B992F8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0085C 80B992FC AFBF0014 */ sw $ra, 0x0014($sp) -/* 00860 80B99300 848E0156 */ lh $t6, 0x0156($a0) ## 00000156 -/* 00864 80B99304 C48000EC */ lwc1 $f0, 0x00EC($a0) ## 000000EC -/* 00868 80B99308 3C0180BA */ lui $at, %hi(D_80B99A50) ## $at = 80BA0000 -/* 0086C 80B9930C 000E7880 */ sll $t7, $t6, 2 -/* 00870 80B99310 002F0821 */ addu $at, $at, $t7 -/* 00874 80B99314 C4249A50 */ lwc1 $f4, %lo(D_80B99A50)($at) -/* 00878 80B99318 46000005 */ abs.s $f0, $f0 -/* 0087C 80B9931C 3C1880BA */ lui $t8, %hi(func_80B99950) ## $t8 = 80BA0000 -/* 00880 80B99320 4604003C */ c.lt.s $f0, $f4 -/* 00884 80B99324 00000000 */ nop -/* 00888 80B99328 45020008 */ bc1fl .L80B9934C -/* 0088C 80B9932C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00890 80B99330 8C990004 */ lw $t9, 0x0004($a0) ## 00000004 -/* 00894 80B99334 27189950 */ addiu $t8, $t8, %lo(func_80B99950) ## $t8 = 80B99950 -/* 00898 80B99338 AC98014C */ sw $t8, 0x014C($a0) ## 0000014C -/* 0089C 80B9933C 37280010 */ ori $t0, $t9, 0x0010 ## $t0 = 00000010 -/* 008A0 80B99340 0C2E642F */ jal func_80B990BC -/* 008A4 80B99344 AC880004 */ sw $t0, 0x0004($a0) ## 00000004 -/* 008A8 80B99348 8FBF0014 */ lw $ra, 0x0014($sp) -.L80B9934C: -/* 008AC 80B9934C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 008B0 80B99350 03E00008 */ jr $ra -/* 008B4 80B99354 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B99358.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B99358.s deleted file mode 100644 index eacf48f86d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B99358.s +++ /dev/null @@ -1,60 +0,0 @@ -glabel func_80B99358 -/* 008B8 80B99358 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 008BC 80B9935C F7B60018 */ sdc1 $f22, 0x0018($sp) -/* 008C0 80B99360 4485B000 */ mtc1 $a1, $f22 ## $f22 = 0.00 -/* 008C4 80B99364 AFBF0034 */ sw $ra, 0x0034($sp) -/* 008C8 80B99368 AFB30030 */ sw $s3, 0x0030($sp) -/* 008CC 80B9936C 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000 -/* 008D0 80B99370 AFB2002C */ sw $s2, 0x002C($sp) -/* 008D4 80B99374 AFB10028 */ sw $s1, 0x0028($sp) -/* 008D8 80B99378 AFB00024 */ sw $s0, 0x0024($sp) -/* 008DC 80B9937C 0C2E6322 */ jal func_80B98C88 -/* 008E0 80B99380 F7B40010 */ sdc1 $f20, 0x0010($sp) -/* 008E4 80B99384 00409025 */ or $s2, $v0, $zero ## $s2 = 00000000 -/* 008E8 80B99388 1840001F */ blez $v0, .L80B99408 -/* 008EC 80B9938C 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 008F0 80B99390 02608825 */ or $s1, $s3, $zero ## $s1 = 00000000 -.L80B99394: -/* 008F4 80B99394 8E220158 */ lw $v0, 0x0158($s1) ## 00000158 -/* 008F8 80B99398 50400018 */ beql $v0, $zero, .L80B993FC -/* 008FC 80B9939C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 00900 80B993A0 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00904 80B993A4 AC40011C */ sw $zero, 0x011C($v0) ## 0000011C -/* 00908 80B993A8 4616003E */ c.le.s $f0, $f22 -/* 0090C 80B993AC 00000000 */ nop -/* 00910 80B993B0 45020012 */ bc1fl .L80B993FC -/* 00914 80B993B4 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000002 -/* 00918 80B993B8 44922000 */ mtc1 $s2, $f4 ## $f4 = 0.00 -/* 0091C 80B993BC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00920 80B993C0 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50 -/* 00924 80B993C4 468021A0 */ cvt.s.w $f6, $f4 -/* 00928 80B993C8 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 0092C 80B993CC 46083501 */ sub.s $f20, $f6, $f8 -/* 00930 80B993D0 46140282 */ mul.s $f10, $f0, $f20 -/* 00934 80B993D4 4600540D */ trunc.w.s $f16, $f10 -/* 00938 80B993D8 44028000 */ mfc1 $v0, $f16 -/* 0093C 80B993DC 00000000 */ nop -/* 00940 80B993E0 12020005 */ beq $s0, $v0, .L80B993F8 -/* 00944 80B993E4 00027880 */ sll $t7, $v0, 2 -/* 00948 80B993E8 026FC021 */ addu $t8, $s3, $t7 -/* 0094C 80B993EC 8F190158 */ lw $t9, 0x0158($t8) ## 00000158 -/* 00950 80B993F0 8E280158 */ lw $t0, 0x0158($s1) ## 00000158 -/* 00954 80B993F4 AD19011C */ sw $t9, 0x011C($t0) ## 0000011C -.L80B993F8: -/* 00958 80B993F8 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000003 -.L80B993FC: -/* 0095C 80B993FC 0212082A */ slt $at, $s0, $s2 -/* 00960 80B99400 1420FFE4 */ bne $at, $zero, .L80B99394 -/* 00964 80B99404 26310004 */ addiu $s1, $s1, 0x0004 ## $s1 = 00000004 -.L80B99408: -/* 00968 80B99408 8FBF0034 */ lw $ra, 0x0034($sp) -/* 0096C 80B9940C D7B40010 */ ldc1 $f20, 0x0010($sp) -/* 00970 80B99410 D7B60018 */ ldc1 $f22, 0x0018($sp) -/* 00974 80B99414 8FB00024 */ lw $s0, 0x0024($sp) -/* 00978 80B99418 8FB10028 */ lw $s1, 0x0028($sp) -/* 0097C 80B9941C 8FB2002C */ lw $s2, 0x002C($sp) -/* 00980 80B99420 8FB30030 */ lw $s3, 0x0030($sp) -/* 00984 80B99424 03E00008 */ jr $ra -/* 00988 80B99428 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B9942C.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B9942C.s deleted file mode 100644 index 040ce070f9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B9942C.s +++ /dev/null @@ -1,109 +0,0 @@ -glabel func_80B9942C -/* 0098C 80B9942C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00990 80B99430 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00994 80B99434 AFA5001C */ sw $a1, 0x001C($sp) -/* 00998 80B99438 0C2E6322 */ jal func_80B98C88 -/* 0099C 80B9943C AFA40018 */ sw $a0, 0x0018($sp) -/* 009A0 80B99440 8FA70018 */ lw $a3, 0x0018($sp) -/* 009A4 80B99444 8FAB001C */ lw $t3, 0x001C($sp) -/* 009A8 80B99448 00404825 */ or $t1, $v0, $zero ## $t1 = 00000000 -/* 009AC 80B9944C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 009B0 80B99450 18400050 */ blez $v0, .L80B99594 -/* 009B4 80B99454 00005025 */ or $t2, $zero, $zero ## $t2 = 00000000 -/* 009B8 80B99458 00E03025 */ or $a2, $a3, $zero ## $a2 = 00000000 -.L80B9945C: -/* 009BC 80B9945C 8CC30158 */ lw $v1, 0x0158($a2) ## 00000158 -/* 009C0 80B99460 014B082A */ slt $at, $t2, $t3 -/* 009C4 80B99464 50600048 */ beql $v1, $zero, .L80B99588 -/* 009C8 80B99468 24A50001 */ addiu $a1, $a1, 0x0001 ## $a1 = 00000001 -/* 009CC 80B9946C 10200041 */ beq $at, $zero, .L80B99574 -/* 009D0 80B99470 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 -/* 009D4 80B99474 254A0001 */ addiu $t2, $t2, 0x0001 ## $t2 = 00000001 -/* 009D8 80B99478 18400042 */ blez $v0, .L80B99584 -/* 009DC 80B9947C AC63011C */ sw $v1, 0x011C($v1) ## 0000011C -/* 009E0 80B99480 30430003 */ andi $v1, $v0, 0x0003 ## $v1 = 00000000 -/* 009E4 80B99484 1060000F */ beq $v1, $zero, .L80B994C4 -/* 009E8 80B99488 00604025 */ or $t0, $v1, $zero ## $t0 = 00000000 -.L80B9948C: -/* 009EC 80B9948C 10A40008 */ beq $a1, $a0, .L80B994B0 -/* 009F0 80B99490 00047080 */ sll $t6, $a0, 2 -/* 009F4 80B99494 00EE7821 */ addu $t7, $a3, $t6 -/* 009F8 80B99498 8DE30158 */ lw $v1, 0x0158($t7) ## 00000158 -/* 009FC 80B9949C 8CD90158 */ lw $t9, 0x0158($a2) ## 00000158 -/* 00A00 80B994A0 8C78011C */ lw $t8, 0x011C($v1) ## 0000011C -/* 00A04 80B994A4 57190003 */ bnel $t8, $t9, .L80B994B4 -/* 00A08 80B994A8 24840001 */ addiu $a0, $a0, 0x0001 ## $a0 = 00000001 -/* 00A0C 80B994AC AC60011C */ sw $zero, 0x011C($v1) ## 0000011C -.L80B994B0: -/* 00A10 80B994B0 24840001 */ addiu $a0, $a0, 0x0001 ## $a0 = 00000002 -.L80B994B4: -/* 00A14 80B994B4 1504FFF5 */ bne $t0, $a0, .L80B9948C -/* 00A18 80B994B8 00000000 */ nop -/* 00A1C 80B994BC 50820032 */ beql $a0, $v0, .L80B99588 -/* 00A20 80B994C0 24A50001 */ addiu $a1, $a1, 0x0001 ## $a1 = 00000002 -.L80B994C4: -/* 00A24 80B994C4 10A40009 */ beq $a1, $a0, .L80B994EC -/* 00A28 80B994C8 24980001 */ addiu $t8, $a0, 0x0001 ## $t8 = 00000003 -/* 00A2C 80B994CC 00046080 */ sll $t4, $a0, 2 -/* 00A30 80B994D0 00EC6821 */ addu $t5, $a3, $t4 -/* 00A34 80B994D4 8DA30158 */ lw $v1, 0x0158($t5) ## 00000158 -/* 00A38 80B994D8 8CCF0158 */ lw $t7, 0x0158($a2) ## 00000158 -/* 00A3C 80B994DC 8C6E011C */ lw $t6, 0x011C($v1) ## 0000011C -/* 00A40 80B994E0 15CF0002 */ bne $t6, $t7, .L80B994EC -/* 00A44 80B994E4 00000000 */ nop -/* 00A48 80B994E8 AC60011C */ sw $zero, 0x011C($v1) ## 0000011C -.L80B994EC: -/* 00A4C 80B994EC 10B80009 */ beq $a1, $t8, .L80B99514 -/* 00A50 80B994F0 248F0002 */ addiu $t7, $a0, 0x0002 ## $t7 = 00000004 -/* 00A54 80B994F4 0004C880 */ sll $t9, $a0, 2 -/* 00A58 80B994F8 00F96021 */ addu $t4, $a3, $t9 -/* 00A5C 80B994FC 8D83015C */ lw $v1, 0x015C($t4) ## 0000015C -/* 00A60 80B99500 8CCE0158 */ lw $t6, 0x0158($a2) ## 00000158 -/* 00A64 80B99504 8C6D011C */ lw $t5, 0x011C($v1) ## 0000011C -/* 00A68 80B99508 15AE0002 */ bne $t5, $t6, .L80B99514 -/* 00A6C 80B9950C 00000000 */ nop -/* 00A70 80B99510 AC60011C */ sw $zero, 0x011C($v1) ## 0000011C -.L80B99514: -/* 00A74 80B99514 10AF0009 */ beq $a1, $t7, .L80B9953C -/* 00A78 80B99518 248E0003 */ addiu $t6, $a0, 0x0003 ## $t6 = 00000005 -/* 00A7C 80B9951C 0004C080 */ sll $t8, $a0, 2 -/* 00A80 80B99520 00F8C821 */ addu $t9, $a3, $t8 -/* 00A84 80B99524 8F230160 */ lw $v1, 0x0160($t9) ## 00000160 -/* 00A88 80B99528 8CCD0158 */ lw $t5, 0x0158($a2) ## 00000158 -/* 00A8C 80B9952C 8C6C011C */ lw $t4, 0x011C($v1) ## 0000011C -/* 00A90 80B99530 158D0002 */ bne $t4, $t5, .L80B9953C -/* 00A94 80B99534 00000000 */ nop -/* 00A98 80B99538 AC60011C */ sw $zero, 0x011C($v1) ## 0000011C -.L80B9953C: -/* 00A9C 80B9953C 10AE0008 */ beq $a1, $t6, .L80B99560 -/* 00AA0 80B99540 00047880 */ sll $t7, $a0, 2 -/* 00AA4 80B99544 00EFC021 */ addu $t8, $a3, $t7 -/* 00AA8 80B99548 8F030164 */ lw $v1, 0x0164($t8) ## 00000167 -/* 00AAC 80B9954C 8CCC0158 */ lw $t4, 0x0158($a2) ## 00000158 -/* 00AB0 80B99550 8C79011C */ lw $t9, 0x011C($v1) ## 0000011C -/* 00AB4 80B99554 572C0003 */ bnel $t9, $t4, .L80B99564 -/* 00AB8 80B99558 24840004 */ addiu $a0, $a0, 0x0004 ## $a0 = 00000006 -/* 00ABC 80B9955C AC60011C */ sw $zero, 0x011C($v1) ## 0000011C -.L80B99560: -/* 00AC0 80B99560 24840004 */ addiu $a0, $a0, 0x0004 ## $a0 = 0000000A -.L80B99564: -/* 00AC4 80B99564 1489FFD7 */ bne $a0, $t1, .L80B994C4 -/* 00AC8 80B99568 00000000 */ nop -/* 00ACC 80B9956C 10000006 */ beq $zero, $zero, .L80B99588 -/* 00AD0 80B99570 24A50001 */ addiu $a1, $a1, 0x0001 ## $a1 = 00000003 -.L80B99574: -/* 00AD4 80B99574 8C6D011C */ lw $t5, 0x011C($v1) ## 0000011C -/* 00AD8 80B99578 55A30003 */ bnel $t5, $v1, .L80B99588 -/* 00ADC 80B9957C 24A50001 */ addiu $a1, $a1, 0x0001 ## $a1 = 00000004 -/* 00AE0 80B99580 AC60011C */ sw $zero, 0x011C($v1) ## 0000011C -.L80B99584: -/* 00AE4 80B99584 24A50001 */ addiu $a1, $a1, 0x0001 ## $a1 = 00000005 -.L80B99588: -/* 00AE8 80B99588 00A9082A */ slt $at, $a1, $t1 -/* 00AEC 80B9958C 1420FFB3 */ bne $at, $zero, .L80B9945C -/* 00AF0 80B99590 24C60004 */ addiu $a2, $a2, 0x0004 ## $a2 = 00000004 -.L80B99594: -/* 00AF4 80B99594 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00AF8 80B99598 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00AFC 80B9959C 03E00008 */ jr $ra -/* 00B00 80B995A0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B995A4.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B995A4.s deleted file mode 100644 index 41d1a06d90..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B995A4.s +++ /dev/null @@ -1,171 +0,0 @@ -.late_rodata -glabel D_80B99D38 - .float 0.1 - -glabel D_80B99D3C - .float 0.2 - -glabel D_80B99D40 - .float 0.8 - -glabel D_80B99D44 - .float 0.2 - -glabel D_80B99D48 - .float 0.6 - -.text -glabel func_80B995A4 -/* 00B04 80B995A4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00B08 80B995A8 AFBF001C */ sw $ra, 0x001C($sp) -/* 00B0C 80B995AC AFB00018 */ sw $s0, 0x0018($sp) -/* 00B10 80B995B0 AFA50024 */ sw $a1, 0x0024($sp) -/* 00B14 80B995B4 848E01A4 */ lh $t6, 0x01A4($a0) ## 000001A4 -/* 00B18 80B995B8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00B1C 80B995BC 5DC00067 */ bgtzl $t6, .L80B9975C -/* 00B20 80B995C0 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 00B24 80B995C4 848F01A6 */ lh $t7, 0x01A6($a0) ## 000001A6 -/* 00B28 80B995C8 3C014270 */ lui $at, 0x4270 ## $at = 42700000 -/* 00B2C 80B995CC 51E0002D */ beql $t7, $zero, .L80B99684 -/* 00B30 80B995D0 C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090 -/* 00B34 80B995D4 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00B38 80B995D8 A48001A6 */ sh $zero, 0x01A6($a0) ## 000001A6 -/* 00B3C 80B995DC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00B40 80B995E0 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50 -/* 00B44 80B995E4 3C0180BA */ lui $at, %hi(D_80B99D38) ## $at = 80BA0000 -/* 00B48 80B995E8 C4289D38 */ lwc1 $f8, %lo(D_80B99D38)($at) -/* 00B4C 80B995EC 46040182 */ mul.s $f6, $f0, $f4 -/* 00B50 80B995F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00B54 80B995F4 46083280 */ add.s $f10, $f6, $f8 -/* 00B58 80B995F8 44055000 */ mfc1 $a1, $f10 -/* 00B5C 80B995FC 0C2E64D6 */ jal func_80B99358 -/* 00B60 80B99600 00000000 */ nop -/* 00B64 80B99604 3C014270 */ lui $at, 0x4270 ## $at = 42700000 -/* 00B68 80B99608 44819000 */ mtc1 $at, $f18 ## $f18 = 60.00 -/* 00B6C 80B9960C C6100090 */ lwc1 $f16, 0x0090($s0) ## 00000090 -/* 00B70 80B99610 4612803C */ c.lt.s $f16, $f18 -/* 00B74 80B99614 00000000 */ nop -/* 00B78 80B99618 4500000D */ bc1f .L80B99650 -/* 00B7C 80B9961C 00000000 */ nop -/* 00B80 80B99620 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00B84 80B99624 00000000 */ nop -/* 00B88 80B99628 3C0140B0 */ lui $at, 0x40B0 ## $at = 40B00000 -/* 00B8C 80B9962C 44812000 */ mtc1 $at, $f4 ## $f4 = 5.50 -/* 00B90 80B99630 00000000 */ nop -/* 00B94 80B99634 46040182 */ mul.s $f6, $f0, $f4 -/* 00B98 80B99638 4600320D */ trunc.w.s $f8, $f6 -/* 00B9C 80B9963C 44094000 */ mfc1 $t1, $f8 -/* 00BA0 80B99640 00000000 */ nop -/* 00BA4 80B99644 252A0004 */ addiu $t2, $t1, 0x0004 ## $t2 = 00000004 -/* 00BA8 80B99648 10000043 */ beq $zero, $zero, .L80B99758 -/* 00BAC 80B9964C A60A01A4 */ sh $t2, 0x01A4($s0) ## 000001A4 -.L80B99650: -/* 00BB0 80B99650 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00BB4 80B99654 00000000 */ nop -/* 00BB8 80B99658 3C014222 */ lui $at, 0x4222 ## $at = 42220000 -/* 00BBC 80B9965C 44815000 */ mtc1 $at, $f10 ## $f10 = 40.50 -/* 00BC0 80B99660 00000000 */ nop -/* 00BC4 80B99664 460A0402 */ mul.s $f16, $f0, $f10 -/* 00BC8 80B99668 4600848D */ trunc.w.s $f18, $f16 -/* 00BCC 80B9966C 440E9000 */ mfc1 $t6, $f18 -/* 00BD0 80B99670 00000000 */ nop -/* 00BD4 80B99674 25CF0004 */ addiu $t7, $t6, 0x0004 ## $t7 = 00000004 -/* 00BD8 80B99678 10000037 */ beq $zero, $zero, .L80B99758 -/* 00BDC 80B9967C A60F01A4 */ sh $t7, 0x01A4($s0) ## 000001A4 -/* 00BE0 80B99680 C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090 -.L80B99684: -/* 00BE4 80B99684 44813000 */ mtc1 $at, $f6 ## $f6 = 40.50 -/* 00BE8 80B99688 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 00BEC 80B9968C A61801A6 */ sh $t8, 0x01A6($s0) ## 000001A6 -/* 00BF0 80B99690 4606203C */ c.lt.s $f4, $f6 -/* 00BF4 80B99694 00000000 */ nop -/* 00BF8 80B99698 45000019 */ bc1f .L80B99700 -/* 00BFC 80B9969C 00000000 */ nop -/* 00C00 80B996A0 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00C04 80B996A4 00000000 */ nop -/* 00C08 80B996A8 3C014128 */ lui $at, 0x4128 ## $at = 41280000 -/* 00C0C 80B996AC 44814000 */ mtc1 $at, $f8 ## $f8 = 10.50 -/* 00C10 80B996B0 00000000 */ nop -/* 00C14 80B996B4 46080282 */ mul.s $f10, $f0, $f8 -/* 00C18 80B996B8 4600540D */ trunc.w.s $f16, $f10 -/* 00C1C 80B996BC 440A8000 */ mfc1 $t2, $f16 -/* 00C20 80B996C0 00000000 */ nop -/* 00C24 80B996C4 254B0004 */ addiu $t3, $t2, 0x0004 ## $t3 = 00000004 -/* 00C28 80B996C8 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00C2C 80B996CC A60B01A4 */ sh $t3, 0x01A4($s0) ## 000001A4 -/* 00C30 80B996D0 3C0180BA */ lui $at, %hi(D_80B99D3C) ## $at = 80BA0000 -/* 00C34 80B996D4 C4329D3C */ lwc1 $f18, %lo(D_80B99D3C)($at) -/* 00C38 80B996D8 3C0180BA */ lui $at, %hi(D_80B99D40) ## $at = 80BA0000 -/* 00C3C 80B996DC C4269D40 */ lwc1 $f6, %lo(D_80B99D40)($at) -/* 00C40 80B996E0 46120102 */ mul.s $f4, $f0, $f18 -/* 00C44 80B996E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00C48 80B996E8 46062200 */ add.s $f8, $f4, $f6 -/* 00C4C 80B996EC 44054000 */ mfc1 $a1, $f8 -/* 00C50 80B996F0 0C2E64D6 */ jal func_80B99358 -/* 00C54 80B996F4 00000000 */ nop -/* 00C58 80B996F8 10000018 */ beq $zero, $zero, .L80B9975C -/* 00C5C 80B996FC 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -.L80B99700: -/* 00C60 80B99700 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00C64 80B99704 00000000 */ nop -/* 00C68 80B99708 3C014128 */ lui $at, 0x4128 ## $at = 41280000 -/* 00C6C 80B9970C 44815000 */ mtc1 $at, $f10 ## $f10 = 10.50 -/* 00C70 80B99710 00000000 */ nop -/* 00C74 80B99714 460A0402 */ mul.s $f16, $f0, $f10 -/* 00C78 80B99718 4600848D */ trunc.w.s $f18, $f16 -/* 00C7C 80B9971C 440F9000 */ mfc1 $t7, $f18 -/* 00C80 80B99720 00000000 */ nop -/* 00C84 80B99724 25F80004 */ addiu $t8, $t7, 0x0004 ## $t8 = 00000004 -/* 00C88 80B99728 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00C8C 80B9972C A61801A4 */ sh $t8, 0x01A4($s0) ## 000001A4 -/* 00C90 80B99730 3C0180BA */ lui $at, %hi(D_80B99D44) ## $at = 80BA0000 -/* 00C94 80B99734 C4249D44 */ lwc1 $f4, %lo(D_80B99D44)($at) -/* 00C98 80B99738 3C0180BA */ lui $at, %hi(D_80B99D48) ## $at = 80BA0000 -/* 00C9C 80B9973C C4289D48 */ lwc1 $f8, %lo(D_80B99D48)($at) -/* 00CA0 80B99740 46040182 */ mul.s $f6, $f0, $f4 -/* 00CA4 80B99744 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00CA8 80B99748 46083280 */ add.s $f10, $f6, $f8 -/* 00CAC 80B9974C 44055000 */ mfc1 $a1, $f10 -/* 00CB0 80B99750 0C2E64D6 */ jal func_80B99358 -/* 00CB4 80B99754 00000000 */ nop -.L80B99758: -/* 00CB8 80B99758 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -.L80B9975C: -/* 00CBC 80B9975C 44819000 */ mtc1 $at, $f18 ## $f18 = 120.00 -/* 00CC0 80B99760 C6100090 */ lwc1 $f16, 0x0090($s0) ## 00000090 -/* 00CC4 80B99764 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00CC8 80B99768 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00CCC 80B9976C 4612803C */ c.lt.s $f16, $f18 -/* 00CD0 80B99770 00000000 */ nop -/* 00CD4 80B99774 45020006 */ bc1fl .L80B99790 -/* 00CD8 80B99778 A60001A8 */ sh $zero, 0x01A8($s0) ## 000001A8 -/* 00CDC 80B9977C 861901A8 */ lh $t9, 0x01A8($s0) ## 000001A8 -/* 00CE0 80B99780 27280001 */ addiu $t0, $t9, 0x0001 ## $t0 = 00000001 -/* 00CE4 80B99784 10000002 */ beq $zero, $zero, .L80B99790 -/* 00CE8 80B99788 A60801A8 */ sh $t0, 0x01A8($s0) ## 000001A8 -/* 00CEC 80B9978C A60001A8 */ sh $zero, 0x01A8($s0) ## 000001A8 -.L80B99790: -/* 00CF0 80B99790 860901A8 */ lh $t1, 0x01A8($s0) ## 000001A8 -/* 00CF4 80B99794 29210050 */ slti $at, $t1, 0x0050 -/* 00CF8 80B99798 14200005 */ bne $at, $zero, .L80B997B0 -/* 00CFC 80B9979C 00000000 */ nop -/* 00D00 80B997A0 0C2E650B */ jal func_80B9942C -/* 00D04 80B997A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00D08 80B997A8 10000004 */ beq $zero, $zero, .L80B997BC -/* 00D0C 80B997AC 8FBF001C */ lw $ra, 0x001C($sp) -.L80B997B0: -/* 00D10 80B997B0 0C2E650B */ jal func_80B9942C -/* 00D14 80B997B4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00D18 80B997B8 8FBF001C */ lw $ra, 0x001C($sp) -.L80B997BC: -/* 00D1C 80B997BC 8FB00018 */ lw $s0, 0x0018($sp) -/* 00D20 80B997C0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00D24 80B997C4 03E00008 */ jr $ra -/* 00D28 80B997C8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B997CC.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B997CC.s deleted file mode 100644 index 78b3a86e30..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B997CC.s +++ /dev/null @@ -1,117 +0,0 @@ -.late_rodata -glabel D_80B99D4C - .float 0.2 - -glabel D_80B99D50 - .float 0.7 - -.text -glabel func_80B997CC -/* 00D2C 80B997CC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00D30 80B997D0 AFBF001C */ sw $ra, 0x001C($sp) -/* 00D34 80B997D4 AFB00018 */ sw $s0, 0x0018($sp) -/* 00D38 80B997D8 AFA50024 */ sw $a1, 0x0024($sp) -/* 00D3C 80B997DC 848E01A4 */ lh $t6, 0x01A4($a0) ## 000001A4 -/* 00D40 80B997E0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00D44 80B997E4 1DC00041 */ bgtz $t6, .L80B998EC -/* 00D48 80B997E8 00000000 */ nop -/* 00D4C 80B997EC 848F01A6 */ lh $t7, 0x01A6($a0) ## 000001A6 -/* 00D50 80B997F0 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 00D54 80B997F4 11E00029 */ beq $t7, $zero, .L80B9989C -/* 00D58 80B997F8 00000000 */ nop -/* 00D5C 80B997FC 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00D60 80B99800 A48001A6 */ sh $zero, 0x01A6($a0) ## 000001A6 -/* 00D64 80B99804 3C0180BA */ lui $at, %hi(D_80B99D4C) ## $at = 80BA0000 -/* 00D68 80B99808 C4249D4C */ lwc1 $f4, %lo(D_80B99D4C)($at) -/* 00D6C 80B9980C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00D70 80B99810 46040182 */ mul.s $f6, $f0, $f4 -/* 00D74 80B99814 44053000 */ mfc1 $a1, $f6 -/* 00D78 80B99818 0C2E64D6 */ jal func_80B99358 -/* 00D7C 80B9981C 00000000 */ nop -/* 00D80 80B99820 3C014270 */ lui $at, 0x4270 ## $at = 42700000 -/* 00D84 80B99824 44815000 */ mtc1 $at, $f10 ## $f10 = 60.00 -/* 00D88 80B99828 C6080090 */ lwc1 $f8, 0x0090($s0) ## 00000090 -/* 00D8C 80B9982C 460A403C */ c.lt.s $f8, $f10 -/* 00D90 80B99830 00000000 */ nop -/* 00D94 80B99834 4500000D */ bc1f .L80B9986C -/* 00D98 80B99838 00000000 */ nop -/* 00D9C 80B9983C 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00DA0 80B99840 00000000 */ nop -/* 00DA4 80B99844 3C0140B0 */ lui $at, 0x40B0 ## $at = 40B00000 -/* 00DA8 80B99848 44818000 */ mtc1 $at, $f16 ## $f16 = 5.50 -/* 00DAC 80B9984C 00000000 */ nop -/* 00DB0 80B99850 46100482 */ mul.s $f18, $f0, $f16 -/* 00DB4 80B99854 4600910D */ trunc.w.s $f4, $f18 -/* 00DB8 80B99858 44092000 */ mfc1 $t1, $f4 -/* 00DBC 80B9985C 00000000 */ nop -/* 00DC0 80B99860 252A0004 */ addiu $t2, $t1, 0x0004 ## $t2 = 00000004 -/* 00DC4 80B99864 10000021 */ beq $zero, $zero, .L80B998EC -/* 00DC8 80B99868 A60A01A4 */ sh $t2, 0x01A4($s0) ## 000001A4 -.L80B9986C: -/* 00DCC 80B9986C 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00DD0 80B99870 00000000 */ nop -/* 00DD4 80B99874 3C014222 */ lui $at, 0x4222 ## $at = 42220000 -/* 00DD8 80B99878 44813000 */ mtc1 $at, $f6 ## $f6 = 40.50 -/* 00DDC 80B9987C 00000000 */ nop -/* 00DE0 80B99880 46060202 */ mul.s $f8, $f0, $f6 -/* 00DE4 80B99884 4600428D */ trunc.w.s $f10, $f8 -/* 00DE8 80B99888 440E5000 */ mfc1 $t6, $f10 -/* 00DEC 80B9988C 00000000 */ nop -/* 00DF0 80B99890 25CF0004 */ addiu $t7, $t6, 0x0004 ## $t7 = 00000004 -/* 00DF4 80B99894 10000015 */ beq $zero, $zero, .L80B998EC -/* 00DF8 80B99898 A60F01A4 */ sh $t7, 0x01A4($s0) ## 000001A4 -.L80B9989C: -/* 00DFC 80B9989C 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00E00 80B998A0 A61801A6 */ sh $t8, 0x01A6($s0) ## 000001A6 -/* 00E04 80B998A4 3C0180BA */ lui $at, %hi(D_80B99D50) ## $at = 80BA0000 -/* 00E08 80B998A8 C4309D50 */ lwc1 $f16, %lo(D_80B99D50)($at) -/* 00E0C 80B998AC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00E10 80B998B0 46100482 */ mul.s $f18, $f0, $f16 -/* 00E14 80B998B4 44059000 */ mfc1 $a1, $f18 -/* 00E18 80B998B8 0C2E64D6 */ jal func_80B99358 -/* 00E1C 80B998BC 00000000 */ nop -/* 00E20 80B998C0 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00E24 80B998C4 00000000 */ nop -/* 00E28 80B998C8 3C014128 */ lui $at, 0x4128 ## $at = 41280000 -/* 00E2C 80B998CC 44812000 */ mtc1 $at, $f4 ## $f4 = 10.50 -/* 00E30 80B998D0 00000000 */ nop -/* 00E34 80B998D4 46040182 */ mul.s $f6, $f0, $f4 -/* 00E38 80B998D8 4600320D */ trunc.w.s $f8, $f6 -/* 00E3C 80B998DC 440A4000 */ mfc1 $t2, $f8 -/* 00E40 80B998E0 00000000 */ nop -/* 00E44 80B998E4 254B0004 */ addiu $t3, $t2, 0x0004 ## $t3 = 00000004 -/* 00E48 80B998E8 A60B01A4 */ sh $t3, 0x01A4($s0) ## 000001A4 -.L80B998EC: -/* 00E4C 80B998EC 0C2E6322 */ jal func_80B98C88 -/* 00E50 80B998F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00E54 80B998F4 18400011 */ blez $v0, .L80B9993C -/* 00E58 80B998F8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00E5C 80B998FC 00026080 */ sll $t4, $v0, 2 -/* 00E60 80B99900 01903021 */ addu $a2, $t4, $s0 -/* 00E64 80B99904 8C820158 */ lw $v0, 0x0158($a0) ## 00000158 -.L80B99908: -/* 00E68 80B99908 24840004 */ addiu $a0, $a0, 0x0004 ## $a0 = 00000004 -/* 00E6C 80B9990C 0086082B */ sltu $at, $a0, $a2 -/* 00E70 80B99910 10400008 */ beq $v0, $zero, .L80B99934 -/* 00E74 80B99914 00000000 */ nop -/* 00E78 80B99918 8C43011C */ lw $v1, 0x011C($v0) ## 0000011C -/* 00E7C 80B9991C 10600005 */ beq $v1, $zero, .L80B99934 -/* 00E80 80B99920 00000000 */ nop -/* 00E84 80B99924 8C6D0130 */ lw $t5, 0x0130($v1) ## 00000130 -/* 00E88 80B99928 15A00002 */ bne $t5, $zero, .L80B99934 -/* 00E8C 80B9992C 00000000 */ nop -/* 00E90 80B99930 AC40011C */ sw $zero, 0x011C($v0) ## 0000011C -.L80B99934: -/* 00E94 80B99934 5420FFF4 */ bnel $at, $zero, .L80B99908 -/* 00E98 80B99938 8C820158 */ lw $v0, 0x0158($a0) ## 0000015C -.L80B9993C: -/* 00E9C 80B9993C 8FBF001C */ lw $ra, 0x001C($sp) -/* 00EA0 80B99940 8FB00018 */ lw $s0, 0x0018($sp) -/* 00EA4 80B99944 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00EA8 80B99948 03E00008 */ jr $ra -/* 00EAC 80B9994C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B99950.s b/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B99950.s deleted file mode 100644 index c39fcc8dd0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B99950.s +++ /dev/null @@ -1,45 +0,0 @@ -glabel func_80B99950 -/* 00EB0 80B99950 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00EB4 80B99954 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00EB8 80B99958 AFA40018 */ sw $a0, 0x0018($sp) -/* 00EBC 80B9995C 0C2E6489 */ jal func_80B99224 -/* 00EC0 80B99960 AFA5001C */ sw $a1, 0x001C($sp) -/* 00EC4 80B99964 8FA40018 */ lw $a0, 0x0018($sp) -/* 00EC8 80B99968 3C0180BA */ lui $at, %hi(D_80B99A50) ## $at = 80BA0000 -/* 00ECC 80B9996C 3C0E80BA */ lui $t6, %hi(func_80B992F8) ## $t6 = 80BA0000 -/* 00ED0 80B99970 84820156 */ lh $v0, 0x0156($a0) ## 00000156 -/* 00ED4 80B99974 C48000EC */ lwc1 $f0, 0x00EC($a0) ## 000000EC -/* 00ED8 80B99978 3C0380BA */ lui $v1, %hi(D_80B99A98) ## $v1 = 80BA0000 -/* 00EDC 80B9997C 00021080 */ sll $v0, $v0, 2 -/* 00EE0 80B99980 00220821 */ addu $at, $at, $v0 -/* 00EE4 80B99984 C4249A50 */ lwc1 $f4, %lo(D_80B99A50)($at) -/* 00EE8 80B99988 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 00EEC 80B9998C 44813000 */ mtc1 $at, $f6 ## $f6 = 40.00 -/* 00EF0 80B99990 46000005 */ abs.s $f0, $f0 -/* 00EF4 80B99994 8FA5001C */ lw $a1, 0x001C($sp) -/* 00EF8 80B99998 46062200 */ add.s $f8, $f4, $f6 -/* 00EFC 80B9999C 25CE92F8 */ addiu $t6, $t6, %lo(func_80B992F8) ## $t6 = 80B992F8 -/* 00F00 80B999A0 00621821 */ addu $v1, $v1, $v0 -/* 00F04 80B999A4 4600403E */ c.le.s $f8, $f0 -/* 00F08 80B999A8 00000000 */ nop -/* 00F0C 80B999AC 45000009 */ bc1f .L80B999D4 -/* 00F10 80B999B0 00000000 */ nop -/* 00F14 80B999B4 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004 -/* 00F18 80B999B8 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF -/* 00F1C 80B999BC AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C -/* 00F20 80B999C0 01E1C024 */ and $t8, $t7, $at -/* 00F24 80B999C4 0C2E6481 */ jal func_80B99204 -/* 00F28 80B999C8 AC980004 */ sw $t8, 0x0004($a0) ## 00000004 -/* 00F2C 80B999CC 10000007 */ beq $zero, $zero, .L80B999EC -/* 00F30 80B999D0 8FBF0014 */ lw $ra, 0x0014($sp) -.L80B999D4: -/* 00F34 80B999D4 8C639A98 */ lw $v1, %lo(D_80B99A98)($v1) -/* 00F38 80B999D8 50600004 */ beql $v1, $zero, .L80B999EC -/* 00F3C 80B999DC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00F40 80B999E0 0060F809 */ jalr $ra, $v1 -/* 00F44 80B999E4 00000000 */ nop -/* 00F48 80B999E8 8FBF0014 */ lw $ra, 0x0014($sp) -.L80B999EC: -/* 00F4C 80B999EC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00F50 80B999F0 03E00008 */ jr $ra -/* 00F54 80B999F4 00000000 */ nop diff --git a/data/overlays/actors/z_obj_mure.data.s b/data/overlays/actors/z_obj_mure.data.s deleted file mode 100644 index 085c96846a..0000000000 --- a/data/overlays/actors/z_obj_mure.data.s +++ /dev/null @@ -1,34 +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_Mure_InitVars - .word 0x00940700, 0x00000000, 0x00010000, 0x000001AC -.word ObjMure_Init -.word ObjMure_Destroy -.word ObjMure_Update -.word 0x00000000 -glabel D_80B99A50 - .word 0x44C80000, 0x44C80000, 0x447A0000, 0x447A0000, 0x447A0000 -glabel D_80B99A64 - .word 0x0000000C, 0x00000009, 0x00000008, 0x00000000 -glabel D_80B99A74 - .word 0x01250000, 0x00210020, 0x001E0000 -glabel D_80B99A80 - .word 0x00000002, 0xFFFF0000, 0xFFFF0000 -glabel D_80B99A8C - .word 0xB0F404B0, 0xB0F800C8, 0x30FC04B0 -glabel D_80B99A98 - .word 0x00000000, 0x00000000 -.word func_80B995A4 -.word func_80B995A4 -.word func_80B997CC -.word 0x00000000 - diff --git a/data/overlays/actors/z_obj_mure.reloc.s b/data/overlays/actors/z_obj_mure.reloc.s deleted file mode 100644 index 8b5eaab21e..0000000000 --- a/data/overlays/actors/z_obj_mure.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_80B99D60 - .incbin "baserom/ovl_Obj_Mure", 0x12C0, 0x000001E0 diff --git a/spec b/spec index 372dcf24bc..b4a288c255 100644 --- a/spec +++ b/spec @@ -3316,8 +3316,7 @@ endseg beginseg name "ovl_Obj_Mure" include "build/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.o" - include "build/data/overlays/actors/z_obj_mure.data.o" - include "build/data/overlays/actors/z_obj_mure.reloc.o" + include "build/src/overlays/actors/ovl_Obj_Mure/ovl_Obj_Mure_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.c b/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.c index efce7a4db0..c1eeaece54 100644 --- a/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.c +++ b/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.c @@ -1,7 +1,7 @@ /* * File: z_obj_mure.c * Overlay: ovl_Obj_Mure - * Description: Fish, Bugs, Butterflies + * Description: Spawns Fish, Bug, Butterfly */ #include "z_obj_mure.h" @@ -14,7 +14,12 @@ void ObjMure_Init(Actor* thisx, GlobalContext* globalCtx); void ObjMure_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjMure_Update(Actor* thisx, GlobalContext* globalCtx); -/* +void ObjMure_InitialAction(ObjMure* this, GlobalContext* globalCtx); +void ObjMure_CulledState(ObjMure* this, GlobalContext* globalCtx); +void ObjMure_ActiveState(ObjMure* this, GlobalContext* globalCtx); + +s32 ObjMure_GetMaxChildSpawns(ObjMure* this); + const ActorInit Obj_Mure_InitVars = { ACTOR_OBJ_MURE, ACTORCAT_ITEMACTION, @@ -26,43 +31,388 @@ const ActorInit Obj_Mure_InitVars = { (ActorFunc)ObjMure_Update, NULL, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98AA0.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98B1C.s") +typedef enum { + /* 0 */ OBJMURE_TYPE_GRASS, + /* 1 */ OBJMURE_TYPE_UNDEFINED, + /* 2 */ OBJMURE_TYPE_FISH, + /* 3 */ OBJMURE_TYPE_BUGS, + /* 4 */ OBJMURE_TYPE_BUTTERFLY +} ObjMureType; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/ObjMure_Init.s") +typedef enum { + /* 0 */ OBJMURE_CHILD_STATE_0, + /* 1 */ OBJMURE_CHILD_STATE_1, // Dead + /* 2 */ OBJMURE_CHILD_STATE_2 +} ObjMureChildState; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/ObjMure_Destroy.s") +static f32 sZClip[] = { 1600.0f, 1600.0f, 1000.0f, 1000.0f, 1000.0f }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98C88.s") +static s32 sMaxChildSpawns[] = { 12, 9, 8, 0 }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98CB4.s") +static s16 sSpawnActorIds[] = { ACTOR_EN_KUSA, 0, ACTOR_EN_FISH, ACTOR_EN_INSECT, ACTOR_EN_BUTTE }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98D18.s") +static s16 sSpawnParams[] = { 0, 2, -1, 0, -1 }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B98F38.s") +static InitChainEntry sInitChain[] = { + ICHAIN_F32(uncullZoneForward, 1200, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneScale, 200, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneDownward, 1200, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B990BC.s") +s32 ObjMure_SetCullingImpl(Actor* thisx, GlobalContext* globalCtx) { + ObjMure* this = THIS; + s32 result; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B9910C.s") + switch (this->type) { + case OBJMURE_TYPE_FISH: + case OBJMURE_TYPE_BUGS: + case OBJMURE_TYPE_BUTTERFLY: + Actor_ProcessInitChain(&this->actor, sInitChain); + result = true; + break; + default: + // Translation: "Error : Culling is not set.(%s %d)(arg_data 0x%04x)" + osSyncPrintf("Error : カリングの設定がされていません。(%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 204, + this->actor.params); + return false; + } + return result; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B99204.s") +s32 ObjMure_SetCulling(Actor* thisx, GlobalContext* globalCtx) { + if (!ObjMure_SetCullingImpl(thisx, globalCtx)) { + return false; + } + return true; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B99224.s") +void ObjMure_Init(Actor* thisx, GlobalContext* globalCtx) { + ObjMure* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B992E4.s") + this->chNum = (thisx->params >> 0xC) & 0x0F; + this->ptn = (thisx->params >> 8) & 0x07; + this->svNum = (thisx->params >> 5) & 0x03; + this->type = thisx->params & 0x1F; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B992F8.s") + if (this->ptn >= 4) { + osSyncPrintf("Error 群れな敵 (%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 237, thisx->params); + Actor_Kill(&this->actor); + return; + } else if (this->type >= 5) { + osSyncPrintf("Error 群れな敵 (%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 245, thisx->params); + Actor_Kill(&this->actor); + return; + } else if (!ObjMure_SetCulling(thisx, globalCtx)) { + Actor_Kill(&this->actor); + return; + } + this->actionFunc = ObjMure_InitialAction; + osSyncPrintf("群れな敵 (arg_data 0x%04x)(chNum(%d) ptn(%d) svNum(%d) type(%d))\n", thisx->params, this->chNum, + this->ptn, this->svNum, this->type); + if (ObjMure_GetMaxChildSpawns(this) <= 0) { + osSyncPrintf("Warning : 個体数が設定されていません(%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 268, + thisx->params); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B99358.s") +void ObjMure_Destroy(Actor* thisx, GlobalContext* globalCtx) { +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B9942C.s") +s32 ObjMure_GetMaxChildSpawns(ObjMure* this) { + if (this->chNum == 0) { + return sMaxChildSpawns[this->ptn]; + } + return this->chNum; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B995A4.s") +void ObjMure_GetSpawnPos(Vec3f* outPos, Vec3f* inPos, s32 ptn, s32 idx) { + if (ptn >= 4) { + osSyncPrintf("おかしなの (%s %d)\n", "../z_obj_mure.c", 307); + } + *outPos = *inPos; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B997CC.s") +void ObjMure_SpawnActors0(ObjMure* this, GlobalContext* globalCtx) { + ActorContext* ac; + s32 i; + Vec3f pos; + s32 pad; + s32 maxChildren = ObjMure_GetMaxChildSpawns(this); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/func_80B99950.s") + for (i = 0; i < maxChildren; i++) { + if (this->children[i] != NULL) { + // Translation: "Error: I already have a child(%s %d)(arg_data 0x%04x) + osSyncPrintf("Error : 既に子供がいる(%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 333, + this->actor.params); + } + switch (this->childrenStates[i]) { + case OBJMURE_CHILD_STATE_1: + break; + case OBJMURE_CHILD_STATE_2: + ac = &globalCtx->actorCtx; + ObjMure_GetSpawnPos(&pos, &this->actor.world.pos, this->ptn, i); + this->children[i] = + Actor_Spawn(ac, globalCtx, sSpawnActorIds[this->type], pos.x, pos.y, pos.z, this->actor.world.rot.x, + this->actor.world.rot.y, this->actor.world.rot.z, sSpawnParams[this->type]); + if (this->children[i] != NULL) { + this->children[i]->flags |= 0x800; + this->children[i]->room = this->actor.room; + } else { + osSyncPrintf("warning 発生失敗 (%s %d)\n", "../z_obj_mure.c", 359); + } + break; + default: + ac = &globalCtx->actorCtx; + ObjMure_GetSpawnPos(&pos, &this->actor.world.pos, this->ptn, i); + this->children[i] = + Actor_Spawn(ac, globalCtx, sSpawnActorIds[this->type], pos.x, pos.y, pos.z, this->actor.world.rot.x, + this->actor.world.rot.y, this->actor.world.rot.z, sSpawnParams[this->type]); + if (this->children[i] != NULL) { + this->children[i]->room = this->actor.room; + } else { + osSyncPrintf("warning 発生失敗 (%s %d)\n", "../z_obj_mure.c", 382); + } + break; + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Obj_Mure/ObjMure_Update.s") +void ObjMure_SpawnActors1(ObjMure* this, GlobalContext* globalCtx) { + ActorContext* ac = (ActorContext*)globalCtx; // fake match + Actor* actor = &this->actor; + Vec3f spawnPos; + s32 maxChildren = ObjMure_GetMaxChildSpawns(this); + s32 i; + + for (i = 0; i < maxChildren; i++) { + if (this->children[i] != NULL) { + osSyncPrintf("Error : 既に子供がいる(%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 407, actor->params); + } + ac = &globalCtx->actorCtx; + ObjMure_GetSpawnPos(&spawnPos, &actor->world.pos, this->ptn, i); + this->children[i] = Actor_Spawn(ac, globalCtx, sSpawnActorIds[this->type], spawnPos.x, spawnPos.y, spawnPos.z, + actor->world.rot.x, actor->world.rot.y, actor->world.rot.z, + (this->type == 4 && i == 0) ? 1 : sSpawnParams[this->type]); + if (this->children[i] != NULL) { + this->childrenStates[i] = OBJMURE_CHILD_STATE_0; + this->children[i]->room = actor->room; + } else { + this->childrenStates[i] = OBJMURE_CHILD_STATE_1; + osSyncPrintf("warning 発生失敗 (%s %d)\n", "../z_obj_mure.c", 438); + } + } +} + +void ObjMure_SpawnActors(ObjMure* this, GlobalContext* globalCtx) { + switch (this->svNum) { + case 0: + ObjMure_SpawnActors0(this, globalCtx); + break; + case 1: + ObjMure_SpawnActors1(this, globalCtx); + break; + } +} + +void ObjMure_KillActorsImpl(ObjMure* this, GlobalContext* globalCtx) { + s32 maxChildren = ObjMure_GetMaxChildSpawns(this); + s32 i; + + for (i = 0; i < maxChildren; i++) { + switch (this->childrenStates[i]) { + case OBJMURE_CHILD_STATE_1: + this->children[i] = NULL; + break; + case OBJMURE_CHILD_STATE_2: + if (this->children[i] != NULL) { + Actor_Kill(this->children[i]); + this->children[i] = NULL; + } + break; + default: + if (this->children[i] != NULL) { + if (Actor_HasParent(this->children[i], globalCtx)) { + this->children[i] = NULL; + } else { + Actor_Kill(this->children[i]); + this->children[i] = NULL; + } + } + break; + } + } +} + +void ObjMure_KillActors(ObjMure* this, GlobalContext* globalCtx) { + ObjMure_KillActorsImpl(this, globalCtx); +} + +void ObjMure_CheckChildren(ObjMure* this, GlobalContext* globalCtx) { + s32 maxChildren = ObjMure_GetMaxChildSpawns(this); + s32 i; + + for (i = 0; i < maxChildren; i++) { + if (this->children[i] != NULL) { + if (this->childrenStates[i] == OBJMURE_CHILD_STATE_0) { + if (this->children[i]->update != NULL) { + if (this->children[i]->flags & 0x800) { + this->childrenStates[i] = OBJMURE_CHILD_STATE_2; + } + } else { + this->childrenStates[i] = OBJMURE_CHILD_STATE_1; + this->children[i] = NULL; + } + } else if (this->childrenStates[i] == OBJMURE_CHILD_STATE_2 && this->children[i]->update == NULL) { + this->childrenStates[i] = OBJMURE_CHILD_STATE_1; + this->children[i] = NULL; + } + } + } +} + +void ObjMure_InitialAction(ObjMure* this, GlobalContext* globalCtx) { + this->actionFunc = ObjMure_CulledState; +} + +void ObjMure_CulledState(ObjMure* this, GlobalContext* globalCtx) { + if (fabsf(this->actor.projectedPos.z) < sZClip[this->type]) { + this->actionFunc = ObjMure_ActiveState; + this->actor.flags |= 0x10; + ObjMure_SpawnActors(this, globalCtx); + } +} + +void ObjMure_SetFollowTargets(ObjMure* this, f32 randMax) { + s32 index; + s32 maxChildren = ObjMure_GetMaxChildSpawns(this); + s32 i; + + for (i = 0; i < maxChildren; i++) { + if (this->children[i] != NULL) { + this->children[i]->child = NULL; + if (Rand_ZeroOne() <= randMax) { + index = Rand_ZeroOne() * (maxChildren - 0.5f); + if (i != index) { + this->children[i]->child = this->children[index]; + } + } + } + } +} + +/** + * Selects a child that will follow after the player + * `idx1` is the index + 1 of the child that will follow the player. If `idx1` is zero, no actor will follow the player + */ +void ObjMure_SetChildToFollowPlayer(ObjMure* this, s32 idx1) { + s32 maxChildren = ObjMure_GetMaxChildSpawns(this); + s32 i; + s32 i2; + s32 j; + + for (i = 0, i2 = 0; i < maxChildren; i++) { + if (this->children[i] != NULL) { + if (i2 < idx1) { + i2++; + this->children[i]->child = this->children[i]; + for (j = 0; j < maxChildren; j++) { + if (i != j && this->children[j]->child == this->children[i]) { + this->children[j]->child = NULL; + } + } + } else if (this->children[i]->child == this->children[i]) { + this->children[i]->child = NULL; + } + } + } +} + +// Fish, Bugs +void ObjMure_GroupBehavior0(ObjMure* this, GlobalContext* globalCtx) { + if (this->unk_1A4 <= 0) { + if (this->unk_1A6) { + this->unk_1A6 = false; + ObjMure_SetFollowTargets(this, (Rand_ZeroOne() * 0.5f) + 0.1f); + if (this->actor.xzDistToPlayer < 60.0f) { + this->unk_1A4 = (s16)(Rand_ZeroOne() * 5.5f) + 4; + } else { + this->unk_1A4 = (s16)(Rand_ZeroOne() * 40.5f) + 4; + } + } else { + this->unk_1A6 = true; + if (this->actor.xzDistToPlayer < 60.0f) { + this->unk_1A4 = (s16)(Rand_ZeroOne() * 10.5f) + 4; + ObjMure_SetFollowTargets(this, (Rand_ZeroOne() * 0.2f) + 0.8f); + } else { + this->unk_1A4 = (s16)(Rand_ZeroOne() * 10.5f) + 4; + ObjMure_SetFollowTargets(this, (Rand_ZeroOne() * 0.2f) + 0.6f); + } + } + } + if (this->actor.xzDistToPlayer < 120.0f) { + this->unk_1A8++; + } else { + this->unk_1A8 = 0; + } + if (this->unk_1A8 >= 80) { + ObjMure_SetChildToFollowPlayer(this, 1); + } else { + ObjMure_SetChildToFollowPlayer(this, 0); + } +} + +// Butterflies +void ObjMure_GroupBehavior1(ObjMure* this, GlobalContext* globalCtx) { + s32 maxChildren; + s32 i; + + if (this->unk_1A4 <= 0) { + if (this->unk_1A6) { + this->unk_1A6 = false; + ObjMure_SetFollowTargets(this, Rand_ZeroOne() * 0.2f); + if (this->actor.xzDistToPlayer < 60.0f) { + this->unk_1A4 = (s16)(Rand_ZeroOne() * 5.5f) + 4; + } else { + this->unk_1A4 = (s16)(Rand_ZeroOne() * 40.5f) + 4; + } + } else { + this->unk_1A6 = true; + ObjMure_SetFollowTargets(this, Rand_ZeroOne() * 0.7f); + this->unk_1A4 = (s16)(Rand_ZeroOne() * 10.5f) + 4; + } + } + + maxChildren = ObjMure_GetMaxChildSpawns(this); + for (i = 0; i < maxChildren; i++) { + if (this->children[i] != NULL) { + if (this->children[i]->child != NULL && this->children[i]->child->update == NULL) { + this->children[i]->child = NULL; + } + } + } +} + +static ObjMureActionFunc sTypeGroupBehaviorFunc[] = { + NULL, NULL, ObjMure_GroupBehavior0, ObjMure_GroupBehavior0, ObjMure_GroupBehavior1, +}; + +void ObjMure_ActiveState(ObjMure* this, GlobalContext* globalCtx) { + ObjMure_CheckChildren(this, globalCtx); + if (sZClip[this->type] + 40.0f <= fabsf(this->actor.projectedPos.z)) { + this->actionFunc = ObjMure_CulledState; + this->actor.flags &= ~0x10; + ObjMure_KillActors(this, globalCtx); + } else if (sTypeGroupBehaviorFunc[this->type] != NULL) { + sTypeGroupBehaviorFunc[this->type](this, globalCtx); + } +} + +void ObjMure_Update(Actor* thisx, GlobalContext* globalCtx) { + ObjMure* this = THIS; + + if (this->unk_1A4 > 0) { + this->unk_1A4--; + } + this->actionFunc(this, globalCtx); +} diff --git a/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.h b/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.h index 6acb71fc0b..b06bee9e6e 100644 --- a/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.h +++ b/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.h @@ -6,9 +6,22 @@ struct ObjMure; +typedef void (*ObjMureActionFunc)(struct ObjMure*, GlobalContext*); + +#define OBJMURE_MAX_SPAWNS 15 + typedef struct ObjMure { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x60]; + /* 0x014C */ ObjMureActionFunc actionFunc; + /* 0x0150 */ s16 chNum; + /* 0x0152 */ s16 ptn; + /* 0x0154 */ s16 svNum; + /* 0x0156 */ s16 type; + /* 0x0158 */ Actor* children[OBJMURE_MAX_SPAWNS]; + /* 0x0194 */ u8 childrenStates[OBJMURE_MAX_SPAWNS]; + /* 0x01A4 */ s16 unk_1A4; + /* 0x01A6 */ s16 unk_1A6; + /* 0x01A8 */ s16 unk_1A8; } ObjMure; // size = 0x01AC extern const ActorInit Obj_Mure_InitVars;