Files
tp/include/SComponent/c_m3d/asm/func_8026DAE0.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

93 lines
4.6 KiB
ArmAsm

/* 8026DAE0 0026AA20 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8026DAE4 0026AA24 7C 08 02 A6 */ mflr r0
/* 8026DAE8 0026AA28 90 01 00 54 */ stw r0, 0x54(r1)
/* 8026DAEC 0026AA2C DB E1 00 40 */ stfd f31, 0x40(r1)
/* 8026DAF0 0026AA30 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0
/* 8026DAF4 0026AA34 39 61 00 40 */ addi r11, r1, 0x40
/* 8026DAF8 0026AA38 48 0F 46 E1 */ bl _savegpr_28
/* 8026DAFC 0026AA3C 7C 7C 1B 78 */ mr r28, r3
/* 8026DB00 0026AA40 7C 9D 23 78 */ mr r29, r4
/* 8026DB04 0026AA44 7C BE 2B 78 */ mr r30, r5
/* 8026DB08 0026AA48 7C DF 33 78 */ mr r31, r6
/* 8026DB0C 0026AA4C 7F A3 EB 78 */ mr r3, r29
/* 8026DB10 0026AA50 7F 84 E3 78 */ mr r4, r28
/* 8026DB14 0026AA54 38 A1 00 20 */ addi r5, r1, 0x20
/* 8026DB18 0026AA58 38 C1 00 14 */ addi r6, r1, 0x14
/* 8026DB1C 0026AA5C 4B FF D9 CD */ bl cM3d_Cross_LinSph_CrossPos__FRC8cM3dGSphRC8cM3dGLinP3VecP3Vec
/* 8026DB20 0026AA60 2C 03 00 01 */ cmpwi r3, 1
/* 8026DB24 0026AA64 40 82 00 20 */ bne lbl_8026DB44
/* 8026DB28 0026AA68 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 8026DB2C 0026AA6C D0 1F 00 00 */ stfs f0, 0(r31)
/* 8026DB30 0026AA70 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 8026DB34 0026AA74 D0 1F 00 04 */ stfs f0, 4(r31)
/* 8026DB38 0026AA78 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 8026DB3C 0026AA7C D0 1F 00 08 */ stfs f0, 8(r31)
/* 8026DB40 0026AA80 48 00 00 DC */ b lbl_8026DC1C
lbl_8026DB44:
/* 8026DB44 0026AA84 2C 03 00 02 */ cmpwi r3, 2
/* 8026DB48 0026AA88 40 82 00 60 */ bne lbl_8026DBA8
/* 8026DB4C 0026AA8C 38 61 00 20 */ addi r3, r1, 0x20
/* 8026DB50 0026AA90 7F 84 E3 78 */ mr r4, r28
/* 8026DB54 0026AA94 48 0D 98 49 */ bl PSVECSquareDistance
/* 8026DB58 0026AA98 FF E0 08 90 */ fmr f31, f1
/* 8026DB5C 0026AA9C 38 61 00 14 */ addi r3, r1, 0x14
/* 8026DB60 0026AAA0 7F 84 E3 78 */ mr r4, r28
/* 8026DB64 0026AAA4 48 0D 98 39 */ bl PSVECSquareDistance
/* 8026DB68 0026AAA8 FC 1F 08 40 */ fcmpo cr0, f31, f1
/* 8026DB6C 0026AAAC 40 80 00 20 */ bge lbl_8026DB8C
/* 8026DB70 0026AAB0 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 8026DB74 0026AAB4 D0 1F 00 00 */ stfs f0, 0(r31)
/* 8026DB78 0026AAB8 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 8026DB7C 0026AABC D0 1F 00 04 */ stfs f0, 4(r31)
/* 8026DB80 0026AAC0 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 8026DB84 0026AAC4 D0 1F 00 08 */ stfs f0, 8(r31)
/* 8026DB88 0026AAC8 48 00 00 94 */ b lbl_8026DC1C
lbl_8026DB8C:
/* 8026DB8C 0026AACC C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8026DB90 0026AAD0 D0 1F 00 00 */ stfs f0, 0(r31)
/* 8026DB94 0026AAD4 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8026DB98 0026AAD8 D0 1F 00 04 */ stfs f0, 4(r31)
/* 8026DB9C 0026AADC C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8026DBA0 0026AAE0 D0 1F 00 08 */ stfs f0, 8(r31)
/* 8026DBA4 0026AAE4 48 00 00 78 */ b lbl_8026DC1C
lbl_8026DBA8:
/* 8026DBA8 0026AAE8 C0 3C 00 1C */ lfs f1, 0x1c(r28)
/* 8026DBAC 0026AAEC C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 8026DBB0 0026AAF0 EC 01 00 2A */ fadds f0, f1, f0
/* 8026DBB4 0026AAF4 C0 9E 00 00 */ lfs f4, 0(r30)
/* 8026DBB8 0026AAF8 D0 9F 00 00 */ stfs f4, 0(r31)
/* 8026DBBC 0026AAFC C0 7E 00 04 */ lfs f3, 4(r30)
/* 8026DBC0 0026AB00 D0 7F 00 04 */ stfs f3, 4(r31)
/* 8026DBC4 0026AB04 C0 5E 00 08 */ lfs f2, 8(r30)
/* 8026DBC8 0026AB08 D0 5F 00 08 */ stfs f2, 8(r31)
/* 8026DBCC 0026AB0C FC 00 02 10 */ fabs f0, f0
/* 8026DBD0 0026AB10 FC 20 00 18 */ frsp f1, f0
/* 8026DBD4 0026AB14 C0 0D 8C 00 */ lfs f0, lbl_80451180-_SDA_BASE_(r13)
/* 8026DBD8 0026AB18 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8026DBDC 0026AB1C 40 80 00 10 */ bge lbl_8026DBEC
/* 8026DBE0 0026AB20 D0 9F 00 00 */ stfs f4, 0(r31)
/* 8026DBE4 0026AB24 D0 7F 00 04 */ stfs f3, 4(r31)
/* 8026DBE8 0026AB28 D0 5F 00 08 */ stfs f2, 8(r31)
lbl_8026DBEC:
/* 8026DBEC 0026AB2C 7F C3 F3 78 */ mr r3, r30
/* 8026DBF0 0026AB30 7F A4 EB 78 */ mr r4, r29
/* 8026DBF4 0026AB34 38 A1 00 08 */ addi r5, r1, 8
/* 8026DBF8 0026AB38 48 0D 94 BD */ bl PSVECSubtract
/* 8026DBFC 0026AB3C 38 61 00 08 */ addi r3, r1, 8
/* 8026DC00 0026AB40 7C 64 1B 78 */ mr r4, r3
/* 8026DC04 0026AB44 C0 22 B7 C4 */ lfs f1, lbl_804551C4-_SDA2_BASE_(r2)
/* 8026DC08 0026AB48 48 0D 94 D1 */ bl PSVECScale
/* 8026DC0C 0026AB4C 7F E3 FB 78 */ mr r3, r31
/* 8026DC10 0026AB50 38 81 00 08 */ addi r4, r1, 8
/* 8026DC14 0026AB54 7F E5 FB 78 */ mr r5, r31
/* 8026DC18 0026AB58 48 0D 94 79 */ bl PSVECAdd
lbl_8026DC1C:
/* 8026DC1C 0026AB5C E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0
/* 8026DC20 0026AB60 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 8026DC24 0026AB64 39 61 00 40 */ addi r11, r1, 0x40
/* 8026DC28 0026AB68 48 0F 45 FD */ bl _restgpr_28
/* 8026DC2C 0026AB6C 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8026DC30 0026AB70 7C 08 03 A6 */ mtlr r0
/* 8026DC34 0026AB74 38 21 00 50 */ addi r1, r1, 0x50
/* 8026DC38 0026AB78 4E 80 00 20 */ blr