mirror of https://github.com/zeldaret/tp.git
242 lines
12 KiB
ArmAsm
242 lines
12 KiB
ArmAsm
/* 8026C5D0 00269510 94 21 FF 70 */ stwu r1, -0x90(r1)
|
|
/* 8026C5D4 00269514 7C 08 02 A6 */ mflr r0
|
|
/* 8026C5D8 00269518 90 01 00 94 */ stw r0, 0x94(r1)
|
|
/* 8026C5DC 0026951C DB E1 00 80 */ stfd f31, 0x80(r1)
|
|
/* 8026C5E0 00269520 F3 E1 00 88 */ psq_st f31, 136(r1), 0, 0
|
|
/* 8026C5E4 00269524 DB C1 00 70 */ stfd f30, 0x70(r1)
|
|
/* 8026C5E8 00269528 F3 C1 00 78 */ psq_st f30, 120(r1), 0, 0
|
|
/* 8026C5EC 0026952C 39 61 00 70 */ addi r11, r1, 0x70
|
|
/* 8026C5F0 00269530 48 0F 5B ED */ bl _savegpr_29
|
|
/* 8026C5F4 00269534 7C 7D 1B 78 */ mr r29, r3
|
|
/* 8026C5F8 00269538 7C 9E 23 78 */ mr r30, r4
|
|
/* 8026C5FC 0026953C 7C BF 2B 78 */ mr r31, r5
|
|
/* 8026C600 00269540 C0 23 00 04 */ lfs f1, 4(r3)
|
|
/* 8026C604 00269544 C0 03 00 10 */ lfs f0, 0x10(r3)
|
|
/* 8026C608 00269548 EF E1 00 2A */ fadds f31, f1, f0
|
|
/* 8026C60C 0026954C C0 44 00 18 */ lfs f2, 0x18(r4)
|
|
/* 8026C610 00269550 FC 01 10 40 */ fcmpo cr0, f1, f2
|
|
/* 8026C614 00269554 40 81 00 1C */ ble lbl_8026C630
|
|
/* 8026C618 00269558 C0 1E 00 24 */ lfs f0, 0x24(r30)
|
|
/* 8026C61C 0026955C FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8026C620 00269560 40 81 00 10 */ ble lbl_8026C630
|
|
/* 8026C624 00269564 C0 1E 00 30 */ lfs f0, 0x30(r30)
|
|
/* 8026C628 00269568 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8026C62C 0026956C 41 81 00 24 */ bgt lbl_8026C650
|
|
lbl_8026C630:
|
|
/* 8026C630 00269570 FC 1F 10 40 */ fcmpo cr0, f31, f2
|
|
/* 8026C634 00269574 40 80 00 24 */ bge lbl_8026C658
|
|
/* 8026C638 00269578 C0 1E 00 24 */ lfs f0, 0x24(r30)
|
|
/* 8026C63C 0026957C FC 1F 00 40 */ fcmpo cr0, f31, f0
|
|
/* 8026C640 00269580 40 80 00 18 */ bge lbl_8026C658
|
|
/* 8026C644 00269584 C0 1E 00 30 */ lfs f0, 0x30(r30)
|
|
/* 8026C648 00269588 FC 1F 00 40 */ fcmpo cr0, f31, f0
|
|
/* 8026C64C 0026958C 40 80 00 0C */ bge lbl_8026C658
|
|
lbl_8026C650:
|
|
/* 8026C650 00269590 38 60 00 00 */ li r3, 0
|
|
/* 8026C654 00269594 48 00 02 C8 */ b lbl_8026C91C
|
|
lbl_8026C658:
|
|
/* 8026C658 00269598 C3 C2 B7 C8 */ lfs f30, lbl_804551C8-_SDA2_BASE_(r2)
|
|
/* 8026C65C 0026959C 7F A3 EB 78 */ mr r3, r29
|
|
/* 8026C660 002695A0 38 9E 00 14 */ addi r4, r30, 0x14
|
|
/* 8026C664 002695A4 38 BE 00 20 */ addi r5, r30, 0x20
|
|
/* 8026C668 002695A8 38 C1 00 54 */ addi r6, r1, 0x54
|
|
/* 8026C66C 002695AC 38 E1 00 48 */ addi r7, r1, 0x48
|
|
/* 8026C670 002695B0 48 00 09 D5 */ bl cM3d_Cross_CylPntPnt__FPC8cM3dGCylPC3VecPC3VecP3VecP3Vec
|
|
/* 8026C674 002695B4 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8026C678 002695B8 41 82 00 2C */ beq lbl_8026C6A4
|
|
/* 8026C67C 002695BC 38 61 00 54 */ addi r3, r1, 0x54
|
|
/* 8026C680 002695C0 38 9E 00 14 */ addi r4, r30, 0x14
|
|
/* 8026C684 002695C4 48 0D AD 19 */ bl PSVECSquareDistance
|
|
/* 8026C688 002695C8 FF C0 08 90 */ fmr f30, f1
|
|
/* 8026C68C 002695CC C0 01 00 54 */ lfs f0, 0x54(r1)
|
|
/* 8026C690 002695D0 D0 1F 00 00 */ stfs f0, 0(r31)
|
|
/* 8026C694 002695D4 C0 01 00 58 */ lfs f0, 0x58(r1)
|
|
/* 8026C698 002695D8 D0 1F 00 04 */ stfs f0, 4(r31)
|
|
/* 8026C69C 002695DC C0 01 00 5C */ lfs f0, 0x5c(r1)
|
|
/* 8026C6A0 002695E0 D0 1F 00 08 */ stfs f0, 8(r31)
|
|
lbl_8026C6A4:
|
|
/* 8026C6A4 002695E4 7F A3 EB 78 */ mr r3, r29
|
|
/* 8026C6A8 002695E8 38 9E 00 2C */ addi r4, r30, 0x2c
|
|
/* 8026C6AC 002695EC 38 BE 00 20 */ addi r5, r30, 0x20
|
|
/* 8026C6B0 002695F0 38 C1 00 54 */ addi r6, r1, 0x54
|
|
/* 8026C6B4 002695F4 38 E1 00 48 */ addi r7, r1, 0x48
|
|
/* 8026C6B8 002695F8 48 00 09 8D */ bl cM3d_Cross_CylPntPnt__FPC8cM3dGCylPC3VecPC3VecP3VecP3Vec
|
|
/* 8026C6BC 002695FC 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8026C6C0 00269600 41 82 00 34 */ beq lbl_8026C6F4
|
|
/* 8026C6C4 00269604 38 61 00 54 */ addi r3, r1, 0x54
|
|
/* 8026C6C8 00269608 38 9E 00 2C */ addi r4, r30, 0x2c
|
|
/* 8026C6CC 0026960C 48 0D AC D1 */ bl PSVECSquareDistance
|
|
/* 8026C6D0 00269610 FC 1E 08 40 */ fcmpo cr0, f30, f1
|
|
/* 8026C6D4 00269614 40 81 00 20 */ ble lbl_8026C6F4
|
|
/* 8026C6D8 00269618 FF C0 08 90 */ fmr f30, f1
|
|
/* 8026C6DC 0026961C C0 01 00 54 */ lfs f0, 0x54(r1)
|
|
/* 8026C6E0 00269620 D0 1F 00 00 */ stfs f0, 0(r31)
|
|
/* 8026C6E4 00269624 C0 01 00 58 */ lfs f0, 0x58(r1)
|
|
/* 8026C6E8 00269628 D0 1F 00 04 */ stfs f0, 4(r31)
|
|
/* 8026C6EC 0026962C C0 01 00 5C */ lfs f0, 0x5c(r1)
|
|
/* 8026C6F0 00269630 D0 1F 00 08 */ stfs f0, 8(r31)
|
|
lbl_8026C6F4:
|
|
/* 8026C6F4 00269634 7F A3 EB 78 */ mr r3, r29
|
|
/* 8026C6F8 00269638 38 9E 00 14 */ addi r4, r30, 0x14
|
|
/* 8026C6FC 0026963C 38 BE 00 2C */ addi r5, r30, 0x2c
|
|
/* 8026C700 00269640 38 C1 00 54 */ addi r6, r1, 0x54
|
|
/* 8026C704 00269644 38 E1 00 48 */ addi r7, r1, 0x48
|
|
/* 8026C708 00269648 48 00 09 3D */ bl cM3d_Cross_CylPntPnt__FPC8cM3dGCylPC3VecPC3VecP3VecP3Vec
|
|
/* 8026C70C 0026964C 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8026C710 00269650 41 82 00 34 */ beq lbl_8026C744
|
|
/* 8026C714 00269654 38 61 00 54 */ addi r3, r1, 0x54
|
|
/* 8026C718 00269658 38 9E 00 14 */ addi r4, r30, 0x14
|
|
/* 8026C71C 0026965C 48 0D AC 81 */ bl PSVECSquareDistance
|
|
/* 8026C720 00269660 FC 1E 08 40 */ fcmpo cr0, f30, f1
|
|
/* 8026C724 00269664 40 81 00 20 */ ble lbl_8026C744
|
|
/* 8026C728 00269668 FF C0 08 90 */ fmr f30, f1
|
|
/* 8026C72C 0026966C C0 01 00 54 */ lfs f0, 0x54(r1)
|
|
/* 8026C730 00269670 D0 1F 00 00 */ stfs f0, 0(r31)
|
|
/* 8026C734 00269674 C0 01 00 58 */ lfs f0, 0x58(r1)
|
|
/* 8026C738 00269678 D0 1F 00 04 */ stfs f0, 4(r31)
|
|
/* 8026C73C 0026967C C0 01 00 5C */ lfs f0, 0x5c(r1)
|
|
/* 8026C740 00269680 D0 1F 00 08 */ stfs f0, 8(r31)
|
|
lbl_8026C744:
|
|
/* 8026C744 00269684 C0 02 B7 C8 */ lfs f0, lbl_804551C8-_SDA2_BASE_(r2)
|
|
/* 8026C748 00269688 FC 00 F0 00 */ fcmpu cr0, f0, f30
|
|
/* 8026C74C 0026968C 41 82 00 0C */ beq lbl_8026C758
|
|
/* 8026C750 00269690 38 60 00 01 */ li r3, 1
|
|
/* 8026C754 00269694 48 00 01 C8 */ b lbl_8026C91C
|
|
lbl_8026C758:
|
|
/* 8026C758 00269698 C0 1D 00 04 */ lfs f0, 4(r29)
|
|
/* 8026C75C 0026969C D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 8026C760 002696A0 D3 E1 00 14 */ stfs f31, 0x14(r1)
|
|
/* 8026C764 002696A4 7F C3 F3 78 */ mr r3, r30
|
|
/* 8026C768 002696A8 7F A4 EB 78 */ mr r4, r29
|
|
/* 8026C76C 002696AC 38 A1 00 10 */ addi r5, r1, 0x10
|
|
/* 8026C770 002696B0 38 C1 00 0C */ addi r6, r1, 0xc
|
|
/* 8026C774 002696B4 4B FF E3 75 */ bl cM3d_CrossY_Tri__FPC8cM3dGTriPC3VecPC10cM3d_RangePf
|
|
/* 8026C778 002696B8 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
|
/* 8026C77C 002696BC 41 82 01 9C */ beq lbl_8026C918
|
|
/* 8026C780 002696C0 C0 1D 00 00 */ lfs f0, 0(r29)
|
|
/* 8026C784 002696C4 D0 01 00 3C */ stfs f0, 0x3c(r1)
|
|
/* 8026C788 002696C8 C0 1D 00 04 */ lfs f0, 4(r29)
|
|
/* 8026C78C 002696CC D0 01 00 40 */ stfs f0, 0x40(r1)
|
|
/* 8026C790 002696D0 C0 1D 00 08 */ lfs f0, 8(r29)
|
|
/* 8026C794 002696D4 D0 01 00 44 */ stfs f0, 0x44(r1)
|
|
/* 8026C798 002696D8 C0 01 00 0C */ lfs f0, 0xc(r1)
|
|
/* 8026C79C 002696DC D0 01 00 40 */ stfs f0, 0x40(r1)
|
|
/* 8026C7A0 002696E0 38 7E 00 14 */ addi r3, r30, 0x14
|
|
/* 8026C7A4 002696E4 38 9E 00 20 */ addi r4, r30, 0x20
|
|
/* 8026C7A8 002696E8 38 A1 00 18 */ addi r5, r1, 0x18
|
|
/* 8026C7AC 002696EC 48 0D A8 E5 */ bl PSVECAdd
|
|
/* 8026C7B0 002696F0 38 61 00 18 */ addi r3, r1, 0x18
|
|
/* 8026C7B4 002696F4 38 81 00 30 */ addi r4, r1, 0x30
|
|
/* 8026C7B8 002696F8 C0 22 B7 C4 */ lfs f1, lbl_804551C4-_SDA2_BASE_(r2)
|
|
/* 8026C7BC 002696FC 48 0D A9 1D */ bl PSVECScale
|
|
/* 8026C7C0 00269700 38 61 00 30 */ addi r3, r1, 0x30
|
|
/* 8026C7C4 00269704 38 81 00 3C */ addi r4, r1, 0x3c
|
|
/* 8026C7C8 00269708 38 A1 00 24 */ addi r5, r1, 0x24
|
|
/* 8026C7CC 0026970C 48 0D A8 E9 */ bl PSVECSubtract
|
|
/* 8026C7D0 00269710 C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 8026C7D4 00269714 EC 20 00 32 */ fmuls f1, f0, f0
|
|
/* 8026C7D8 00269718 C0 01 00 2C */ lfs f0, 0x2c(r1)
|
|
/* 8026C7DC 0026971C EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 8026C7E0 00269720 EC 81 00 2A */ fadds f4, f1, f0
|
|
/* 8026C7E4 00269724 C0 02 B7 18 */ lfs f0, lbl_80455118-_SDA2_BASE_(r2)
|
|
/* 8026C7E8 00269728 FC 04 00 40 */ fcmpo cr0, f4, f0
|
|
/* 8026C7EC 0026972C 40 81 00 58 */ ble lbl_8026C844
|
|
/* 8026C7F0 00269730 FC 00 20 34 */ frsqrte f0, f4
|
|
/* 8026C7F4 00269734 C8 62 B7 20 */ lfd f3, lbl_80455120-_SDA2_BASE_(r2)
|
|
/* 8026C7F8 00269738 FC 23 00 32 */ fmul f1, f3, f0
|
|
/* 8026C7FC 0026973C C8 42 B7 28 */ lfd f2, lbl_80455128-_SDA2_BASE_(r2)
|
|
/* 8026C800 00269740 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 8026C804 00269744 FC 04 00 32 */ fmul f0, f4, f0
|
|
/* 8026C808 00269748 FC 02 00 28 */ fsub f0, f2, f0
|
|
/* 8026C80C 0026974C FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 8026C810 00269750 FC 23 00 32 */ fmul f1, f3, f0
|
|
/* 8026C814 00269754 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 8026C818 00269758 FC 04 00 32 */ fmul f0, f4, f0
|
|
/* 8026C81C 0026975C FC 02 00 28 */ fsub f0, f2, f0
|
|
/* 8026C820 00269760 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 8026C824 00269764 FC 23 00 32 */ fmul f1, f3, f0
|
|
/* 8026C828 00269768 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 8026C82C 0026976C FC 04 00 32 */ fmul f0, f4, f0
|
|
/* 8026C830 00269770 FC 02 00 28 */ fsub f0, f2, f0
|
|
/* 8026C834 00269774 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 8026C838 00269778 FC 84 00 32 */ fmul f4, f4, f0
|
|
/* 8026C83C 0026977C FC 80 20 18 */ frsp f4, f4
|
|
/* 8026C840 00269780 48 00 00 88 */ b lbl_8026C8C8
|
|
lbl_8026C844:
|
|
/* 8026C844 00269784 C8 02 B7 30 */ lfd f0, lbl_80455130-_SDA2_BASE_(r2)
|
|
/* 8026C848 00269788 FC 04 00 40 */ fcmpo cr0, f4, f0
|
|
/* 8026C84C 0026978C 40 80 00 10 */ bge lbl_8026C85C
|
|
/* 8026C850 00269790 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
|
|
/* 8026C854 00269794 C0 83 0A E0 */ lfs f4, lbl_80450AE0@l(r3)
|
|
/* 8026C858 00269798 48 00 00 70 */ b lbl_8026C8C8
|
|
lbl_8026C85C:
|
|
/* 8026C85C 0026979C D0 81 00 08 */ stfs f4, 8(r1)
|
|
/* 8026C860 002697A0 80 81 00 08 */ lwz r4, 8(r1)
|
|
/* 8026C864 002697A4 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
|
|
/* 8026C868 002697A8 3C 00 7F 80 */ lis r0, 0x7f80
|
|
/* 8026C86C 002697AC 7C 03 00 00 */ cmpw r3, r0
|
|
/* 8026C870 002697B0 41 82 00 14 */ beq lbl_8026C884
|
|
/* 8026C874 002697B4 40 80 00 40 */ bge lbl_8026C8B4
|
|
/* 8026C878 002697B8 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8026C87C 002697BC 41 82 00 20 */ beq lbl_8026C89C
|
|
/* 8026C880 002697C0 48 00 00 34 */ b lbl_8026C8B4
|
|
lbl_8026C884:
|
|
/* 8026C884 002697C4 54 80 02 7F */ clrlwi. r0, r4, 9
|
|
/* 8026C888 002697C8 41 82 00 0C */ beq lbl_8026C894
|
|
/* 8026C88C 002697CC 38 00 00 01 */ li r0, 1
|
|
/* 8026C890 002697D0 48 00 00 28 */ b lbl_8026C8B8
|
|
lbl_8026C894:
|
|
/* 8026C894 002697D4 38 00 00 02 */ li r0, 2
|
|
/* 8026C898 002697D8 48 00 00 20 */ b lbl_8026C8B8
|
|
lbl_8026C89C:
|
|
/* 8026C89C 002697DC 54 80 02 7F */ clrlwi. r0, r4, 9
|
|
/* 8026C8A0 002697E0 41 82 00 0C */ beq lbl_8026C8AC
|
|
/* 8026C8A4 002697E4 38 00 00 05 */ li r0, 5
|
|
/* 8026C8A8 002697E8 48 00 00 10 */ b lbl_8026C8B8
|
|
lbl_8026C8AC:
|
|
/* 8026C8AC 002697EC 38 00 00 03 */ li r0, 3
|
|
/* 8026C8B0 002697F0 48 00 00 08 */ b lbl_8026C8B8
|
|
lbl_8026C8B4:
|
|
/* 8026C8B4 002697F4 38 00 00 04 */ li r0, 4
|
|
lbl_8026C8B8:
|
|
/* 8026C8B8 002697F8 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 8026C8BC 002697FC 40 82 00 0C */ bne lbl_8026C8C8
|
|
/* 8026C8C0 00269800 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
|
|
/* 8026C8C4 00269804 C0 83 0A E0 */ lfs f4, lbl_80450AE0@l(r3)
|
|
lbl_8026C8C8:
|
|
/* 8026C8C8 00269808 FC 00 22 10 */ fabs f0, f4
|
|
/* 8026C8CC 0026980C FC 20 00 18 */ frsp f1, f0
|
|
/* 8026C8D0 00269810 C0 0D 8C 00 */ lfs f0, lbl_80451180-_SDA_BASE_(r13)
|
|
/* 8026C8D4 00269814 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8026C8D8 00269818 40 80 00 20 */ bge lbl_8026C8F8
|
|
/* 8026C8DC 0026981C C0 01 00 30 */ lfs f0, 0x30(r1)
|
|
/* 8026C8E0 00269820 D0 1F 00 00 */ stfs f0, 0(r31)
|
|
/* 8026C8E4 00269824 C0 01 00 34 */ lfs f0, 0x34(r1)
|
|
/* 8026C8E8 00269828 D0 1F 00 04 */ stfs f0, 4(r31)
|
|
/* 8026C8EC 0026982C C0 01 00 38 */ lfs f0, 0x38(r1)
|
|
/* 8026C8F0 00269830 D0 1F 00 08 */ stfs f0, 8(r31)
|
|
/* 8026C8F4 00269834 48 00 00 1C */ b lbl_8026C910
|
|
lbl_8026C8F8:
|
|
/* 8026C8F8 00269838 38 61 00 3C */ addi r3, r1, 0x3c
|
|
/* 8026C8FC 0026983C 38 81 00 24 */ addi r4, r1, 0x24
|
|
/* 8026C900 00269840 C0 1D 00 0C */ lfs f0, 0xc(r29)
|
|
/* 8026C904 00269844 EC 20 20 24 */ fdivs f1, f0, f4
|
|
/* 8026C908 00269848 7F E5 FB 78 */ mr r5, r31
|
|
/* 8026C90C 0026984C 4B FF BC 55 */ bl cM3d_InDivPos1__FPC3VecPC3VecfP3Vec
|
|
lbl_8026C910:
|
|
/* 8026C910 00269850 38 60 00 01 */ li r3, 1
|
|
/* 8026C914 00269854 48 00 00 08 */ b lbl_8026C91C
|
|
lbl_8026C918:
|
|
/* 8026C918 00269858 38 60 00 00 */ li r3, 0
|
|
lbl_8026C91C:
|
|
/* 8026C91C 0026985C E3 E1 00 88 */ psq_l f31, 136(r1), 0, 0
|
|
/* 8026C920 00269860 CB E1 00 80 */ lfd f31, 0x80(r1)
|
|
/* 8026C924 00269864 E3 C1 00 78 */ psq_l f30, 120(r1), 0, 0
|
|
/* 8026C928 00269868 CB C1 00 70 */ lfd f30, 0x70(r1)
|
|
/* 8026C92C 0026986C 39 61 00 70 */ addi r11, r1, 0x70
|
|
/* 8026C930 00269870 48 0F 58 F9 */ bl _restgpr_29
|
|
/* 8026C934 00269874 80 01 00 94 */ lwz r0, 0x94(r1)
|
|
/* 8026C938 00269878 7C 08 03 A6 */ mtlr r0
|
|
/* 8026C93C 0026987C 38 21 00 90 */ addi r1, r1, 0x90
|
|
/* 8026C940 00269880 4E 80 00 20 */ blr
|