mirror of
https://github.com/zeldaret/tp
synced 2026-08-30 17:29:39 -04:00
0cf65151b3
* 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>
137 lines
6.8 KiB
ArmAsm
137 lines
6.8 KiB
ArmAsm
/* 80070CA0 0006DBE0 94 21 FF 80 */ stwu r1, -0x80(r1)
|
|
/* 80070CA4 0006DBE4 7C 08 02 A6 */ mflr r0
|
|
/* 80070CA8 0006DBE8 90 01 00 84 */ stw r0, 0x84(r1)
|
|
/* 80070CAC 0006DBEC DB E1 00 70 */ stfd f31, 0x70(r1)
|
|
/* 80070CB0 0006DBF0 F3 E1 00 78 */ psq_st f31, 120(r1), 0, 0
|
|
/* 80070CB4 0006DBF4 DB C1 00 60 */ stfd f30, 0x60(r1)
|
|
/* 80070CB8 0006DBF8 F3 C1 00 68 */ psq_st f30, 104(r1), 0, 0
|
|
/* 80070CBC 0006DBFC DB A1 00 50 */ stfd f29, 0x50(r1)
|
|
/* 80070CC0 0006DC00 F3 A1 00 58 */ psq_st f29, 88(r1), 0, 0
|
|
/* 80070CC4 0006DC04 DB 81 00 40 */ stfd f28, 0x40(r1)
|
|
/* 80070CC8 0006DC08 F3 81 00 48 */ psq_st f28, 72(r1), 0, 0
|
|
/* 80070CCC 0006DC0C 93 E1 00 3C */ stw r31, 0x3c(r1)
|
|
/* 80070CD0 0006DC10 7C 60 1B 78 */ mr r0, r3
|
|
/* 80070CD4 0006DC14 7C 9F 23 78 */ mr r31, r4
|
|
/* 80070CD8 0006DC18 FF 80 08 90 */ fmr f28, f1
|
|
/* 80070CDC 0006DC1C FF A0 10 90 */ fmr f29, f2
|
|
/* 80070CE0 0006DC20 FF C0 18 90 */ fmr f30, f3
|
|
/* 80070CE4 0006DC24 FF E0 20 90 */ fmr f31, f4
|
|
/* 80070CE8 0006DC28 38 61 00 18 */ addi r3, r1, 0x18
|
|
/* 80070CEC 0006DC2C 7C A4 2B 78 */ mr r4, r5
|
|
/* 80070CF0 0006DC30 7C 05 03 78 */ mr r5, r0
|
|
/* 80070CF4 0006DC34 48 1F 5E 41 */ bl __mi__4cXyzCFRC3Vec
|
|
/* 80070CF8 0006DC38 C0 01 00 18 */ lfs f0, 0x18(r1)
|
|
/* 80070CFC 0006DC3C D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 80070D00 0006DC40 C0 21 00 1C */ lfs f1, 0x1c(r1)
|
|
/* 80070D04 0006DC44 D0 21 00 28 */ stfs f1, 0x28(r1)
|
|
/* 80070D08 0006DC48 C0 01 00 20 */ lfs f0, 0x20(r1)
|
|
/* 80070D0C 0006DC4C D0 01 00 2C */ stfs f0, 0x2c(r1)
|
|
/* 80070D10 0006DC50 FC 01 F8 40 */ fcmpo cr0, f1, f31
|
|
/* 80070D14 0006DC54 4C 40 13 82 */ cror 2, 0, 2
|
|
/* 80070D18 0006DC58 41 82 00 10 */ beq lbl_80070D28
|
|
/* 80070D1C 0006DC5C FC 01 F0 40 */ fcmpo cr0, f1, f30
|
|
/* 80070D20 0006DC60 4C 41 13 82 */ cror 2, 1, 2
|
|
/* 80070D24 0006DC64 40 82 00 0C */ bne lbl_80070D30
|
|
lbl_80070D28:
|
|
/* 80070D28 0006DC68 38 60 00 00 */ li r3, 0
|
|
/* 80070D2C 0006DC6C 48 00 01 30 */ b lbl_80070E5C
|
|
lbl_80070D30:
|
|
/* 80070D30 0006DC70 FC 20 E8 90 */ fmr f1, f29
|
|
/* 80070D34 0006DC74 7F E3 FB 78 */ mr r3, r31
|
|
/* 80070D38 0006DC78 C0 42 8C 58 */ lfs f2, lbl_80452658-_SDA2_BASE_(r2)
|
|
/* 80070D3C 0006DC7C 4B FF FF 05 */ bl distace_angle_adjust
|
|
/* 80070D40 0006DC80 EF FC 08 2A */ fadds f31, f28, f1
|
|
/* 80070D44 0006DC84 C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 80070D48 0006DC88 D0 01 00 0C */ stfs f0, 0xc(r1)
|
|
/* 80070D4C 0006DC8C C0 02 8C 50 */ lfs f0, lbl_80452650-_SDA2_BASE_(r2)
|
|
/* 80070D50 0006DC90 D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 80070D54 0006DC94 C0 01 00 2C */ lfs f0, 0x2c(r1)
|
|
/* 80070D58 0006DC98 D0 01 00 14 */ stfs f0, 0x14(r1)
|
|
/* 80070D5C 0006DC9C 38 61 00 0C */ addi r3, r1, 0xc
|
|
/* 80070D60 0006DCA0 48 2D 63 D9 */ bl PSVECSquareMag
|
|
/* 80070D64 0006DCA4 C0 02 8C 50 */ lfs f0, lbl_80452650-_SDA2_BASE_(r2)
|
|
/* 80070D68 0006DCA8 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80070D6C 0006DCAC 40 81 00 58 */ ble lbl_80070DC4
|
|
/* 80070D70 0006DCB0 FC 00 08 34 */ frsqrte f0, f1
|
|
/* 80070D74 0006DCB4 C8 82 8C 78 */ lfd f4, lbl_80452678-_SDA2_BASE_(r2)
|
|
/* 80070D78 0006DCB8 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 80070D7C 0006DCBC C8 62 8C 80 */ lfd f3, lbl_80452680-_SDA2_BASE_(r2)
|
|
/* 80070D80 0006DCC0 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 80070D84 0006DCC4 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 80070D88 0006DCC8 FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 80070D8C 0006DCCC FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 80070D90 0006DCD0 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 80070D94 0006DCD4 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 80070D98 0006DCD8 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 80070D9C 0006DCDC FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 80070DA0 0006DCE0 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 80070DA4 0006DCE4 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 80070DA8 0006DCE8 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 80070DAC 0006DCEC FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 80070DB0 0006DCF0 FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 80070DB4 0006DCF4 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 80070DB8 0006DCF8 FC 21 00 32 */ fmul f1, f1, f0
|
|
/* 80070DBC 0006DCFC FC 20 08 18 */ frsp f1, f1
|
|
/* 80070DC0 0006DD00 48 00 00 88 */ b lbl_80070E48
|
|
lbl_80070DC4:
|
|
/* 80070DC4 0006DD04 C8 02 8C 88 */ lfd f0, lbl_80452688-_SDA2_BASE_(r2)
|
|
/* 80070DC8 0006DD08 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80070DCC 0006DD0C 40 80 00 10 */ bge lbl_80070DDC
|
|
/* 80070DD0 0006DD10 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
|
|
/* 80070DD4 0006DD14 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
|
|
/* 80070DD8 0006DD18 48 00 00 70 */ b lbl_80070E48
|
|
lbl_80070DDC:
|
|
/* 80070DDC 0006DD1C D0 21 00 08 */ stfs f1, 8(r1)
|
|
/* 80070DE0 0006DD20 80 81 00 08 */ lwz r4, 8(r1)
|
|
/* 80070DE4 0006DD24 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
|
|
/* 80070DE8 0006DD28 3C 00 7F 80 */ lis r0, 0x7f80
|
|
/* 80070DEC 0006DD2C 7C 03 00 00 */ cmpw r3, r0
|
|
/* 80070DF0 0006DD30 41 82 00 14 */ beq lbl_80070E04
|
|
/* 80070DF4 0006DD34 40 80 00 40 */ bge lbl_80070E34
|
|
/* 80070DF8 0006DD38 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 80070DFC 0006DD3C 41 82 00 20 */ beq lbl_80070E1C
|
|
/* 80070E00 0006DD40 48 00 00 34 */ b lbl_80070E34
|
|
lbl_80070E04:
|
|
/* 80070E04 0006DD44 54 80 02 7F */ clrlwi. r0, r4, 9
|
|
/* 80070E08 0006DD48 41 82 00 0C */ beq lbl_80070E14
|
|
/* 80070E0C 0006DD4C 38 00 00 01 */ li r0, 1
|
|
/* 80070E10 0006DD50 48 00 00 28 */ b lbl_80070E38
|
|
lbl_80070E14:
|
|
/* 80070E14 0006DD54 38 00 00 02 */ li r0, 2
|
|
/* 80070E18 0006DD58 48 00 00 20 */ b lbl_80070E38
|
|
lbl_80070E1C:
|
|
/* 80070E1C 0006DD5C 54 80 02 7F */ clrlwi. r0, r4, 9
|
|
/* 80070E20 0006DD60 41 82 00 0C */ beq lbl_80070E2C
|
|
/* 80070E24 0006DD64 38 00 00 05 */ li r0, 5
|
|
/* 80070E28 0006DD68 48 00 00 10 */ b lbl_80070E38
|
|
lbl_80070E2C:
|
|
/* 80070E2C 0006DD6C 38 00 00 03 */ li r0, 3
|
|
/* 80070E30 0006DD70 48 00 00 08 */ b lbl_80070E38
|
|
lbl_80070E34:
|
|
/* 80070E34 0006DD74 38 00 00 04 */ li r0, 4
|
|
lbl_80070E38:
|
|
/* 80070E38 0006DD78 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 80070E3C 0006DD7C 40 82 00 0C */ bne lbl_80070E48
|
|
/* 80070E40 0006DD80 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
|
|
/* 80070E44 0006DD84 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
|
|
lbl_80070E48:
|
|
/* 80070E48 0006DD88 FC 1F 08 40 */ fcmpo cr0, f31, f1
|
|
/* 80070E4C 0006DD8C 7C 00 00 26 */ mfcr r0
|
|
/* 80070E50 0006DD90 54 00 0F FE */ srwi r0, r0, 0x1f
|
|
/* 80070E54 0006DD94 7C 00 00 34 */ cntlzw r0, r0
|
|
/* 80070E58 0006DD98 54 03 D9 7E */ srwi r3, r0, 5
|
|
lbl_80070E5C:
|
|
/* 80070E5C 0006DD9C E3 E1 00 78 */ psq_l f31, 120(r1), 0, 0
|
|
/* 80070E60 0006DDA0 CB E1 00 70 */ lfd f31, 0x70(r1)
|
|
/* 80070E64 0006DDA4 E3 C1 00 68 */ psq_l f30, 104(r1), 0, 0
|
|
/* 80070E68 0006DDA8 CB C1 00 60 */ lfd f30, 0x60(r1)
|
|
/* 80070E6C 0006DDAC E3 A1 00 58 */ psq_l f29, 88(r1), 0, 0
|
|
/* 80070E70 0006DDB0 CB A1 00 50 */ lfd f29, 0x50(r1)
|
|
/* 80070E74 0006DDB4 E3 81 00 48 */ psq_l f28, 72(r1), 0, 0
|
|
/* 80070E78 0006DDB8 CB 81 00 40 */ lfd f28, 0x40(r1)
|
|
/* 80070E7C 0006DDBC 83 E1 00 3C */ lwz r31, 0x3c(r1)
|
|
/* 80070E80 0006DDC0 80 01 00 84 */ lwz r0, 0x84(r1)
|
|
/* 80070E84 0006DDC4 7C 08 03 A6 */ mtlr r0
|
|
/* 80070E88 0006DDC8 38 21 00 80 */ addi r1, r1, 0x80
|
|
/* 80070E8C 0006DDCC 4E 80 00 20 */ blr
|