Files
tp/include/SComponent/c_m3d/asm/func_8026AAE8.s
T
lepelog 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

66 lines
3.2 KiB
ArmAsm

/* 8026AAE8 00267A28 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8026AAEC 00267A2C 7C 08 02 A6 */ mflr r0
/* 8026AAF0 00267A30 90 01 00 44 */ stw r0, 0x44(r1)
/* 8026AAF4 00267A34 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 8026AAF8 00267A38 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0
/* 8026AAFC 00267A3C 39 61 00 30 */ addi r11, r1, 0x30
/* 8026AB00 00267A40 48 0F 76 D9 */ bl _savegpr_28
/* 8026AB04 00267A44 7C 7C 1B 78 */ mr r28, r3
/* 8026AB08 00267A48 7C 9D 23 78 */ mr r29, r4
/* 8026AB0C 00267A4C 7C BE 2B 78 */ mr r30, r5
/* 8026AB10 00267A50 7C DF 33 78 */ mr r31, r6
/* 8026AB14 00267A54 C0 03 00 04 */ lfs f0, 4(r3)
/* 8026AB18 00267A58 FC 00 02 10 */ fabs f0, f0
/* 8026AB1C 00267A5C FC 20 00 18 */ frsp f1, f0
/* 8026AB20 00267A60 C0 0D 8C 00 */ lfs f0, lbl_80451180-_SDA_BASE_(r13)
/* 8026AB24 00267A64 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8026AB28 00267A68 40 80 00 0C */ bge lbl_8026AB34
/* 8026AB2C 00267A6C 38 60 00 00 */ li r3, 0
/* 8026AB30 00267A70 48 00 00 88 */ b lbl_8026ABB8
lbl_8026AB34:
/* 8026AB34 00267A74 C0 1D 00 00 */ lfs f0, 0(r29)
/* 8026AB38 00267A78 D0 01 00 08 */ stfs f0, 8(r1)
/* 8026AB3C 00267A7C C0 1E 00 00 */ lfs f0, 0(r30)
/* 8026AB40 00267A80 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8026AB44 00267A84 C0 1D 00 08 */ lfs f0, 8(r29)
/* 8026AB48 00267A88 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8026AB4C 00267A8C 38 81 00 08 */ addi r4, r1, 8
/* 8026AB50 00267A90 48 0D C6 45 */ bl PSVECDotProduct
/* 8026AB54 00267A94 C0 1C 00 0C */ lfs f0, 0xc(r28)
/* 8026AB58 00267A98 EF E0 08 2A */ fadds f31, f0, f1
/* 8026AB5C 00267A9C C0 1E 00 04 */ lfs f0, 4(r30)
/* 8026AB60 00267AA0 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8026AB64 00267AA4 7F 83 E3 78 */ mr r3, r28
/* 8026AB68 00267AA8 38 81 00 08 */ addi r4, r1, 8
/* 8026AB6C 00267AAC 48 0D C6 29 */ bl PSVECDotProduct
/* 8026AB70 00267AB0 C0 1C 00 0C */ lfs f0, 0xc(r28)
/* 8026AB74 00267AB4 EC 20 08 2A */ fadds f1, f0, f1
/* 8026AB78 00267AB8 C0 02 B7 18 */ lfs f0, lbl_80455118-_SDA2_BASE_(r2)
/* 8026AB7C 00267ABC FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 8026AB80 00267AC0 40 81 00 0C */ ble lbl_8026AB8C
/* 8026AB84 00267AC4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8026AB88 00267AC8 41 81 00 18 */ bgt lbl_8026ABA0
lbl_8026AB8C:
/* 8026AB8C 00267ACC C0 02 B7 18 */ lfs f0, lbl_80455118-_SDA2_BASE_(r2)
/* 8026AB90 00267AD0 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 8026AB94 00267AD4 40 80 00 14 */ bge lbl_8026ABA8
/* 8026AB98 00267AD8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8026AB9C 00267ADC 40 80 00 0C */ bge lbl_8026ABA8
lbl_8026ABA0:
/* 8026ABA0 00267AE0 38 60 00 00 */ li r3, 0
/* 8026ABA4 00267AE4 48 00 00 14 */ b lbl_8026ABB8
lbl_8026ABA8:
/* 8026ABA8 00267AE8 7F 83 E3 78 */ mr r3, r28
/* 8026ABAC 00267AEC 7F A4 EB 78 */ mr r4, r29
/* 8026ABB0 00267AF0 7F E5 FB 78 */ mr r5, r31
/* 8026ABB4 00267AF4 4B FF FD 0D */ bl cM3d_CrossY_Tri__FPC8cM3dGTriPC3VecPf
lbl_8026ABB8:
/* 8026ABB8 00267AF8 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0
/* 8026ABBC 00267AFC CB E1 00 30 */ lfd f31, 0x30(r1)
/* 8026ABC0 00267B00 39 61 00 30 */ addi r11, r1, 0x30
/* 8026ABC4 00267B04 48 0F 76 61 */ bl _restgpr_28
/* 8026ABC8 00267B08 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8026ABCC 00267B0C 7C 08 03 A6 */ mtlr r0
/* 8026ABD0 00267B10 38 21 00 40 */ addi r1, r1, 0x40
/* 8026ABD4 00267B14 4E 80 00 20 */ blr