diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/EnHorseZelda_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/EnHorseZelda_Destroy.s deleted file mode 100644 index 999e518c69..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/EnHorseZelda_Destroy.s +++ /dev/null @@ -1,22 +0,0 @@ -glabel EnHorseZelda_Destroy -/* 0035C 80A6DC2C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00360 80A6DC30 AFA40018 */ sw $a0, 0x0018($sp) -/* 00364 80A6DC34 AFA5001C */ sw $a1, 0x001C($sp) -/* 00368 80A6DC38 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 0036C 80A6DC3C 8FA50018 */ lw $a1, 0x0018($sp) -/* 00370 80A6DC40 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00374 80A6DC44 0C0170EB */ jal Collider_DestroyCylinder - -/* 00378 80A6DC48 24A501FC */ addiu $a1, $a1, 0x01FC ## $a1 = 000001FC -/* 0037C 80A6DC4C 8FA50018 */ lw $a1, 0x0018($sp) -/* 00380 80A6DC50 8FA4001C */ lw $a0, 0x001C($sp) -/* 00384 80A6DC54 0C016F32 */ jal Collider_DestroyJntSph -/* 00388 80A6DC58 24A50248 */ addiu $a1, $a1, 0x0248 ## $a1 = 00000248 -/* 0038C 80A6DC5C 8FA50018 */ lw $a1, 0x0018($sp) -/* 00390 80A6DC60 8FA4001C */ lw $a0, 0x001C($sp) -/* 00394 80A6DC64 0C029A22 */ jal func_800A6888 -/* 00398 80A6DC68 24A50154 */ addiu $a1, $a1, 0x0154 ## $a1 = 00000154 -/* 0039C 80A6DC6C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 003A0 80A6DC70 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 003A4 80A6DC74 03E00008 */ jr $ra -/* 003A8 80A6DC78 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/EnHorseZelda_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/EnHorseZelda_Draw.s deleted file mode 100644 index 7b48b46de2..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/EnHorseZelda_Draw.s +++ /dev/null @@ -1,21 +0,0 @@ -glabel EnHorseZelda_Draw -/* 00890 80A6E160 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00894 80A6E164 AFBF001C */ sw $ra, 0x001C($sp) -/* 00898 80A6E168 AFA40020 */ sw $a0, 0x0020($sp) -/* 0089C 80A6E16C 0C29B78E */ jal func_80A6DE38 -/* 008A0 80A6E170 AFA50024 */ sw $a1, 0x0024($sp) -/* 008A4 80A6E174 8FAE0024 */ lw $t6, 0x0024($sp) -/* 008A8 80A6E178 0C024F46 */ jal func_80093D18 -/* 008AC 80A6E17C 8DC40000 */ lw $a0, 0x0000($t6) ## 00000000 -/* 008B0 80A6E180 8FA40020 */ lw $a0, 0x0020($sp) -/* 008B4 80A6E184 3C0780A7 */ lui $a3, %hi(func_80A6DFD4) ## $a3 = 80A70000 -/* 008B8 80A6E188 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 008BC 80A6E18C AFAF0010 */ sw $t7, 0x0010($sp) -/* 008C0 80A6E190 24E7DFD4 */ addiu $a3, $a3, %lo(func_80A6DFD4) ## $a3 = 80A6DFD4 -/* 008C4 80A6E194 8FA50024 */ lw $a1, 0x0024($sp) -/* 008C8 80A6E198 0C0298CC */ jal func_800A6330 -/* 008CC 80A6E19C 24860154 */ addiu $a2, $a0, 0x0154 ## $a2 = 00000154 -/* 008D0 80A6E1A0 8FBF001C */ lw $ra, 0x001C($sp) -/* 008D4 80A6E1A4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 008D8 80A6E1A8 03E00008 */ jr $ra -/* 008DC 80A6E1AC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/EnHorseZelda_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/EnHorseZelda_Init.s deleted file mode 100644 index 8f725868f1..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/EnHorseZelda_Init.s +++ /dev/null @@ -1,88 +0,0 @@ -glabel EnHorseZelda_Init -/* 00210 80A6DAE0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00214 80A6DAE4 AFB10020 */ sw $s1, 0x0020($sp) -/* 00218 80A6DAE8 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 0021C 80A6DAEC AFBF0024 */ sw $ra, 0x0024($sp) -/* 00220 80A6DAF0 AFB0001C */ sw $s0, 0x001C($sp) -/* 00224 80A6DAF4 3C0580A7 */ lui $a1, %hi(D_80A6E2B0) ## $a1 = 80A70000 -/* 00228 80A6DAF8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0022C 80A6DAFC 0C01E037 */ jal Actor_ProcessInitChain - -/* 00230 80A6DB00 24A5E2B0 */ addiu $a1, $a1, %lo(D_80A6E2B0) ## $a1 = 80A6E2B0 -/* 00234 80A6DB04 3C053C3C */ lui $a1, 0x3C3C ## $a1 = 3C3C0000 -/* 00238 80A6DB08 34A56A7F */ ori $a1, $a1, 0x6A7F ## $a1 = 3C3C6A7F -/* 0023C 80A6DB0C 0C00B58B */ jal Actor_SetScale - -/* 00240 80A6DB10 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00244 80A6DB14 3C01C060 */ lui $at, 0xC060 ## $at = C0600000 -/* 00248 80A6DB18 44812000 */ mtc1 $at, $f4 ## $f4 = -3.50 -/* 0024C 80A6DB1C 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Squiggly) -/* 00250 80A6DB20 24C6B644 */ addiu $a2, %lo(ActorShadow_DrawFunc_Squiggly) -/* 00254 80A6DB24 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4 -/* 00258 80A6DB28 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 0025C 80A6DB2C 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000 -/* 00260 80A6DB30 0C00AC78 */ jal ActorShape_Init - -/* 00264 80A6DB34 E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C -/* 00268 80A6DB38 8E0E0028 */ lw $t6, 0x0028($s0) ## 00000028 -/* 0026C 80A6DB3C 3C01428C */ lui $at, 0x428C ## $at = 428C0000 -/* 00270 80A6DB40 8E0F0024 */ lw $t7, 0x0024($s0) ## 00000024 -/* 00274 80A6DB44 AE0E003C */ sw $t6, 0x003C($s0) ## 0000003C -/* 00278 80A6DB48 C608003C */ lwc1 $f8, 0x003C($s0) ## 0000003C -/* 0027C 80A6DB4C 44815000 */ mtc1 $at, $f10 ## $f10 = 70.00 -/* 00280 80A6DB50 AE0F0038 */ sw $t7, 0x0038($s0) ## 00000038 -/* 00284 80A6DB54 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 00288 80A6DB58 460A4400 */ add.s $f16, $f8, $f10 -/* 0028C 80A6DB5C 8E0F002C */ lw $t7, 0x002C($s0) ## 0000002C -/* 00290 80A6DB60 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000 -/* 00294 80A6DB64 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000 -/* 00298 80A6DB68 AE00014C */ sw $zero, 0x014C($s0) ## 0000014C -/* 0029C 80A6DB6C E610003C */ swc1 $f16, 0x003C($s0) ## 0000003C -/* 002A0 80A6DB70 24E77148 */ addiu $a3, $a3, 0x7148 ## $a3 = 06007148 -/* 002A4 80A6DB74 24C66B2C */ addiu $a2, $a2, 0x6B2C ## $a2 = 06006B2C -/* 002A8 80A6DB78 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 002AC 80A6DB7C 26050154 */ addiu $a1, $s0, 0x0154 ## $a1 = 00000154 -/* 002B0 80A6DB80 E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068 -/* 002B4 80A6DB84 0C02998F */ jal func_800A663C -/* 002B8 80A6DB88 AE0F0040 */ sw $t7, 0x0040($s0) ## 00000040 -/* 002BC 80A6DB8C AE000150 */ sw $zero, 0x0150($s0) ## 00000150 -/* 002C0 80A6DB90 3C0580A7 */ lui $a1, %hi(D_80A6E1D0) ## $a1 = 80A70000 -/* 002C4 80A6DB94 8CA5E1D0 */ lw $a1, %lo(D_80A6E1D0)($a1) -/* 002C8 80A6DB98 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop -/* 002CC 80A6DB9C 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0 -/* 002D0 80A6DBA0 260501FC */ addiu $a1, $s0, 0x01FC ## $a1 = 000001FC -/* 002D4 80A6DBA4 AFA50028 */ sw $a1, 0x0028($sp) -/* 002D8 80A6DBA8 0C0170D9 */ jal Collider_InitCylinder - -/* 002DC 80A6DBAC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 002E0 80A6DBB0 3C0780A7 */ lui $a3, %hi(D_80A6E1D8) ## $a3 = 80A70000 -/* 002E4 80A6DBB4 8FA50028 */ lw $a1, 0x0028($sp) -/* 002E8 80A6DBB8 24E7E1D8 */ addiu $a3, $a3, %lo(D_80A6E1D8) ## $a3 = 80A6E1D8 -/* 002EC 80A6DBBC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 002F0 80A6DBC0 0C017114 */ jal Collider_SetCylinder_Set3 -/* 002F4 80A6DBC4 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 002F8 80A6DBC8 26050248 */ addiu $a1, $s0, 0x0248 ## $a1 = 00000248 -/* 002FC 80A6DBCC AFA50028 */ sw $a1, 0x0028($sp) -/* 00300 80A6DBD0 0C016EFE */ jal Collider_InitJntSph -/* 00304 80A6DBD4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00308 80A6DBD8 3C0780A7 */ lui $a3, %hi(D_80A6E228) ## $a3 = 80A70000 -/* 0030C 80A6DBDC 26180268 */ addiu $t8, $s0, 0x0268 ## $t8 = 00000268 -/* 00310 80A6DBE0 8FA50028 */ lw $a1, 0x0028($sp) -/* 00314 80A6DBE4 AFB80010 */ sw $t8, 0x0010($sp) -/* 00318 80A6DBE8 24E7E228 */ addiu $a3, $a3, %lo(D_80A6E228) ## $a3 = 80A6E228 -/* 0031C 80A6DBEC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00320 80A6DBF0 0C017014 */ jal Collider_SetJntSph -/* 00324 80A6DBF4 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00328 80A6DBF8 3C0680A7 */ lui $a2, %hi(D_80A6E238) ## $a2 = 80A70000 -/* 0032C 80A6DBFC 24C6E238 */ addiu $a2, $a2, %lo(D_80A6E238) ## $a2 = 80A6E238 -/* 00330 80A6DC00 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098 -/* 00334 80A6DC04 0C0187B5 */ jal func_80061ED4 -/* 00338 80A6DC08 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 0033C 80A6DC0C AE000150 */ sw $zero, 0x0150($s0) ## 00000150 -/* 00340 80A6DC10 0C29B71F */ jal func_80A6DC7C -/* 00344 80A6DC14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00348 80A6DC18 8FBF0024 */ lw $ra, 0x0024($sp) -/* 0034C 80A6DC1C 8FB0001C */ lw $s0, 0x001C($sp) -/* 00350 80A6DC20 8FB10020 */ lw $s1, 0x0020($sp) -/* 00354 80A6DC24 03E00008 */ jr $ra -/* 00358 80A6DC28 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/EnHorseZelda_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/EnHorseZelda_Update.s deleted file mode 100644 index 4e4b6ae21c..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/EnHorseZelda_Update.s +++ /dev/null @@ -1,57 +0,0 @@ -glabel EnHorseZelda_Update -/* 00630 80A6DF00 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00634 80A6DF04 AFB00020 */ sw $s0, 0x0020($sp) -/* 00638 80A6DF08 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0063C 80A6DF0C AFBF0024 */ sw $ra, 0x0024($sp) -/* 00640 80A6DF10 AFA5003C */ sw $a1, 0x003C($sp) -/* 00644 80A6DF14 8E0E014C */ lw $t6, 0x014C($s0) ## 0000014C -/* 00648 80A6DF18 3C1980A7 */ lui $t9, %hi(D_80A6E2B4) ## $t9 = 80A70000 -/* 0064C 80A6DF1C 000E7880 */ sll $t7, $t6, 2 -/* 00650 80A6DF20 032FC821 */ addu $t9, $t9, $t7 -/* 00654 80A6DF24 8F39E2B4 */ lw $t9, %lo(D_80A6E2B4)($t9) -/* 00658 80A6DF28 0320F809 */ jalr $ra, $t9 -/* 0065C 80A6DF2C 00000000 */ nop -/* 00660 80A6DF30 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00664 80A6DF34 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00668 80A6DF38 0C00B638 */ jal Actor_MoveForward - -/* 0066C 80A6DF3C E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068 -/* 00670 80A6DF40 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00674 80A6DF44 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00 -/* 00678 80A6DF48 2418001D */ addiu $t8, $zero, 0x001D ## $t8 = 0000001D -/* 0067C 80A6DF4C AFB80014 */ sw $t8, 0x0014($sp) -/* 00680 80A6DF50 8FA4003C */ lw $a0, 0x003C($sp) -/* 00684 80A6DF54 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00688 80A6DF58 3C0641A0 */ lui $a2, 0x41A0 ## $a2 = 41A00000 -/* 0068C 80A6DF5C 3C07425C */ lui $a3, 0x425C ## $a3 = 425C0000 -/* 00690 80A6DF60 0C00B92D */ jal func_8002E4B4 -/* 00694 80A6DF64 E7A60010 */ swc1 $f6, 0x0010($sp) -/* 00698 80A6DF68 8E080028 */ lw $t0, 0x0028($s0) ## 00000028 -/* 0069C 80A6DF6C 3C01428C */ lui $at, 0x428C ## $at = 428C0000 -/* 006A0 80A6DF70 8E090024 */ lw $t1, 0x0024($s0) ## 00000024 -/* 006A4 80A6DF74 AE08003C */ sw $t0, 0x003C($s0) ## 0000003C -/* 006A8 80A6DF78 C608003C */ lwc1 $f8, 0x003C($s0) ## 0000003C -/* 006AC 80A6DF7C 44815000 */ mtc1 $at, $f10 ## $f10 = 70.00 -/* 006B0 80A6DF80 AE090038 */ sw $t1, 0x0038($s0) ## 00000038 -/* 006B4 80A6DF84 8E09002C */ lw $t1, 0x002C($s0) ## 0000002C -/* 006B8 80A6DF88 460A4400 */ add.s $f16, $f8, $f10 -/* 006BC 80A6DF8C 260601FC */ addiu $a2, $s0, 0x01FC ## $a2 = 000001FC -/* 006C0 80A6DF90 AE090040 */ sw $t1, 0x0040($s0) ## 00000040 -/* 006C4 80A6DF94 00C02825 */ or $a1, $a2, $zero ## $a1 = 000001FC -/* 006C8 80A6DF98 E610003C */ swc1 $f16, 0x003C($s0) ## 0000003C -/* 006CC 80A6DF9C AFA6002C */ sw $a2, 0x002C($sp) -/* 006D0 80A6DFA0 0C0189B7 */ jal Collider_CylinderUpdate - -/* 006D4 80A6DFA4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 006D8 80A6DFA8 8FA4003C */ lw $a0, 0x003C($sp) -/* 006DC 80A6DFAC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 006E0 80A6DFB0 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 006E4 80A6DFB4 8FA6002C */ lw $a2, 0x002C($sp) -/* 006E8 80A6DFB8 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOT -/* 006EC 80A6DFBC 00812821 */ addu $a1, $a0, $at -/* 006F0 80A6DFC0 8FBF0024 */ lw $ra, 0x0024($sp) -/* 006F4 80A6DFC4 8FB00020 */ lw $s0, 0x0020($sp) -/* 006F8 80A6DFC8 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 006FC 80A6DFCC 03E00008 */ jr $ra -/* 00700 80A6DFD0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6D8D0.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6D8D0.s deleted file mode 100644 index 4d39218985..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6D8D0.s +++ /dev/null @@ -1,19 +0,0 @@ -glabel func_80A6D8D0 -/* 00000 80A6D8D0 000570C0 */ sll $t6, $a1, 3 -/* 00004 80A6D8D4 008E1021 */ addu $v0, $a0, $t6 -/* 00008 80A6D8D8 844F0000 */ lh $t7, 0x0000($v0) ## 00000000 -/* 0000C 80A6D8DC 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00 -/* 00010 80A6D8E0 00000000 */ nop -/* 00014 80A6D8E4 468021A0 */ cvt.s.w $f6, $f4 -/* 00018 80A6D8E8 E4C60000 */ swc1 $f6, 0x0000($a2) ## 00000000 -/* 0001C 80A6D8EC 84580002 */ lh $t8, 0x0002($v0) ## 00000002 -/* 00020 80A6D8F0 44984000 */ mtc1 $t8, $f8 ## $f8 = 0.00 -/* 00024 80A6D8F4 00000000 */ nop -/* 00028 80A6D8F8 468042A0 */ cvt.s.w $f10, $f8 -/* 0002C 80A6D8FC E4CA0004 */ swc1 $f10, 0x0004($a2) ## 00000004 -/* 00030 80A6D900 84590004 */ lh $t9, 0x0004($v0) ## 00000004 -/* 00034 80A6D904 44998000 */ mtc1 $t9, $f16 ## $f16 = 0.00 -/* 00038 80A6D908 00000000 */ nop -/* 0003C 80A6D90C 468084A0 */ cvt.s.w $f18, $f16 -/* 00040 80A6D910 03E00008 */ jr $ra -/* 00044 80A6D914 E4D20008 */ swc1 $f18, 0x0008($a2) ## 00000008 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6D918.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6D918.s deleted file mode 100644 index 2d4bc42f58..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6D918.s +++ /dev/null @@ -1,126 +0,0 @@ -glabel func_80A6D918 -/* 00048 80A6D918 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 0004C 80A6D91C AFB00018 */ sw $s0, 0x0018($sp) -/* 00050 80A6D920 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00054 80A6D924 AFBF001C */ sw $ra, 0x001C($sp) -/* 00058 80A6D928 AFA5003C */ sw $a1, 0x003C($sp) -/* 0005C 80A6D92C 3C0480A7 */ lui $a0, %hi(D_80A6E240) ## $a0 = 80A70000 -/* 00060 80A6D930 2484E240 */ addiu $a0, $a0, %lo(D_80A6E240) ## $a0 = 80A6E240 -/* 00064 80A6D934 8E0501EC */ lw $a1, 0x01EC($s0) ## 000001EC -/* 00068 80A6D938 0C29B634 */ jal func_80A6D8D0 -/* 0006C 80A6D93C 27A60028 */ addiu $a2, $sp, 0x0028 ## $a2 = FFFFFFF0 -/* 00070 80A6D940 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 00074 80A6D944 AFA50020 */ sw $a1, 0x0020($sp) -/* 00078 80A6D948 0C032D9E */ jal Math3D_Vec3f_DistXYZ -/* 0007C 80A6D94C 27A40028 */ addiu $a0, $sp, 0x0028 ## $a0 = FFFFFFF0 -/* 00080 80A6D950 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000 -/* 00084 80A6D954 44812000 */ mtc1 $at, $f4 ## $f4 = 400.00 -/* 00088 80A6D958 00000000 */ nop -/* 0008C 80A6D95C 4604003E */ c.le.s $f0, $f4 -/* 00090 80A6D960 00000000 */ nop -/* 00094 80A6D964 4502000D */ bc1fl .L80A6D99C -/* 00098 80A6D968 8FA40020 */ lw $a0, 0x0020($sp) -/* 0009C 80A6D96C 8E0E01EC */ lw $t6, 0x01EC($s0) ## 000001EC -/* 000A0 80A6D970 3C0480A7 */ lui $a0, %hi(D_80A6E240) ## $a0 = 80A70000 -/* 000A4 80A6D974 2484E240 */ addiu $a0, $a0, %lo(D_80A6E240) ## $a0 = 80A6E240 -/* 000A8 80A6D978 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001 -/* 000AC 80A6D97C 29E1000E */ slti $at, $t7, 0x000E -/* 000B0 80A6D980 14200005 */ bne $at, $zero, .L80A6D998 -/* 000B4 80A6D984 AE0F01EC */ sw $t7, 0x01EC($s0) ## 000001EC -/* 000B8 80A6D988 AE0001EC */ sw $zero, 0x01EC($s0) ## 000001EC -/* 000BC 80A6D98C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 000C0 80A6D990 0C29B634 */ jal func_80A6D8D0 -/* 000C4 80A6D994 27A60028 */ addiu $a2, $sp, 0x0028 ## $a2 = FFFFFFF0 -.L80A6D998: -/* 000C8 80A6D998 8FA40020 */ lw $a0, 0x0020($sp) -.L80A6D99C: -/* 000CC 80A6D99C 0C01E01A */ jal Math_Vec3f_Yaw - -/* 000D0 80A6D9A0 27A50028 */ addiu $a1, $sp, 0x0028 ## $a1 = FFFFFFF0 -/* 000D4 80A6D9A4 86030032 */ lh $v1, 0x0032($s0) ## 00000032 -/* 000D8 80A6D9A8 00432023 */ subu $a0, $v0, $v1 -/* 000DC 80A6D9AC 00042400 */ sll $a0, $a0, 16 -/* 000E0 80A6D9B0 00042403 */ sra $a0, $a0, 16 -/* 000E4 80A6D9B4 2881012D */ slti $at, $a0, 0x012D -/* 000E8 80A6D9B8 14200003 */ bne $at, $zero, .L80A6D9C8 -/* 000EC 80A6D9BC 2479012C */ addiu $t9, $v1, 0x012C ## $t9 = 0000012C -/* 000F0 80A6D9C0 10000008 */ beq $zero, $zero, .L80A6D9E4 -/* 000F4 80A6D9C4 A6190032 */ sh $t9, 0x0032($s0) ## 00000032 -.L80A6D9C8: -/* 000F8 80A6D9C8 2881FED4 */ slti $at, $a0, 0xFED4 -/* 000FC 80A6D9CC 10200004 */ beq $at, $zero, .L80A6D9E0 -/* 00100 80A6D9D0 00644821 */ addu $t1, $v1, $a0 -/* 00104 80A6D9D4 2468FED4 */ addiu $t0, $v1, 0xFED4 ## $t0 = FFFFFED4 -/* 00108 80A6D9D8 10000002 */ beq $zero, $zero, .L80A6D9E4 -/* 0010C 80A6D9DC A6080032 */ sh $t0, 0x0032($s0) ## 00000032 -.L80A6D9E0: -/* 00110 80A6D9E0 A6090032 */ sh $t1, 0x0032($s0) ## 00000032 -.L80A6D9E4: -/* 00114 80A6D9E4 860A0032 */ lh $t2, 0x0032($s0) ## 00000032 -/* 00118 80A6D9E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0011C 80A6D9EC A60A00B6 */ sh $t2, 0x00B6($s0) ## 000000B6 -/* 00120 80A6D9F0 8FAB003C */ lw $t3, 0x003C($sp) -/* 00124 80A6D9F4 0C00B6E3 */ jal func_8002DB8C -/* 00128 80A6D9F8 8D651C44 */ lw $a1, 0x1C44($t3) ## 00001C44 -/* 0012C 80A6D9FC 3C014396 */ lui $at, 0x4396 ## $at = 43960000 -/* 00130 80A6DA00 44813000 */ mtc1 $at, $f6 ## $f6 = 300.00 -/* 00134 80A6DA04 3C014140 */ lui $at, 0x4140 ## $at = 41400000 -/* 00138 80A6DA08 4606003E */ c.le.s $f0, $f6 -/* 0013C 80A6DA0C 00000000 */ nop -/* 00140 80A6DA10 45020014 */ bc1fl .L80A6DA64 -/* 00144 80A6DA14 8E0C01EC */ lw $t4, 0x01EC($s0) ## 000001EC -/* 00148 80A6DA18 C6000068 */ lwc1 $f0, 0x0068($s0) ## 00000068 -/* 0014C 80A6DA1C 44814000 */ mtc1 $at, $f8 ## $f8 = 12.00 -/* 00150 80A6DA20 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00154 80A6DA24 4608003C */ c.lt.s $f0, $f8 -/* 00158 80A6DA28 00000000 */ nop -/* 0015C 80A6DA2C 45020008 */ bc1fl .L80A6DA50 -/* 00160 80A6DA30 44819000 */ mtc1 $at, $f18 ## $f18 = 1.00 -/* 00164 80A6DA34 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00168 80A6DA38 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00 -/* 0016C 80A6DA3C 00000000 */ nop -/* 00170 80A6DA40 460A0400 */ add.s $f16, $f0, $f10 -/* 00174 80A6DA44 10000021 */ beq $zero, $zero, .L80A6DACC -/* 00178 80A6DA48 E6100068 */ swc1 $f16, 0x0068($s0) ## 00000068 -/* 0017C 80A6DA4C 44819000 */ mtc1 $at, $f18 ## $f18 = 1.00 -.L80A6DA50: -/* 00180 80A6DA50 00000000 */ nop -/* 00184 80A6DA54 46120101 */ sub.s $f4, $f0, $f18 -/* 00188 80A6DA58 1000001C */ beq $zero, $zero, .L80A6DACC -/* 0018C 80A6DA5C E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068 -/* 00190 80A6DA60 8E0C01EC */ lw $t4, 0x01EC($s0) ## 000001EC -.L80A6DA64: -/* 00194 80A6DA64 3C0E80A7 */ lui $t6, %hi(D_80A6E246) ## $t6 = 80A70000 -/* 00198 80A6DA68 C6000068 */ lwc1 $f0, 0x0068($s0) ## 00000068 -/* 0019C 80A6DA6C 000C68C0 */ sll $t5, $t4, 3 -/* 001A0 80A6DA70 01CD7021 */ addu $t6, $t6, $t5 -/* 001A4 80A6DA74 91CEE246 */ lbu $t6, %lo(D_80A6E246)($t6) -/* 001A8 80A6DA78 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000 -/* 001AC 80A6DA7C 448E3000 */ mtc1 $t6, $f6 ## $f6 = -0.00 -/* 001B0 80A6DA80 05C10004 */ bgez $t6, .L80A6DA94 -/* 001B4 80A6DA84 46803220 */ cvt.s.w $f8, $f6 -/* 001B8 80A6DA88 44815000 */ mtc1 $at, $f10 ## $f10 = 4294967296.00 -/* 001BC 80A6DA8C 00000000 */ nop -/* 001C0 80A6DA90 460A4200 */ add.s $f8, $f8, $f10 -.L80A6DA94: -/* 001C4 80A6DA94 4608003C */ c.lt.s $f0, $f8 -/* 001C8 80A6DA98 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 001CC 80A6DA9C 45020008 */ bc1fl .L80A6DAC0 -/* 001D0 80A6DAA0 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50 -/* 001D4 80A6DAA4 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 001D8 80A6DAA8 44818000 */ mtc1 $at, $f16 ## $f16 = 0.50 -/* 001DC 80A6DAAC 00000000 */ nop -/* 001E0 80A6DAB0 46100480 */ add.s $f18, $f0, $f16 -/* 001E4 80A6DAB4 10000005 */ beq $zero, $zero, .L80A6DACC -/* 001E8 80A6DAB8 E6120068 */ swc1 $f18, 0x0068($s0) ## 00000068 -/* 001EC 80A6DABC 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50 -.L80A6DAC0: -/* 001F0 80A6DAC0 00000000 */ nop -/* 001F4 80A6DAC4 46040181 */ sub.s $f6, $f0, $f4 -/* 001F8 80A6DAC8 E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068 -.L80A6DACC: -/* 001FC 80A6DACC 8FBF001C */ lw $ra, 0x001C($sp) -/* 00200 80A6DAD0 8FB00018 */ lw $s0, 0x0018($sp) -/* 00204 80A6DAD4 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00208 80A6DAD8 03E00008 */ jr $ra -/* 0020C 80A6DADC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DC7C.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DC7C.s deleted file mode 100644 index a9cbfae648..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DC7C.s +++ /dev/null @@ -1,22 +0,0 @@ -glabel func_80A6DC7C -/* 003AC 80A6DC7C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 003B0 80A6DC80 AFBF0014 */ sw $ra, 0x0014($sp) -/* 003B4 80A6DC84 8C8E0150 */ lw $t6, 0x0150($a0) ## 00000150 -/* 003B8 80A6DC88 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 003BC 80A6DC8C AC80014C */ sw $zero, 0x014C($a0) ## 0000014C -/* 003C0 80A6DC90 25C20001 */ addiu $v0, $t6, 0x0001 ## $v0 = 00000001 -/* 003C4 80A6DC94 18400003 */ blez $v0, .L80A6DCA4 -/* 003C8 80A6DC98 AC820150 */ sw $v0, 0x0150($a0) ## 00000150 -/* 003CC 80A6DC9C AC800150 */ sw $zero, 0x0150($a0) ## 00000150 -/* 003D0 80A6DCA0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80A6DCA4: -/* 003D4 80A6DCA4 0002C080 */ sll $t8, $v0, 2 -/* 003D8 80A6DCA8 3C0580A7 */ lui $a1, %hi(D_80A6E1D0) ## $a1 = 80A70000 -/* 003DC 80A6DCAC 00B82821 */ addu $a1, $a1, $t8 -/* 003E0 80A6DCB0 8CA5E1D0 */ lw $a1, %lo(D_80A6E1D0)($a1) -/* 003E4 80A6DCB4 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop -/* 003E8 80A6DCB8 24C401A0 */ addiu $a0, $a2, 0x01A0 ## $a0 = 000001A0 -/* 003EC 80A6DCBC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 003F0 80A6DCC0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 003F4 80A6DCC4 03E00008 */ jr $ra -/* 003F8 80A6DCC8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DCCC.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DCCC.s deleted file mode 100644 index 435282f732..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DCCC.s +++ /dev/null @@ -1,21 +0,0 @@ -glabel func_80A6DCCC -/* 003FC 80A6DCCC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00400 80A6DCD0 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00404 80A6DCD4 AFA5001C */ sw $a1, 0x001C($sp) -/* 00408 80A6DCD8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0040C 80A6DCDC AFA40018 */ sw $a0, 0x0018($sp) -/* 00410 80A6DCE0 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000 -/* 00414 80A6DCE4 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068 -/* 00418 80A6DCE8 AFA50018 */ sw $a1, 0x0018($sp) -/* 0041C 80A6DCEC 0C02927F */ jal SkelAnime_FrameUpdateMatrix - -/* 00420 80A6DCF0 248401A0 */ addiu $a0, $a0, 0x01A0 ## $a0 = 000001A0 -/* 00424 80A6DCF4 10400003 */ beq $v0, $zero, .L80A6DD04 -/* 00428 80A6DCF8 8FA50018 */ lw $a1, 0x0018($sp) -/* 0042C 80A6DCFC 0C29B71F */ jal func_80A6DC7C -/* 00430 80A6DD00 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -.L80A6DD04: -/* 00434 80A6DD04 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00438 80A6DD08 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 0043C 80A6DD0C 03E00008 */ jr $ra -/* 00440 80A6DD10 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DD14.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DD14.s deleted file mode 100644 index 1340fa1b6c..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DD14.s +++ /dev/null @@ -1,62 +0,0 @@ -glabel func_80A6DD14 -/* 00444 80A6DD14 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00448 80A6DD18 AFBF002C */ sw $ra, 0x002C($sp) -/* 0044C 80A6DD1C AFB00028 */ sw $s0, 0x0028($sp) -/* 00450 80A6DD20 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000 -/* 00454 80A6DD24 44813000 */ mtc1 $at, $f6 ## $f6 = 6.00 -/* 00458 80A6DD28 C4840068 */ lwc1 $f4, 0x0068($a0) ## 00000068 -/* 0045C 80A6DD2C 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 00460 80A6DD30 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C -/* 00464 80A6DD34 46062203 */ div.s $f8, $f4, $f6 -/* 00468 80A6DD38 AC800150 */ sw $zero, 0x0150($a0) ## 00000150 -/* 0046C 80A6DD3C 3C078013 */ lui $a3, %hi(D_801333E0) -/* 00470 80A6DD40 3C0F8013 */ lui $t7, %hi(D_801333E8) -/* 00474 80A6DD44 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 00478 80A6DD48 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0047C 80A6DD4C 25EF33E8 */ addiu $t7, %lo(D_801333E8) -/* 00480 80A6DD50 AFAF0014 */ sw $t7, 0x0014($sp) -/* 00484 80A6DD54 260500E4 */ addiu $a1, $s0, 0x00E4 ## $a1 = 000000E4 -/* 00488 80A6DD58 24042804 */ addiu $a0, $zero, 0x2804 ## $a0 = 00002804 -/* 0048C 80A6DD5C AFA70010 */ sw $a3, 0x0010($sp) -/* 00490 80A6DD60 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00494 80A6DD64 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 00498 80A6DD68 E7A80034 */ swc1 $f8, 0x0034($sp) -/* 0049C 80A6DD6C 8E180150 */ lw $t8, 0x0150($s0) ## 00000150 -/* 004A0 80A6DD70 3C0480A7 */ lui $a0, %hi(D_80A6E1D0) ## $a0 = 80A70000 -/* 004A4 80A6DD74 0018C880 */ sll $t9, $t8, 2 -/* 004A8 80A6DD78 00992021 */ addu $a0, $a0, $t9 -/* 004AC 80A6DD7C 0C028800 */ jal SkelAnime_GetFrameCount - -/* 004B0 80A6DD80 8C84E1D0 */ lw $a0, %lo(D_80A6E1D0)($a0) -/* 004B4 80A6DD84 8E030150 */ lw $v1, 0x0150($s0) ## 00000150 -/* 004B8 80A6DD88 3C0180A7 */ lui $at, %hi(D_80A6E1D4) ## $at = 80A70000 -/* 004BC 80A6DD8C C7B00034 */ lwc1 $f16, 0x0034($sp) -/* 004C0 80A6DD90 00031880 */ sll $v1, $v1, 2 -/* 004C4 80A6DD94 00230821 */ addu $at, $at, $v1 -/* 004C8 80A6DD98 C42AE1D4 */ lwc1 $f10, %lo(D_80A6E1D4)($at) -/* 004CC 80A6DD9C 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000 -/* 004D0 80A6DDA0 44812000 */ mtc1 $at, $f4 ## $f4 = 1.50 -/* 004D4 80A6DDA4 46105482 */ mul.s $f18, $f10, $f16 -/* 004D8 80A6DDA8 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00 -/* 004DC 80A6DDAC 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 004E0 80A6DDB0 3C0580A7 */ lui $a1, %hi(D_80A6E1D0) ## $a1 = 80A70000 -/* 004E4 80A6DDB4 00A32821 */ addu $a1, $a1, $v1 -/* 004E8 80A6DDB8 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002 -/* 004EC 80A6DDBC 468042A0 */ cvt.s.w $f10, $f8 -/* 004F0 80A6DDC0 46049182 */ mul.s $f6, $f18, $f4 -/* 004F4 80A6DDC4 44070000 */ mfc1 $a3, $f0 -/* 004F8 80A6DDC8 AFA80014 */ sw $t0, 0x0014($sp) -/* 004FC 80A6DDCC 8CA5E1D0 */ lw $a1, %lo(D_80A6E1D0)($a1) -/* 00500 80A6DDD0 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0 -/* 00504 80A6DDD4 E7AA0010 */ swc1 $f10, 0x0010($sp) -/* 00508 80A6DDD8 E7A00018 */ swc1 $f0, 0x0018($sp) -/* 0050C 80A6DDDC 44063000 */ mfc1 $a2, $f6 -/* 00510 80A6DDE0 0C029468 */ jal SkelAnime_ChangeAnim - -/* 00514 80A6DDE4 00000000 */ nop -/* 00518 80A6DDE8 8FBF002C */ lw $ra, 0x002C($sp) -/* 0051C 80A6DDEC 8FB00028 */ lw $s0, 0x0028($sp) -/* 00520 80A6DDF0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00524 80A6DDF4 03E00008 */ jr $ra -/* 00528 80A6DDF8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DDFC.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DDFC.s deleted file mode 100644 index fbe7c3d9d2..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DDFC.s +++ /dev/null @@ -1,18 +0,0 @@ -glabel func_80A6DDFC -/* 0052C 80A6DDFC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00530 80A6DE00 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00534 80A6DE04 0C29B646 */ jal func_80A6D918 -/* 00538 80A6DE08 AFA40018 */ sw $a0, 0x0018($sp) -/* 0053C 80A6DE0C 8FA40018 */ lw $a0, 0x0018($sp) -/* 00540 80A6DE10 0C02927F */ jal SkelAnime_FrameUpdateMatrix - -/* 00544 80A6DE14 248401A0 */ addiu $a0, $a0, 0x01A0 ## $a0 = 000001A0 -/* 00548 80A6DE18 50400004 */ beql $v0, $zero, .L80A6DE2C -/* 0054C 80A6DE1C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00550 80A6DE20 0C29B745 */ jal func_80A6DD14 -/* 00554 80A6DE24 8FA40018 */ lw $a0, 0x0018($sp) -/* 00558 80A6DE28 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A6DE2C: -/* 0055C 80A6DE2C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00560 80A6DE30 03E00008 */ jr $ra -/* 00564 80A6DE34 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DE38.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DE38.s deleted file mode 100644 index 0279eab656..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DE38.s +++ /dev/null @@ -1,58 +0,0 @@ -.late_rodata -glabel D_80A6E2C0 - .float 10430.378 - -.text -glabel func_80A6DE38 -/* 00568 80A6DE38 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 0056C 80A6DE3C AFB00018 */ sw $s0, 0x0018($sp) -/* 00570 80A6DE40 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00574 80A6DE44 AFBF001C */ sw $ra, 0x001C($sp) -/* 00578 80A6DE48 AFA50044 */ sw $a1, 0x0044($sp) -/* 0057C 80A6DE4C 0C01DE1C */ jal Math_Sins - ## sins? -/* 00580 80A6DE50 848400B6 */ lh $a0, 0x00B6($a0) ## 000000B6 -/* 00584 80A6DE54 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00588 80A6DE58 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00 -/* 0058C 80A6DE5C C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024 -/* 00590 80A6DE60 3C014270 */ lui $at, 0x4270 ## $at = 42700000 -/* 00594 80A6DE64 46040182 */ mul.s $f6, $f0, $f4 -/* 00598 80A6DE68 44819000 */ mtc1 $at, $f18 ## $f18 = 60.00 -/* 0059C 80A6DE6C 46083280 */ add.s $f10, $f6, $f8 -/* 005A0 80A6DE70 E7AA0028 */ swc1 $f10, 0x0028($sp) -/* 005A4 80A6DE74 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028 -/* 005A8 80A6DE78 46128100 */ add.s $f4, $f16, $f18 -/* 005AC 80A6DE7C E7A4002C */ swc1 $f4, 0x002C($sp) -/* 005B0 80A6DE80 0C01DE0D */ jal Math_Coss - ## coss? -/* 005B4 80A6DE84 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 005B8 80A6DE88 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 005BC 80A6DE8C 44813000 */ mtc1 $at, $f6 ## $f6 = 30.00 -/* 005C0 80A6DE90 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C -/* 005C4 80A6DE94 8FA40044 */ lw $a0, 0x0044($sp) -/* 005C8 80A6DE98 46060202 */ mul.s $f8, $f0, $f6 -/* 005CC 80A6DE9C 27A50038 */ addiu $a1, $sp, 0x0038 ## $a1 = FFFFFFF8 -/* 005D0 80A6DEA0 27A60024 */ addiu $a2, $sp, 0x0024 ## $a2 = FFFFFFE4 -/* 005D4 80A6DEA4 27A70028 */ addiu $a3, $sp, 0x0028 ## $a3 = FFFFFFE8 -/* 005D8 80A6DEA8 248407C0 */ addiu $a0, $a0, 0x07C0 ## $a0 = 000007C0 -/* 005DC 80A6DEAC 460A4400 */ add.s $f16, $f8, $f10 -/* 005E0 80A6DEB0 0C00F250 */ jal func_8003C940 -/* 005E4 80A6DEB4 E7B00030 */ swc1 $f16, 0x0030($sp) -/* 005E8 80A6DEB8 C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028 -/* 005EC 80A6DEBC 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 005F0 80A6DEC0 44817000 */ mtc1 $at, $f14 ## $f14 = 30.00 -/* 005F4 80A6DEC4 E60001F4 */ swc1 $f0, 0x01F4($s0) ## 000001F4 -/* 005F8 80A6DEC8 0C03F494 */ jal Math_atan2f -/* 005FC 80A6DECC 46009301 */ sub.s $f12, $f18, $f0 -/* 00600 80A6DED0 3C0180A7 */ lui $at, %hi(D_80A6E2C0) ## $at = 80A70000 -/* 00604 80A6DED4 C424E2C0 */ lwc1 $f4, %lo(D_80A6E2C0)($at) -/* 00608 80A6DED8 46040182 */ mul.s $f6, $f0, $f4 -/* 0060C 80A6DEDC 4600320D */ trunc.w.s $f8, $f6 -/* 00610 80A6DEE0 440F4000 */ mfc1 $t7, $f8 -/* 00614 80A6DEE4 00000000 */ nop -/* 00618 80A6DEE8 A60F00B4 */ sh $t7, 0x00B4($s0) ## 000000B4 -/* 0061C 80A6DEEC 8FBF001C */ lw $ra, 0x001C($sp) -/* 00620 80A6DEF0 8FB00018 */ lw $s0, 0x0018($sp) -/* 00624 80A6DEF4 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 00628 80A6DEF8 03E00008 */ jr $ra -/* 0062C 80A6DEFC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DFD4.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DFD4.s deleted file mode 100644 index 4d13924d8d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DFD4.s +++ /dev/null @@ -1,103 +0,0 @@ -glabel func_80A6DFD4 -/* 00704 80A6DFD4 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8 -/* 00708 80A6DFD8 AFBF002C */ sw $ra, 0x002C($sp) -/* 0070C 80A6DFDC AFB50028 */ sw $s5, 0x0028($sp) -/* 00710 80A6DFE0 AFB40024 */ sw $s4, 0x0024($sp) -/* 00714 80A6DFE4 AFB30020 */ sw $s3, 0x0020($sp) -/* 00718 80A6DFE8 AFB2001C */ sw $s2, 0x001C($sp) -/* 0071C 80A6DFEC AFB10018 */ sw $s1, 0x0018($sp) -/* 00720 80A6DFF0 AFB00014 */ sw $s0, 0x0014($sp) -/* 00724 80A6DFF4 AFA5005C */ sw $a1, 0x005C($sp) -/* 00728 80A6DFF8 8C8E0260 */ lw $t6, 0x0260($a0) ## 00000260 -/* 0072C 80A6DFFC 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 00730 80A6E000 00C09825 */ or $s3, $a2, $zero ## $s3 = 00000000 -/* 00734 80A6E004 19C00047 */ blez $t6, .L80A6E124 -/* 00738 80A6E008 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -/* 0073C 80A6E00C 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 00740 80A6E010 27B50040 */ addiu $s5, $sp, 0x0040 ## $s5 = FFFFFFE8 -/* 00744 80A6E014 27B4004C */ addiu $s4, $sp, 0x004C ## $s4 = FFFFFFF4 -/* 00748 80A6E018 8E2F0264 */ lw $t7, 0x0264($s1) ## 00000264 -.L80A6E01C: -/* 0074C 80A6E01C 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 00750 80A6E020 02803025 */ or $a2, $s4, $zero ## $a2 = FFFFFFF4 -/* 00754 80A6E024 01F0C021 */ addu $t8, $t7, $s0 -/* 00758 80A6E028 87190028 */ lh $t9, 0x0028($t8) ## 00000028 -/* 0075C 80A6E02C 02A03825 */ or $a3, $s5, $zero ## $a3 = FFFFFFE8 -/* 00760 80A6E030 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00 -/* 00764 80A6E034 00000000 */ nop -/* 00768 80A6E038 468021A0 */ cvt.s.w $f6, $f4 -/* 0076C 80A6E03C E7A6004C */ swc1 $f6, 0x004C($sp) -/* 00770 80A6E040 8E280264 */ lw $t0, 0x0264($s1) ## 00000264 -/* 00774 80A6E044 01104821 */ addu $t1, $t0, $s0 -/* 00778 80A6E048 852A002A */ lh $t2, 0x002A($t1) ## 0000002A -/* 0077C 80A6E04C 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00 -/* 00780 80A6E050 00000000 */ nop -/* 00784 80A6E054 468042A0 */ cvt.s.w $f10, $f8 -/* 00788 80A6E058 E7AA0050 */ swc1 $f10, 0x0050($sp) -/* 0078C 80A6E05C 8E2B0264 */ lw $t3, 0x0264($s1) ## 00000264 -/* 00790 80A6E060 01706021 */ addu $t4, $t3, $s0 -/* 00794 80A6E064 858D002C */ lh $t5, 0x002C($t4) ## 0000002C -/* 00798 80A6E068 448D8000 */ mtc1 $t5, $f16 ## $f16 = 0.00 -/* 0079C 80A6E06C 00000000 */ nop -/* 007A0 80A6E070 468084A0 */ cvt.s.w $f18, $f16 -/* 007A4 80A6E074 E7B20054 */ swc1 $f18, 0x0054($sp) -/* 007A8 80A6E078 8E2E0264 */ lw $t6, 0x0264($s1) ## 00000264 -/* 007AC 80A6E07C 01D07821 */ addu $t7, $t6, $s0 -/* 007B0 80A6E080 0C029902 */ jal func_800A6408 -/* 007B4 80A6E084 91E5003C */ lbu $a1, 0x003C($t7) ## 0000003C -/* 007B8 80A6E088 C7A40040 */ lwc1 $f4, 0x0040($sp) -/* 007BC 80A6E08C 8E280264 */ lw $t0, 0x0264($s1) ## 00000264 -/* 007C0 80A6E090 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 007C4 80A6E094 4600218D */ trunc.w.s $f6, $f4 -/* 007C8 80A6E098 01104821 */ addu $t1, $t0, $s0 -/* 007CC 80A6E09C 44193000 */ mfc1 $t9, $f6 -/* 007D0 80A6E0A0 00000000 */ nop -/* 007D4 80A6E0A4 A5390030 */ sh $t9, 0x0030($t1) ## 00000030 -/* 007D8 80A6E0A8 C7A80044 */ lwc1 $f8, 0x0044($sp) -/* 007DC 80A6E0AC 8E2C0264 */ lw $t4, 0x0264($s1) ## 00000264 -/* 007E0 80A6E0B0 4600428D */ trunc.w.s $f10, $f8 -/* 007E4 80A6E0B4 01906821 */ addu $t5, $t4, $s0 -/* 007E8 80A6E0B8 440B5000 */ mfc1 $t3, $f10 -/* 007EC 80A6E0BC 00000000 */ nop -/* 007F0 80A6E0C0 A5AB0032 */ sh $t3, 0x0032($t5) ## 00000032 -/* 007F4 80A6E0C4 C7B00048 */ lwc1 $f16, 0x0048($sp) -/* 007F8 80A6E0C8 8E380264 */ lw $t8, 0x0264($s1) ## 00000264 -/* 007FC 80A6E0CC 4600848D */ trunc.w.s $f18, $f16 -/* 00800 80A6E0D0 03104021 */ addu $t0, $t8, $s0 -/* 00804 80A6E0D4 440F9000 */ mfc1 $t7, $f18 -/* 00808 80A6E0D8 00000000 */ nop -/* 0080C 80A6E0DC A50F0034 */ sh $t7, 0x0034($t0) ## 00000034 -/* 00810 80A6E0E0 8E390264 */ lw $t9, 0x0264($s1) ## 00000264 -/* 00814 80A6E0E4 03301021 */ addu $v0, $t9, $s0 -/* 00818 80A6E0E8 8449002E */ lh $t1, 0x002E($v0) ## 0000002E -/* 0081C 80A6E0EC C4440038 */ lwc1 $f4, 0x0038($v0) ## 00000038 -/* 00820 80A6E0F0 26100040 */ addiu $s0, $s0, 0x0040 ## $s0 = 00000040 -/* 00824 80A6E0F4 44893000 */ mtc1 $t1, $f6 ## $f6 = 0.00 -/* 00828 80A6E0F8 00000000 */ nop -/* 0082C 80A6E0FC 46803220 */ cvt.s.w $f8, $f6 -/* 00830 80A6E100 46082282 */ mul.s $f10, $f4, $f8 -/* 00834 80A6E104 4600540D */ trunc.w.s $f16, $f10 -/* 00838 80A6E108 440C8000 */ mfc1 $t4, $f16 -/* 0083C 80A6E10C 00000000 */ nop -/* 00840 80A6E110 A44C0036 */ sh $t4, 0x0036($v0) ## 00000036 -/* 00844 80A6E114 8E2B0260 */ lw $t3, 0x0260($s1) ## 00000260 -/* 00848 80A6E118 024B082A */ slt $at, $s2, $t3 -/* 0084C 80A6E11C 5420FFBF */ bnel $at, $zero, .L80A6E01C -/* 00850 80A6E120 8E2F0264 */ lw $t7, 0x0264($s1) ## 00000264 -.L80A6E124: -/* 00854 80A6E124 8FA4005C */ lw $a0, 0x005C($sp) -/* 00858 80A6E128 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 0085C 80A6E12C 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00860 80A6E130 26260248 */ addiu $a2, $s1, 0x0248 ## $a2 = 00000248 -/* 00864 80A6E134 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOT -/* 00868 80A6E138 00812821 */ addu $a1, $a0, $at -/* 0086C 80A6E13C 8FBF002C */ lw $ra, 0x002C($sp) -/* 00870 80A6E140 8FB00014 */ lw $s0, 0x0014($sp) -/* 00874 80A6E144 8FB10018 */ lw $s1, 0x0018($sp) -/* 00878 80A6E148 8FB2001C */ lw $s2, 0x001C($sp) -/* 0087C 80A6E14C 8FB30020 */ lw $s3, 0x0020($sp) -/* 00880 80A6E150 8FB40024 */ lw $s4, 0x0024($sp) -/* 00884 80A6E154 8FB50028 */ lw $s5, 0x0028($sp) -/* 00888 80A6E158 03E00008 */ jr $ra -/* 0088C 80A6E15C 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000 diff --git a/data/overlays/actors/z_en_horse_zelda.data.s b/data/overlays/actors/z_en_horse_zelda.data.s deleted file mode 100644 index 920ad01ec3..0000000000 --- a/data/overlays/actors/z_en_horse_zelda.data.s +++ /dev/null @@ -1,41 +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 En_Horse_Zelda_InitVars - .word 0x005B0100, 0x00000010, 0x00460000, 0x000002A8 -.word EnHorseZelda_Init -.word EnHorseZelda_Destroy -.word EnHorseZelda_Update -.word EnHorseZelda_Draw -glabel D_80A6E1D0 - .word 0x06007148 -glabel D_80A6E1D4 - .word 0x3F2AAAAB -glabel D_80A6E1D8 - .word 0x0A000039, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00280064, 0x00000000, 0x00000000 -glabel D_80A6E204 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x0D000000, 0x00000000, 0x00140064 -glabel D_80A6E228 - .word 0x0A000939, 0x12000000, 0x00000001 -.word D_80A6E204 -glabel D_80A6E238 - .word 0x0A000023, 0x0064FE00 -glabel D_80A6E240 - .byte 0xF9, 0x6E, 0xFE, 0x0C, 0x31, 0x22 -glabel D_80A6E246 - .byte 0x07, 0x00, 0xF3, 0x28, 0xFE, 0x0C, 0x32, 0xD5, 0x07, 0x00, 0xEB, 0xEA, 0xFE, 0x5F, 0x2D, 0x6E, 0x07, 0x00, 0xE9, 0x5E, 0xFE, 0x27, 0x25, 0x65, 0x07, 0x00, 0xE5, 0x93, 0xFE, 0x0C, 0x20, 0xAC, 0x07, 0x00, 0xE6, 0x25, 0xFE, 0x77, 0x1B, 0x07, 0x07, 0x00, 0xEB, 0xB7, 0x00, 0x7C, 0x15, 0x39, 0x07, 0x00, 0xF4, 0x66, 0x00, 0x02, 0x11, 0xB9, 0x07, 0x00, 0xF4, 0x7B, 0xFF, 0xDD, 0x11, 0xAF, 0x07, 0x00, 0xF8, 0x8D, 0xFF, 0xD1, 0x0B, 0xA2, 0x07, 0x00, 0x09, 0xB8, 0x01, 0x26, 0x0E, 0x2C, 0x07, 0x00, 0x0C, 0x11, 0x01, 0x7A, 0x12, 0x69, 0x07, 0x00, 0x06, 0x4E, 0xFE, 0xFB, 0x1D, 0xAC, 0x07, 0x00, 0x02, 0xF2, 0xFF, 0x45, 0x24, 0x4F, 0x07, 0x00 -glabel D_80A6E2B0 - .word 0x30F804B0 -glabel D_80A6E2B4 - .word func_80A6DCCC -.word func_80A6DDFC -.word 0x00000000 - diff --git a/data/overlays/actors/z_en_horse_zelda.reloc.s b/data/overlays/actors/z_en_horse_zelda.reloc.s deleted file mode 100644 index 368348db13..0000000000 --- a/data/overlays/actors/z_en_horse_zelda.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_80A6E2D0 - .incbin "baserom/ovl_En_Horse_Zelda", 0xA00, 0x000000D0 diff --git a/spec b/spec index 3543c339a8..132b3bcff5 100644 --- a/spec +++ b/spec @@ -2531,8 +2531,7 @@ endseg beginseg name "ovl_En_Horse_Zelda" include "build/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.o" - include "build/data/overlays/actors/z_en_horse_zelda.data.o" - include "build/data/overlays/actors/z_en_horse_zelda.reloc.o" + include "build/src/overlays/actors/ovl_En_Horse_Zelda/ovl_En_Horse_Zelda_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c b/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c index 74a7ff9d9b..a918ccd9ee 100644 --- a/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c +++ b/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c @@ -15,7 +15,10 @@ void EnHorseZelda_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnHorseZelda_Update(Actor* thisx, GlobalContext* globalCtx); void EnHorseZelda_Draw(Actor* thisx, GlobalContext* globalCtx); -/* +void func_80A6DCCC(EnHorseZelda* this, GlobalContext* globalCtx); +void func_80A6DDFC(EnHorseZelda* this, GlobalContext* globalCtx); +void func_80A6DC7C(EnHorseZelda* this); + const ActorInit En_Horse_Zelda_InitVars = { ACTOR_EN_HORSE_ZELDA, ACTORTYPE_BG, @@ -27,27 +30,220 @@ const ActorInit En_Horse_Zelda_InitVars = { (ActorFunc)EnHorseZelda_Update, (ActorFunc)EnHorseZelda_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6D8D0.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6D918.s") +static AnimationHeader* sAnimationHeaders[] = { 0x06007148 }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/EnHorseZelda_Init.s") +static f32 sAnimPlaybackSpeeds[] = { 0.66666666f }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/EnHorseZelda_Destroy.s") +static ColliderCylinderInit_Set3 sCylinderInit = { + { COLTYPE_UNK10, 0x00, 0x00, 0x39, COLSHAPE_CYLINDER }, + { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 }, + { 40, 100, 0, { 0, 0, 0 } }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DC7C.s") +static ColliderJntSphItemInit sJntSphItemsInit[1] = { + { + { 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 }, + { 13, { { 0, 0, 0 }, 20 }, 100 }, + }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DCCC.s") +static ColliderJntSphInit sJntSphInit = { + { COLTYPE_UNK10, 0x00, 0x09, 0x39, 0x12, COLSHAPE_JNTSPH }, + 1, + sJntSphItemsInit, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DD14.s") +static CollisionCheckInfoInit sColChkInfoInit = { 0xA, 0x23, 0x64, 0xFE }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DDFC.s") +typedef struct { + /* 0x0 */ Vec3s unk_0; + /* 0x6 */ u8 unk_6; +} unknownStruct; // size = 0x8 -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DE38.s") +static unknownStruct D_80A6E240[] = { + { -1682, -500, 12578, 0x07 }, { -3288, -500, 13013, 0x07 }, { -5142, -417, 11630, 0x07 }, + { -5794, -473, 9573, 0x07 }, { -6765, -500, 8364, 0x07 }, { -6619, -393, 6919, 0x07 }, + { -5193, 124, 5433, 0x07 }, { -2970, 2, 4537, 0x07 }, { -2949, -35, 4527, 0x07 }, + { -1907, -47, 2978, 0x07 }, { 2488, 294, 3628, 0x07 }, { 3089, 378, 4713, 0x07 }, + { 1614, -261, 7596, 0x07 }, { 754, -187, 9295, 0x07 }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/EnHorseZelda_Update.s") +static InitChainEntry sInitChain[] = { + ICHAIN_F32(uncullZoneScale, 1200, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/func_80A6DFD4.s") +static EnHorseZeldaActionFunc sActionFuncs[] = { + func_80A6DCCC, + func_80A6DDFC, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Zelda/EnHorseZelda_Draw.s") +extern SkeletonHeader D_06006B2C; +extern AnimationHeader D_06007148; + +void func_80A6D8D0(unknownStruct* data, s32 index, Vec3f* vec) { + vec->x = data[index].unk_0.x; + vec->y = data[index].unk_0.y; + vec->z = data[index].unk_0.z; +} + +void func_80A6D918(EnHorseZelda* this, GlobalContext* globalCtx) { + s32 pad; + Vec3f sp28; + s16 yawDiff; + + func_80A6D8D0(D_80A6E240, this->unk_1EC, &sp28); + if (Math3D_Vec3f_DistXYZ(&sp28, &this->actor.posRot.pos) <= 400.0f) { + this->unk_1EC++; + if (this->unk_1EC >= 14) { + this->unk_1EC = 0; + func_80A6D8D0(D_80A6E240, 0, &sp28); + } + } + yawDiff = Math_Vec3f_Yaw(&this->actor.posRot.pos, &sp28) - this->actor.posRot.rot.y; + if (yawDiff >= 0x12D) { + this->actor.posRot.rot.y += 0x12C; + } else if (yawDiff < -0x12C) { + this->actor.posRot.rot.y -= 0x12C; + } else { + this->actor.posRot.rot.y += yawDiff; + } + this->actor.shape.rot.y = this->actor.posRot.rot.y; + + if (func_8002DB8C(&this->actor, &PLAYER->actor) <= 300.0f) { + if (this->actor.speedXZ < 12.0f) { + this->actor.speedXZ += 1.0f; + } else { + this->actor.speedXZ -= 1.0f; + } + } else if (this->actor.speedXZ < D_80A6E240[this->unk_1EC].unk_6) { + this->actor.speedXZ += 0.5f; + } else { + this->actor.speedXZ -= 0.5f; + } +} + +void EnHorseZelda_Init(Actor* thisx, GlobalContext* globalCtx) { + EnHorseZelda* this = THIS; + + Actor_ProcessInitChain(&this->actor, sInitChain); + Actor_SetScale(&this->actor, 0.0115f); + this->actor.gravity = -3.5f; + ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Squiggly, 20.0f); + this->actor.speedXZ = 0.0f; + this->actor.posRot2.pos = this->actor.posRot.pos; + this->action = 0; + this->actor.posRot2.pos.y += 70.0f; + func_800A663C(globalCtx, &this->skin, &D_06006B2C, &D_06007148); + this->animationIndex = 0; + SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimationHeaders[0]); + Collider_InitCylinder(globalCtx, &this->colliderCylinder); + Collider_SetCylinder_Set3(globalCtx, &this->colliderCylinder, &this->actor, &sCylinderInit); + Collider_InitJntSph(globalCtx, &this->colliderSphere); + Collider_SetJntSph(globalCtx, &this->colliderSphere, &this->actor, &sJntSphInit, &this->colliderSphereItem); + func_80061ED4(&this->actor.colChkInfo, NULL, &sColChkInfoInit); + this->animationIndex = 0; + func_80A6DC7C(this); +} + +void EnHorseZelda_Destroy(Actor* thisx, GlobalContext* globalCtx) { + EnHorseZelda* this = THIS; + + Collider_DestroyCylinder(globalCtx, &this->colliderCylinder); + Collider_DestroyJntSph(globalCtx, &this->colliderSphere); + func_800A6888(globalCtx, &this->skin); +} + +void func_80A6DC7C(EnHorseZelda* this) { + this->action = 0; + this->animationIndex++; + if (this->animationIndex > 0) { + this->animationIndex = 0; + } + SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimationHeaders[this->animationIndex]); +} + +void func_80A6DCCC(EnHorseZelda* this, GlobalContext* globalCtx) { + this->actor.speedXZ = 0.0f; + if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) { + func_80A6DC7C(this); + } +} + +void func_80A6DD14(EnHorseZelda* this) { + f32 sp34; + + this->action = 1; + this->animationIndex = 0; + sp34 = this->actor.speedXZ / 6.0f; + Audio_PlaySoundGeneral(NA_SE_EV_HORSE_RUN, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0, &D_801333E8); + SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimationHeaders[this->animationIndex], + sAnimPlaybackSpeeds[this->animationIndex] * sp34 * 1.5f, 0.0f, + SkelAnime_GetFrameCount(&sAnimationHeaders[this->animationIndex]->genericHeader), 2, 0.0f); +} + +void func_80A6DDFC(EnHorseZelda* this, GlobalContext* globalCtx) { + func_80A6D918(this, globalCtx); + if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) { + func_80A6DD14(this); + } +} + +void func_80A6DE38(EnHorseZelda* this, GlobalContext* globalCtx) { + s32 pad; + CollisionPoly* sp38; + s32 pad2; + Vec3f sp28; + f32 sp24; + + sp28.x = (Math_Sins(this->actor.shape.rot.y) * 30.0f) + this->actor.posRot.pos.x; + sp28.y = this->actor.posRot.pos.y + 60.0f; + sp28.z = (Math_Coss(this->actor.shape.rot.y) * 30.0f) + this->actor.posRot.pos.z; + this->unk_1F4 = func_8003C940(&globalCtx->colCtx, &sp38, &sp24, &sp28); + this->actor.shape.rot.x = Math_atan2f(this->actor.posRot.pos.y - this->unk_1F4, 30.0f) * (0x8000 / M_PI); +} + +void EnHorseZelda_Update(Actor* thisx, GlobalContext* globalCtx) { + EnHorseZelda* this = THIS; + s32 pad; + + sActionFuncs[this->action](this, globalCtx); + this->actor.speedXZ = 0.0f; + Actor_MoveForward(&this->actor); + func_8002E4B4(globalCtx, &this->actor, 20.0f, 55.0f, 100.0f, 0x1D); + this->actor.posRot2.pos = this->actor.posRot.pos; + this->actor.posRot2.pos.y += 70.0f; + Collider_CylinderUpdate(&this->actor, &this->colliderCylinder); + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colliderCylinder.base); +} + +void func_80A6DFD4(EnHorseZelda* this, GlobalContext* globalCtx, ColliderJntSphItem* colliderSphereItem) { + Vec3f sp4C; + Vec3f sp40; + s32 pad; + s32 i; + + for (i = 0; i < this->colliderSphere.count; i++) { + sp4C.x = this->colliderSphere.list[i].dim.modelSphere.center.x; + sp4C.y = this->colliderSphere.list[i].dim.modelSphere.center.y; + sp4C.z = this->colliderSphere.list[i].dim.modelSphere.center.z; + + func_800A6408(colliderSphereItem, this->colliderSphere.list[i].dim.joint, &sp4C, &sp40); + + this->colliderSphere.list[i].dim.worldSphere.center.x = sp40.x; + this->colliderSphere.list[i].dim.worldSphere.center.y = sp40.y; + this->colliderSphere.list[i].dim.worldSphere.center.z = sp40.z; + + this->colliderSphere.list[i].dim.worldSphere.radius = + this->colliderSphere.list[i].dim.modelSphere.radius * this->colliderSphere.list[i].dim.scale; + } + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colliderSphere.base); +} + +void EnHorseZelda_Draw(Actor* thisx, GlobalContext* globalCtx) { + EnHorseZelda* this = THIS; + + func_80A6DE38(this, globalCtx); + func_80093D18(globalCtx->state.gfxCtx); + func_800A6330(&this->actor, globalCtx, &this->skin, func_80A6DFD4, 1); +} diff --git a/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.h b/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.h index 41b3ffb4af..f0e18eae33 100644 --- a/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.h +++ b/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.h @@ -6,9 +6,21 @@ struct EnHorseZelda; +typedef void (*EnHorseZeldaActionFunc)(struct EnHorseZelda*, GlobalContext*); + typedef struct EnHorseZelda { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x15C]; + /* 0x014C */ s32 action; + /* 0x0150 */ s32 animationIndex; + /* 0x0154 */ PSkinAwb skin; + /* 0x01E4 */ char unk_1E4[0x8]; + /* 0x01EC */ s32 unk_1EC; + /* 0x01F0 */ char unk_1F0[0x4]; + /* 0x01F4 */ f32 unk_1F4; + /* 0x01F8 */ char unk_1F8[0x4]; + /* 0x01FC */ ColliderCylinder colliderCylinder; + /* 0x0248 */ ColliderJntSph colliderSphere; + /* 0x0268 */ ColliderJntSphItem colliderSphereItem; } EnHorseZelda; // size = 0x02A8 extern const ActorInit En_Horse_Zelda_InitVars; diff --git a/undefined_syms.txt b/undefined_syms.txt index 441fbdfa7d..d234abfac8 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -680,6 +680,10 @@ D_0600BC90 = 0x0600BC90; D_0600BCA0 = 0x0600BCA0; D_0600BE40 = 0x0600BE40; +// z_en_horse_zelda +D_06006B2C = 0x06006B2C; +D_06007148 = 0x06007148; + // z_en_zl2 D_0600325C = 0x0600325C; D_060003BC = 0x060003BC;