tp/include/SComponent/c_m3d/asm/func_8026E570.s

95 lines
4.6 KiB
ArmAsm

/* 8026E570 0026B4B0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8026E574 0026B4B4 7C 08 02 A6 */ mflr r0
/* 8026E578 0026B4B8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8026E57C 0026B4BC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8026E580 0026B4C0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8026E584 0026B4C4 7C 7E 1B 78 */ mr r30, r3
/* 8026E588 0026B4C8 7C 9F 23 78 */ mr r31, r4
/* 8026E58C 0026B4CC C0 03 00 00 */ lfs f0, 0(r3)
/* 8026E590 0026B4D0 EC 20 00 32 */ fmuls f1, f0, f0
/* 8026E594 0026B4D4 C0 03 00 08 */ lfs f0, 8(r3)
/* 8026E598 0026B4D8 EC 00 00 32 */ fmuls f0, f0, f0
/* 8026E59C 0026B4DC EC 41 00 2A */ fadds f2, f1, f0
/* 8026E5A0 0026B4E0 C0 02 B7 18 */ lfs f0, lbl_80455118-_SDA2_BASE_(r2)
/* 8026E5A4 0026B4E4 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8026E5A8 0026B4E8 40 81 00 58 */ ble lbl_8026E600
/* 8026E5AC 0026B4EC FC 00 10 34 */ frsqrte f0, f2
/* 8026E5B0 0026B4F0 C8 82 B7 20 */ lfd f4, lbl_80455120-_SDA2_BASE_(r2)
/* 8026E5B4 0026B4F4 FC 24 00 32 */ fmul f1, f4, f0
/* 8026E5B8 0026B4F8 C8 62 B7 28 */ lfd f3, lbl_80455128-_SDA2_BASE_(r2)
/* 8026E5BC 0026B4FC FC 00 00 32 */ fmul f0, f0, f0
/* 8026E5C0 0026B500 FC 02 00 32 */ fmul f0, f2, f0
/* 8026E5C4 0026B504 FC 03 00 28 */ fsub f0, f3, f0
/* 8026E5C8 0026B508 FC 01 00 32 */ fmul f0, f1, f0
/* 8026E5CC 0026B50C FC 24 00 32 */ fmul f1, f4, f0
/* 8026E5D0 0026B510 FC 00 00 32 */ fmul f0, f0, f0
/* 8026E5D4 0026B514 FC 02 00 32 */ fmul f0, f2, f0
/* 8026E5D8 0026B518 FC 03 00 28 */ fsub f0, f3, f0
/* 8026E5DC 0026B51C FC 01 00 32 */ fmul f0, f1, f0
/* 8026E5E0 0026B520 FC 24 00 32 */ fmul f1, f4, f0
/* 8026E5E4 0026B524 FC 00 00 32 */ fmul f0, f0, f0
/* 8026E5E8 0026B528 FC 02 00 32 */ fmul f0, f2, f0
/* 8026E5EC 0026B52C FC 03 00 28 */ fsub f0, f3, f0
/* 8026E5F0 0026B530 FC 01 00 32 */ fmul f0, f1, f0
/* 8026E5F4 0026B534 FC 42 00 32 */ fmul f2, f2, f0
/* 8026E5F8 0026B538 FC 40 10 18 */ frsp f2, f2
/* 8026E5FC 0026B53C 48 00 00 88 */ b lbl_8026E684
lbl_8026E600:
/* 8026E600 0026B540 C8 02 B7 30 */ lfd f0, lbl_80455130-_SDA2_BASE_(r2)
/* 8026E604 0026B544 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8026E608 0026B548 40 80 00 10 */ bge lbl_8026E618
/* 8026E60C 0026B54C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 8026E610 0026B550 C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3)
/* 8026E614 0026B554 48 00 00 70 */ b lbl_8026E684
lbl_8026E618:
/* 8026E618 0026B558 D0 41 00 08 */ stfs f2, 8(r1)
/* 8026E61C 0026B55C 80 81 00 08 */ lwz r4, 8(r1)
/* 8026E620 0026B560 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 8026E624 0026B564 3C 00 7F 80 */ lis r0, 0x7f80
/* 8026E628 0026B568 7C 03 00 00 */ cmpw r3, r0
/* 8026E62C 0026B56C 41 82 00 14 */ beq lbl_8026E640
/* 8026E630 0026B570 40 80 00 40 */ bge lbl_8026E670
/* 8026E634 0026B574 2C 03 00 00 */ cmpwi r3, 0
/* 8026E638 0026B578 41 82 00 20 */ beq lbl_8026E658
/* 8026E63C 0026B57C 48 00 00 34 */ b lbl_8026E670
lbl_8026E640:
/* 8026E640 0026B580 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8026E644 0026B584 41 82 00 0C */ beq lbl_8026E650
/* 8026E648 0026B588 38 00 00 01 */ li r0, 1
/* 8026E64C 0026B58C 48 00 00 28 */ b lbl_8026E674
lbl_8026E650:
/* 8026E650 0026B590 38 00 00 02 */ li r0, 2
/* 8026E654 0026B594 48 00 00 20 */ b lbl_8026E674
lbl_8026E658:
/* 8026E658 0026B598 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8026E65C 0026B59C 41 82 00 0C */ beq lbl_8026E668
/* 8026E660 0026B5A0 38 00 00 05 */ li r0, 5
/* 8026E664 0026B5A4 48 00 00 10 */ b lbl_8026E674
lbl_8026E668:
/* 8026E668 0026B5A8 38 00 00 03 */ li r0, 3
/* 8026E66C 0026B5AC 48 00 00 08 */ b lbl_8026E674
lbl_8026E670:
/* 8026E670 0026B5B0 38 00 00 04 */ li r0, 4
lbl_8026E674:
/* 8026E674 0026B5B4 2C 00 00 01 */ cmpwi r0, 1
/* 8026E678 0026B5B8 40 82 00 0C */ bne lbl_8026E684
/* 8026E67C 0026B5BC 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 8026E680 0026B5C0 C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3)
lbl_8026E684:
/* 8026E684 0026B5C4 C0 3E 00 04 */ lfs f1, 4(r30)
/* 8026E688 0026B5C8 4B FF 8F ED */ bl cM_atan2s__Fff
/* 8026E68C 0026B5CC 7C 03 00 D0 */ neg r0, r3
/* 8026E690 0026B5D0 B0 1F 00 00 */ sth r0, 0(r31)
/* 8026E694 0026B5D4 C0 3E 00 00 */ lfs f1, 0(r30)
/* 8026E698 0026B5D8 C0 5E 00 08 */ lfs f2, 8(r30)
/* 8026E69C 0026B5DC 4B FF 8F D9 */ bl cM_atan2s__Fff
/* 8026E6A0 0026B5E0 B0 7F 00 02 */ sth r3, 2(r31)
/* 8026E6A4 0026B5E4 38 00 00 00 */ li r0, 0
/* 8026E6A8 0026B5E8 B0 1F 00 04 */ sth r0, 4(r31)
/* 8026E6AC 0026B5EC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8026E6B0 0026B5F0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8026E6B4 0026B5F4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8026E6B8 0026B5F8 7C 08 03 A6 */ mtlr r0
/* 8026E6BC 0026B5FC 38 21 00 20 */ addi r1, r1, 0x20
/* 8026E6C0 0026B600 4E 80 00 20 */ blr