Files
tp/include/SComponent/c_m3d/asm/func_8026E6F0.s
T
0cf65151b3 Split SComponent (#45)
* split c_math

* split c_angle

* split c_API_controller_pad

* split c_API_graphic

* split c_bg_s_chk

* c_bg_s_gnd_chk split

* more c_bg split

* split c_cc_d

* delete asm

* split c_cc_s

* split c_lib

* split c_m2d and c_m3d_g_aab

* split c_m3d_g_cir

* split c_m3d_g_cps

* split rest of c_m3d_g

* split c_m3d

* split c_malloc

* split c_request

* split c_sxyz

* split and partly decompile c_xyz

* format

* c_angle.h

* begin c_angle decomp

* c_angle

* progress adding stub classes for SComponent

* more c_m3d

* remove some asm and format

* more m3d headers

* more c_angle decomp

* c_lib headers

* add public to classes

* fix csXyz member names

* c_sxyz partly OK

* move Zero csXyz to c_sxyz header

* c_API_graphic

* delete some unused asm

* move math extern data, decompile some functions

* delete unused asm

* fix duplicated c_angle.h

* fix an inlined function name, add more inlined functions for c_angle.h (currently unused)

* format

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-06 20:04:53 -05:00

115 lines
5.8 KiB
ArmAsm

/* 8026E6F0 0026B630 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8026E6F4 0026B634 7C 08 02 A6 */ mflr r0
/* 8026E6F8 0026B638 90 01 00 34 */ stw r0, 0x34(r1)
/* 8026E6FC 0026B63C 39 61 00 30 */ addi r11, r1, 0x30
/* 8026E700 0026B640 48 0F 3A DD */ bl _savegpr_29
/* 8026E704 0026B644 7C 7D 1B 78 */ mr r29, r3
/* 8026E708 0026B648 7C 9E 23 78 */ mr r30, r4
/* 8026E70C 0026B64C 7C BF 2B 78 */ mr r31, r5
/* 8026E710 0026B650 38 A1 00 08 */ addi r5, r1, 8
/* 8026E714 0026B654 48 0D 8A A1 */ bl PSVECCrossProduct
/* 8026E718 0026B658 C0 01 00 08 */ lfs f0, 8(r1)
/* 8026E71C 0026B65C FC 00 02 10 */ fabs f0, f0
/* 8026E720 0026B660 FC 00 00 18 */ frsp f0, f0
/* 8026E724 0026B664 C0 2D 8C 00 */ lfs f1, lbl_80451180-_SDA_BASE_(r13)
/* 8026E728 0026B668 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8026E72C 0026B66C 40 80 00 34 */ bge lbl_8026E760
/* 8026E730 0026B670 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8026E734 0026B674 FC 00 02 10 */ fabs f0, f0
/* 8026E738 0026B678 FC 00 00 18 */ frsp f0, f0
/* 8026E73C 0026B67C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8026E740 0026B680 40 80 00 20 */ bge lbl_8026E760
/* 8026E744 0026B684 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8026E748 0026B688 FC 00 02 10 */ fabs f0, f0
/* 8026E74C 0026B68C FC 00 00 18 */ frsp f0, f0
/* 8026E750 0026B690 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8026E754 0026B694 40 80 00 0C */ bge lbl_8026E760
/* 8026E758 0026B698 38 60 00 00 */ li r3, 0
/* 8026E75C 0026B69C 48 00 01 2C */ b lbl_8026E888
lbl_8026E760:
/* 8026E760 0026B6A0 C0 A1 00 08 */ lfs f5, 8(r1)
/* 8026E764 0026B6A4 FC 00 2A 10 */ fabs f0, f5
/* 8026E768 0026B6A8 FC 20 00 18 */ frsp f1, f0
/* 8026E76C 0026B6AC C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8026E770 0026B6B0 FC 00 02 10 */ fabs f0, f0
/* 8026E774 0026B6B4 FC 40 00 18 */ frsp f2, f0
/* 8026E778 0026B6B8 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8026E77C 0026B6BC FC 00 02 10 */ fabs f0, f0
/* 8026E780 0026B6C0 FC 00 00 18 */ frsp f0, f0
/* 8026E784 0026B6C4 FC 01 10 40 */ fcmpo cr0, f1, f2
/* 8026E788 0026B6C8 4C 41 13 82 */ cror 2, 1, 2
/* 8026E78C 0026B6CC 40 82 00 40 */ bne lbl_8026E7CC
/* 8026E790 0026B6D0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8026E794 0026B6D4 4C 41 13 82 */ cror 2, 1, 2
/* 8026E798 0026B6D8 40 82 00 34 */ bne lbl_8026E7CC
/* 8026E79C 0026B6DC C0 3D 00 04 */ lfs f1, 4(r29)
/* 8026E7A0 0026B6E0 C0 5D 00 08 */ lfs f2, 8(r29)
/* 8026E7A4 0026B6E4 C0 7E 00 04 */ lfs f3, 4(r30)
/* 8026E7A8 0026B6E8 C0 9E 00 08 */ lfs f4, 8(r30)
/* 8026E7AC 0026B6EC C0 DD 00 0C */ lfs f6, 0xc(r29)
/* 8026E7B0 0026B6F0 C0 FE 00 0C */ lfs f7, 0xc(r30)
/* 8026E7B4 0026B6F4 38 7F 00 04 */ addi r3, r31, 4
/* 8026E7B8 0026B6F8 38 9F 00 08 */ addi r4, r31, 8
/* 8026E7BC 0026B6FC 4B FF FF 09 */ bl cM3d_PlaneCrossLineProcWork__FfffffffPfPf
/* 8026E7C0 0026B700 C0 02 B7 18 */ lfs f0, lbl_80455118-_SDA2_BASE_(r2)
/* 8026E7C4 0026B704 D0 1F 00 00 */ stfs f0, 0(r31)
/* 8026E7C8 0026B708 48 00 00 80 */ b lbl_8026E848
lbl_8026E7CC:
/* 8026E7CC 0026B70C FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8026E7D0 0026B710 4C 41 13 82 */ cror 2, 1, 2
/* 8026E7D4 0026B714 40 82 00 44 */ bne lbl_8026E818
/* 8026E7D8 0026B718 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8026E7DC 0026B71C 4C 41 13 82 */ cror 2, 1, 2
/* 8026E7E0 0026B720 40 82 00 38 */ bne lbl_8026E818
/* 8026E7E4 0026B724 C0 3D 00 08 */ lfs f1, 8(r29)
/* 8026E7E8 0026B728 C0 5D 00 00 */ lfs f2, 0(r29)
/* 8026E7EC 0026B72C C0 7E 00 08 */ lfs f3, 8(r30)
/* 8026E7F0 0026B730 C0 9E 00 00 */ lfs f4, 0(r30)
/* 8026E7F4 0026B734 C0 A1 00 0C */ lfs f5, 0xc(r1)
/* 8026E7F8 0026B738 C0 DD 00 0C */ lfs f6, 0xc(r29)
/* 8026E7FC 0026B73C C0 FE 00 0C */ lfs f7, 0xc(r30)
/* 8026E800 0026B740 38 7F 00 08 */ addi r3, r31, 8
/* 8026E804 0026B744 7F E4 FB 78 */ mr r4, r31
/* 8026E808 0026B748 4B FF FE BD */ bl cM3d_PlaneCrossLineProcWork__FfffffffPfPf
/* 8026E80C 0026B74C C0 02 B7 18 */ lfs f0, lbl_80455118-_SDA2_BASE_(r2)
/* 8026E810 0026B750 D0 1F 00 04 */ stfs f0, 4(r31)
/* 8026E814 0026B754 48 00 00 34 */ b lbl_8026E848
lbl_8026E818:
/* 8026E818 0026B758 C0 3D 00 00 */ lfs f1, 0(r29)
/* 8026E81C 0026B75C C0 5D 00 04 */ lfs f2, 4(r29)
/* 8026E820 0026B760 C0 7E 00 00 */ lfs f3, 0(r30)
/* 8026E824 0026B764 C0 9E 00 04 */ lfs f4, 4(r30)
/* 8026E828 0026B768 C0 A1 00 10 */ lfs f5, 0x10(r1)
/* 8026E82C 0026B76C C0 DD 00 0C */ lfs f6, 0xc(r29)
/* 8026E830 0026B770 C0 FE 00 0C */ lfs f7, 0xc(r30)
/* 8026E834 0026B774 7F E3 FB 78 */ mr r3, r31
/* 8026E838 0026B778 38 9F 00 04 */ addi r4, r31, 4
/* 8026E83C 0026B77C 4B FF FE 89 */ bl cM3d_PlaneCrossLineProcWork__FfffffffPfPf
/* 8026E840 0026B780 C0 02 B7 18 */ lfs f0, lbl_80455118-_SDA2_BASE_(r2)
/* 8026E844 0026B784 D0 1F 00 08 */ stfs f0, 8(r31)
lbl_8026E848:
/* 8026E848 0026B788 7F E3 FB 78 */ mr r3, r31
/* 8026E84C 0026B78C 48 0D 89 05 */ bl PSVECMag
/* 8026E850 0026B790 FC 00 0A 10 */ fabs f0, f1
/* 8026E854 0026B794 FC 40 00 18 */ frsp f2, f0
/* 8026E858 0026B798 C0 0D 8C 00 */ lfs f0, lbl_80451180-_SDA_BASE_(r13)
/* 8026E85C 0026B79C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8026E860 0026B7A0 40 80 00 08 */ bge lbl_8026E868
/* 8026E864 0026B7A4 C0 22 B7 38 */ lfs f1, lbl_80455138-_SDA2_BASE_(r2)
lbl_8026E868:
/* 8026E868 0026B7A8 38 61 00 08 */ addi r3, r1, 8
/* 8026E86C 0026B7AC 7C 64 1B 78 */ mr r4, r3
/* 8026E870 0026B7B0 48 0D 88 69 */ bl PSVECScale
/* 8026E874 0026B7B4 7F E3 FB 78 */ mr r3, r31
/* 8026E878 0026B7B8 38 81 00 08 */ addi r4, r1, 8
/* 8026E87C 0026B7BC 38 BF 00 0C */ addi r5, r31, 0xc
/* 8026E880 0026B7C0 48 0D 88 11 */ bl PSVECAdd
/* 8026E884 0026B7C4 38 60 00 01 */ li r3, 1
lbl_8026E888:
/* 8026E888 0026B7C8 39 61 00 30 */ addi r11, r1, 0x30
/* 8026E88C 0026B7CC 48 0F 39 9D */ bl _restgpr_29
/* 8026E890 0026B7D0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8026E894 0026B7D4 7C 08 03 A6 */ mtlr r0
/* 8026E898 0026B7D8 38 21 00 30 */ addi r1, r1, 0x30
/* 8026E89C 0026B7DC 4E 80 00 20 */ blr