diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Destroy.s deleted file mode 100644 index 95bfcb2139..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Destroy.s +++ /dev/null @@ -1,11 +0,0 @@ -glabel EnButte_Destroy -/* 004D4 809CD544 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 004D8 809CD548 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 004DC 809CD54C AFBF0014 */ sw $ra, 0x0014($sp) -/* 004E0 809CD550 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 004E4 809CD554 0C016F32 */ jal Collider_DestroyJntSph -/* 004E8 809CD558 24E5014C */ addiu $a1, $a3, 0x014C ## $a1 = 0000014C -/* 004EC 809CD55C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 004F0 809CD560 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 004F4 809CD564 03E00008 */ jr $ra -/* 004F8 809CD568 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Draw.s deleted file mode 100644 index 2a100af928..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Draw.s +++ /dev/null @@ -1,42 +0,0 @@ -glabel EnButte_Draw -/* 011EC 809CE25C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 011F0 809CE260 AFBF0024 */ sw $ra, 0x0024($sp) -/* 011F4 809CE264 AFB00020 */ sw $s0, 0x0020($sp) -/* 011F8 809CE268 AFA5002C */ sw $a1, 0x002C($sp) -/* 011FC 809CE26C 908E0258 */ lbu $t6, 0x0258($a0) ## 00000258 -/* 01200 809CE270 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 01204 809CE274 51C0000E */ beql $t6, $zero, .L809CE2B0 -/* 01208 809CE278 8618001C */ lh $t8, 0x001C($s0) ## 0000001C -/* 0120C 809CE27C 0C024F46 */ jal func_80093D18 -/* 01210 809CE280 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000 -/* 01214 809CE284 8E0501B0 */ lw $a1, 0x01B0($s0) ## 000001B0 -/* 01218 809CE288 8E0601CC */ lw $a2, 0x01CC($s0) ## 000001CC -/* 0121C 809CE28C AFA00014 */ sw $zero, 0x0014($sp) -/* 01220 809CE290 AFA00010 */ sw $zero, 0x0010($sp) -/* 01224 809CE294 8FA4002C */ lw $a0, 0x002C($sp) -/* 01228 809CE298 0C028572 */ jal SkelAnime_Draw - -/* 0122C 809CE29C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 01230 809CE2A0 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 -/* 01234 809CE2A4 0C018A29 */ jal func_800628A4 -/* 01238 809CE2A8 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 0123C 809CE2AC 8618001C */ lh $t8, 0x001C($s0) ## 0000001C -.L809CE2B0: -/* 01240 809CE2B0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 01244 809CE2B4 33190001 */ andi $t9, $t8, 0x0001 ## $t9 = 00000000 -/* 01248 809CE2B8 57210009 */ bnel $t9, $at, .L809CE2E0 -/* 0124C 809CE2BC 8FBF0024 */ lw $ra, 0x0024($sp) -/* 01250 809CE2C0 8E090250 */ lw $t1, 0x0250($s0) ## 00000250 -/* 01254 809CE2C4 3C08809D */ lui $t0, %hi(func_809CE014) ## $t0 = 809D0000 -/* 01258 809CE2C8 2508E014 */ addiu $t0, $t0, %lo(func_809CE014) ## $t0 = 809CE014 -/* 0125C 809CE2CC 15090003 */ bne $t0, $t1, .L809CE2DC -/* 01260 809CE2D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 01264 809CE2D4 0C273451 */ jal func_809CD144 -/* 01268 809CE2D8 8FA5002C */ lw $a1, 0x002C($sp) -.L809CE2DC: -/* 0126C 809CE2DC 8FBF0024 */ lw $ra, 0x0024($sp) -.L809CE2E0: -/* 01270 809CE2E0 8FB00020 */ lw $s0, 0x0020($sp) -/* 01274 809CE2E4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 01278 809CE2E8 03E00008 */ jr $ra -/* 0127C 809CE2EC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Init.s deleted file mode 100644 index f831d775ad..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Init.s +++ /dev/null @@ -1,122 +0,0 @@ -.rdata -glabel D_809CE450 - .asciz "(field keep 蝶)(%x)(arg_data 0x%04x)\n" - .balign 4 - -.late_rodata -glabel D_809CE48C - .word 0x477FFF00 -glabel D_809CE490 - .word 0x477FFF00 -glabel D_809CE494 - .word 0x477FFF00 - -.text -glabel EnButte_Init -/* 0034C 809CD3BC 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 00350 809CD3C0 AFBF002C */ sw $ra, 0x002C($sp) -/* 00354 809CD3C4 AFB00028 */ sw $s0, 0x0028($sp) -/* 00358 809CD3C8 AFA50044 */ sw $a1, 0x0044($sp) -/* 0035C 809CD3CC 848E001C */ lh $t6, 0x001C($a0) ## 0000001C -/* 00360 809CD3D0 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF -/* 00364 809CD3D4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00368 809CD3D8 15C10002 */ bne $t6, $at, .L809CD3E4 -/* 0036C 809CD3DC 3C05809D */ lui $a1, %hi(D_809CE3D0) ## $a1 = 809D0000 -/* 00370 809CD3E0 A480001C */ sh $zero, 0x001C($a0) ## 0000001C -.L809CD3E4: -/* 00374 809CD3E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00378 809CD3E8 0C01E037 */ jal Actor_ProcessInitChain - -/* 0037C 809CD3EC 24A5E3D0 */ addiu $a1, $a1, %lo(D_809CE3D0) ## $a1 = 809CE3D0 -/* 00380 809CD3F0 860F001C */ lh $t7, 0x001C($s0) ## 0000001C -/* 00384 809CD3F4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00388 809CD3F8 260501AC */ addiu $a1, $s0, 0x01AC ## $a1 = 000001AC -/* 0038C 809CD3FC 31F80001 */ andi $t8, $t7, 0x0001 ## $t8 = 00000000 -/* 00390 809CD400 17010005 */ bne $t8, $at, .L809CD418 -/* 00394 809CD404 3C060500 */ lui $a2, 0x0500 ## $a2 = 05000000 -/* 00398 809CD408 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 0039C 809CD40C 44812000 */ mtc1 $at, $f4 ## $f4 = 200.00 -/* 003A0 809CD410 00000000 */ nop -/* 003A4 809CD414 E60400F8 */ swc1 $f4, 0x00F8($s0) ## 000000F8 -.L809CD418: -/* 003A8 809CD418 3C070500 */ lui $a3, 0x0500 ## $a3 = 05000000 -/* 003AC 809CD41C 261901F0 */ addiu $t9, $s0, 0x01F0 ## $t9 = 000001F0 -/* 003B0 809CD420 26080220 */ addiu $t0, $s0, 0x0220 ## $t0 = 00000220 -/* 003B4 809CD424 24090008 */ addiu $t1, $zero, 0x0008 ## $t1 = 00000008 -/* 003B8 809CD428 AFA90018 */ sw $t1, 0x0018($sp) -/* 003BC 809CD42C AFA80014 */ sw $t0, 0x0014($sp) -/* 003C0 809CD430 AFB90010 */ sw $t9, 0x0010($sp) -/* 003C4 809CD434 24E72470 */ addiu $a3, $a3, 0x2470 ## $a3 = 05002470 -/* 003C8 809CD438 8FA40044 */ lw $a0, 0x0044($sp) -/* 003CC 809CD43C 24C636F0 */ addiu $a2, $a2, 0x36F0 ## $a2 = 050036F0 -/* 003D0 809CD440 0C02915F */ jal SkelAnime_Init - -/* 003D4 809CD444 AFA50038 */ sw $a1, 0x0038($sp) -/* 003D8 809CD448 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 003DC 809CD44C AFA50034 */ sw $a1, 0x0034($sp) -/* 003E0 809CD450 0C016EFE */ jal Collider_InitJntSph -/* 003E4 809CD454 8FA40044 */ lw $a0, 0x0044($sp) -/* 003E8 809CD458 3C07809D */ lui $a3, %hi(D_809CE314) ## $a3 = 809D0000 -/* 003EC 809CD45C 260A016C */ addiu $t2, $s0, 0x016C ## $t2 = 0000016C -/* 003F0 809CD460 8FA50034 */ lw $a1, 0x0034($sp) -/* 003F4 809CD464 AFAA0010 */ sw $t2, 0x0010($sp) -/* 003F8 809CD468 24E7E314 */ addiu $a3, $a3, %lo(D_809CE314) ## $a3 = 809CE314 -/* 003FC 809CD46C 8FA40044 */ lw $a0, 0x0044($sp) -/* 00400 809CD470 0C017014 */ jal Collider_SetJntSph -/* 00404 809CD474 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00408 809CD478 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 0040C 809CD47C A20000AE */ sb $zero, 0x00AE($s0) ## 000000AE -/* 00410 809CD480 3C01809D */ lui $at, %hi(D_809CE48C) ## $at = 809D0000 -/* 00414 809CD484 C426E48C */ lwc1 $f6, %lo(D_809CE48C)($at) -/* 00418 809CD488 46060202 */ mul.s $f8, $f0, $f6 -/* 0041C 809CD48C 4600428D */ trunc.w.s $f10, $f8 -/* 00420 809CD490 440C5000 */ mfc1 $t4, $f10 -/* 00424 809CD494 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00428 809CD498 A60C025C */ sh $t4, 0x025C($s0) ## 0000025C -/* 0042C 809CD49C 3C01809D */ lui $at, %hi(D_809CE490) ## $at = 809D0000 -/* 00430 809CD4A0 C430E490 */ lwc1 $f16, %lo(D_809CE490)($at) -/* 00434 809CD4A4 46100482 */ mul.s $f18, $f0, $f16 -/* 00438 809CD4A8 4600910D */ trunc.w.s $f4, $f18 -/* 0043C 809CD4AC 440E2000 */ mfc1 $t6, $f4 -/* 00440 809CD4B0 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00444 809CD4B4 A60E025E */ sh $t6, 0x025E($s0) ## 0000025E -/* 00448 809CD4B8 3C01809D */ lui $at, %hi(D_809CE494) ## $at = 809D0000 -/* 0044C 809CD4BC C426E494 */ lwc1 $f6, %lo(D_809CE494)($at) -/* 00450 809CD4C0 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00 -/* 00454 809CD4C4 3C050500 */ lui $a1, 0x0500 ## $a1 = 05000000 -/* 00458 809CD4C8 46060202 */ mul.s $f8, $f0, $f6 -/* 0045C 809CD4CC 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001 -/* 00460 809CD4D0 44071000 */ mfc1 $a3, $f2 -/* 00464 809CD4D4 24A52470 */ addiu $a1, $a1, 0x2470 ## $a1 = 05002470 -/* 00468 809CD4D8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 0046C 809CD4DC 4600428D */ trunc.w.s $f10, $f8 -/* 00470 809CD4E0 44185000 */ mfc1 $t8, $f10 -/* 00474 809CD4E4 00000000 */ nop -/* 00478 809CD4E8 A6180260 */ sh $t8, 0x0260($s0) ## 00000260 -/* 0047C 809CD4EC AFB90014 */ sw $t9, 0x0014($sp) -/* 00480 809CD4F0 8FA40038 */ lw $a0, 0x0038($sp) -/* 00484 809CD4F4 E7A20018 */ swc1 $f2, 0x0018($sp) -/* 00488 809CD4F8 0C029468 */ jal SkelAnime_ChangeAnim - -/* 0048C 809CD4FC E7A20010 */ swc1 $f2, 0x0010($sp) -/* 00490 809CD500 0C2735E7 */ jal func_809CD79C -/* 00494 809CD504 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00498 809CD508 860800B4 */ lh $t0, 0x00B4($s0) ## 000000B4 -/* 0049C 809CD50C 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001 -/* 004A0 809CD510 3C04809D */ lui $a0, %hi(D_809CE450) ## $a0 = 809D0000 -/* 004A4 809CD514 2509DCE0 */ addiu $t1, $t0, 0xDCE0 ## $t1 = FFFFDCE0 -/* 004A8 809CD518 A60900B4 */ sh $t1, 0x00B4($s0) ## 000000B4 -/* 004AC 809CD51C A20A0258 */ sb $t2, 0x0258($s0) ## 00000258 -/* 004B0 809CD520 2484E450 */ addiu $a0, $a0, %lo(D_809CE450) ## $a0 = 809CE450 -/* 004B4 809CD524 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 004B8 809CD528 0C00084C */ jal osSyncPrintf - -/* 004BC 809CD52C 8606001C */ lh $a2, 0x001C($s0) ## 0000001C -/* 004C0 809CD530 8FBF002C */ lw $ra, 0x002C($sp) -/* 004C4 809CD534 8FB00028 */ lw $s0, 0x0028($sp) -/* 004C8 809CD538 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 004CC 809CD53C 03E00008 */ jr $ra -/* 004D0 809CD540 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Update.s deleted file mode 100644 index 4beba75576..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Update.s +++ /dev/null @@ -1,95 +0,0 @@ -.late_rodata -glabel D_809CE4C8 - .float 5000.0 - -.text -glabel EnButte_Update -/* 010AC 809CE11C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 010B0 809CE120 AFBF001C */ sw $ra, 0x001C($sp) -/* 010B4 809CE124 AFB00018 */ sw $s0, 0x0018($sp) -/* 010B8 809CE128 8C82011C */ lw $v0, 0x011C($a0) ## 0000011C -/* 010BC 809CE12C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 010C0 809CE130 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 010C4 809CE134 50400008 */ beql $v0, $zero, .L809CE158 -/* 010C8 809CE138 86020254 */ lh $v0, 0x0254($s0) ## 00000254 -/* 010CC 809CE13C 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130 -/* 010D0 809CE140 55C00005 */ bnel $t6, $zero, .L809CE158 -/* 010D4 809CE144 86020254 */ lh $v0, 0x0254($s0) ## 00000254 -/* 010D8 809CE148 50820003 */ beql $a0, $v0, .L809CE158 -/* 010DC 809CE14C 86020254 */ lh $v0, 0x0254($s0) ## 00000254 -/* 010E0 809CE150 AC80011C */ sw $zero, 0x011C($a0) ## 0000011C -/* 010E4 809CE154 86020254 */ lh $v0, 0x0254($s0) ## 00000254 -.L809CE158: -/* 010E8 809CE158 18400002 */ blez $v0, .L809CE164 -/* 010EC 809CE15C 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF -/* 010F0 809CE160 A60F0254 */ sh $t7, 0x0254($s0) ## 00000254 -.L809CE164: -/* 010F4 809CE164 8618025C */ lh $t8, 0x025C($s0) ## 0000025C -/* 010F8 809CE168 8608025E */ lh $t0, 0x025E($s0) ## 0000025E -/* 010FC 809CE16C 860A0260 */ lh $t2, 0x0260($s0) ## 00000260 -/* 01100 809CE170 860C001C */ lh $t4, 0x001C($s0) ## 0000001C -/* 01104 809CE174 27190222 */ addiu $t9, $t8, 0x0222 ## $t9 = 00000222 -/* 01108 809CE178 25091000 */ addiu $t1, $t0, 0x1000 ## $t1 = 00001000 -/* 0110C 809CE17C 254B0600 */ addiu $t3, $t2, 0x0600 ## $t3 = 00000600 -/* 01110 809CE180 318D0001 */ andi $t5, $t4, 0x0001 ## $t5 = 00000000 -/* 01114 809CE184 A619025C */ sh $t9, 0x025C($s0) ## 0000025C -/* 01118 809CE188 A609025E */ sh $t1, 0x025E($s0) ## 0000025E -/* 0111C 809CE18C 15A1000C */ bne $t5, $at, .L809CE1C0 -/* 01120 809CE190 A60B0260 */ sh $t3, 0x0260($s0) ## 00000260 -/* 01124 809CE194 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44 -/* 01128 809CE198 24190050 */ addiu $t9, $zero, 0x0050 ## $t9 = 00000050 -/* 0112C 809CE19C 81CF0843 */ lb $t7, 0x0843($t6) ## 00000843 -/* 01130 809CE1A0 55E00007 */ bnel $t7, $zero, .L809CE1C0 -/* 01134 809CE1A4 A619025A */ sh $t9, 0x025A($s0) ## 0000025A -/* 01138 809CE1A8 8602025A */ lh $v0, 0x025A($s0) ## 0000025A -/* 0113C 809CE1AC 18400004 */ blez $v0, .L809CE1C0 -/* 01140 809CE1B0 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF -/* 01144 809CE1B4 10000002 */ beq $zero, $zero, .L809CE1C0 -/* 01148 809CE1B8 A618025A */ sh $t8, 0x025A($s0) ## 0000025A -/* 0114C 809CE1BC A619025A */ sh $t9, 0x025A($s0) ## 0000025A -.L809CE1C0: -/* 01150 809CE1C0 AFA50024 */ sw $a1, 0x0024($sp) -/* 01154 809CE1C4 8E190250 */ lw $t9, 0x0250($s0) ## 00000250 -/* 01158 809CE1C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0115C 809CE1CC 0320F809 */ jalr $ra, $t9 -/* 01160 809CE1D0 00000000 */ nop -/* 01164 809CE1D4 8E080130 */ lw $t0, 0x0130($s0) ## 00000130 -/* 01168 809CE1D8 5100001C */ beql $t0, $zero, .L809CE24C -/* 0116C 809CE1DC 8FBF001C */ lw $ra, 0x001C($sp) -/* 01170 809CE1E0 0C00B638 */ jal Actor_MoveForward - -/* 01174 809CE1E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 01178 809CE1E8 3C063F19 */ lui $a2, 0x3F19 ## $a2 = 3F190000 -/* 0117C 809CE1EC 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3F19999A -/* 01180 809CE1F0 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028 -/* 01184 809CE1F4 0C01DE80 */ jal Math_ApproxF - -/* 01188 809CE1F8 8E050264 */ lw $a1, 0x0264($s0) ## 00000264 -/* 0118C 809CE1FC 3C01809D */ lui $at, %hi(D_809CE4C8) ## $at = 809D0000 -/* 01190 809CE200 C426E4C8 */ lwc1 $f6, %lo(D_809CE4C8)($at) -/* 01194 809CE204 C604008C */ lwc1 $f4, 0x008C($s0) ## 0000008C -/* 01198 809CE208 8FA40024 */ lw $a0, 0x0024($sp) -/* 0119C 809CE20C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 011A0 809CE210 4606203C */ c.lt.s $f4, $f6 -/* 011A4 809CE214 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 011A8 809CE218 00812821 */ addu $a1, $a0, $at -/* 011AC 809CE21C 45020004 */ bc1fl .L809CE230 -/* 011B0 809CE220 C60800BC */ lwc1 $f8, 0x00BC($s0) ## 000000BC -/* 011B4 809CE224 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOT -/* 011B8 809CE228 2606014C */ addiu $a2, $s0, 0x014C ## $a2 = 0000014C -/* 011BC 809CE22C C60800BC */ lwc1 $f8, 0x00BC($s0) ## 000000BC -.L809CE230: -/* 011C0 809CE230 C60A0054 */ lwc1 $f10, 0x0054($s0) ## 00000054 -/* 011C4 809CE234 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 011C8 809CE238 460A4402 */ mul.s $f16, $f8, $f10 -/* 011CC 809CE23C 44058000 */ mfc1 $a1, $f16 -/* 011D0 809CE240 0C00B56E */ jal Actor_SetHeight - -/* 011D4 809CE244 00000000 */ nop -/* 011D8 809CE248 8FBF001C */ lw $ra, 0x001C($sp) -.L809CE24C: -/* 011DC 809CE24C 8FB00018 */ lw $s0, 0x0018($sp) -/* 011E0 809CE250 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 011E4 809CE254 03E00008 */ jr $ra -/* 011E8 809CE258 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD070.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD070.s deleted file mode 100644 index d5a209f234..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD070.s +++ /dev/null @@ -1,44 +0,0 @@ -.late_rodata -glabel D_809CE478 - .float 0.6 - -.text -glabel func_809CD070 -/* 00000 809CD070 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00004 809CD074 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00008 809CD078 908E0256 */ lbu $t6, 0x0256($a0) ## 00000256 -/* 0000C 809CD07C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00010 809CD080 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000 -/* 00014 809CD084 55C00012 */ bnel $t6, $zero, .L809CD0D0 -/* 00018 809CD088 A0C00256 */ sb $zero, 0x0256($a2) ## 00000256 -/* 0001C 809CD08C AFA40018 */ sw $a0, 0x0018($sp) -/* 00020 809CD090 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00024 809CD094 AFA5001C */ sw $a1, 0x001C($sp) -/* 00028 809CD098 3C01809D */ lui $at, %hi(D_809CE478) ## $at = 809D0000 -/* 0002C 809CD09C C424E478 */ lwc1 $f4, %lo(D_809CE478)($at) -/* 00030 809CD0A0 8FA60018 */ lw $a2, 0x0018($sp) -/* 00034 809CD0A4 8FA7001C */ lw $a3, 0x001C($sp) -/* 00038 809CD0A8 4604003C */ c.lt.s $f0, $f4 -/* 0003C 809CD0AC 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 00040 809CD0B0 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002 -/* 00044 809CD0B4 45000003 */ bc1f .L809CD0C4 -/* 00048 809CD0B8 00000000 */ nop -/* 0004C 809CD0BC 10000004 */ beq $zero, $zero, .L809CD0D0 -/* 00050 809CD0C0 A0CF0256 */ sb $t7, 0x0256($a2) ## 00000256 -.L809CD0C4: -/* 00054 809CD0C4 10000002 */ beq $zero, $zero, .L809CD0D0 -/* 00058 809CD0C8 A0D80256 */ sb $t8, 0x0256($a2) ## 00000256 -/* 0005C 809CD0CC A0C00256 */ sb $zero, 0x0256($a2) ## 00000256 -.L809CD0D0: -/* 00060 809CD0D0 84E40000 */ lh $a0, 0x0000($a3) ## 00000000 -/* 00064 809CD0D4 84E50002 */ lh $a1, 0x0002($a3) ## 00000002 -/* 00068 809CD0D8 0C01DF64 */ jal Math_Rand_S16Offset - -/* 0006C 809CD0DC AFA60018 */ sw $a2, 0x0018($sp) -/* 00070 809CD0E0 8FA60018 */ lw $a2, 0x0018($sp) -/* 00074 809CD0E4 A4C20254 */ sh $v0, 0x0254($a2) ## 00000254 -/* 00078 809CD0E8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0007C 809CD0EC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00080 809CD0F0 03E00008 */ jr $ra -/* 00084 809CD0F4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD0F8.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD0F8.s deleted file mode 100644 index 489a6436d4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD0F8.s +++ /dev/null @@ -1,7 +0,0 @@ -glabel func_809CD0F8 -/* 00088 809CD0F8 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 0008C 809CD0FC 3C01809D */ lui $at, %hi(D_809CE3BC) ## $at = 809D0000 -/* 00090 809CD100 E424E3BC */ swc1 $f4, %lo(D_809CE3BC)($at) -/* 00094 809CD104 3C01809D */ lui $at, %hi(D_809CE3C0) ## $at = 809D0000 -/* 00098 809CD108 03E00008 */ jr $ra -/* 0009C 809CD10C A420E3C0 */ sh $zero, %lo(D_809CE3C0)($at) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD110.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD110.s deleted file mode 100644 index 9f5db7d439..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD110.s +++ /dev/null @@ -1,19 +0,0 @@ -.late_rodata -glabel D_809CE47C - .word 0x3B449BA6 - -.text -glabel func_809CD110 -/* 000A0 809CD110 3C02809D */ lui $v0, %hi(D_809CE3BC) ## $v0 = 809D0000 -/* 000A4 809CD114 2442E3BC */ addiu $v0, $v0, %lo(D_809CE3BC) ## $v0 = 809CE3BC -/* 000A8 809CD118 3C01809D */ lui $at, %hi(D_809CE47C) ## $at = 809D0000 -/* 000AC 809CD11C C426E47C */ lwc1 $f6, %lo(D_809CE47C)($at) -/* 000B0 809CD120 C4440000 */ lwc1 $f4, 0x0000($v0) ## 809CE3BC -/* 000B4 809CD124 3C03809D */ lui $v1, %hi(D_809CE3C0) ## $v1 = 809D0000 -/* 000B8 809CD128 2463E3C0 */ addiu $v1, $v1, %lo(D_809CE3C0) ## $v1 = 809CE3C0 -/* 000BC 809CD12C 846E0000 */ lh $t6, 0x0000($v1) ## 809CE3C0 -/* 000C0 809CD130 46062200 */ add.s $f8, $f4, $f6 -/* 000C4 809CD134 25CF0FA0 */ addiu $t7, $t6, 0x0FA0 ## $t7 = 00000FA0 -/* 000C8 809CD138 A46F0000 */ sh $t7, 0x0000($v1) ## 809CE3C0 -/* 000CC 809CD13C 03E00008 */ jr $ra -/* 000D0 809CD140 E4480000 */ swc1 $f8, 0x0000($v0) ## 809CE3BC diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD144.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD144.s deleted file mode 100644 index eabc2195e0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD144.s +++ /dev/null @@ -1,187 +0,0 @@ -.rdata -glabel D_809CE420 - .asciz "../z_en_choo.c" - .balign 4 - -glabel D_809CE430 - .asciz "../z_en_choo.c" - .balign 4 - -glabel D_809CE440 - .asciz "../z_en_choo.c" - .balign 4 - -.late_rodata -glabel D_809CE480 - .float 9.58738019108e-05 - -glabel D_809CE484 - .float 9.58738019108e-05 - -glabel D_809CE488 - .float 9.58738019108e-05 - -.text -glabel func_809CD144 -/* 000D4 809CD144 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98 -/* 000D8 809CD148 AFBF001C */ sw $ra, 0x001C($sp) -/* 000DC 809CD14C AFB00018 */ sw $s0, 0x0018($sp) -/* 000E0 809CD150 AFA40068 */ sw $a0, 0x0068($sp) -/* 000E4 809CD154 AFA5006C */ sw $a1, 0x006C($sp) -/* 000E8 809CD158 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 000EC 809CD15C 3C06809D */ lui $a2, %hi(D_809CE420) ## $a2 = 809D0000 -/* 000F0 809CD160 24C6E420 */ addiu $a2, $a2, %lo(D_809CE420) ## $a2 = 809CE420 -/* 000F4 809CD164 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFD4 -/* 000F8 809CD168 24070127 */ addiu $a3, $zero, 0x0127 ## $a3 = 00000127 -/* 000FC 809CD16C 0C031AB1 */ jal Graph_OpenDisps -/* 00100 809CD170 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 00104 809CD174 8FAF006C */ lw $t7, 0x006C($sp) -/* 00108 809CD178 0C024F05 */ jal func_80093C14 -/* 0010C 809CD17C 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000 -/* 00110 809CD180 3C04809D */ lui $a0, %hi(D_809CE3C0) ## $a0 = 809D0000 -/* 00114 809CD184 0C01DE1C */ jal Math_Sins - ## sins? -/* 00118 809CD188 8484E3C0 */ lh $a0, %lo(D_809CE3C0)($a0) -/* 0011C 809CD18C 3C01437A */ lui $at, 0x437A ## $at = 437A0000 -/* 00120 809CD190 44812000 */ mtc1 $at, $f4 ## $f4 = 250.00 -/* 00124 809CD194 00000000 */ nop -/* 00128 809CD198 46040182 */ mul.s $f6, $f0, $f4 -/* 0012C 809CD19C 4600320D */ trunc.w.s $f8, $f6 -/* 00130 809CD1A0 44024000 */ mfc1 $v0, $f8 -/* 00134 809CD1A4 00000000 */ nop -/* 00138 809CD1A8 04410003 */ bgez $v0, .L809CD1B8 -/* 0013C 809CD1AC 28410100 */ slti $at, $v0, 0x0100 -/* 00140 809CD1B0 10000006 */ beq $zero, $zero, .L809CD1CC -/* 00144 809CD1B4 AFA00058 */ sw $zero, 0x0058($sp) -.L809CD1B8: -/* 00148 809CD1B8 14200003 */ bne $at, $zero, .L809CD1C8 -/* 0014C 809CD1BC 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000 -/* 00150 809CD1C0 10000001 */ beq $zero, $zero, .L809CD1C8 -/* 00154 809CD1C4 240300FF */ addiu $v1, $zero, 0x00FF ## $v1 = 000000FF -.L809CD1C8: -/* 00158 809CD1C8 AFA30058 */ sw $v1, 0x0058($sp) -.L809CD1CC: -/* 0015C 809CD1CC 8FA2006C */ lw $v0, 0x006C($sp) -/* 00160 809CD1D0 27A40050 */ addiu $a0, $sp, 0x0050 ## $a0 = FFFFFFE8 -/* 00164 809CD1D4 845907A0 */ lh $t9, 0x07A0($v0) ## 000007A0 -/* 00168 809CD1D8 00194080 */ sll $t0, $t9, 2 -/* 0016C 809CD1DC 00484821 */ addu $t1, $v0, $t0 -/* 00170 809CD1E0 0C016A5C */ jal func_8005A970 -/* 00174 809CD1E4 8D250790 */ lw $a1, 0x0790($t1) ## 00000790 -/* 00178 809CD1E8 87AA0052 */ lh $t2, 0x0052($sp) -/* 0017C 809CD1EC 3C01809D */ lui $at, %hi(D_809CE480) ## $at = 809D0000 -/* 00180 809CD1F0 C432E480 */ lwc1 $f18, %lo(D_809CE480)($at) -/* 00184 809CD1F4 448A5000 */ mtc1 $t2, $f10 ## $f10 = 0.00 -/* 00188 809CD1F8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 0018C 809CD1FC 46805420 */ cvt.s.w $f16, $f10 -/* 00190 809CD200 46128302 */ mul.s $f12, $f16, $f18 -/* 00194 809CD204 0C034348 */ jal Matrix_RotateY -/* 00198 809CD208 00000000 */ nop -/* 0019C 809CD20C 87AB0050 */ lh $t3, 0x0050($sp) -/* 001A0 809CD210 3C01809D */ lui $at, %hi(D_809CE484) ## $at = 809D0000 -/* 001A4 809CD214 C428E484 */ lwc1 $f8, %lo(D_809CE484)($at) -/* 001A8 809CD218 448B2000 */ mtc1 $t3, $f4 ## $f4 = 0.00 -/* 001AC 809CD21C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 001B0 809CD220 468021A0 */ cvt.s.w $f6, $f4 -/* 001B4 809CD224 46083302 */ mul.s $f12, $f6, $f8 -/* 001B8 809CD228 0C0342DC */ jal Matrix_RotateX -/* 001BC 809CD22C 00000000 */ nop -/* 001C0 809CD230 87AC0054 */ lh $t4, 0x0054($sp) -/* 001C4 809CD234 3C01809D */ lui $at, %hi(D_809CE488) ## $at = 809D0000 -/* 001C8 809CD238 C432E488 */ lwc1 $f18, %lo(D_809CE488)($at) -/* 001CC 809CD23C 448C5000 */ mtc1 $t4, $f10 ## $f10 = 0.00 -/* 001D0 809CD240 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 001D4 809CD244 46805420 */ cvt.s.w $f16, $f10 -/* 001D8 809CD248 46128302 */ mul.s $f12, $f16, $f18 -/* 001DC 809CD24C 0C0343B5 */ jal Matrix_RotateZ -/* 001E0 809CD250 00000000 */ nop -/* 001E4 809CD254 3C04809D */ lui $a0, %hi(D_809CE3C4) ## $a0 = 809D0000 -/* 001E8 809CD258 2484E3C4 */ addiu $a0, $a0, %lo(D_809CE3C4) ## $a0 = 809CE3C4 -/* 001EC 809CD25C 0C0346BD */ jal Matrix_MultVec3f -/* 001F0 809CD260 27A5005C */ addiu $a1, $sp, 0x005C ## $a1 = FFFFFFF4 -/* 001F4 809CD264 8FA20068 */ lw $v0, 0x0068($sp) -/* 001F8 809CD268 C7B20064 */ lwc1 $f18, 0x0064($sp) -/* 001FC 809CD26C C7B0005C */ lwc1 $f16, 0x005C($sp) -/* 00200 809CD270 C44A0040 */ lwc1 $f10, 0x0040($v0) ## 00000040 -/* 00204 809CD274 C4480038 */ lwc1 $f8, 0x0038($v0) ## 00000038 -/* 00208 809CD278 C446003C */ lwc1 $f6, 0x003C($v0) ## 0000003C -/* 0020C 809CD27C 46125480 */ add.s $f18, $f10, $f18 -/* 00210 809CD280 C7AA0060 */ lwc1 $f10, 0x0060($sp) -/* 00214 809CD284 27A70050 */ addiu $a3, $sp, 0x0050 ## $a3 = FFFFFFE8 -/* 00218 809CD288 46104300 */ add.s $f12, $f8, $f16 -/* 0021C 809CD28C 44069000 */ mfc1 $a2, $f18 -/* 00220 809CD290 0C0345A5 */ jal func_800D1694 -/* 00224 809CD294 460A3380 */ add.s $f14, $f6, $f10 -/* 00228 809CD298 3C01809D */ lui $at, %hi(D_809CE3BC) ## $at = 809D0000 -/* 0022C 809CD29C C42CE3BC */ lwc1 $f12, %lo(D_809CE3BC)($at) -/* 00230 809CD2A0 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00234 809CD2A4 44066000 */ mfc1 $a2, $f12 -/* 00238 809CD2A8 0C0342A3 */ jal Matrix_Scale -/* 0023C 809CD2AC 46006386 */ mov.s $f14, $f12 -/* 00240 809CD2B0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00244 809CD2B4 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000 -/* 00248 809CD2B8 35CE0003 */ ori $t6, $t6, 0x0003 ## $t6 = DA380003 -/* 0024C 809CD2BC 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 00250 809CD2C0 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0 -/* 00254 809CD2C4 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 00258 809CD2C8 8FAF006C */ lw $t7, 0x006C($sp) -/* 0025C 809CD2CC 3C05809D */ lui $a1, %hi(D_809CE430) ## $a1 = 809D0000 -/* 00260 809CD2D0 24A5E430 */ addiu $a1, $a1, %lo(D_809CE430) ## $a1 = 809CE430 -/* 00264 809CD2D4 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000 -/* 00268 809CD2D8 2406013D */ addiu $a2, $zero, 0x013D ## $a2 = 0000013D -/* 0026C 809CD2DC 0C0346A2 */ jal Matrix_NewMtx -/* 00270 809CD2E0 AFA20038 */ sw $v0, 0x0038($sp) -/* 00274 809CD2E4 8FA30038 */ lw $v1, 0x0038($sp) -/* 00278 809CD2E8 3C19FA00 */ lui $t9, 0xFA00 ## $t9 = FA000000 -/* 0027C 809CD2EC 37398080 */ ori $t9, $t9, 0x8080 ## $t9 = FA008080 -/* 00280 809CD2F0 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00284 809CD2F4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00288 809CD2F8 3C01C8C8 */ lui $at, 0xC8C8 ## $at = C8C80000 -/* 0028C 809CD2FC 3421B400 */ ori $at, $at, 0xB400 ## $at = C8C8B400 -/* 00290 809CD300 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00294 809CD304 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 00298 809CD308 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 0029C 809CD30C 8FA80058 */ lw $t0, 0x0058($sp) -/* 002A0 809CD310 3C0DC8C8 */ lui $t5, 0xC8C8 ## $t5 = C8C80000 -/* 002A4 809CD314 35ADD2FF */ ori $t5, $t5, 0xD2FF ## $t5 = C8C8D2FF -/* 002A8 809CD318 310900FF */ andi $t1, $t0, 0x00FF ## $t1 = 00000000 -/* 002AC 809CD31C 01215025 */ or $t2, $t1, $at ## $t2 = C8C8B400 -/* 002B0 809CD320 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 002B4 809CD324 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 002B8 809CD328 3C0CFB00 */ lui $t4, 0xFB00 ## $t4 = FB000000 -/* 002BC 809CD32C 3C040401 */ lui $a0, 0x0401 ## $a0 = 04010000 -/* 002C0 809CD330 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 002C4 809CD334 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 002C8 809CD338 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 002CC 809CD33C AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 002D0 809CD340 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 002D4 809CD344 24840130 */ addiu $a0, $a0, 0x0130 ## $a0 = 04010130 -/* 002D8 809CD348 0004C100 */ sll $t8, $a0, 4 -/* 002DC 809CD34C 0018CF02 */ srl $t9, $t8, 28 -/* 002E0 809CD350 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 002E4 809CD354 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 002E8 809CD358 00194080 */ sll $t0, $t9, 2 -/* 002EC 809CD35C 3C098016 */ lui $t1, %hi(gSegments) -/* 002F0 809CD360 3C0FDE00 */ lui $t7, 0xDE00 ## $t7 = DE000000 -/* 002F4 809CD364 01284821 */ addu $t1, $t1, $t0 -/* 002F8 809CD368 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 002FC 809CD36C AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 00300 809CD370 8D296FA8 */ lw $t1, %lo(gSegments)($t1) -/* 00304 809CD374 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 00308 809CD378 00815024 */ and $t2, $a0, $at -/* 0030C 809CD37C 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00310 809CD380 012A5821 */ addu $t3, $t1, $t2 -/* 00314 809CD384 01616021 */ addu $t4, $t3, $at -/* 00318 809CD388 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 -/* 0031C 809CD38C 8FAD006C */ lw $t5, 0x006C($sp) -/* 00320 809CD390 3C06809D */ lui $a2, %hi(D_809CE440) ## $a2 = 809D0000 -/* 00324 809CD394 24C6E440 */ addiu $a2, $a2, %lo(D_809CE440) ## $a2 = 809CE440 -/* 00328 809CD398 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFD4 -/* 0032C 809CD39C 24070146 */ addiu $a3, $zero, 0x0146 ## $a3 = 00000146 -/* 00330 809CD3A0 0C031AD5 */ jal Graph_CloseDisps -/* 00334 809CD3A4 8DA50000 */ lw $a1, 0x0000($t5) ## C8C8D2FF -/* 00338 809CD3A8 8FBF001C */ lw $ra, 0x001C($sp) -/* 0033C 809CD3AC 8FB00018 */ lw $s0, 0x0018($sp) -/* 00340 809CD3B0 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000 -/* 00344 809CD3B4 03E00008 */ jr $ra -/* 00348 809CD3B8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD56C.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD56C.s deleted file mode 100644 index 04d7fefa3f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD56C.s +++ /dev/null @@ -1,56 +0,0 @@ -glabel func_809CD56C -/* 004FC 809CD56C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00500 809CD570 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00504 809CD574 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000 -/* 00508 809CD578 8484025E */ lh $a0, 0x025E($a0) ## 0000025E -/* 0050C 809CD57C 0C01DE1C */ jal Math_Sins - ## sins? -/* 00510 809CD580 AFA50020 */ sw $a1, 0x0020($sp) -/* 00514 809CD584 8FA50020 */ lw $a1, 0x0020($sp) -/* 00518 809CD588 E7A00018 */ swc1 $f0, 0x0018($sp) -/* 0051C 809CD58C 0C01DE1C */ jal Math_Sins - ## sins? -/* 00520 809CD590 84A4025C */ lh $a0, 0x025C($a1) ## 0000025C -/* 00524 809CD594 8FA50020 */ lw $a1, 0x0020($sp) -/* 00528 809CD598 3C01C4FA */ lui $at, 0xC4FA ## $at = C4FA0000 -/* 0052C 809CD59C 44816000 */ mtc1 $at, $f12 ## $f12 = -2000.00 -/* 00530 809CD5A0 90A20256 */ lbu $v0, 0x0256($a1) ## 00000256 -/* 00534 809CD5A4 3C01809D */ lui $at, %hi(D_809CE3EC) ## $at = 809D0000 -/* 00538 809CD5A8 C7A40018 */ lwc1 $f4, 0x0018($sp) -/* 0053C 809CD5AC 00021080 */ sll $v0, $v0, 2 -/* 00540 809CD5B0 00220821 */ addu $at, $at, $v0 -/* 00544 809CD5B4 C426E3EC */ lwc1 $f6, %lo(D_809CE3EC)($at) -/* 00548 809CD5B8 3C01809D */ lui $at, %hi(D_809CE3E0) ## $at = 809D0000 -/* 0054C 809CD5BC 00220821 */ addu $at, $at, $v0 -/* 00550 809CD5C0 46062202 */ mul.s $f8, $f4, $f6 -/* 00554 809CD5C4 C42AE3E0 */ lwc1 $f10, %lo(D_809CE3E0)($at) -/* 00558 809CD5C8 C4A400BC */ lwc1 $f4, 0x00BC($a1) ## 000000BC -/* 0055C 809CD5CC 3C0144FA */ lui $at, 0x44FA ## $at = 44FA0000 -/* 00560 809CD5D0 460A0402 */ mul.s $f16, $f0, $f10 -/* 00564 809CD5D4 46088480 */ add.s $f18, $f16, $f8 -/* 00568 809CD5D8 46122180 */ add.s $f6, $f4, $f18 -/* 0056C 809CD5DC E4A600BC */ swc1 $f6, 0x00BC($a1) ## 000000BC -/* 00570 809CD5E0 C4A200BC */ lwc1 $f2, 0x00BC($a1) ## 000000BC -/* 00574 809CD5E4 460C103C */ c.lt.s $f2, $f12 -/* 00578 809CD5E8 00000000 */ nop -/* 0057C 809CD5EC 45020004 */ bc1fl .L809CD600 -/* 00580 809CD5F0 44816000 */ mtc1 $at, $f12 ## $f12 = 2000.00 -/* 00584 809CD5F4 1000000B */ beq $zero, $zero, .L809CD624 -/* 00588 809CD5F8 E4AC00BC */ swc1 $f12, 0x00BC($a1) ## 000000BC -/* 0058C 809CD5FC 44816000 */ mtc1 $at, $f12 ## $f12 = 2000.00 -.L809CD600: -/* 00590 809CD600 00000000 */ nop -/* 00594 809CD604 4602603C */ c.lt.s $f12, $f2 -/* 00598 809CD608 00000000 */ nop -/* 0059C 809CD60C 45020004 */ bc1fl .L809CD620 -/* 005A0 809CD610 46001006 */ mov.s $f0, $f2 -/* 005A4 809CD614 10000002 */ beq $zero, $zero, .L809CD620 -/* 005A8 809CD618 46006006 */ mov.s $f0, $f12 -/* 005AC 809CD61C 46001006 */ mov.s $f0, $f2 -.L809CD620: -/* 005B0 809CD620 E4A000BC */ swc1 $f0, 0x00BC($a1) ## 000000BC -.L809CD624: -/* 005B4 809CD624 8FBF0014 */ lw $ra, 0x0014($sp) -/* 005B8 809CD628 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 005BC 809CD62C 03E00008 */ jr $ra -/* 005C0 809CD630 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD634.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD634.s deleted file mode 100644 index 308c3dc2fd..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD634.s +++ /dev/null @@ -1,56 +0,0 @@ -glabel func_809CD634 -/* 005C4 809CD634 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 005C8 809CD638 AFBF0014 */ sw $ra, 0x0014($sp) -/* 005CC 809CD63C 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000 -/* 005D0 809CD640 8484025E */ lh $a0, 0x025E($a0) ## 0000025E -/* 005D4 809CD644 0C01DE1C */ jal Math_Sins - ## sins? -/* 005D8 809CD648 AFA50020 */ sw $a1, 0x0020($sp) -/* 005DC 809CD64C 8FA50020 */ lw $a1, 0x0020($sp) -/* 005E0 809CD650 E7A00018 */ swc1 $f0, 0x0018($sp) -/* 005E4 809CD654 0C01DE1C */ jal Math_Sins - ## sins? -/* 005E8 809CD658 84A4025C */ lh $a0, 0x025C($a1) ## 0000025C -/* 005EC 809CD65C 8FA50020 */ lw $a1, 0x0020($sp) -/* 005F0 809CD660 3C01C3FA */ lui $at, 0xC3FA ## $at = C3FA0000 -/* 005F4 809CD664 44816000 */ mtc1 $at, $f12 ## $f12 = -500.00 -/* 005F8 809CD668 90A20256 */ lbu $v0, 0x0256($a1) ## 00000256 -/* 005FC 809CD66C 3C01809D */ lui $at, %hi(D_809CE404) ## $at = 809D0000 -/* 00600 809CD670 C7A40018 */ lwc1 $f4, 0x0018($sp) -/* 00604 809CD674 00021080 */ sll $v0, $v0, 2 -/* 00608 809CD678 00220821 */ addu $at, $at, $v0 -/* 0060C 809CD67C C426E404 */ lwc1 $f6, %lo(D_809CE404)($at) -/* 00610 809CD680 3C01809D */ lui $at, %hi(D_809CE3F8) ## $at = 809D0000 -/* 00614 809CD684 00220821 */ addu $at, $at, $v0 -/* 00618 809CD688 46062202 */ mul.s $f8, $f4, $f6 -/* 0061C 809CD68C C42AE3F8 */ lwc1 $f10, %lo(D_809CE3F8)($at) -/* 00620 809CD690 C4A400BC */ lwc1 $f4, 0x00BC($a1) ## 000000BC -/* 00624 809CD694 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000 -/* 00628 809CD698 460A0402 */ mul.s $f16, $f0, $f10 -/* 0062C 809CD69C 46088480 */ add.s $f18, $f16, $f8 -/* 00630 809CD6A0 46122180 */ add.s $f6, $f4, $f18 -/* 00634 809CD6A4 E4A600BC */ swc1 $f6, 0x00BC($a1) ## 000000BC -/* 00638 809CD6A8 C4A200BC */ lwc1 $f2, 0x00BC($a1) ## 000000BC -/* 0063C 809CD6AC 460C103C */ c.lt.s $f2, $f12 -/* 00640 809CD6B0 00000000 */ nop -/* 00644 809CD6B4 45020004 */ bc1fl .L809CD6C8 -/* 00648 809CD6B8 44816000 */ mtc1 $at, $f12 ## $f12 = 500.00 -/* 0064C 809CD6BC 1000000B */ beq $zero, $zero, .L809CD6EC -/* 00650 809CD6C0 E4AC00BC */ swc1 $f12, 0x00BC($a1) ## 000000BC -/* 00654 809CD6C4 44816000 */ mtc1 $at, $f12 ## $f12 = 500.00 -.L809CD6C8: -/* 00658 809CD6C8 00000000 */ nop -/* 0065C 809CD6CC 4602603C */ c.lt.s $f12, $f2 -/* 00660 809CD6D0 00000000 */ nop -/* 00664 809CD6D4 45020004 */ bc1fl .L809CD6E8 -/* 00668 809CD6D8 46001006 */ mov.s $f0, $f2 -/* 0066C 809CD6DC 10000002 */ beq $zero, $zero, .L809CD6E8 -/* 00670 809CD6E0 46006006 */ mov.s $f0, $f12 -/* 00674 809CD6E4 46001006 */ mov.s $f0, $f2 -.L809CD6E8: -/* 00678 809CD6E8 E4A000BC */ swc1 $f0, 0x00BC($a1) ## 000000BC -.L809CD6EC: -/* 0067C 809CD6EC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00680 809CD6F0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00684 809CD6F4 03E00008 */ jr $ra -/* 00688 809CD6F8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD6FC.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD6FC.s deleted file mode 100644 index 0e7cadba2b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD6FC.s +++ /dev/null @@ -1,45 +0,0 @@ -glabel func_809CD6FC -/* 0068C 809CD6FC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00690 809CD700 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00694 809CD704 84850032 */ lh $a1, 0x0032($a0) ## 00000032 -/* 00698 809CD708 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000 -/* 0069C 809CD70C 848E00B6 */ lh $t6, 0x00B6($a0) ## 000000B6 -/* 006A0 809CD710 00A12821 */ addu $a1, $a1, $at -/* 006A4 809CD714 00052C00 */ sll $a1, $a1, 16 -/* 006A8 809CD718 00052C03 */ sra $a1, $a1, 16 -/* 006AC 809CD71C 00AE1023 */ subu $v0, $a1, $t6 -/* 006B0 809CD720 00021400 */ sll $v0, $v0, 16 -/* 006B4 809CD724 00021403 */ sra $v0, $v0, 16 -/* 006B8 809CD728 04400003 */ bltz $v0, .L809CD738 -/* 006BC 809CD72C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 006C0 809CD730 10000002 */ beq $zero, $zero, .L809CD73C -/* 006C4 809CD734 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000 -.L809CD738: -/* 006C8 809CD738 00021823 */ subu $v1, $zero, $v0 -.L809CD73C: -/* 006CC 809CD73C 000330C3 */ sra $a2, $v1, 3 -/* 006D0 809CD740 00063400 */ sll $a2, $a2, 16 -/* 006D4 809CD744 00063403 */ sra $a2, $a2, 16 -/* 006D8 809CD748 24E400B6 */ addiu $a0, $a3, 0x00B6 ## $a0 = 000000B6 -/* 006DC 809CD74C 0C01DE2B */ jal Math_ApproxUpdateScaledS - -/* 006E0 809CD750 AFA70018 */ sw $a3, 0x0018($sp) -/* 006E4 809CD754 8FA70018 */ lw $a3, 0x0018($sp) -/* 006E8 809CD758 84EF0260 */ lh $t7, 0x0260($a3) ## 00000260 -/* 006EC 809CD75C 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00 -/* 006F0 809CD760 0C0400A4 */ jal sinf - -/* 006F4 809CD764 46802320 */ cvt.s.w $f12, $f4 -/* 006F8 809CD768 3C014416 */ lui $at, 0x4416 ## $at = 44160000 -/* 006FC 809CD76C 44813000 */ mtc1 $at, $f6 ## $f6 = 600.00 -/* 00700 809CD770 8FA70018 */ lw $a3, 0x0018($sp) -/* 00704 809CD774 46060202 */ mul.s $f8, $f0, $f6 -/* 00708 809CD778 4600428D */ trunc.w.s $f10, $f8 -/* 0070C 809CD77C 44095000 */ mfc1 $t1, $f10 -/* 00710 809CD780 00000000 */ nop -/* 00714 809CD784 252ADCE0 */ addiu $t2, $t1, 0xDCE0 ## $t2 = FFFFDCE0 -/* 00718 809CD788 A4EA00B4 */ sh $t2, 0x00B4($a3) ## 000000B4 -/* 0071C 809CD78C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00720 809CD790 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00724 809CD794 03E00008 */ jr $ra -/* 00728 809CD798 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD79C.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD79C.s deleted file mode 100644 index 8de57daf23..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD79C.s +++ /dev/null @@ -1,20 +0,0 @@ -glabel func_809CD79C -/* 0072C 809CD79C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00730 809CD7A0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00734 809CD7A4 908E0256 */ lbu $t6, 0x0256($a0) ## 00000256 -/* 00738 809CD7A8 3C18809D */ lui $t8, %hi(D_809CE344) ## $t8 = 809D0000 -/* 0073C 809CD7AC 2718E344 */ addiu $t8, $t8, %lo(D_809CE344) ## $t8 = 809CE344 -/* 00740 809CD7B0 000E7880 */ sll $t7, $t6, 2 -/* 00744 809CD7B4 01EE7821 */ addu $t7, $t7, $t6 -/* 00748 809CD7B8 000F7880 */ sll $t7, $t7, 2 -/* 0074C 809CD7BC 01F82821 */ addu $a1, $t7, $t8 -/* 00750 809CD7C0 0C27341C */ jal func_809CD070 -/* 00754 809CD7C4 AFA40018 */ sw $a0, 0x0018($sp) -/* 00758 809CD7C8 8FA40018 */ lw $a0, 0x0018($sp) -/* 0075C 809CD7CC 3C19809D */ lui $t9, %hi(func_809CD7E8) ## $t9 = 809D0000 -/* 00760 809CD7D0 2739D7E8 */ addiu $t9, $t9, %lo(func_809CD7E8) ## $t9 = 809CD7E8 -/* 00764 809CD7D4 AC990250 */ sw $t9, 0x0250($a0) ## 00000250 -/* 00768 809CD7D8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0076C 809CD7DC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00770 809CD7E0 03E00008 */ jr $ra -/* 00774 809CD7E4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD7E8.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD7E8.s deleted file mode 100644 index 2295fbf83a..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD7E8.s +++ /dev/null @@ -1,299 +0,0 @@ -.late_rodata -glabel D_809CE498 - .float 10000.0 - -glabel D_809CE49C - .word 0x44992000 -glabel D_809CE4A0 - .float 0.3 - -glabel D_809CE4A4 - .float 0.4 - -glabel D_809CE4A8 - .float 0.2 - -glabel D_809CE4AC - .float 0.15 - -glabel D_809CE4B0 - .float 0.3 - -.text -glabel func_809CD7E8 -/* 00778 809CD7E8 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0 -/* 0077C 809CD7EC AFBF0024 */ sw $ra, 0x0024($sp) -/* 00780 809CD7F0 AFB00020 */ sw $s0, 0x0020($sp) -/* 00784 809CD7F4 908E0256 */ lbu $t6, 0x0256($a0) ## 00000256 -/* 00788 809CD7F8 3C18809D */ lui $t8, %hi(D_809CE344) ## $t8 = 809D0000 -/* 0078C 809CD7FC 2718E344 */ addiu $t8, $t8, %lo(D_809CE344) ## $t8 = 809CE344 -/* 00790 809CD800 000E7880 */ sll $t7, $t6, 2 -/* 00794 809CD804 01EE7821 */ addu $t7, $t7, $t6 -/* 00798 809CD808 000F7880 */ sll $t7, $t7, 2 -/* 0079C 809CD80C 01F8C821 */ addu $t9, $t7, $t8 -/* 007A0 809CD810 AFB9004C */ sw $t9, 0x004C($sp) -/* 007A4 809CD814 8CA81C44 */ lw $t0, 0x1C44($a1) ## 00001C44 -/* 007A8 809CD818 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 007AC 809CD81C AFA80044 */ sw $t0, 0x0044($sp) -/* 007B0 809CD820 8C870010 */ lw $a3, 0x0010($a0) ## 00000010 -/* 007B4 809CD824 8C860008 */ lw $a2, 0x0008($a0) ## 00000008 -/* 007B8 809CD828 C48E002C */ lwc1 $f14, 0x002C($a0) ## 0000002C -/* 007BC 809CD82C 0C032D65 */ jal Math3D_Dist2DSq -/* 007C0 809CD830 C48C0024 */ lwc1 $f12, 0x0024($a0) ## 00000024 -/* 007C4 809CD834 E7A00040 */ swc1 $f0, 0x0040($sp) -/* 007C8 809CD838 0C27355B */ jal func_809CD56C -/* 007CC 809CD83C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 007D0 809CD840 8FA2004C */ lw $v0, 0x004C($sp) -/* 007D4 809CD844 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 007D8 809CD848 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068 -/* 007DC 809CD84C 8C450004 */ lw $a1, 0x0004($v0) ## 00000004 -/* 007E0 809CD850 8C460008 */ lw $a2, 0x0008($v0) ## 00000008 -/* 007E4 809CD854 8C47000C */ lw $a3, 0x000C($v0) ## 0000000C -/* 007E8 809CD858 0C01E0C4 */ jal Math_SmoothScaleMaxMinF - -/* 007EC 809CD85C E7A40010 */ swc1 $f4, 0x0010($sp) -/* 007F0 809CD860 92090257 */ lbu $t1, 0x0257($s0) ## 00000257 -/* 007F4 809CD864 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 007F8 809CD868 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 007FC 809CD86C 14E90005 */ bne $a3, $t1, .L809CD884 -/* 00800 809CD870 3C01809D */ lui $at, %hi(D_809CE49C) ## $at = 809D0000 -/* 00804 809CD874 3C01809D */ lui $at, %hi(D_809CE498) ## $at = 809D0000 -/* 00808 809CD878 C420E498 */ lwc1 $f0, %lo(D_809CE498)($at) -/* 0080C 809CD87C 10000003 */ beq $zero, $zero, .L809CD88C -/* 00810 809CD880 240603E8 */ addiu $a2, $zero, 0x03E8 ## $a2 = 000003E8 -.L809CD884: -/* 00814 809CD884 C420E49C */ lwc1 $f0, %lo(D_809CE49C)($at) -/* 00818 809CD888 24060258 */ addiu $a2, $zero, 0x0258 ## $a2 = 00000258 -.L809CD88C: -/* 0081C 809CD88C E7A60038 */ swc1 $f6, 0x0038($sp) -/* 00820 809CD890 920A0256 */ lbu $t2, 0x0256($s0) ## 00000256 -/* 00824 809CD894 C608000C */ lwc1 $f8, 0x000C($s0) ## 0000000C -/* 00828 809CD898 11400018 */ beq $t2, $zero, .L809CD8FC -/* 0082C 809CD89C E6080264 */ swc1 $f8, 0x0264($s0) ## 00000264 -/* 00830 809CD8A0 C7AA0040 */ lwc1 $f10, 0x0040($sp) -/* 00834 809CD8A4 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024 -/* 00838 809CD8A8 460A003C */ c.lt.s $f0, $f10 -/* 0083C 809CD8AC 00000000 */ nop -/* 00840 809CD8B0 45010005 */ bc1t .L809CD8C8 -/* 00844 809CD8B4 00000000 */ nop -/* 00848 809CD8B8 860B0254 */ lh $t3, 0x0254($s0) ## 00000254 -/* 0084C 809CD8BC 29610004 */ slti $at, $t3, 0x0004 -/* 00850 809CD8C0 5020000F */ beql $at, $zero, .L809CD900 -/* 00854 809CD8C4 92030257 */ lbu $v1, 0x0257($s0) ## 00000257 -.L809CD8C8: -/* 00858 809CD8C8 0C01E01A */ jal Math_Vec3f_Yaw - -/* 0085C 809CD8CC 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008 -/* 00860 809CD8D0 8FAC004C */ lw $t4, 0x004C($sp) -/* 00864 809CD8D4 00022C00 */ sll $a1, $v0, 16 -/* 00868 809CD8D8 00052C03 */ sra $a1, $a1, 16 -/* 0086C 809CD8DC 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032 -/* 00870 809CD8E0 0C01DE2B */ jal Math_ApproxUpdateScaledS - -/* 00874 809CD8E4 85860010 */ lh $a2, 0x0010($t4) ## 00000010 -/* 00878 809CD8E8 14400041 */ bne $v0, $zero, .L809CD9F0 -/* 0087C 809CD8EC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00880 809CD8F0 44819000 */ mtc1 $at, $f18 ## $f18 = 0.50 -/* 00884 809CD8F4 1000003E */ beq $zero, $zero, .L809CD9F0 -/* 00888 809CD8F8 E7B20038 */ swc1 $f18, 0x0038($sp) -.L809CD8FC: -/* 0088C 809CD8FC 92030257 */ lbu $v1, 0x0257($s0) ## 00000257 -.L809CD900: -/* 00890 809CD900 14600013 */ bne $v1, $zero, .L809CD950 -/* 00894 809CD904 00000000 */ nop -/* 00898 809CD908 8E02011C */ lw $v0, 0x011C($s0) ## 0000011C -/* 0089C 809CD90C 10400010 */ beq $v0, $zero, .L809CD950 -/* 008A0 809CD910 00000000 */ nop -/* 008A4 809CD914 1202000E */ beq $s0, $v0, .L809CD950 -/* 008A8 809CD918 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024 -/* 008AC 809CD91C 24450024 */ addiu $a1, $v0, 0x0024 ## $a1 = 00000024 -/* 008B0 809CD920 0C01E01A */ jal Math_Vec3f_Yaw - -/* 008B4 809CD924 A7A60032 */ sh $a2, 0x0032($sp) -/* 008B8 809CD928 00022C00 */ sll $a1, $v0, 16 -/* 008BC 809CD92C 87A60032 */ lh $a2, 0x0032($sp) -/* 008C0 809CD930 00052C03 */ sra $a1, $a1, 16 -/* 008C4 809CD934 0C01DE2B */ jal Math_ApproxUpdateScaledS - -/* 008C8 809CD938 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032 -/* 008CC 809CD93C 1440002C */ bne $v0, $zero, .L809CD9F0 -/* 008D0 809CD940 3C01809D */ lui $at, %hi(D_809CE4A0) ## $at = 809D0000 -/* 008D4 809CD944 C424E4A0 */ lwc1 $f4, %lo(D_809CE4A0)($at) -/* 008D8 809CD948 10000029 */ beq $zero, $zero, .L809CD9F0 -/* 008DC 809CD94C E7A40038 */ swc1 $f4, 0x0038($sp) -.L809CD950: -/* 008E0 809CD950 54E3001B */ bnel $a3, $v1, .L809CD9C0 -/* 008E4 809CD954 8608025C */ lh $t0, 0x025C($s0) ## 0000025C -/* 008E8 809CD958 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 008EC 809CD95C A7A60032 */ sh $a2, 0x0032($sp) -/* 008F0 809CD960 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 008F4 809CD964 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50 -/* 008F8 809CD968 3C0146C0 */ lui $at, 0x46C0 ## $at = 46C00000 -/* 008FC 809CD96C 44815000 */ mtc1 $at, $f10 ## $f10 = 24576.00 -/* 00900 809CD970 46060201 */ sub.s $f8, $f0, $f6 -/* 00904 809CD974 8619008A */ lh $t9, 0x008A($s0) ## 0000008A -/* 00908 809CD978 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000 -/* 0090C 809CD97C 87A60032 */ lh $a2, 0x0032($sp) -/* 00910 809CD980 460A4482 */ mul.s $f18, $f8, $f10 -/* 00914 809CD984 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032 -/* 00918 809CD988 4600910D */ trunc.w.s $f4, $f18 -/* 0091C 809CD98C 44182000 */ mfc1 $t8, $f4 -/* 00920 809CD990 00000000 */ nop -/* 00924 809CD994 03192821 */ addu $a1, $t8, $t9 -/* 00928 809CD998 00A12821 */ addu $a1, $a1, $at -/* 0092C 809CD99C 00052C00 */ sll $a1, $a1, 16 -/* 00930 809CD9A0 0C01DE2B */ jal Math_ApproxUpdateScaledS - -/* 00934 809CD9A4 00052C03 */ sra $a1, $a1, 16 -/* 00938 809CD9A8 14400011 */ bne $v0, $zero, .L809CD9F0 -/* 0093C 809CD9AC 3C01809D */ lui $at, %hi(D_809CE4A4) ## $at = 809D0000 -/* 00940 809CD9B0 C426E4A4 */ lwc1 $f6, %lo(D_809CE4A4)($at) -/* 00944 809CD9B4 1000000E */ beq $zero, $zero, .L809CD9F0 -/* 00948 809CD9B8 E7A60038 */ swc1 $f6, 0x0038($sp) -/* 0094C 809CD9BC 8608025C */ lh $t0, 0x025C($s0) ## 0000025C -.L809CD9C0: -/* 00950 809CD9C0 44884000 */ mtc1 $t0, $f8 ## $f8 = 0.00 -/* 00954 809CD9C4 0C0400A4 */ jal sinf - -/* 00958 809CD9C8 46804320 */ cvt.s.w $f12, $f8 -/* 0095C 809CD9CC 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00960 809CD9D0 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00 -/* 00964 809CD9D4 86090032 */ lh $t1, 0x0032($s0) ## 00000032 -/* 00968 809CD9D8 460A0482 */ mul.s $f18, $f0, $f10 -/* 0096C 809CD9DC 4600910D */ trunc.w.s $f4, $f18 -/* 00970 809CD9E0 440D2000 */ mfc1 $t5, $f4 -/* 00974 809CD9E4 00000000 */ nop -/* 00978 809CD9E8 012D7021 */ addu $t6, $t1, $t5 -/* 0097C 809CD9EC A60E0032 */ sh $t6, 0x0032($s0) ## 00000032 -.L809CD9F0: -/* 00980 809CD9F0 0C2735BF */ jal func_809CD6FC -/* 00984 809CD9F4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00988 809CD9F8 0C01DE1C */ jal Math_Sins - ## sins? -/* 0098C 809CD9FC 86040260 */ lh $a0, 0x0260($s0) ## 00000260 -/* 00990 809CDA00 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00994 809CDA04 E7A00028 */ swc1 $f0, 0x0028($sp) -/* 00998 809CDA08 8604025E */ lh $a0, 0x025E($s0) ## 0000025E -/* 0099C 809CDA0C 0C01DE1C */ jal Math_Sins - ## sins? -/* 009A0 809CDA10 E7A0002C */ swc1 $f0, 0x002C($sp) -/* 009A4 809CDA14 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 009A8 809CDA18 44817000 */ mtc1 $at, $f14 ## $f14 = 1.00 -/* 009AC 809CDA1C 3C01809D */ lui $at, %hi(D_809CE4A8) ## $at = 809D0000 -/* 009B0 809CDA20 C430E4A8 */ lwc1 $f16, %lo(D_809CE4A8)($at) -/* 009B4 809CDA24 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 009B8 809CDA28 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50 -/* 009BC 809CDA2C C6060068 */ lwc1 $f6, 0x0068($s0) ## 00000068 -/* 009C0 809CDA30 C7A2002C */ lwc1 $f2, 0x002C($sp) -/* 009C4 809CDA34 3C01809D */ lui $at, %hi(D_809CE4AC) ## $at = 809D0000 -/* 009C8 809CDA38 46083282 */ mul.s $f10, $f6, $f8 -/* 009CC 809CDA3C C7A60028 */ lwc1 $f6, 0x0028($sp) -/* 009D0 809CDA40 46101482 */ mul.s $f18, $f2, $f16 -/* 009D4 809CDA44 46067201 */ sub.s $f8, $f14, $f6 -/* 009D8 809CDA48 46125100 */ add.s $f4, $f10, $f18 -/* 009DC 809CDA4C C42AE4AC */ lwc1 $f10, %lo(D_809CE4AC)($at) -/* 009E0 809CDA50 3C01809D */ lui $at, %hi(D_809CE4B0) ## $at = 809D0000 -/* 009E4 809CDA54 460A4482 */ mul.s $f18, $f8, $f10 -/* 009E8 809CDA58 46007201 */ sub.s $f8, $f14, $f0 -/* 009EC 809CDA5C C42AE4B0 */ lwc1 $f10, %lo(D_809CE4B0)($at) -/* 009F0 809CDA60 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000 -/* 009F4 809CDA64 46122180 */ add.s $f6, $f4, $f18 -/* 009F8 809CDA68 460A4102 */ mul.s $f4, $f8, $f10 -/* 009FC 809CDA6C C7A80038 */ lwc1 $f8, 0x0038($sp) -/* 00A00 809CDA70 46062480 */ add.s $f18, $f4, $f6 -/* 00A04 809CDA74 46089300 */ add.s $f12, $f18, $f8 -/* 00A08 809CDA78 4610603C */ c.lt.s $f12, $f16 -/* 00A0C 809CDA7C 00000000 */ nop -/* 00A10 809CDA80 45020004 */ bc1fl .L809CDA94 -/* 00A14 809CDA84 44810000 */ mtc1 $at, $f0 ## $f0 = 1.50 -/* 00A18 809CDA88 1000000B */ beq $zero, $zero, .L809CDAB8 -/* 00A1C 809CDA8C E61001C8 */ swc1 $f16, 0x01C8($s0) ## 000001C8 -/* 00A20 809CDA90 44810000 */ mtc1 $at, $f0 ## $f0 = 1.50 -.L809CDA94: -/* 00A24 809CDA94 00000000 */ nop -/* 00A28 809CDA98 460C003C */ c.lt.s $f0, $f12 -/* 00A2C 809CDA9C 00000000 */ nop -/* 00A30 809CDAA0 45020004 */ bc1fl .L809CDAB4 -/* 00A34 809CDAA4 46006086 */ mov.s $f2, $f12 -/* 00A38 809CDAA8 10000002 */ beq $zero, $zero, .L809CDAB4 -/* 00A3C 809CDAAC 46000086 */ mov.s $f2, $f0 -/* 00A40 809CDAB0 46006086 */ mov.s $f2, $f12 -.L809CDAB4: -/* 00A44 809CDAB4 E60201C8 */ swc1 $f2, 0x01C8($s0) ## 000001C8 -.L809CDAB8: -/* 00A48 809CDAB8 0C02927F */ jal SkelAnime_FrameUpdateMatrix - -/* 00A4C 809CDABC 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC -/* 00A50 809CDAC0 860F0254 */ lh $t7, 0x0254($s0) ## 00000254 -/* 00A54 809CDAC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00A58 809CDAC8 5DE0000A */ bgtzl $t7, .L809CDAF4 -/* 00A5C 809CDACC 860A001C */ lh $t2, 0x001C($s0) ## 0000001C -/* 00A60 809CDAD0 92180256 */ lbu $t8, 0x0256($s0) ## 00000256 -/* 00A64 809CDAD4 3C08809D */ lui $t0, %hi(D_809CE344) ## $t0 = 809D0000 -/* 00A68 809CDAD8 2508E344 */ addiu $t0, $t0, %lo(D_809CE344) ## $t0 = 809CE344 -/* 00A6C 809CDADC 0018C880 */ sll $t9, $t8, 2 -/* 00A70 809CDAE0 0338C821 */ addu $t9, $t9, $t8 -/* 00A74 809CDAE4 0019C880 */ sll $t9, $t9, 2 -/* 00A78 809CDAE8 0C27341C */ jal func_809CD070 -/* 00A7C 809CDAEC 03282821 */ addu $a1, $t9, $t0 -/* 00A80 809CDAF0 860A001C */ lh $t2, 0x001C($s0) ## 0000001C -.L809CDAF4: -/* 00A84 809CDAF4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00A88 809CDAF8 8FA20044 */ lw $v0, 0x0044($sp) -/* 00A8C 809CDAFC 314B0001 */ andi $t3, $t2, 0x0001 ## $t3 = 00000000 -/* 00A90 809CDB00 55610021 */ bnel $t3, $at, .L809CDB88 -/* 00A94 809CDB04 C6120090 */ lwc1 $f18, 0x0090($s0) ## 00000090 -/* 00A98 809CDB08 804C0151 */ lb $t4, 0x0151($v0) ## 00000151 -/* 00A9C 809CDB0C 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 00AA0 809CDB10 5581001D */ bnel $t4, $at, .L809CDB88 -/* 00AA4 809CDB14 C6120090 */ lwc1 $f18, 0x0090($s0) ## 00000090 -/* 00AA8 809CDB18 8609025A */ lh $t1, 0x025A($s0) ## 0000025A -/* 00AAC 809CDB1C 5D20001A */ bgtzl $t1, .L809CDB88 -/* 00AB0 809CDB20 C6120090 */ lwc1 $f18, 0x0090($s0) ## 00000090 -/* 00AB4 809CDB24 C44C0024 */ lwc1 $f12, 0x0024($v0) ## 00000024 -/* 00AB8 809CDB28 C44E002C */ lwc1 $f14, 0x002C($v0) ## 0000002C -/* 00ABC 809CDB2C 8E060008 */ lw $a2, 0x0008($s0) ## 00000008 -/* 00AC0 809CDB30 0C032D65 */ jal Math3D_Dist2DSq -/* 00AC4 809CDB34 8E070010 */ lw $a3, 0x0010($s0) ## 00000010 -/* 00AC8 809CDB38 3C014661 */ lui $at, 0x4661 ## $at = 46610000 -/* 00ACC 809CDB3C 44815000 */ mtc1 $at, $f10 ## $f10 = 14400.00 -/* 00AD0 809CDB40 3C014270 */ lui $at, 0x4270 ## $at = 42700000 -/* 00AD4 809CDB44 460A003C */ c.lt.s $f0, $f10 -/* 00AD8 809CDB48 00000000 */ nop -/* 00ADC 809CDB4C 45010008 */ bc1t .L809CDB70 -/* 00AE0 809CDB50 00000000 */ nop -/* 00AE4 809CDB54 C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090 -/* 00AE8 809CDB58 44813000 */ mtc1 $at, $f6 ## $f6 = 60.00 -/* 00AEC 809CDB5C 00000000 */ nop -/* 00AF0 809CDB60 4606203C */ c.lt.s $f4, $f6 -/* 00AF4 809CDB64 00000000 */ nop -/* 00AF8 809CDB68 45020007 */ bc1fl .L809CDB88 -/* 00AFC 809CDB6C C6120090 */ lwc1 $f18, 0x0090($s0) ## 00000090 -.L809CDB70: -/* 00B00 809CDB70 0C2736F3 */ jal func_809CDBCC -/* 00B04 809CDB74 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00B08 809CDB78 240D0002 */ addiu $t5, $zero, 0x0002 ## $t5 = 00000002 -/* 00B0C 809CDB7C 1000000E */ beq $zero, $zero, .L809CDBB8 -/* 00B10 809CDB80 A20D0257 */ sb $t5, 0x0257($s0) ## 00000257 -/* 00B14 809CDB84 C6120090 */ lwc1 $f18, 0x0090($s0) ## 00000090 -.L809CDB88: -/* 00B18 809CDB88 3C01405E */ lui $at, 0x405E ## $at = 405E0000 -/* 00B1C 809CDB8C 44815800 */ mtc1 $at, $f11 ## $f11 = 3.47 -/* 00B20 809CDB90 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00 -/* 00B24 809CDB94 46009221 */ cvt.d.s $f8, $f18 -/* 00B28 809CDB98 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 00B2C 809CDB9C 462A403C */ c.lt.d $f8, $f10 -/* 00B30 809CDBA0 00000000 */ nop -/* 00B34 809CDBA4 45020004 */ bc1fl .L809CDBB8 -/* 00B38 809CDBA8 A2000257 */ sb $zero, 0x0257($s0) ## 00000257 -/* 00B3C 809CDBAC 10000002 */ beq $zero, $zero, .L809CDBB8 -/* 00B40 809CDBB0 A20E0257 */ sb $t6, 0x0257($s0) ## 00000257 -/* 00B44 809CDBB4 A2000257 */ sb $zero, 0x0257($s0) ## 00000257 -.L809CDBB8: -/* 00B48 809CDBB8 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00B4C 809CDBBC 8FB00020 */ lw $s0, 0x0020($sp) -/* 00B50 809CDBC0 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000 -/* 00B54 809CDBC4 03E00008 */ jr $ra -/* 00B58 809CDBC8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDBCC.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDBCC.s deleted file mode 100644 index 66c3f5df63..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDBCC.s +++ /dev/null @@ -1,20 +0,0 @@ -glabel func_809CDBCC -/* 00B5C 809CDBCC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00B60 809CDBD0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00B64 809CDBD4 908E0256 */ lbu $t6, 0x0256($a0) ## 00000256 -/* 00B68 809CDBD8 3C18809D */ lui $t8, %hi(D_809CE380) ## $t8 = 809D0000 -/* 00B6C 809CDBDC 2718E380 */ addiu $t8, $t8, %lo(D_809CE380) ## $t8 = 809CE380 -/* 00B70 809CDBE0 000E7880 */ sll $t7, $t6, 2 -/* 00B74 809CDBE4 01EE7821 */ addu $t7, $t7, $t6 -/* 00B78 809CDBE8 000F7880 */ sll $t7, $t7, 2 -/* 00B7C 809CDBEC 01F82821 */ addu $a1, $t7, $t8 -/* 00B80 809CDBF0 0C27341C */ jal func_809CD070 -/* 00B84 809CDBF4 AFA40018 */ sw $a0, 0x0018($sp) -/* 00B88 809CDBF8 8FA40018 */ lw $a0, 0x0018($sp) -/* 00B8C 809CDBFC 3C19809D */ lui $t9, %hi(func_809CDC18) ## $t9 = 809D0000 -/* 00B90 809CDC00 2739DC18 */ addiu $t9, $t9, %lo(func_809CDC18) ## $t9 = 809CDC18 -/* 00B94 809CDC04 AC990250 */ sw $t9, 0x0250($a0) ## 00000250 -/* 00B98 809CDC08 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00B9C 809CDC0C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00BA0 809CDC10 03E00008 */ jr $ra -/* 00BA4 809CDC14 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDC18.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDC18.s deleted file mode 100644 index 287085f947..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDC18.s +++ /dev/null @@ -1,275 +0,0 @@ -.late_rodata -glabel D_809CE4B4 - .float 0.3 - -glabel D_809CE4B8 - .float 0.2 - -glabel D_809CE4BC - .float 0.15 - -glabel D_809CE4C0 - .float 0.3 - -glabel D_809CE4C4 - .word 0x3FE66666 - -.text -glabel func_809CDC18 -/* 00BA8 809CDC18 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0 -/* 00BAC 809CDC1C AFBF0024 */ sw $ra, 0x0024($sp) -/* 00BB0 809CDC20 AFB10020 */ sw $s1, 0x0020($sp) -/* 00BB4 809CDC24 AFB0001C */ sw $s0, 0x001C($sp) -/* 00BB8 809CDC28 AFA50064 */ sw $a1, 0x0064($sp) -/* 00BBC 809CDC2C 908E0256 */ lbu $t6, 0x0256($a0) ## 00000256 -/* 00BC0 809CDC30 3C18809D */ lui $t8, %hi(D_809CE380) ## $t8 = 809D0000 -/* 00BC4 809CDC34 2718E380 */ addiu $t8, $t8, %lo(D_809CE380) ## $t8 = 809CE380 -/* 00BC8 809CDC38 000E7880 */ sll $t7, $t6, 2 -/* 00BCC 809CDC3C 01EE7821 */ addu $t7, $t7, $t6 -/* 00BD0 809CDC40 000F7880 */ sll $t7, $t7, 2 -/* 00BD4 809CDC44 01F81021 */ addu $v0, $t7, $t8 -/* 00BD8 809CDC48 8CB11C44 */ lw $s1, 0x1C44($a1) ## 00001C44 -/* 00BDC 809CDC4C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00BE0 809CDC50 0C27358D */ jal func_809CD634 -/* 00BE4 809CDC54 AFA2005C */ sw $v0, 0x005C($sp) -/* 00BE8 809CDC58 8FA2005C */ lw $v0, 0x005C($sp) -/* 00BEC 809CDC5C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00BF0 809CDC60 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068 -/* 00BF4 809CDC64 8C450004 */ lw $a1, 0x0004($v0) ## 00000004 -/* 00BF8 809CDC68 8C460008 */ lw $a2, 0x0008($v0) ## 00000008 -/* 00BFC 809CDC6C 8C47000C */ lw $a3, 0x000C($v0) ## 0000000C -/* 00C00 809CDC70 0C01E0C4 */ jal Math_SmoothScaleMaxMinF - -/* 00C04 809CDC74 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 00C08 809CDC78 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 00C0C 809CDC7C 00000000 */ nop -/* 00C10 809CDC80 E7A60040 */ swc1 $f6, 0x0040($sp) -/* 00C14 809CDC84 92080256 */ lbu $t0, 0x0256($s0) ## 00000256 -/* 00C18 809CDC88 51000045 */ beql $t0, $zero, .L809CDDA0 -/* 00C1C 809CDC8C 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00C20 809CDC90 86090254 */ lh $t1, 0x0254($s0) ## 00000254 -/* 00C24 809CDC94 2921000C */ slti $at, $t1, 0x000C -/* 00C28 809CDC98 50200041 */ beql $at, $zero, .L809CDDA0 -/* 00C2C 809CDC9C 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00C30 809CDCA0 0C01DE1C */ jal Math_Sins - ## sins? -/* 00C34 809CDCA4 862400B6 */ lh $a0, 0x00B6($s1) ## 000000B6 -/* 00C38 809CDCA8 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00C3C 809CDCAC 44814000 */ mtc1 $at, $f8 ## $f8 = 10.00 -/* 00C40 809CDCB0 C63208B8 */ lwc1 $f18, 0x08B8($s1) ## 000008B8 -/* 00C44 809CDCB4 46080282 */ mul.s $f10, $f0, $f8 -/* 00C48 809CDCB8 46125100 */ add.s $f4, $f10, $f18 -/* 00C4C 809CDCBC E7A40048 */ swc1 $f4, 0x0048($sp) -/* 00C50 809CDCC0 C62608BC */ lwc1 $f6, 0x08BC($s1) ## 000008BC -/* 00C54 809CDCC4 E7A6004C */ swc1 $f6, 0x004C($sp) -/* 00C58 809CDCC8 0C01DE0D */ jal Math_Coss - ## coss? -/* 00C5C 809CDCCC 862400B6 */ lh $a0, 0x00B6($s1) ## 000000B6 -/* 00C60 809CDCD0 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00C64 809CDCD4 44814000 */ mtc1 $at, $f8 ## $f8 = 10.00 -/* 00C68 809CDCD8 C63208C0 */ lwc1 $f18, 0x08C0($s1) ## 000008C0 -/* 00C6C 809CDCDC 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024 -/* 00C70 809CDCE0 46080282 */ mul.s $f10, $f0, $f8 -/* 00C74 809CDCE4 27A50048 */ addiu $a1, $sp, 0x0048 ## $a1 = FFFFFFE8 -/* 00C78 809CDCE8 46125100 */ add.s $f4, $f10, $f18 -/* 00C7C 809CDCEC 0C01E01A */ jal Math_Vec3f_Yaw - -/* 00C80 809CDCF0 E7A40050 */ swc1 $f4, 0x0050($sp) -/* 00C84 809CDCF4 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00C88 809CDCF8 A7A20038 */ sh $v0, 0x0038($sp) -/* 00C8C 809CDCFC 3C0A809D */ lui $t2, %hi(D_809CE410) ## $t2 = 809D0000 -/* 00C90 809CDD00 8D4AE410 */ lw $t2, %lo(D_809CE410)($t2) -/* 00C94 809CDD04 87AF0038 */ lh $t7, 0x0038($sp) -/* 00C98 809CDD08 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032 -/* 00C9C 809CDD0C 448A3000 */ mtc1 $t2, $f6 ## $f6 = -0.00 -/* 00CA0 809CDD10 240607D0 */ addiu $a2, $zero, 0x07D0 ## $a2 = 000007D0 -/* 00CA4 809CDD14 46803220 */ cvt.s.w $f8, $f6 -/* 00CA8 809CDD18 46080282 */ mul.s $f10, $f0, $f8 -/* 00CAC 809CDD1C 4600548D */ trunc.w.s $f18, $f10 -/* 00CB0 809CDD20 440E9000 */ mfc1 $t6, $f18 -/* 00CB4 809CDD24 00000000 */ nop -/* 00CB8 809CDD28 01CF2821 */ addu $a1, $t6, $t7 -/* 00CBC 809CDD2C 00052C00 */ sll $a1, $a1, 16 -/* 00CC0 809CDD30 0C01DE2B */ jal Math_ApproxUpdateScaledS - -/* 00CC4 809CDD34 00052C03 */ sra $a1, $a1, 16 -/* 00CC8 809CDD38 10400016 */ beq $v0, $zero, .L809CDD94 -/* 00CCC 809CDD3C 3C01809D */ lui $at, %hi(D_809CE4B4) ## $at = 809D0000 -/* 00CD0 809CDD40 8FB80064 */ lw $t8, 0x0064($sp) -/* 00CD4 809CDD44 3C190001 */ lui $t9, 0x0001 ## $t9 = 00010000 -/* 00CD8 809CDD48 0338C821 */ addu $t9, $t9, $t8 -/* 00CDC 809CDD4C 8F391DE4 */ lw $t9, 0x1DE4($t9) ## 00011DE4 -/* 00CE0 809CDD50 33280001 */ andi $t0, $t9, 0x0001 ## $t0 = 00000000 -/* 00CE4 809CDD54 51000012 */ beql $t0, $zero, .L809CDDA0 -/* 00CE8 809CDD58 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00CEC 809CDD5C 8609025C */ lh $t1, 0x025C($s0) ## 0000025C -/* 00CF0 809CDD60 44892000 */ mtc1 $t1, $f4 ## $f4 = 0.00 -/* 00CF4 809CDD64 0C0400A4 */ jal sinf - -/* 00CF8 809CDD68 46802320 */ cvt.s.w $f12, $f4 -/* 00CFC 809CDD6C 3C014270 */ lui $at, 0x4270 ## $at = 42700000 -/* 00D00 809CDD70 44813000 */ mtc1 $at, $f6 ## $f6 = 60.00 -/* 00D04 809CDD74 860A0032 */ lh $t2, 0x0032($s0) ## 00000032 -/* 00D08 809CDD78 46060202 */ mul.s $f8, $f0, $f6 -/* 00D0C 809CDD7C 4600428D */ trunc.w.s $f10, $f8 -/* 00D10 809CDD80 440E5000 */ mfc1 $t6, $f10 -/* 00D14 809CDD84 00000000 */ nop -/* 00D18 809CDD88 014E7821 */ addu $t7, $t2, $t6 -/* 00D1C 809CDD8C 10000003 */ beq $zero, $zero, .L809CDD9C -/* 00D20 809CDD90 A60F0032 */ sh $t7, 0x0032($s0) ## 00000032 -.L809CDD94: -/* 00D24 809CDD94 C432E4B4 */ lwc1 $f18, %lo(D_809CE4B4)($at) -/* 00D28 809CDD98 E7B20040 */ swc1 $f18, 0x0040($sp) -.L809CDD9C: -/* 00D2C 809CDD9C 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -.L809CDDA0: -/* 00D30 809CDDA0 44813000 */ mtc1 $at, $f6 ## $f6 = 30.00 -/* 00D34 809CDDA4 C6240028 */ lwc1 $f4, 0x0028($s1) ## 00000028 -/* 00D38 809CDDA8 C62008BC */ lwc1 $f0, 0x08BC($s1) ## 000008BC -/* 00D3C 809CDDAC 46062080 */ add.s $f2, $f4, $f6 -/* 00D40 809CDDB0 4602003C */ c.lt.s $f0, $f2 -/* 00D44 809CDDB4 00000000 */ nop -/* 00D48 809CDDB8 45020004 */ bc1fl .L809CDDCC -/* 00D4C 809CDDBC E6000264 */ swc1 $f0, 0x0264($s0) ## 00000264 -/* 00D50 809CDDC0 10000002 */ beq $zero, $zero, .L809CDDCC -/* 00D54 809CDDC4 E6020264 */ swc1 $f2, 0x0264($s0) ## 00000264 -/* 00D58 809CDDC8 E6000264 */ swc1 $f0, 0x0264($s0) ## 00000264 -.L809CDDCC: -/* 00D5C 809CDDCC 0C2735BF */ jal func_809CD6FC -/* 00D60 809CDDD0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00D64 809CDDD4 0C01DE1C */ jal Math_Sins - ## sins? -/* 00D68 809CDDD8 86040260 */ lh $a0, 0x0260($s0) ## 00000260 -/* 00D6C 809CDDDC 0C03F66B */ jal Math_Rand_ZeroOne - ## Rand.Next() float -/* 00D70 809CDDE0 E7A00030 */ swc1 $f0, 0x0030($sp) -/* 00D74 809CDDE4 8604025E */ lh $a0, 0x025E($s0) ## 0000025E -/* 00D78 809CDDE8 0C01DE1C */ jal Math_Sins - ## sins? -/* 00D7C 809CDDEC E7A00034 */ swc1 $f0, 0x0034($sp) -/* 00D80 809CDDF0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00D84 809CDDF4 44817000 */ mtc1 $at, $f14 ## $f14 = 1.00 -/* 00D88 809CDDF8 3C01809D */ lui $at, %hi(D_809CE4B8) ## $at = 809D0000 -/* 00D8C 809CDDFC C430E4B8 */ lwc1 $f16, %lo(D_809CE4B8)($at) -/* 00D90 809CDE00 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00D94 809CDE04 44815000 */ mtc1 $at, $f10 ## $f10 = 0.50 -/* 00D98 809CDE08 C6080068 */ lwc1 $f8, 0x0068($s0) ## 00000068 -/* 00D9C 809CDE0C C7A20034 */ lwc1 $f2, 0x0034($sp) -/* 00DA0 809CDE10 3C01809D */ lui $at, %hi(D_809CE4BC) ## $at = 809D0000 -/* 00DA4 809CDE14 460A4482 */ mul.s $f18, $f8, $f10 -/* 00DA8 809CDE18 C7A80030 */ lwc1 $f8, 0x0030($sp) -/* 00DAC 809CDE1C 46101102 */ mul.s $f4, $f2, $f16 -/* 00DB0 809CDE20 46087281 */ sub.s $f10, $f14, $f8 -/* 00DB4 809CDE24 46049180 */ add.s $f6, $f18, $f4 -/* 00DB8 809CDE28 C432E4BC */ lwc1 $f18, %lo(D_809CE4BC)($at) -/* 00DBC 809CDE2C 3C01809D */ lui $at, %hi(D_809CE4C0) ## $at = 809D0000 -/* 00DC0 809CDE30 46125102 */ mul.s $f4, $f10, $f18 -/* 00DC4 809CDE34 46007281 */ sub.s $f10, $f14, $f0 -/* 00DC8 809CDE38 C432E4C0 */ lwc1 $f18, %lo(D_809CE4C0)($at) -/* 00DCC 809CDE3C 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000 -/* 00DD0 809CDE40 46043200 */ add.s $f8, $f6, $f4 -/* 00DD4 809CDE44 46125182 */ mul.s $f6, $f10, $f18 -/* 00DD8 809CDE48 C7AA0040 */ lwc1 $f10, 0x0040($sp) -/* 00DDC 809CDE4C 46083100 */ add.s $f4, $f6, $f8 -/* 00DE0 809CDE50 460A2300 */ add.s $f12, $f4, $f10 -/* 00DE4 809CDE54 4610603C */ c.lt.s $f12, $f16 -/* 00DE8 809CDE58 00000000 */ nop -/* 00DEC 809CDE5C 45020004 */ bc1fl .L809CDE70 -/* 00DF0 809CDE60 44810000 */ mtc1 $at, $f0 ## $f0 = 1.50 -/* 00DF4 809CDE64 1000000B */ beq $zero, $zero, .L809CDE94 -/* 00DF8 809CDE68 E61001C8 */ swc1 $f16, 0x01C8($s0) ## 000001C8 -/* 00DFC 809CDE6C 44810000 */ mtc1 $at, $f0 ## $f0 = 1.50 -.L809CDE70: -/* 00E00 809CDE70 00000000 */ nop -/* 00E04 809CDE74 460C003C */ c.lt.s $f0, $f12 -/* 00E08 809CDE78 00000000 */ nop -/* 00E0C 809CDE7C 45020004 */ bc1fl .L809CDE90 -/* 00E10 809CDE80 46006086 */ mov.s $f2, $f12 -/* 00E14 809CDE84 10000002 */ beq $zero, $zero, .L809CDE90 -/* 00E18 809CDE88 46000086 */ mov.s $f2, $f0 -/* 00E1C 809CDE8C 46006086 */ mov.s $f2, $f12 -.L809CDE90: -/* 00E20 809CDE90 E60201C8 */ swc1 $f2, 0x01C8($s0) ## 000001C8 -.L809CDE94: -/* 00E24 809CDE94 0C02927F */ jal SkelAnime_FrameUpdateMatrix - -/* 00E28 809CDE98 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC -/* 00E2C 809CDE9C 86180254 */ lh $t8, 0x0254($s0) ## 00000254 -/* 00E30 809CDEA0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00E34 809CDEA4 5F00000F */ bgtzl $t8, .L809CDEE4 -/* 00E38 809CDEA8 C60C0024 */ lwc1 $f12, 0x0024($s0) ## 00000024 -/* 00E3C 809CDEAC 92190256 */ lbu $t9, 0x0256($s0) ## 00000256 -/* 00E40 809CDEB0 3C09809D */ lui $t1, %hi(D_809CE380) ## $t1 = 809D0000 -/* 00E44 809CDEB4 2529E380 */ addiu $t1, $t1, %lo(D_809CE380) ## $t1 = 809CE380 -/* 00E48 809CDEB8 00194080 */ sll $t0, $t9, 2 -/* 00E4C 809CDEBC 01194021 */ addu $t0, $t0, $t9 -/* 00E50 809CDEC0 00084080 */ sll $t0, $t0, 2 -/* 00E54 809CDEC4 0C27341C */ jal func_809CD070 -/* 00E58 809CDEC8 01092821 */ addu $a1, $t0, $t1 -/* 00E5C 809CDECC 3C0B809D */ lui $t3, %hi(D_809CE410) ## $t3 = 809D0000 -/* 00E60 809CDED0 8D6BE410 */ lw $t3, %lo(D_809CE410)($t3) -/* 00E64 809CDED4 3C01809D */ lui $at, %hi(D_809CE410) ## $at = 809D0000 -/* 00E68 809CDED8 000B6023 */ subu $t4, $zero, $t3 -/* 00E6C 809CDEDC AC2CE410 */ sw $t4, %lo(D_809CE410)($at) -/* 00E70 809CDEE0 C60C0024 */ lwc1 $f12, 0x0024($s0) ## 00000024 -.L809CDEE4: -/* 00E74 809CDEE4 C60E002C */ lwc1 $f14, 0x002C($s0) ## 0000002C -/* 00E78 809CDEE8 8E060008 */ lw $a2, 0x0008($s0) ## 00000008 -/* 00E7C 809CDEEC 0C032D65 */ jal Math3D_Dist2DSq -/* 00E80 809CDEF0 8E070010 */ lw $a3, 0x0010($s0) ## 00000010 -/* 00E84 809CDEF4 822D0151 */ lb $t5, 0x0151($s1) ## 00000151 -/* 00E88 809CDEF8 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 00E8C 809CDEFC 46000086 */ mov.s $f2, $f0 -/* 00E90 809CDF00 15A10013 */ bne $t5, $at, .L809CDF50 -/* 00E94 809CDF04 00000000 */ nop -/* 00E98 809CDF08 C6200068 */ lwc1 $f0, 0x0068($s1) ## 00000068 -/* 00E9C 809CDF0C 3C01809D */ lui $at, %hi(D_809CE4C4) ## $at = 809D0000 -/* 00EA0 809CDF10 C432E4C4 */ lwc1 $f18, %lo(D_809CE4C4)($at) -/* 00EA4 809CDF14 46000005 */ abs.s $f0, $f0 -/* 00EA8 809CDF18 4612003C */ c.lt.s $f0, $f18 -/* 00EAC 809CDF1C 00000000 */ nop -/* 00EB0 809CDF20 4500000B */ bc1f .L809CDF50 -/* 00EB4 809CDF24 00000000 */ nop -/* 00EB8 809CDF28 860A025A */ lh $t2, 0x025A($s0) ## 0000025A -/* 00EBC 809CDF2C 3C0147C8 */ lui $at, 0x47C8 ## $at = 47C80000 -/* 00EC0 809CDF30 1D400007 */ bgtz $t2, .L809CDF50 -/* 00EC4 809CDF34 00000000 */ nop -/* 00EC8 809CDF38 44813000 */ mtc1 $at, $f6 ## $f6 = 102400.00 -/* 00ECC 809CDF3C 3C014761 */ lui $at, 0x4761 ## $at = 47610000 -/* 00ED0 809CDF40 4606103C */ c.lt.s $f2, $f6 -/* 00ED4 809CDF44 00000000 */ nop -/* 00ED8 809CDF48 45030006 */ bc1tl .L809CDF64 -/* 00EDC 809CDF4C 44814000 */ mtc1 $at, $f8 ## $f8 = 57600.00 -.L809CDF50: -/* 00EE0 809CDF50 0C2735E7 */ jal func_809CD79C -/* 00EE4 809CDF54 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00EE8 809CDF58 10000016 */ beq $zero, $zero, .L809CDFB4 -/* 00EEC 809CDF5C 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00EF0 809CDF60 44814000 */ mtc1 $at, $f8 ## $f8 = 0.00 -.L809CDF64: -/* 00EF4 809CDF64 00000000 */ nop -/* 00EF8 809CDF68 4602403C */ c.lt.s $f8, $f2 -/* 00EFC 809CDF6C 00000000 */ nop -/* 00F00 809CDF70 45020010 */ bc1fl .L809CDFB4 -/* 00F04 809CDF74 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00F08 809CDF78 C62C08B8 */ lwc1 $f12, 0x08B8($s1) ## 000008B8 -/* 00F0C 809CDF7C C62E08C0 */ lwc1 $f14, 0x08C0($s1) ## 000008C0 -/* 00F10 809CDF80 8E060024 */ lw $a2, 0x0024($s0) ## 00000024 -/* 00F14 809CDF84 0C032D65 */ jal Math3D_Dist2DSq -/* 00F18 809CDF88 8E07002C */ lw $a3, 0x002C($s0) ## 0000002C -/* 00F1C 809CDF8C 3C014561 */ lui $at, 0x4561 ## $at = 45610000 -/* 00F20 809CDF90 44812000 */ mtc1 $at, $f4 ## $f4 = 3600.00 -/* 00F24 809CDF94 00000000 */ nop -/* 00F28 809CDF98 4604003C */ c.lt.s $f0, $f4 -/* 00F2C 809CDF9C 00000000 */ nop -/* 00F30 809CDFA0 45020004 */ bc1fl .L809CDFB4 -/* 00F34 809CDFA4 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00F38 809CDFA8 0C2737F1 */ jal func_809CDFC4 -/* 00F3C 809CDFAC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00F40 809CDFB0 8FBF0024 */ lw $ra, 0x0024($sp) -.L809CDFB4: -/* 00F44 809CDFB4 8FB0001C */ lw $s0, 0x001C($sp) -/* 00F48 809CDFB8 8FB10020 */ lw $s1, 0x0020($sp) -/* 00F4C 809CDFBC 03E00008 */ jr $ra -/* 00F50 809CDFC0 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDFC4.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDFC4.s deleted file mode 100644 index bacf335140..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDFC4.s +++ /dev/null @@ -1,21 +0,0 @@ -glabel func_809CDFC4 -/* 00F54 809CDFC4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00F58 809CDFC8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00F5C 809CDFCC 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004 -/* 00F60 809CDFD0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00F64 809CDFD4 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00 -/* 00F68 809CDFD8 240E0009 */ addiu $t6, $zero, 0x0009 ## $t6 = 00000009 -/* 00F6C 809CDFDC 35F80010 */ ori $t8, $t7, 0x0010 ## $t8 = 00000010 -/* 00F70 809CDFE0 A48E0254 */ sh $t6, 0x0254($a0) ## 00000254 -/* 00F74 809CDFE4 AC980004 */ sw $t8, 0x0004($a0) ## 00000004 -/* 00F78 809CDFE8 E48401C8 */ swc1 $f4, 0x01C8($a0) ## 000001C8 -/* 00F7C 809CDFEC 0C27343E */ jal func_809CD0F8 -/* 00F80 809CDFF0 AFA40018 */ sw $a0, 0x0018($sp) -/* 00F84 809CDFF4 8FA40018 */ lw $a0, 0x0018($sp) -/* 00F88 809CDFF8 3C19809D */ lui $t9, %hi(func_809CE014) ## $t9 = 809D0000 -/* 00F8C 809CDFFC 2739E014 */ addiu $t9, $t9, %lo(func_809CE014) ## $t9 = 809CE014 -/* 00F90 809CE000 AC990250 */ sw $t9, 0x0250($a0) ## 00000250 -/* 00F94 809CE004 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00F98 809CE008 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00F9C 809CE00C 03E00008 */ jr $ra -/* 00FA0 809CE010 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE014.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE014.s deleted file mode 100644 index 386a153db4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE014.s +++ /dev/null @@ -1,55 +0,0 @@ -glabel func_809CE014 -/* 00FA4 809CE014 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00FA8 809CE018 AFB00030 */ sw $s0, 0x0030($sp) -/* 00FAC 809CE01C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00FB0 809CE020 AFBF0034 */ sw $ra, 0x0034($sp) -/* 00FB4 809CE024 AFA5003C */ sw $a1, 0x003C($sp) -/* 00FB8 809CE028 0C02927F */ jal SkelAnime_FrameUpdateMatrix - -/* 00FBC 809CE02C 248401AC */ addiu $a0, $a0, 0x01AC ## $a0 = 000001AC -/* 00FC0 809CE030 0C273444 */ jal func_809CD110 -/* 00FC4 809CE034 00000000 */ nop -/* 00FC8 809CE038 86020254 */ lh $v0, 0x0254($s0) ## 00000254 -/* 00FCC 809CE03C 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 00FD0 809CE040 8FA4003C */ lw $a0, 0x003C($sp) -/* 00FD4 809CE044 14410006 */ bne $v0, $at, .L809CE060 -/* 00FD8 809CE048 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 00FDC 809CE04C 2406003C */ addiu $a2, $zero, 0x003C ## $a2 = 0000003C -/* 00FE0 809CE050 0C01AEB6 */ jal Audio_PlaySoundAtPosition - -/* 00FE4 809CE054 240728E7 */ addiu $a3, $zero, 0x28E7 ## $a3 = 000028E7 -/* 00FE8 809CE058 10000019 */ beq $zero, $zero, .L809CE0C0 -/* 00FEC 809CE05C 8FBF0034 */ lw $ra, 0x0034($sp) -.L809CE060: -/* 00FF0 809CE060 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 00FF4 809CE064 14410011 */ bne $v0, $at, .L809CE0AC -/* 00FF8 809CE068 8FA5003C */ lw $a1, 0x003C($sp) -/* 00FFC 809CE06C C604003C */ lwc1 $f4, 0x003C($s0) ## 0000003C -/* 01000 809CE070 8E070038 */ lw $a3, 0x0038($s0) ## 00000038 -/* 01004 809CE074 240F0002 */ addiu $t7, $zero, 0x0002 ## $t7 = 00000002 -/* 01008 809CE078 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 0100C 809CE07C C6060040 */ lwc1 $f6, 0x0040($s0) ## 00000040 -/* 01010 809CE080 AFA00018 */ sw $zero, 0x0018($sp) -/* 01014 809CE084 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24 -/* 01018 809CE088 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 0101C 809CE08C 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6 -/* 01020 809CE090 AFAF0024 */ sw $t7, 0x0024($sp) -/* 01024 809CE094 AFA00020 */ sw $zero, 0x0020($sp) -/* 01028 809CE098 24060018 */ addiu $a2, $zero, 0x0018 ## $a2 = 00000018 -/* 0102C 809CE09C 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 01030 809CE0A0 AFAE001C */ sw $t6, 0x001C($sp) -/* 01034 809CE0A4 10000005 */ beq $zero, $zero, .L809CE0BC -/* 01038 809CE0A8 A2000258 */ sb $zero, 0x0258($s0) ## 00000258 -.L809CE0AC: -/* 0103C 809CE0AC 5C400004 */ bgtzl $v0, .L809CE0C0 -/* 01040 809CE0B0 8FBF0034 */ lw $ra, 0x0034($sp) -/* 01044 809CE0B4 0C273834 */ jal func_809CE0D0 -/* 01048 809CE0B8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L809CE0BC: -/* 0104C 809CE0BC 8FBF0034 */ lw $ra, 0x0034($sp) -.L809CE0C0: -/* 01050 809CE0C0 8FB00030 */ lw $s0, 0x0030($sp) -/* 01054 809CE0C4 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 01058 809CE0C8 03E00008 */ jr $ra -/* 0105C 809CE0CC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE0D0.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE0D0.s deleted file mode 100644 index 478be2ca8b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE0D0.s +++ /dev/null @@ -1,8 +0,0 @@ -glabel func_809CE0D0 -/* 01060 809CE0D0 3C0F809D */ lui $t7, %hi(func_809CE0EC) ## $t7 = 809D0000 -/* 01064 809CE0D4 240E0040 */ addiu $t6, $zero, 0x0040 ## $t6 = 00000040 -/* 01068 809CE0D8 25EFE0EC */ addiu $t7, $t7, %lo(func_809CE0EC) ## $t7 = 809CE0EC -/* 0106C 809CE0DC A48E0254 */ sh $t6, 0x0254($a0) ## 00000254 -/* 01070 809CE0E0 AC8F0250 */ sw $t7, 0x0250($a0) ## 00000250 -/* 01074 809CE0E4 03E00008 */ jr $ra -/* 01078 809CE0E8 AC800134 */ sw $zero, 0x0134($a0) ## 00000134 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE0EC.s b/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE0EC.s deleted file mode 100644 index 8130d76564..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE0EC.s +++ /dev/null @@ -1,15 +0,0 @@ -glabel func_809CE0EC -/* 0107C 809CE0EC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 01080 809CE0F0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 01084 809CE0F4 AFA5001C */ sw $a1, 0x001C($sp) -/* 01088 809CE0F8 848E0254 */ lh $t6, 0x0254($a0) ## 00000254 -/* 0108C 809CE0FC 5DC00004 */ bgtzl $t6, .L809CE110 -/* 01090 809CE100 8FBF0014 */ lw $ra, 0x0014($sp) -/* 01094 809CE104 0C00B55C */ jal Actor_Kill - -/* 01098 809CE108 00000000 */ nop -/* 0109C 809CE10C 8FBF0014 */ lw $ra, 0x0014($sp) -.L809CE110: -/* 010A0 809CE110 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 010A4 809CE114 03E00008 */ jr $ra -/* 010A8 809CE118 00000000 */ nop diff --git a/data/overlays/actors/z_en_butte.data.s b/data/overlays/actors/z_en_butte.data.s deleted file mode 100644 index d0dd040174..0000000000 --- a/data/overlays/actors/z_en_butte.data.s +++ /dev/null @@ -1,45 +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 D_809CE2F0 - .word 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00000100, 0x00000000, 0x00000000, 0x00050064 -glabel D_809CE314 - .word 0x0A000019, 0x10000000, 0x00000001 -.word D_809CE2F0 -glabel En_Butte_InitVars - .word 0x001E0700, 0x00000000, 0x00020000, 0x00000268 -.word EnButte_Init -.word EnButte_Destroy -.word EnButte_Update -.word EnButte_Draw -glabel D_809CE344 - .word 0x00050023, 0x00000000, 0x3DCCCCCD, 0x3F000000, 0x00000000, 0x000A002D, 0x3F8CCCCD, 0x3DCCCCCD, 0x3E800000, 0x03E80000, 0x000A0028, 0x3FC00000, 0x3DCCCCCD, 0x3E99999A, 0x07D00000 -glabel D_809CE380 - .word 0x00030003, 0x3F4CCCCD, 0x3DCCCCCD, 0x3E4CCCCD, 0x00000000, 0x000A0014, 0x40000000, 0x3E99999A, 0x3F800000, 0x00000000, 0x000A0014, 0x4019999A, 0x3E99999A, 0x3F800000, 0x00000000 -glabel D_809CE3BC - .word 0x00000000 -glabel D_809CE3C0 - .word 0x00000000 -glabel D_809CE3C4 - .word 0x00000000, 0x00000000, 0xC0400000 -glabel D_809CE3D0 - .word 0xC850000A, 0xB0F402BC, 0xB0F80014, 0x30FC0258 -glabel D_809CE3E0 - .word 0x42480000, 0x42A00000, 0x42C80000 -glabel D_809CE3EC - .word 0x41F00000, 0x42200000, 0x42480000 -glabel D_809CE3F8 - .word 0x41700000, 0x41A00000, 0x41C80000 -glabel D_809CE404 - .word 0x40F00000, 0x41200000, 0x41480000 -glabel D_809CE410 - .word 0x000005DC, 0x00000000, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_en_butte.reloc.s b/data/overlays/actors/z_en_butte.reloc.s deleted file mode 100644 index fd3e5d57c0..0000000000 --- a/data/overlays/actors/z_en_butte.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_809CE4D0 - .incbin "baserom/ovl_En_Butte", 0x1460, 0x00000210 diff --git a/spec b/spec index 7c5b193581..58a3aa5f18 100644 --- a/spec +++ b/spec @@ -2051,8 +2051,7 @@ endseg beginseg name "ovl_En_Butte" include "build/src/overlays/actors/ovl_En_Butte/z_en_butte.o" - include "build/data/overlays/actors/z_en_butte.data.o" - include "build/data/overlays/actors/z_en_butte.reloc.o" + include "build/src/overlays/actors/ovl_En_Butte/ovl_En_Butte_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_En_Butte/z_en_butte.c b/src/overlays/actors/ovl_En_Butte/z_en_butte.c index 6a9056a084..000dffddf2 100644 --- a/src/overlays/actors/ovl_En_Butte/z_en_butte.c +++ b/src/overlays/actors/ovl_En_Butte/z_en_butte.c @@ -1,3 +1,9 @@ +/* + * File: z_en_butte.c + * Overlay: ovl_En_Butte + * Description: Butterfly + */ + #include "z_en_butte.h" #define FLAGS 0x00000000 @@ -9,7 +15,25 @@ void EnButte_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnButte_Update(Actor* thisx, GlobalContext* globalCtx); void EnButte_Draw(Actor* thisx, GlobalContext* globalCtx); -/* +void EnButte_SetupFlyAround(EnButte* this); +void EnButte_FlyAround(EnButte* this, GlobalContext* globalCtx); +void EnButte_SetupFollowLink(EnButte* this); +void EnButte_FollowLink(EnButte* this, GlobalContext* globalCtx); +void EnButte_SetupTransformIntoFairy(EnButte* this); +void EnButte_TransformIntoFairy(EnButte* this, GlobalContext* globalCtx); +void EnButte_SetupWaitToDie(EnButte* this); +void EnButte_WaitToDie(EnButte* this, GlobalContext* globalCtx); + +static ColliderJntSphItemInit sColliderItemInit[] = { + { { 0x00, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x000, 0x00 }, 0x00, 0x00, 0x01 }, + { 0, { { 0, 0, 0 }, 5 }, 100 } } +}; +static ColliderJntSphInit sColliderInit = { + { COLTYPE_UNK10, 0x00, 0x00, 0x19, 0x10, COLSHAPE_JNTSPH }, + 1, + sColliderItemInit, +}; + const ActorInit En_Butte_InitVars = { ACTOR_EN_BUTTE, ACTORTYPE_ITEMACTION, @@ -21,41 +45,374 @@ const ActorInit En_Butte_InitVars = { (ActorFunc)EnButte_Update, (ActorFunc)EnButte_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD070.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD0F8.s") +typedef struct { + /* 0x00 */ s16 minTime; + /* 0x02 */ s16 maxTime; + /* 0x04 */ f32 speedXZTarget; + /* 0x08 */ f32 speedXZScale; + /* 0x0C */ f32 speedXZStep; + /* 0x10 */ s16 rotYStep; +} EnButteFlightParams; // size = 0x14 -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD110.s") +static EnButteFlightParams sFlyAroundParams[] = { + { 5, 35, 0.0f, 0.1f, 0.5f, 0 }, + { 10, 45, 1.1f, 0.1f, 0.25f, 1000 }, + { 10, 40, 1.5f, 0.1f, 0.3f, 2000 }, +}; +static EnButteFlightParams sFollowLinkParams[] = { + { 3, 3, 0.8f, 0.1f, 0.2f, 0 }, + { 10, 20, 2.0f, 0.3f, 1.0f, 0 }, + { 10, 20, 2.4f, 0.3f, 1.0f, 0 }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD144.s") +extern AnimationHeader D_05002470; +extern SkeletonHeader D_050036F0; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Init.s") +void EnButte_SelectFlightParams(EnButte* this, EnButteFlightParams* flightParams) { + if (this->flightParamsIdx == 0) { + if (Math_Rand_ZeroOne() < 0.6f) { + this->flightParamsIdx = 1; + } else { + this->flightParamsIdx = 2; + } + } else { + this->flightParamsIdx = 0; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Destroy.s") + this->timer = Math_Rand_S16Offset(flightParams->minTime, flightParams->maxTime); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD56C.s") +static f32 sTransformationEffectScale = 0.0f; +static s16 sTransformationEffectAlpha = 0; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD634.s") +void EnButte_ResetTransformationEffect(void) { + sTransformationEffectScale = 0.0f; + sTransformationEffectAlpha = 0; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD6FC.s") +void EnButte_UpdateTransformationEffect(void) { + sTransformationEffectScale += 0.003f; + sTransformationEffectAlpha += 4000; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD79C.s") +void EnButte_DrawTransformationEffect(EnButte* this, GlobalContext* globalCtx) { + static Vec3f D_809CE3C4 = { 0.0f, 0.0f, -3.0f }; + Vec3f sp5C; + s32 alpha; + Vec3s camDir; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CD7E8.s") + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_choo.c", 295); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDBCC.s") + func_80093C14(globalCtx->state.gfxCtx); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDC18.s") + alpha = Math_Sins(sTransformationEffectAlpha) * 250; + alpha = CLAMP(alpha, 0, 255); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CDFC4.s") + func_8005A970(&camDir, ACTIVE_CAM); + Matrix_RotateY(camDir.y * (M_PI / 0x8000), MTXMODE_NEW); + Matrix_RotateX(camDir.x * (M_PI / 0x8000), MTXMODE_APPLY); + Matrix_RotateZ(camDir.z * (M_PI / 0x8000), MTXMODE_APPLY); + Matrix_MultVec3f(&D_809CE3C4, &sp5C); + func_800D1694(this->actor.posRot2.pos.x + sp5C.x, this->actor.posRot2.pos.y + sp5C.y, + this->actor.posRot2.pos.z + sp5C.z, &camDir); + Matrix_Scale(sTransformationEffectScale, sTransformationEffectScale, sTransformationEffectScale, MTXMODE_APPLY); + gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_choo.c", 317), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0x80, 0x80, 200, 200, 180, alpha); + gDPSetEnvColor(oGfxCtx->polyXlu.p++, 200, 200, 210, 255); + gSPDisplayList(oGfxCtx->polyXlu.p++, SEGMENTED_TO_VIRTUAL(&D_04010130)); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE014.s") + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_choo.c", 326); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE0D0.s") +static InitChainEntry sInitChain[] = { + ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneForward, 700, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneScale, 20, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneDownward, 600, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/func_809CE0EC.s") +void EnButte_Init(Actor* thisx, GlobalContext* globalCtx) { + EnButte* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Update.s") + if (this->actor.params == -1) { + this->actor.params = 0; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Butte/EnButte_Draw.s") + Actor_ProcessInitChain(&this->actor, sInitChain); + + if ((this->actor.params & 1) == 1) { + this->actor.uncullZoneScale = 200.0f; + } + + SkelAnime_Init(globalCtx, &this->skelAnime, &D_050036F0, &D_05002470, this->limbDrawTable, + this->transitionDrawTable, 8); + Collider_InitJntSph(globalCtx, &this->collider); + Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sColliderInit, this->colliderItems); + this->actor.colChkInfo.mass = 0; + this->unk_25C = Math_Rand_ZeroOne() * 0xFFFF; + this->unk_25E = Math_Rand_ZeroOne() * 0xFFFF; + this->unk_260 = Math_Rand_ZeroOne() * 0xFFFF; + SkelAnime_ChangeAnim(&this->skelAnime, &D_05002470, 1.0f, 0.0f, 0.0f, 1, 0.0f); + EnButte_SetupFlyAround(this); + this->actor.shape.rot.x -= 0x2320; + this->drawSkelAnime = true; + // "field keep butterfly" + osSyncPrintf("(field keep 蝶)(%x)(arg_data 0x%04x)\n", this, this->actor.params); +} + +void EnButte_Destroy(Actor* thisx, GlobalContext* globalCtx) { + Collider_DestroyJntSph(globalCtx, &THIS->collider); +} + +void func_809CD56C(EnButte* this) { + static f32 D_809CE3E0[] = { 50.0f, 80.0f, 100.0f }; + static f32 D_809CE3EC[] = { 30.0f, 40.0f, 50.0f }; + + this->actor.shape.unk_08 += Math_Sins(this->unk_25C) * D_809CE3E0[this->flightParamsIdx] + + Math_Sins(this->unk_25E) * D_809CE3EC[this->flightParamsIdx]; + this->actor.shape.unk_08 = CLAMP(this->actor.shape.unk_08, -2000.0f, 2000.0f); +} + +void func_809CD634(EnButte* this) { + static f32 D_809CE3F8[] = { 15.0f, 20.0f, 25.0f }; + static f32 D_809CE404[] = { 7.5f, 10.0f, 12.5f }; + + this->actor.shape.unk_08 += Math_Sins(this->unk_25C) * D_809CE3F8[this->flightParamsIdx] + + Math_Sins(this->unk_25E) * D_809CE404[this->flightParamsIdx]; + this->actor.shape.unk_08 = CLAMP(this->actor.shape.unk_08, -500.0f, 500.0f); +} + +void EnButte_Turn(EnButte* this) { + s16 target = this->actor.posRot.rot.y + 0x8000; + s16 diff = target - this->actor.shape.rot.y; + + Math_ApproxUpdateScaledS(&this->actor.shape.rot.y, target, ABS(diff) >> 3); + this->actor.shape.rot.x = (s16)(sinf(this->unk_260) * 600.0f) - 0x2320; +} + +void EnButte_SetupFlyAround(EnButte* this) { + EnButte_SelectFlightParams(this, &sFlyAroundParams[this->flightParamsIdx]); + this->actionFunc = EnButte_FlyAround; +} + +void EnButte_FlyAround(EnButte* this, GlobalContext* globalCtx) { + EnButteFlightParams* flightParams = &sFlyAroundParams[this->flightParamsIdx]; + s16 yaw; + Player* player = PLAYER; + f32 distSqFromHome; + f32 maxDistSqFromHome; + f32 minAnimSpeed; + f32 animSpeed; + s16 rotStep; + + distSqFromHome = Math3D_Dist2DSq(this->actor.posRot.pos.x, this->actor.posRot.pos.z, this->actor.initPosRot.pos.x, + this->actor.initPosRot.pos.z); + func_809CD56C(this); + Math_SmoothScaleMaxMinF(&this->actor.speedXZ, flightParams->speedXZTarget, flightParams->speedXZScale, + flightParams->speedXZStep, 0.0f); + + if (this->unk_257 == 1) { + maxDistSqFromHome = SQ(100.0f); + rotStep = 1000; + } else { + maxDistSqFromHome = SQ(35.0f); + rotStep = 600; + } + + minAnimSpeed = 0.0f; + this->posYTarget = this->actor.initPosRot.pos.y; + + if ((this->flightParamsIdx != 0) && ((distSqFromHome > maxDistSqFromHome) || (this->timer < 4))) { + yaw = Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->actor.initPosRot.pos); + if (Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y, yaw, flightParams->rotYStep) == 0) { + minAnimSpeed = 0.5f; + } + } else if ((this->unk_257 == 0) && (this->actor.child != NULL) && (this->actor.child != &this->actor)) { + yaw = Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->actor.child->posRot.pos); + if (Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y, yaw, rotStep) == 0) { + minAnimSpeed = 0.3f; + } + } else if (this->unk_257 == 1) { + yaw = this->actor.yawTowardsLink + 0x8000 + (s16)((Math_Rand_ZeroOne() - 0.5f) * 0x6000); + if (Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y, yaw, rotStep) == 0) { + minAnimSpeed = 0.4f; + } + } else { + this->actor.posRot.rot.y += (s16)(sinf(this->unk_25C) * 100.0f); + } + + EnButte_Turn(this); + + animSpeed = this->actor.speedXZ / 2.0f + Math_Rand_ZeroOne() * 0.2f + (1.0f - Math_Sins(this->unk_260)) * 0.15f + + (1.0f - Math_Sins(this->unk_25E)) * 0.3f + minAnimSpeed; + this->skelAnime.animPlaybackSpeed = CLAMP(animSpeed, 0.2f, 1.5f); + SkelAnime_FrameUpdateMatrix(&this->skelAnime); + + if (this->timer <= 0) { + EnButte_SelectFlightParams(this, &sFlyAroundParams[this->flightParamsIdx]); + } + + if (((this->actor.params & 1) == 1) && (player->heldItemActionParam == 6) && (this->swordDownTimer <= 0) && + ((Math3D_Dist2DSq(player->actor.posRot.pos.x, player->actor.posRot.pos.z, this->actor.initPosRot.pos.x, + this->actor.initPosRot.pos.z) < SQ(120.0f)) || + (this->actor.xzDistFromLink < 60.0f))) { + EnButte_SetupFollowLink(this); + this->unk_257 = 2; + } else if (this->actor.xzDistFromLink < 120.0) { + this->unk_257 = 1; + } else { + this->unk_257 = 0; + } +} + +void EnButte_SetupFollowLink(EnButte* this) { + EnButte_SelectFlightParams(this, &sFollowLinkParams[this->flightParamsIdx]); + this->actionFunc = EnButte_FollowLink; +} + +void EnButte_FollowLink(EnButte* this, GlobalContext* globalCtx) { + static s32 D_809CE410 = 1500; + EnButteFlightParams* flightParams = &sFollowLinkParams[this->flightParamsIdx]; + Player* player = PLAYER; + f32 distSqFromHome; + Vec3f swordTip; + f32 animSpeed; + f32 minAnimSpeed; + f32 distSqFromSword; + s16 yaw; + + func_809CD634(this); + Math_SmoothScaleMaxMinF(&this->actor.speedXZ, flightParams->speedXZTarget, flightParams->speedXZScale, + flightParams->speedXZStep, 0.0f); + minAnimSpeed = 0.0f; + + if ((this->flightParamsIdx != 0) && (this->timer < 12)) { + swordTip.x = player->swordInfo[0].tip.x + Math_Sins(player->actor.shape.rot.y) * 10.0f; + swordTip.y = player->swordInfo[0].tip.y; + swordTip.z = player->swordInfo[0].tip.z + Math_Coss(player->actor.shape.rot.y) * 10.0f; + + yaw = Math_Vec3f_Yaw(&this->actor.posRot.pos, &swordTip) + (s16)(Math_Rand_ZeroOne() * D_809CE410); + if (Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y, yaw, 2000) != 0) { + if (globalCtx->gameplayFrames % 2) { + this->actor.posRot.rot.y += (s16)(sinf(this->unk_25C) * 60.0f); + } + } else { + minAnimSpeed = 0.3f; + } + } + + this->posYTarget = MAX(player->actor.posRot.pos.y + 30.0f, player->swordInfo[0].tip.y); + + EnButte_Turn(this); + + animSpeed = this->actor.speedXZ / 2.0f + Math_Rand_ZeroOne() * 0.2f + (1.0f - Math_Sins(this->unk_260)) * 0.15f + + (1.0f - Math_Sins(this->unk_25E)) * 0.3f + minAnimSpeed; + this->skelAnime.animPlaybackSpeed = CLAMP(animSpeed, 0.2f, 1.5f); + SkelAnime_FrameUpdateMatrix(&this->skelAnime); + + if (this->timer <= 0) { + EnButte_SelectFlightParams(this, &sFollowLinkParams[this->flightParamsIdx]); + D_809CE410 = -D_809CE410; + } + + distSqFromHome = Math3D_Dist2DSq(this->actor.posRot.pos.x, this->actor.posRot.pos.z, this->actor.initPosRot.pos.x, + this->actor.initPosRot.pos.z); + if (!((player->heldItemActionParam == 6) && (fabsf(player->actor.speedXZ) < 1.8f) && (this->swordDownTimer <= 0) && + (distSqFromHome < SQ(320.0f)))) { + EnButte_SetupFlyAround(this); + } else if (distSqFromHome > SQ(240.0f)) { + distSqFromSword = Math3D_Dist2DSq(player->swordInfo[0].tip.x, player->swordInfo[0].tip.z, + this->actor.posRot.pos.x, this->actor.posRot.pos.z); + if (distSqFromSword < SQ(60.0f)) { + EnButte_SetupTransformIntoFairy(this); + } + } +} + +void EnButte_SetupTransformIntoFairy(EnButte* this) { + this->timer = 9; + this->actor.flags |= 0x10; + this->skelAnime.animPlaybackSpeed = 1.0f; + EnButte_ResetTransformationEffect(); + this->actionFunc = EnButte_TransformIntoFairy; +} + +void EnButte_TransformIntoFairy(EnButte* this, GlobalContext* globalCtx) { + SkelAnime_FrameUpdateMatrix(&this->skelAnime); + EnButte_UpdateTransformationEffect(); + + if (this->timer == 5) { + Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 60, NA_SE_EV_BUTTERFRY_TO_FAIRY); + } else if (this->timer == 4) { + Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ELF, this->actor.posRot2.pos.x, this->actor.posRot2.pos.y, + this->actor.posRot2.pos.z, 0, this->actor.shape.rot.y, 0, 2); + this->drawSkelAnime = false; + } else if (this->timer <= 0) { + EnButte_SetupWaitToDie(this); + } +} + +void EnButte_SetupWaitToDie(EnButte* this) { + this->timer = 64; + this->actionFunc = EnButte_WaitToDie; + this->actor.draw = NULL; +} + +void EnButte_WaitToDie(EnButte* this, GlobalContext* globalCtx) { + if (this->timer <= 0) { + Actor_Kill(&this->actor); + } +} + +void EnButte_Update(Actor* thisx, GlobalContext* globalCtx) { + EnButte* this = THIS; + + if ((this->actor.child != NULL) && (this->actor.child->update == NULL) && (this->actor.child != &this->actor)) { + this->actor.child = NULL; + } + + if (this->timer > 0) { + this->timer--; + } + + this->unk_25C += 0x222; + this->unk_25E += 0x1000; + this->unk_260 += 0x600; + + if ((this->actor.params & 1) == 1) { + if (PLAYER->swordState == 0) { + if (this->swordDownTimer > 0) { + this->swordDownTimer--; + } + } else { + this->swordDownTimer = 80; + } + } + + this->actionFunc(this, globalCtx); + + if (this->actor.update != NULL) { + Actor_MoveForward(&this->actor); + Math_ApproxF(&this->actor.posRot.pos.y, this->posYTarget, 0.6f); + if (this->actor.xyzDistFromLinkSq < 5000.0f) { + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + } + Actor_SetHeight(&this->actor, this->actor.shape.unk_08 * this->actor.scale.y); + } +} + +void EnButte_Draw(Actor* thisx, GlobalContext* globalCtx) { + EnButte* this = THIS; + + if (this->drawSkelAnime) { + func_80093D18(globalCtx->state.gfxCtx); + SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, NULL, NULL, NULL); + func_800628A4(0, &this->collider); + } + + if (((this->actor.params & 1) == 1) && (this->actionFunc == EnButte_TransformIntoFairy)) { + EnButte_DrawTransformationEffect(this, globalCtx); + } +} diff --git a/src/overlays/actors/ovl_En_Butte/z_en_butte.h b/src/overlays/actors/ovl_En_Butte/z_en_butte.h index c6cae2f099..8e3357f1f6 100644 --- a/src/overlays/actors/ovl_En_Butte/z_en_butte.h +++ b/src/overlays/actors/ovl_En_Butte/z_en_butte.h @@ -6,9 +6,25 @@ struct EnButte; +typedef void (*EnButteActionFunc)(struct EnButte*, GlobalContext*); + typedef struct EnButte { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x11C]; + /* 0x014C */ ColliderJntSph collider; + /* 0x016C */ ColliderJntSphItem colliderItems[1]; + /* 0x01AC */ SkelAnime skelAnime; + /* 0x01F0 */ Vec3s limbDrawTable[8]; + /* 0x0220 */ Vec3s transitionDrawTable[8]; + /* 0x0250 */ EnButteActionFunc actionFunc; + /* 0x0254 */ s16 timer; + /* 0x0256 */ u8 flightParamsIdx; + /* 0x0257 */ u8 unk_257; + /* 0x0258 */ u8 drawSkelAnime; + /* 0x025A */ s16 swordDownTimer; + /* 0x025C */ s16 unk_25C; + /* 0x025E */ s16 unk_25E; + /* 0x0260 */ s16 unk_260; + /* 0x0264 */ f32 posYTarget; } EnButte; // size = 0x0268 extern const ActorInit En_Butte_InitVars; diff --git a/undefined_syms.txt b/undefined_syms.txt index 96802ca265..99d11c395d 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -1028,6 +1028,10 @@ D_06001678 = 0x06001678; D_060047D8 = 0x060047D8; D_06005FC8 = 0x06005FC8; +// z_en_butte +D_05002470 = 0x05002470; +D_050036F0 = 0x050036F0; + // z_eff_ss_dust D_04010050 = 0x04010050;