Files
tp/include/SComponent/c_xyz/asm/func_80266DC4.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

79 lines
4.1 KiB
ArmAsm

/* 80266DC4 00263D04 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80266DC8 00263D08 7C 08 02 A6 */ mflr r0
/* 80266DCC 00263D0C 90 01 00 64 */ stw r0, 0x64(r1)
/* 80266DD0 00263D10 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 80266DD4 00263D14 93 C1 00 58 */ stw r30, 0x58(r1)
/* 80266DD8 00263D18 7C 7E 1B 78 */ mr r30, r3
/* 80266DDC 00263D1C 7C 9F 23 78 */ mr r31, r4
/* 80266DE0 00263D20 7F E3 FB 78 */ mr r3, r31
/* 80266DE4 00263D24 48 0E 03 55 */ bl PSVECSquareMag
/* 80266DE8 00263D28 C0 02 B6 74 */ lfs f0, lbl_80455074-_SDA2_BASE_(r2)
/* 80266DEC 00263D2C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80266DF0 00263D30 7C 00 00 26 */ mfcr r0
/* 80266DF4 00263D34 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 80266DF8 00263D38 40 82 00 14 */ bne lbl_80266E0C
/* 80266DFC 00263D3C 7F E3 FB 78 */ mr r3, r31
/* 80266E00 00263D40 38 81 00 44 */ addi r4, r1, 0x44
/* 80266E04 00263D44 48 0E 02 F1 */ bl PSVECNormalize
/* 80266E08 00263D48 48 00 00 BC */ b lbl_80266EC4
lbl_80266E0C:
/* 80266E0C 00263D4C 38 61 00 38 */ addi r3, r1, 0x38
/* 80266E10 00263D50 7F E4 FB 78 */ mr r4, r31
/* 80266E14 00263D54 C0 22 B6 78 */ lfs f1, lbl_80455078-_SDA2_BASE_(r2)
/* 80266E18 00263D58 4B FF FD 6D */ bl __ml__4cXyzCFf
/* 80266E1C 00263D5C 38 61 00 2C */ addi r3, r1, 0x2c
/* 80266E20 00263D60 38 81 00 38 */ addi r4, r1, 0x38
/* 80266E24 00263D64 C0 22 B6 7C */ lfs f1, lbl_8045507C-_SDA2_BASE_(r2)
/* 80266E28 00263D68 4B FF FD 5D */ bl __ml__4cXyzCFf
/* 80266E2C 00263D6C 38 61 00 20 */ addi r3, r1, 0x20
/* 80266E30 00263D70 38 81 00 2C */ addi r4, r1, 0x2c
/* 80266E34 00263D74 4B FF FE FD */ bl normZP__4cXyzCFv
/* 80266E38 00263D78 C0 41 00 20 */ lfs f2, 0x20(r1)
/* 80266E3C 00263D7C D0 41 00 44 */ stfs f2, 0x44(r1)
/* 80266E40 00263D80 C0 21 00 24 */ lfs f1, 0x24(r1)
/* 80266E44 00263D84 D0 21 00 48 */ stfs f1, 0x48(r1)
/* 80266E48 00263D88 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 80266E4C 00263D8C D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 80266E50 00263D90 D0 41 00 14 */ stfs f2, 0x14(r1)
/* 80266E54 00263D94 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 80266E58 00263D98 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 80266E5C 00263D9C 38 61 00 14 */ addi r3, r1, 0x14
/* 80266E60 00263DA0 48 0E 02 D9 */ bl PSVECSquareMag
/* 80266E64 00263DA4 C0 02 B6 74 */ lfs f0, lbl_80455074-_SDA2_BASE_(r2)
/* 80266E68 00263DA8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80266E6C 00263DAC 7C 00 00 26 */ mfcr r0
/* 80266E70 00263DB0 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 80266E74 00263DB4 41 82 00 50 */ beq lbl_80266EC4
/* 80266E78 00263DB8 C0 02 B6 80 */ lfs f0, lbl_80455080-_SDA2_BASE_(r2)
/* 80266E7C 00263DBC D0 01 00 44 */ stfs f0, 0x44(r1)
/* 80266E80 00263DC0 D0 01 00 48 */ stfs f0, 0x48(r1)
/* 80266E84 00263DC4 C0 02 B6 70 */ lfs f0, lbl_80455070-_SDA2_BASE_(r2)
/* 80266E88 00263DC8 D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 80266E8C 00263DCC 3C 60 80 3A */ lis r3, lbl_8039A868@ha
/* 80266E90 00263DD0 38 83 A8 68 */ addi r4, r3, lbl_8039A868@l
/* 80266E94 00263DD4 80 64 00 00 */ lwz r3, 0(r4)
/* 80266E98 00263DD8 80 04 00 04 */ lwz r0, 4(r4)
/* 80266E9C 00263DDC 90 61 00 08 */ stw r3, 8(r1)
/* 80266EA0 00263DE0 90 01 00 0C */ stw r0, 0xc(r1)
/* 80266EA4 00263DE4 80 04 00 08 */ lwz r0, 8(r4)
/* 80266EA8 00263DE8 90 01 00 10 */ stw r0, 0x10(r1)
/* 80266EAC 00263DEC C0 01 00 08 */ lfs f0, 8(r1)
/* 80266EB0 00263DF0 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 80266EB4 00263DF4 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80266EB8 00263DF8 D0 01 00 48 */ stfs f0, 0x48(r1)
/* 80266EBC 00263DFC C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80266EC0 00263E00 D0 01 00 4C */ stfs f0, 0x4c(r1)
lbl_80266EC4:
/* 80266EC4 00263E04 C0 01 00 44 */ lfs f0, 0x44(r1)
/* 80266EC8 00263E08 D0 1E 00 00 */ stfs f0, 0(r30)
/* 80266ECC 00263E0C C0 01 00 48 */ lfs f0, 0x48(r1)
/* 80266ED0 00263E10 D0 1E 00 04 */ stfs f0, 4(r30)
/* 80266ED4 00263E14 C0 01 00 4C */ lfs f0, 0x4c(r1)
/* 80266ED8 00263E18 D0 1E 00 08 */ stfs f0, 8(r30)
/* 80266EDC 00263E1C 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 80266EE0 00263E20 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 80266EE4 00263E24 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80266EE8 00263E28 7C 08 03 A6 */ mtlr r0
/* 80266EEC 00263E2C 38 21 00 60 */ addi r1, r1, 0x60
/* 80266EF0 00263E30 4E 80 00 20 */ blr