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

191 lines
9.6 KiB
ArmAsm

/* 8026D114 0026A054 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8026D118 0026A058 7C 08 02 A6 */ mflr r0
/* 8026D11C 0026A05C 90 01 00 54 */ stw r0, 0x54(r1)
/* 8026D120 0026A060 39 61 00 50 */ addi r11, r1, 0x50
/* 8026D124 0026A064 48 0F 50 B9 */ bl _savegpr_29
/* 8026D128 0026A068 7C 7D 1B 78 */ mr r29, r3
/* 8026D12C 0026A06C 7C 9E 23 78 */ mr r30, r4
/* 8026D130 0026A070 7C BF 2B 78 */ mr r31, r5
/* 8026D134 0026A074 38 A1 00 0C */ addi r5, r1, 0xc
/* 8026D138 0026A078 38 C1 00 08 */ addi r6, r1, 8
/* 8026D13C 0026A07C 4B FF BB 21 */ bl cM3d_Check_LinLin__FPC8cM3dGLinPC8cM3dGLinPfPf
/* 8026D140 0026A080 2C 03 00 01 */ cmpwi r3, 1
/* 8026D144 0026A084 40 82 00 0C */ bne lbl_8026D150
/* 8026D148 0026A088 38 60 00 00 */ li r3, 0
/* 8026D14C 0026A08C 48 00 02 70 */ b lbl_8026D3BC
lbl_8026D150:
/* 8026D150 0026A090 2C 03 00 02 */ cmpwi r3, 2
/* 8026D154 0026A094 40 82 00 98 */ bne lbl_8026D1EC
/* 8026D158 0026A098 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8026D15C 0026A09C C0 42 B7 18 */ lfs f2, lbl_80455118-_SDA2_BASE_(r2)
/* 8026D160 0026A0A0 FC 01 10 40 */ fcmpo cr0, f1, f2
/* 8026D164 0026A0A4 40 81 02 54 */ ble lbl_8026D3B8
/* 8026D168 0026A0A8 C0 02 B7 38 */ lfs f0, lbl_80455138-_SDA2_BASE_(r2)
/* 8026D16C 0026A0AC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8026D170 0026A0B0 40 80 02 48 */ bge lbl_8026D3B8
/* 8026D174 0026A0B4 C0 61 00 08 */ lfs f3, 8(r1)
/* 8026D178 0026A0B8 FC 03 10 40 */ fcmpo cr0, f3, f2
/* 8026D17C 0026A0BC 40 81 02 3C */ ble lbl_8026D3B8
/* 8026D180 0026A0C0 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 8026D184 0026A0C4 40 80 02 34 */ bge lbl_8026D3B8
/* 8026D188 0026A0C8 7F A3 EB 78 */ mr r3, r29
/* 8026D18C 0026A0CC 38 81 00 34 */ addi r4, r1, 0x34
/* 8026D190 0026A0D0 48 00 21 C1 */ bl CalcPos__8cM3dGLinCFP3Vecf
/* 8026D194 0026A0D4 7F C3 F3 78 */ mr r3, r30
/* 8026D198 0026A0D8 38 81 00 28 */ addi r4, r1, 0x28
/* 8026D19C 0026A0DC C0 21 00 08 */ lfs f1, 8(r1)
/* 8026D1A0 0026A0E0 48 00 21 B1 */ bl CalcPos__8cM3dGLinCFP3Vecf
/* 8026D1A4 0026A0E4 38 61 00 34 */ addi r3, r1, 0x34
/* 8026D1A8 0026A0E8 38 81 00 28 */ addi r4, r1, 0x28
/* 8026D1AC 0026A0EC 48 0D A2 19 */ bl PSVECDistance
/* 8026D1B0 0026A0F0 C0 5D 00 1C */ lfs f2, 0x1c(r29)
/* 8026D1B4 0026A0F4 C0 1E 00 1C */ lfs f0, 0x1c(r30)
/* 8026D1B8 0026A0F8 EC 02 00 2A */ fadds f0, f2, f0
/* 8026D1BC 0026A0FC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8026D1C0 0026A100 40 80 01 F8 */ bge lbl_8026D3B8
/* 8026D1C4 0026A104 38 61 00 34 */ addi r3, r1, 0x34
/* 8026D1C8 0026A108 38 81 00 28 */ addi r4, r1, 0x28
/* 8026D1CC 0026A10C 7F E5 FB 78 */ mr r5, r31
/* 8026D1D0 0026A110 48 0D 9E C1 */ bl PSVECAdd
/* 8026D1D4 0026A114 7F E3 FB 78 */ mr r3, r31
/* 8026D1D8 0026A118 7F E4 FB 78 */ mr r4, r31
/* 8026D1DC 0026A11C C0 22 B7 C4 */ lfs f1, lbl_804551C4-_SDA2_BASE_(r2)
/* 8026D1E0 0026A120 48 0D 9E F9 */ bl PSVECScale
/* 8026D1E4 0026A124 38 60 00 01 */ li r3, 1
/* 8026D1E8 0026A128 48 00 01 D4 */ b lbl_8026D3BC
lbl_8026D1EC:
/* 8026D1EC 0026A12C 2C 03 00 03 */ cmpwi r3, 3
/* 8026D1F0 0026A130 40 82 01 C8 */ bne lbl_8026D3B8
/* 8026D1F4 0026A134 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8026D1F8 0026A138 C0 62 B7 18 */ lfs f3, lbl_80455118-_SDA2_BASE_(r2)
/* 8026D1FC 0026A13C FC 01 18 40 */ fcmpo cr0, f1, f3
/* 8026D200 0026A140 40 80 00 7C */ bge lbl_8026D27C
/* 8026D204 0026A144 C0 1D 00 00 */ lfs f0, 0(r29)
/* 8026D208 0026A148 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8026D20C 0026A14C C0 1D 00 04 */ lfs f0, 4(r29)
/* 8026D210 0026A150 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 8026D214 0026A154 C0 1D 00 08 */ lfs f0, 8(r29)
/* 8026D218 0026A158 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 8026D21C 0026A15C C0 21 00 08 */ lfs f1, 8(r1)
/* 8026D220 0026A160 FC 01 18 40 */ fcmpo cr0, f1, f3
/* 8026D224 0026A164 40 80 00 20 */ bge lbl_8026D244
/* 8026D228 0026A168 C0 1E 00 00 */ lfs f0, 0(r30)
/* 8026D22C 0026A16C D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8026D230 0026A170 C0 1E 00 04 */ lfs f0, 4(r30)
/* 8026D234 0026A174 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8026D238 0026A178 C0 1E 00 08 */ lfs f0, 8(r30)
/* 8026D23C 0026A17C D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8026D240 0026A180 48 00 01 28 */ b lbl_8026D368
lbl_8026D244:
/* 8026D244 0026A184 C0 02 B7 38 */ lfs f0, lbl_80455138-_SDA2_BASE_(r2)
/* 8026D248 0026A188 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8026D24C 0026A18C 40 81 00 20 */ ble lbl_8026D26C
/* 8026D250 0026A190 C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 8026D254 0026A194 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8026D258 0026A198 C0 1E 00 10 */ lfs f0, 0x10(r30)
/* 8026D25C 0026A19C D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8026D260 0026A1A0 C0 1E 00 14 */ lfs f0, 0x14(r30)
/* 8026D264 0026A1A4 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8026D268 0026A1A8 48 00 01 00 */ b lbl_8026D368
lbl_8026D26C:
/* 8026D26C 0026A1AC 7F C3 F3 78 */ mr r3, r30
/* 8026D270 0026A1B0 38 81 00 10 */ addi r4, r1, 0x10
/* 8026D274 0026A1B4 48 00 20 DD */ bl CalcPos__8cM3dGLinCFP3Vecf
/* 8026D278 0026A1B8 48 00 00 F0 */ b lbl_8026D368
lbl_8026D27C:
/* 8026D27C 0026A1BC C0 42 B7 38 */ lfs f2, lbl_80455138-_SDA2_BASE_(r2)
/* 8026D280 0026A1C0 FC 01 10 40 */ fcmpo cr0, f1, f2
/* 8026D284 0026A1C4 40 81 00 78 */ ble lbl_8026D2FC
/* 8026D288 0026A1C8 C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 8026D28C 0026A1CC D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8026D290 0026A1D0 C0 1D 00 10 */ lfs f0, 0x10(r29)
/* 8026D294 0026A1D4 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 8026D298 0026A1D8 C0 1D 00 14 */ lfs f0, 0x14(r29)
/* 8026D29C 0026A1DC D0 01 00 24 */ stfs f0, 0x24(r1)
/* 8026D2A0 0026A1E0 C0 21 00 08 */ lfs f1, 8(r1)
/* 8026D2A4 0026A1E4 FC 01 18 40 */ fcmpo cr0, f1, f3
/* 8026D2A8 0026A1E8 40 80 00 20 */ bge lbl_8026D2C8
/* 8026D2AC 0026A1EC C0 1E 00 00 */ lfs f0, 0(r30)
/* 8026D2B0 0026A1F0 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8026D2B4 0026A1F4 C0 1E 00 04 */ lfs f0, 4(r30)
/* 8026D2B8 0026A1F8 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8026D2BC 0026A1FC C0 1E 00 08 */ lfs f0, 8(r30)
/* 8026D2C0 0026A200 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8026D2C4 0026A204 48 00 00 A4 */ b lbl_8026D368
lbl_8026D2C8:
/* 8026D2C8 0026A208 FC 01 10 40 */ fcmpo cr0, f1, f2
/* 8026D2CC 0026A20C 40 81 00 20 */ ble lbl_8026D2EC
/* 8026D2D0 0026A210 C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 8026D2D4 0026A214 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8026D2D8 0026A218 C0 1E 00 10 */ lfs f0, 0x10(r30)
/* 8026D2DC 0026A21C D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8026D2E0 0026A220 C0 1E 00 14 */ lfs f0, 0x14(r30)
/* 8026D2E4 0026A224 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8026D2E8 0026A228 48 00 00 80 */ b lbl_8026D368
lbl_8026D2EC:
/* 8026D2EC 0026A22C 7F C3 F3 78 */ mr r3, r30
/* 8026D2F0 0026A230 38 81 00 10 */ addi r4, r1, 0x10
/* 8026D2F4 0026A234 48 00 20 5D */ bl CalcPos__8cM3dGLinCFP3Vecf
/* 8026D2F8 0026A238 48 00 00 70 */ b lbl_8026D368
lbl_8026D2FC:
/* 8026D2FC 0026A23C 7F A3 EB 78 */ mr r3, r29
/* 8026D300 0026A240 38 81 00 1C */ addi r4, r1, 0x1c
/* 8026D304 0026A244 48 00 20 4D */ bl CalcPos__8cM3dGLinCFP3Vecf
/* 8026D308 0026A248 C0 21 00 08 */ lfs f1, 8(r1)
/* 8026D30C 0026A24C C0 02 B7 18 */ lfs f0, lbl_80455118-_SDA2_BASE_(r2)
/* 8026D310 0026A250 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8026D314 0026A254 40 80 00 20 */ bge lbl_8026D334
/* 8026D318 0026A258 C0 1E 00 00 */ lfs f0, 0(r30)
/* 8026D31C 0026A25C D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8026D320 0026A260 C0 1E 00 04 */ lfs f0, 4(r30)
/* 8026D324 0026A264 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8026D328 0026A268 C0 1E 00 08 */ lfs f0, 8(r30)
/* 8026D32C 0026A26C D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8026D330 0026A270 48 00 00 38 */ b lbl_8026D368
lbl_8026D334:
/* 8026D334 0026A274 C0 02 B7 38 */ lfs f0, lbl_80455138-_SDA2_BASE_(r2)
/* 8026D338 0026A278 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8026D33C 0026A27C 40 81 00 20 */ ble lbl_8026D35C
/* 8026D340 0026A280 C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 8026D344 0026A284 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8026D348 0026A288 C0 1E 00 10 */ lfs f0, 0x10(r30)
/* 8026D34C 0026A28C D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8026D350 0026A290 C0 1E 00 14 */ lfs f0, 0x14(r30)
/* 8026D354 0026A294 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8026D358 0026A298 48 00 00 10 */ b lbl_8026D368
lbl_8026D35C:
/* 8026D35C 0026A29C 7F C3 F3 78 */ mr r3, r30
/* 8026D360 0026A2A0 38 81 00 10 */ addi r4, r1, 0x10
/* 8026D364 0026A2A4 48 00 1F ED */ bl CalcPos__8cM3dGLinCFP3Vecf
lbl_8026D368:
/* 8026D368 0026A2A8 38 61 00 1C */ addi r3, r1, 0x1c
/* 8026D36C 0026A2AC 38 81 00 10 */ addi r4, r1, 0x10
/* 8026D370 0026A2B0 48 0D A0 55 */ bl PSVECDistance
/* 8026D374 0026A2B4 C0 5D 00 1C */ lfs f2, 0x1c(r29)
/* 8026D378 0026A2B8 C0 1E 00 1C */ lfs f0, 0x1c(r30)
/* 8026D37C 0026A2BC EC 02 00 2A */ fadds f0, f2, f0
/* 8026D380 0026A2C0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8026D384 0026A2C4 40 80 00 2C */ bge lbl_8026D3B0
/* 8026D388 0026A2C8 38 61 00 1C */ addi r3, r1, 0x1c
/* 8026D38C 0026A2CC 38 81 00 10 */ addi r4, r1, 0x10
/* 8026D390 0026A2D0 7F E5 FB 78 */ mr r5, r31
/* 8026D394 0026A2D4 48 0D 9C FD */ bl PSVECAdd
/* 8026D398 0026A2D8 7F E3 FB 78 */ mr r3, r31
/* 8026D39C 0026A2DC 7F E4 FB 78 */ mr r4, r31
/* 8026D3A0 0026A2E0 C0 22 B7 C4 */ lfs f1, lbl_804551C4-_SDA2_BASE_(r2)
/* 8026D3A4 0026A2E4 48 0D 9D 35 */ bl PSVECScale
/* 8026D3A8 0026A2E8 38 60 00 01 */ li r3, 1
/* 8026D3AC 0026A2EC 48 00 00 10 */ b lbl_8026D3BC
lbl_8026D3B0:
/* 8026D3B0 0026A2F0 38 60 00 00 */ li r3, 0
/* 8026D3B4 0026A2F4 48 00 00 08 */ b lbl_8026D3BC
lbl_8026D3B8:
/* 8026D3B8 0026A2F8 38 60 00 00 */ li r3, 0
lbl_8026D3BC:
/* 8026D3BC 0026A2FC 39 61 00 50 */ addi r11, r1, 0x50
/* 8026D3C0 0026A300 48 0F 4E 69 */ bl _restgpr_29
/* 8026D3C4 0026A304 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8026D3C8 0026A308 7C 08 03 A6 */ mtlr r0
/* 8026D3CC 0026A30C 38 21 00 50 */ addi r1, r1, 0x50
/* 8026D3D0 0026A310 4E 80 00 20 */ blr