tp/include/SComponent/c_m3d/asm/func_8026DC3C.s

138 lines
6.8 KiB
ArmAsm

/* 8026DC3C 0026AB7C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8026DC40 0026AB80 7C 08 02 A6 */ mflr r0
/* 8026DC44 0026AB84 90 01 00 34 */ stw r0, 0x34(r1)
/* 8026DC48 0026AB88 39 61 00 30 */ addi r11, r1, 0x30
/* 8026DC4C 0026AB8C 48 0F 45 91 */ bl _savegpr_29
/* 8026DC50 0026AB90 7C 7D 1B 78 */ mr r29, r3
/* 8026DC54 0026AB94 7C 9E 23 78 */ mr r30, r4
/* 8026DC58 0026AB98 7C BF 2B 78 */ mr r31, r5
/* 8026DC5C 0026AB9C 48 0D 97 69 */ bl PSVECDistance
/* 8026DC60 0026ABA0 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8026DC64 0026ABA4 FC 40 08 18 */ frsp f2, f1
/* 8026DC68 0026ABA8 C0 3D 00 1C */ lfs f1, 0x1c(r29)
/* 8026DC6C 0026ABAC C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 8026DC70 0026ABB0 EC 01 00 2A */ fadds f0, f1, f0
/* 8026DC74 0026ABB4 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8026DC78 0026ABB8 40 80 00 20 */ bge lbl_8026DC98
/* 8026DC7C 0026ABBC 7F A3 EB 78 */ mr r3, r29
/* 8026DC80 0026ABC0 7F C4 F3 78 */ mr r4, r30
/* 8026DC84 0026ABC4 7F A5 EB 78 */ mr r5, r29
/* 8026DC88 0026ABC8 7F E6 FB 78 */ mr r6, r31
/* 8026DC8C 0026ABCC 4B FF FE 55 */ bl cM3d_Cross_CpsSph_CrossPos__FRC8cM3dGCpsRC8cM3dGSphRC3VecP3Vec
/* 8026DC90 0026ABD0 38 60 00 01 */ li r3, 1
/* 8026DC94 0026ABD4 48 00 01 80 */ b lbl_8026DE14
lbl_8026DC98:
/* 8026DC98 0026ABD8 38 7D 00 0C */ addi r3, r29, 0xc
/* 8026DC9C 0026ABDC 7F C4 F3 78 */ mr r4, r30
/* 8026DCA0 0026ABE0 48 0D 97 25 */ bl PSVECDistance
/* 8026DCA4 0026ABE4 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8026DCA8 0026ABE8 FC 40 08 18 */ frsp f2, f1
/* 8026DCAC 0026ABEC C0 3D 00 1C */ lfs f1, 0x1c(r29)
/* 8026DCB0 0026ABF0 C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 8026DCB4 0026ABF4 EC 01 00 2A */ fadds f0, f1, f0
/* 8026DCB8 0026ABF8 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8026DCBC 0026ABFC 40 80 00 20 */ bge lbl_8026DCDC
/* 8026DCC0 0026AC00 7F A3 EB 78 */ mr r3, r29
/* 8026DCC4 0026AC04 7F C4 F3 78 */ mr r4, r30
/* 8026DCC8 0026AC08 38 BD 00 0C */ addi r5, r29, 0xc
/* 8026DCCC 0026AC0C 7F E6 FB 78 */ mr r6, r31
/* 8026DCD0 0026AC10 4B FF FE 11 */ bl cM3d_Cross_CpsSph_CrossPos__FRC8cM3dGCpsRC8cM3dGSphRC3VecP3Vec
/* 8026DCD4 0026AC14 38 60 00 01 */ li r3, 1
/* 8026DCD8 0026AC18 48 00 01 3C */ b lbl_8026DE14
lbl_8026DCDC:
/* 8026DCDC 0026AC1C 7F A3 EB 78 */ mr r3, r29
/* 8026DCE0 0026AC20 7F C4 F3 78 */ mr r4, r30
/* 8026DCE4 0026AC24 38 A1 00 10 */ addi r5, r1, 0x10
/* 8026DCE8 0026AC28 38 C1 00 0C */ addi r6, r1, 0xc
/* 8026DCEC 0026AC2C 4B FF AA 25 */ bl cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf
/* 8026DCF0 0026AC30 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8026DCF4 0026AC34 41 82 01 1C */ beq lbl_8026DE10
/* 8026DCF8 0026AC38 C0 9D 00 1C */ lfs f4, 0x1c(r29)
/* 8026DCFC 0026AC3C C0 BE 00 0C */ lfs f5, 0xc(r30)
/* 8026DD00 0026AC40 C0 C1 00 0C */ lfs f6, 0xc(r1)
/* 8026DD04 0026AC44 C0 02 B7 18 */ lfs f0, lbl_80455118-_SDA2_BASE_(r2)
/* 8026DD08 0026AC48 FC 06 00 40 */ fcmpo cr0, f6, f0
/* 8026DD0C 0026AC4C 40 81 00 58 */ ble lbl_8026DD64
/* 8026DD10 0026AC50 FC 00 30 34 */ frsqrte f0, f6
/* 8026DD14 0026AC54 C8 62 B7 20 */ lfd f3, lbl_80455120-_SDA2_BASE_(r2)
/* 8026DD18 0026AC58 FC 23 00 32 */ fmul f1, f3, f0
/* 8026DD1C 0026AC5C C8 42 B7 28 */ lfd f2, lbl_80455128-_SDA2_BASE_(r2)
/* 8026DD20 0026AC60 FC 00 00 32 */ fmul f0, f0, f0
/* 8026DD24 0026AC64 FC 06 00 32 */ fmul f0, f6, f0
/* 8026DD28 0026AC68 FC 02 00 28 */ fsub f0, f2, f0
/* 8026DD2C 0026AC6C FC 01 00 32 */ fmul f0, f1, f0
/* 8026DD30 0026AC70 FC 23 00 32 */ fmul f1, f3, f0
/* 8026DD34 0026AC74 FC 00 00 32 */ fmul f0, f0, f0
/* 8026DD38 0026AC78 FC 06 00 32 */ fmul f0, f6, f0
/* 8026DD3C 0026AC7C FC 02 00 28 */ fsub f0, f2, f0
/* 8026DD40 0026AC80 FC 01 00 32 */ fmul f0, f1, f0
/* 8026DD44 0026AC84 FC 23 00 32 */ fmul f1, f3, f0
/* 8026DD48 0026AC88 FC 00 00 32 */ fmul f0, f0, f0
/* 8026DD4C 0026AC8C FC 06 00 32 */ fmul f0, f6, f0
/* 8026DD50 0026AC90 FC 02 00 28 */ fsub f0, f2, f0
/* 8026DD54 0026AC94 FC 01 00 32 */ fmul f0, f1, f0
/* 8026DD58 0026AC98 FC C6 00 32 */ fmul f6, f6, f0
/* 8026DD5C 0026AC9C FC C0 30 18 */ frsp f6, f6
/* 8026DD60 0026ACA0 48 00 00 88 */ b lbl_8026DDE8
lbl_8026DD64:
/* 8026DD64 0026ACA4 C8 02 B7 30 */ lfd f0, lbl_80455130-_SDA2_BASE_(r2)
/* 8026DD68 0026ACA8 FC 06 00 40 */ fcmpo cr0, f6, f0
/* 8026DD6C 0026ACAC 40 80 00 10 */ bge lbl_8026DD7C
/* 8026DD70 0026ACB0 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 8026DD74 0026ACB4 C0 C3 0A E0 */ lfs f6, lbl_80450AE0@l(r3)
/* 8026DD78 0026ACB8 48 00 00 70 */ b lbl_8026DDE8
lbl_8026DD7C:
/* 8026DD7C 0026ACBC D0 C1 00 08 */ stfs f6, 8(r1)
/* 8026DD80 0026ACC0 80 81 00 08 */ lwz r4, 8(r1)
/* 8026DD84 0026ACC4 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 8026DD88 0026ACC8 3C 00 7F 80 */ lis r0, 0x7f80
/* 8026DD8C 0026ACCC 7C 03 00 00 */ cmpw r3, r0
/* 8026DD90 0026ACD0 41 82 00 14 */ beq lbl_8026DDA4
/* 8026DD94 0026ACD4 40 80 00 40 */ bge lbl_8026DDD4
/* 8026DD98 0026ACD8 2C 03 00 00 */ cmpwi r3, 0
/* 8026DD9C 0026ACDC 41 82 00 20 */ beq lbl_8026DDBC
/* 8026DDA0 0026ACE0 48 00 00 34 */ b lbl_8026DDD4
lbl_8026DDA4:
/* 8026DDA4 0026ACE4 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8026DDA8 0026ACE8 41 82 00 0C */ beq lbl_8026DDB4
/* 8026DDAC 0026ACEC 38 00 00 01 */ li r0, 1
/* 8026DDB0 0026ACF0 48 00 00 28 */ b lbl_8026DDD8
lbl_8026DDB4:
/* 8026DDB4 0026ACF4 38 00 00 02 */ li r0, 2
/* 8026DDB8 0026ACF8 48 00 00 20 */ b lbl_8026DDD8
lbl_8026DDBC:
/* 8026DDBC 0026ACFC 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8026DDC0 0026AD00 41 82 00 0C */ beq lbl_8026DDCC
/* 8026DDC4 0026AD04 38 00 00 05 */ li r0, 5
/* 8026DDC8 0026AD08 48 00 00 10 */ b lbl_8026DDD8
lbl_8026DDCC:
/* 8026DDCC 0026AD0C 38 00 00 03 */ li r0, 3
/* 8026DDD0 0026AD10 48 00 00 08 */ b lbl_8026DDD8
lbl_8026DDD4:
/* 8026DDD4 0026AD14 38 00 00 04 */ li r0, 4
lbl_8026DDD8:
/* 8026DDD8 0026AD18 2C 00 00 01 */ cmpwi r0, 1
/* 8026DDDC 0026AD1C 40 82 00 0C */ bne lbl_8026DDE8
/* 8026DDE0 0026AD20 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 8026DDE4 0026AD24 C0 C3 0A E0 */ lfs f6, lbl_80450AE0@l(r3)
lbl_8026DDE8:
/* 8026DDE8 0026AD28 EC 04 28 2A */ fadds f0, f4, f5
/* 8026DDEC 0026AD2C FC 06 00 40 */ fcmpo cr0, f6, f0
/* 8026DDF0 0026AD30 40 80 00 20 */ bge lbl_8026DE10
/* 8026DDF4 0026AD34 7F A3 EB 78 */ mr r3, r29
/* 8026DDF8 0026AD38 7F C4 F3 78 */ mr r4, r30
/* 8026DDFC 0026AD3C 38 A1 00 10 */ addi r5, r1, 0x10
/* 8026DE00 0026AD40 7F E6 FB 78 */ mr r6, r31
/* 8026DE04 0026AD44 4B FF FC DD */ bl cM3d_Cross_CpsSph_CrossPos__FRC8cM3dGCpsRC8cM3dGSphRC3VecP3Vec
/* 8026DE08 0026AD48 38 60 00 01 */ li r3, 1
/* 8026DE0C 0026AD4C 48 00 00 08 */ b lbl_8026DE14
lbl_8026DE10:
/* 8026DE10 0026AD50 38 60 00 00 */ li r3, 0
lbl_8026DE14:
/* 8026DE14 0026AD54 39 61 00 30 */ addi r11, r1, 0x30
/* 8026DE18 0026AD58 48 0F 44 11 */ bl _restgpr_29
/* 8026DE1C 0026AD5C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8026DE20 0026AD60 7C 08 03 A6 */ mtlr r0
/* 8026DE24 0026AD64 38 21 00 30 */ addi r1, r1, 0x30
/* 8026DE28 0026AD68 4E 80 00 20 */ blr