mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
490 lines
21 KiB
ArmAsm
490 lines
21 KiB
ArmAsm
lbl_80154E5C:
|
|
/* 80154E5C 94 21 FF 40 */ stwu r1, -0xc0(r1)
|
|
/* 80154E60 7C 08 02 A6 */ mflr r0
|
|
/* 80154E64 90 01 00 C4 */ stw r0, 0xc4(r1)
|
|
/* 80154E68 39 61 00 C0 */ addi r11, r1, 0xc0
|
|
/* 80154E6C 48 20 D3 65 */ bl _savegpr_26
|
|
/* 80154E70 7C 7E 1B 78 */ mr r30, r3
|
|
/* 80154E74 7C 9A 23 78 */ mr r26, r4
|
|
/* 80154E78 7C BB 2B 78 */ mr r27, r5
|
|
/* 80154E7C 7C FC 3B 78 */ mr r28, r7
|
|
/* 80154E80 7D 1F 43 78 */ mr r31, r8
|
|
/* 80154E84 B3 61 00 0A */ sth r27, 0xa(r1)
|
|
/* 80154E88 B3 61 00 08 */ sth r27, 8(r1)
|
|
/* 80154E8C 54 DD 04 3E */ clrlwi r29, r6, 0x10
|
|
/* 80154E90 7F A3 EB 78 */ mr r3, r29
|
|
/* 80154E94 38 81 00 08 */ addi r4, r1, 8
|
|
/* 80154E98 7F 85 E3 78 */ mr r5, r28
|
|
/* 80154E9C 38 C0 00 00 */ li r6, 0
|
|
/* 80154EA0 4B FF B7 59 */ bl daNpcF_incIdx__FiRUsii
|
|
/* 80154EA4 7F A3 EB 78 */ mr r3, r29
|
|
/* 80154EA8 38 81 00 0A */ addi r4, r1, 0xa
|
|
/* 80154EAC 7F 85 E3 78 */ mr r5, r28
|
|
/* 80154EB0 38 C0 00 00 */ li r6, 0
|
|
/* 80154EB4 4B FF B7 A1 */ bl daNpcF_decIdx__FiRUsii
|
|
/* 80154EB8 A0 81 00 0A */ lhz r4, 0xa(r1)
|
|
/* 80154EBC 54 80 23 36 */ rlwinm r0, r4, 4, 0xc, 0x1b
|
|
/* 80154EC0 7C 7A 02 14 */ add r3, r26, r0
|
|
/* 80154EC4 C0 43 00 0C */ lfs f2, 0xc(r3)
|
|
/* 80154EC8 C0 23 00 08 */ lfs f1, 8(r3)
|
|
/* 80154ECC C0 03 00 04 */ lfs f0, 4(r3)
|
|
/* 80154ED0 D0 01 00 98 */ stfs f0, 0x98(r1)
|
|
/* 80154ED4 D0 21 00 9C */ stfs f1, 0x9c(r1)
|
|
/* 80154ED8 D0 41 00 A0 */ stfs f2, 0xa0(r1)
|
|
/* 80154EDC 57 60 04 3E */ clrlwi r0, r27, 0x10
|
|
/* 80154EE0 57 63 23 36 */ rlwinm r3, r27, 4, 0xc, 0x1b
|
|
/* 80154EE4 7C 7A 1A 14 */ add r3, r26, r3
|
|
/* 80154EE8 C0 43 00 0C */ lfs f2, 0xc(r3)
|
|
/* 80154EEC C0 23 00 08 */ lfs f1, 8(r3)
|
|
/* 80154EF0 C0 03 00 04 */ lfs f0, 4(r3)
|
|
/* 80154EF4 D0 01 00 8C */ stfs f0, 0x8c(r1)
|
|
/* 80154EF8 D0 21 00 90 */ stfs f1, 0x90(r1)
|
|
/* 80154EFC D0 41 00 94 */ stfs f2, 0x94(r1)
|
|
/* 80154F00 A0 A1 00 08 */ lhz r5, 8(r1)
|
|
/* 80154F04 54 A3 23 36 */ rlwinm r3, r5, 4, 0xc, 0x1b
|
|
/* 80154F08 7C 7A 1A 14 */ add r3, r26, r3
|
|
/* 80154F0C C0 43 00 0C */ lfs f2, 0xc(r3)
|
|
/* 80154F10 C0 23 00 08 */ lfs f1, 8(r3)
|
|
/* 80154F14 C0 03 00 04 */ lfs f0, 4(r3)
|
|
/* 80154F18 D0 01 00 80 */ stfs f0, 0x80(r1)
|
|
/* 80154F1C D0 21 00 84 */ stfs f1, 0x84(r1)
|
|
/* 80154F20 D0 41 00 88 */ stfs f2, 0x88(r1)
|
|
/* 80154F24 7C 04 00 40 */ cmplw r4, r0
|
|
/* 80154F28 40 82 00 0C */ bne lbl_80154F34
|
|
/* 80154F2C 7C 05 00 40 */ cmplw r5, r0
|
|
/* 80154F30 41 82 06 20 */ beq lbl_80155550
|
|
lbl_80154F34:
|
|
/* 80154F34 57 60 04 3E */ clrlwi r0, r27, 0x10
|
|
/* 80154F38 7C 04 00 40 */ cmplw r4, r0
|
|
/* 80154F3C 40 80 01 B8 */ bge lbl_801550F4
|
|
/* 80154F40 7C 00 28 40 */ cmplw r0, r5
|
|
/* 80154F44 40 80 01 B0 */ bge lbl_801550F4
|
|
/* 80154F48 38 61 00 68 */ addi r3, r1, 0x68
|
|
/* 80154F4C 38 81 00 80 */ addi r4, r1, 0x80
|
|
/* 80154F50 38 A1 00 98 */ addi r5, r1, 0x98
|
|
/* 80154F54 48 11 1B E1 */ bl __mi__4cXyzCFRC3Vec
|
|
/* 80154F58 C0 01 00 68 */ lfs f0, 0x68(r1)
|
|
/* 80154F5C D0 01 00 44 */ stfs f0, 0x44(r1)
|
|
/* 80154F60 C0 02 99 D8 */ lfs f0, lit_4116(r2)
|
|
/* 80154F64 D0 01 00 48 */ stfs f0, 0x48(r1)
|
|
/* 80154F68 C0 01 00 70 */ lfs f0, 0x70(r1)
|
|
/* 80154F6C D0 01 00 4C */ stfs f0, 0x4c(r1)
|
|
/* 80154F70 38 61 00 44 */ addi r3, r1, 0x44
|
|
/* 80154F74 48 1F 21 C5 */ bl PSVECSquareMag
|
|
/* 80154F78 C0 02 99 D8 */ lfs f0, lit_4116(r2)
|
|
/* 80154F7C FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80154F80 40 81 00 58 */ ble lbl_80154FD8
|
|
/* 80154F84 FC 00 08 34 */ frsqrte f0, f1
|
|
/* 80154F88 C8 82 9A 08 */ lfd f4, lit_4723(r2)
|
|
/* 80154F8C FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 80154F90 C8 62 9A 10 */ lfd f3, lit_4724(r2)
|
|
/* 80154F94 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 80154F98 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 80154F9C FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 80154FA0 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 80154FA4 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 80154FA8 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 80154FAC FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 80154FB0 FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 80154FB4 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 80154FB8 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 80154FBC FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 80154FC0 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 80154FC4 FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 80154FC8 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 80154FCC FC 21 00 32 */ fmul f1, f1, f0
|
|
/* 80154FD0 FC 20 08 18 */ frsp f1, f1
|
|
/* 80154FD4 48 00 00 88 */ b lbl_8015505C
|
|
lbl_80154FD8:
|
|
/* 80154FD8 C8 02 9A 18 */ lfd f0, lit_4725(r2)
|
|
/* 80154FDC FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80154FE0 40 80 00 10 */ bge lbl_80154FF0
|
|
/* 80154FE4 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
|
|
/* 80154FE8 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
|
|
/* 80154FEC 48 00 00 70 */ b lbl_8015505C
|
|
lbl_80154FF0:
|
|
/* 80154FF0 D0 21 00 14 */ stfs f1, 0x14(r1)
|
|
/* 80154FF4 80 81 00 14 */ lwz r4, 0x14(r1)
|
|
/* 80154FF8 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
|
|
/* 80154FFC 3C 00 7F 80 */ lis r0, 0x7f80
|
|
/* 80155000 7C 03 00 00 */ cmpw r3, r0
|
|
/* 80155004 41 82 00 14 */ beq lbl_80155018
|
|
/* 80155008 40 80 00 40 */ bge lbl_80155048
|
|
/* 8015500C 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 80155010 41 82 00 20 */ beq lbl_80155030
|
|
/* 80155014 48 00 00 34 */ b lbl_80155048
|
|
lbl_80155018:
|
|
/* 80155018 54 80 02 7F */ clrlwi. r0, r4, 9
|
|
/* 8015501C 41 82 00 0C */ beq lbl_80155028
|
|
/* 80155020 38 00 00 01 */ li r0, 1
|
|
/* 80155024 48 00 00 28 */ b lbl_8015504C
|
|
lbl_80155028:
|
|
/* 80155028 38 00 00 02 */ li r0, 2
|
|
/* 8015502C 48 00 00 20 */ b lbl_8015504C
|
|
lbl_80155030:
|
|
/* 80155030 54 80 02 7F */ clrlwi. r0, r4, 9
|
|
/* 80155034 41 82 00 0C */ beq lbl_80155040
|
|
/* 80155038 38 00 00 05 */ li r0, 5
|
|
/* 8015503C 48 00 00 10 */ b lbl_8015504C
|
|
lbl_80155040:
|
|
/* 80155040 38 00 00 03 */ li r0, 3
|
|
/* 80155044 48 00 00 08 */ b lbl_8015504C
|
|
lbl_80155048:
|
|
/* 80155048 38 00 00 04 */ li r0, 4
|
|
lbl_8015504C:
|
|
/* 8015504C 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 80155050 40 82 00 0C */ bne lbl_8015505C
|
|
/* 80155054 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
|
|
/* 80155058 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
|
|
lbl_8015505C:
|
|
/* 8015505C D0 21 00 28 */ stfs f1, 0x28(r1)
|
|
/* 80155060 C0 21 00 80 */ lfs f1, 0x80(r1)
|
|
/* 80155064 C0 01 00 98 */ lfs f0, 0x98(r1)
|
|
/* 80155068 EC 21 00 28 */ fsubs f1, f1, f0
|
|
/* 8015506C C0 41 00 88 */ lfs f2, 0x88(r1)
|
|
/* 80155070 C0 01 00 A0 */ lfs f0, 0xa0(r1)
|
|
/* 80155074 EC 42 00 28 */ fsubs f2, f2, f0
|
|
/* 80155078 48 11 25 FD */ bl cM_atan2s__Fff
|
|
/* 8015507C C0 41 00 98 */ lfs f2, 0x98(r1)
|
|
/* 80155080 D0 41 00 74 */ stfs f2, 0x74(r1)
|
|
/* 80155084 C0 01 00 9C */ lfs f0, 0x9c(r1)
|
|
/* 80155088 D0 01 00 78 */ stfs f0, 0x78(r1)
|
|
/* 8015508C C0 21 00 A0 */ lfs f1, 0xa0(r1)
|
|
/* 80155090 D0 21 00 7C */ stfs f1, 0x7c(r1)
|
|
/* 80155094 C0 02 99 E8 */ lfs f0, lit_4148(r2)
|
|
/* 80155098 C0 A1 00 28 */ lfs f5, 0x28(r1)
|
|
/* 8015509C EC 60 01 72 */ fmuls f3, f0, f5
|
|
/* 801550A0 54 60 04 38 */ rlwinm r0, r3, 0, 0x10, 0x1c
|
|
/* 801550A4 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */
|
|
/* 801550A8 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */
|
|
/* 801550AC 7C 83 04 2E */ lfsx f4, r3, r0
|
|
/* 801550B0 EC 03 01 32 */ fmuls f0, f3, f4
|
|
/* 801550B4 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 801550B8 D0 01 00 98 */ stfs f0, 0x98(r1)
|
|
/* 801550BC 7C 63 02 14 */ add r3, r3, r0
|
|
/* 801550C0 C0 C3 00 04 */ lfs f6, 4(r3)
|
|
/* 801550C4 EC 03 01 B2 */ fmuls f0, f3, f6
|
|
/* 801550C8 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 801550CC D0 01 00 A0 */ stfs f0, 0xa0(r1)
|
|
/* 801550D0 C0 02 99 F0 */ lfs f0, lit_4672(r2)
|
|
/* 801550D4 EC 60 01 72 */ fmuls f3, f0, f5
|
|
/* 801550D8 EC 03 01 32 */ fmuls f0, f3, f4
|
|
/* 801550DC EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 801550E0 D0 01 00 80 */ stfs f0, 0x80(r1)
|
|
/* 801550E4 EC 03 01 B2 */ fmuls f0, f3, f6
|
|
/* 801550E8 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 801550EC D0 01 00 88 */ stfs f0, 0x88(r1)
|
|
/* 801550F0 48 00 03 6C */ b lbl_8015545C
|
|
lbl_801550F4:
|
|
/* 801550F4 57 60 04 3E */ clrlwi r0, r27, 0x10
|
|
/* 801550F8 7C 04 00 40 */ cmplw r4, r0
|
|
/* 801550FC 40 80 01 B0 */ bge lbl_801552AC
|
|
/* 80155100 38 61 00 5C */ addi r3, r1, 0x5c
|
|
/* 80155104 38 81 00 8C */ addi r4, r1, 0x8c
|
|
/* 80155108 38 A1 00 98 */ addi r5, r1, 0x98
|
|
/* 8015510C 48 11 1A 29 */ bl __mi__4cXyzCFRC3Vec
|
|
/* 80155110 C0 01 00 5C */ lfs f0, 0x5c(r1)
|
|
/* 80155114 D0 01 00 38 */ stfs f0, 0x38(r1)
|
|
/* 80155118 C0 02 99 D8 */ lfs f0, lit_4116(r2)
|
|
/* 8015511C D0 01 00 3C */ stfs f0, 0x3c(r1)
|
|
/* 80155120 C0 01 00 64 */ lfs f0, 0x64(r1)
|
|
/* 80155124 D0 01 00 40 */ stfs f0, 0x40(r1)
|
|
/* 80155128 38 61 00 38 */ addi r3, r1, 0x38
|
|
/* 8015512C 48 1F 20 0D */ bl PSVECSquareMag
|
|
/* 80155130 C0 02 99 D8 */ lfs f0, lit_4116(r2)
|
|
/* 80155134 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80155138 40 81 00 58 */ ble lbl_80155190
|
|
/* 8015513C FC 00 08 34 */ frsqrte f0, f1
|
|
/* 80155140 C8 82 9A 08 */ lfd f4, lit_4723(r2)
|
|
/* 80155144 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 80155148 C8 62 9A 10 */ lfd f3, lit_4724(r2)
|
|
/* 8015514C FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 80155150 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 80155154 FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 80155158 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 8015515C FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 80155160 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 80155164 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 80155168 FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 8015516C FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 80155170 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 80155174 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 80155178 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 8015517C FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 80155180 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 80155184 FC 21 00 32 */ fmul f1, f1, f0
|
|
/* 80155188 FC 20 08 18 */ frsp f1, f1
|
|
/* 8015518C 48 00 00 88 */ b lbl_80155214
|
|
lbl_80155190:
|
|
/* 80155190 C8 02 9A 18 */ lfd f0, lit_4725(r2)
|
|
/* 80155194 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80155198 40 80 00 10 */ bge lbl_801551A8
|
|
/* 8015519C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
|
|
/* 801551A0 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
|
|
/* 801551A4 48 00 00 70 */ b lbl_80155214
|
|
lbl_801551A8:
|
|
/* 801551A8 D0 21 00 10 */ stfs f1, 0x10(r1)
|
|
/* 801551AC 80 81 00 10 */ lwz r4, 0x10(r1)
|
|
/* 801551B0 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
|
|
/* 801551B4 3C 00 7F 80 */ lis r0, 0x7f80
|
|
/* 801551B8 7C 03 00 00 */ cmpw r3, r0
|
|
/* 801551BC 41 82 00 14 */ beq lbl_801551D0
|
|
/* 801551C0 40 80 00 40 */ bge lbl_80155200
|
|
/* 801551C4 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 801551C8 41 82 00 20 */ beq lbl_801551E8
|
|
/* 801551CC 48 00 00 34 */ b lbl_80155200
|
|
lbl_801551D0:
|
|
/* 801551D0 54 80 02 7F */ clrlwi. r0, r4, 9
|
|
/* 801551D4 41 82 00 0C */ beq lbl_801551E0
|
|
/* 801551D8 38 00 00 01 */ li r0, 1
|
|
/* 801551DC 48 00 00 28 */ b lbl_80155204
|
|
lbl_801551E0:
|
|
/* 801551E0 38 00 00 02 */ li r0, 2
|
|
/* 801551E4 48 00 00 20 */ b lbl_80155204
|
|
lbl_801551E8:
|
|
/* 801551E8 54 80 02 7F */ clrlwi. r0, r4, 9
|
|
/* 801551EC 41 82 00 0C */ beq lbl_801551F8
|
|
/* 801551F0 38 00 00 05 */ li r0, 5
|
|
/* 801551F4 48 00 00 10 */ b lbl_80155204
|
|
lbl_801551F8:
|
|
/* 801551F8 38 00 00 03 */ li r0, 3
|
|
/* 801551FC 48 00 00 08 */ b lbl_80155204
|
|
lbl_80155200:
|
|
/* 80155200 38 00 00 04 */ li r0, 4
|
|
lbl_80155204:
|
|
/* 80155204 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 80155208 40 82 00 0C */ bne lbl_80155214
|
|
/* 8015520C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
|
|
/* 80155210 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
|
|
lbl_80155214:
|
|
/* 80155214 D0 21 00 28 */ stfs f1, 0x28(r1)
|
|
/* 80155218 C0 21 00 8C */ lfs f1, 0x8c(r1)
|
|
/* 8015521C C0 01 00 98 */ lfs f0, 0x98(r1)
|
|
/* 80155220 EC 21 00 28 */ fsubs f1, f1, f0
|
|
/* 80155224 C0 41 00 94 */ lfs f2, 0x94(r1)
|
|
/* 80155228 C0 01 00 A0 */ lfs f0, 0xa0(r1)
|
|
/* 8015522C EC 42 00 28 */ fsubs f2, f2, f0
|
|
/* 80155230 48 11 24 45 */ bl cM_atan2s__Fff
|
|
/* 80155234 C0 41 00 8C */ lfs f2, 0x8c(r1)
|
|
/* 80155238 D0 41 00 74 */ stfs f2, 0x74(r1)
|
|
/* 8015523C C0 01 00 90 */ lfs f0, 0x90(r1)
|
|
/* 80155240 D0 01 00 78 */ stfs f0, 0x78(r1)
|
|
/* 80155244 C0 21 00 94 */ lfs f1, 0x94(r1)
|
|
/* 80155248 D0 21 00 7C */ stfs f1, 0x7c(r1)
|
|
/* 8015524C C0 02 99 F8 */ lfs f0, lit_4674(r2)
|
|
/* 80155250 C0 A1 00 28 */ lfs f5, 0x28(r1)
|
|
/* 80155254 EC 60 01 72 */ fmuls f3, f0, f5
|
|
/* 80155258 54 60 04 38 */ rlwinm r0, r3, 0, 0x10, 0x1c
|
|
/* 8015525C 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */
|
|
/* 80155260 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */
|
|
/* 80155264 7C 83 04 2E */ lfsx f4, r3, r0
|
|
/* 80155268 EC 03 01 32 */ fmuls f0, f3, f4
|
|
/* 8015526C EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 80155270 D0 01 00 98 */ stfs f0, 0x98(r1)
|
|
/* 80155274 7C 63 02 14 */ add r3, r3, r0
|
|
/* 80155278 C0 C3 00 04 */ lfs f6, 4(r3)
|
|
/* 8015527C EC 03 01 B2 */ fmuls f0, f3, f6
|
|
/* 80155280 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 80155284 D0 01 00 A0 */ stfs f0, 0xa0(r1)
|
|
/* 80155288 C0 02 99 F0 */ lfs f0, lit_4672(r2)
|
|
/* 8015528C EC 60 01 72 */ fmuls f3, f0, f5
|
|
/* 80155290 EC 03 01 32 */ fmuls f0, f3, f4
|
|
/* 80155294 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 80155298 D0 01 00 80 */ stfs f0, 0x80(r1)
|
|
/* 8015529C EC 03 01 B2 */ fmuls f0, f3, f6
|
|
/* 801552A0 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 801552A4 D0 01 00 88 */ stfs f0, 0x88(r1)
|
|
/* 801552A8 48 00 01 B4 */ b lbl_8015545C
|
|
lbl_801552AC:
|
|
/* 801552AC 7C 00 28 40 */ cmplw r0, r5
|
|
/* 801552B0 40 80 01 AC */ bge lbl_8015545C
|
|
/* 801552B4 38 61 00 50 */ addi r3, r1, 0x50
|
|
/* 801552B8 38 81 00 80 */ addi r4, r1, 0x80
|
|
/* 801552BC 38 A1 00 8C */ addi r5, r1, 0x8c
|
|
/* 801552C0 48 11 18 75 */ bl __mi__4cXyzCFRC3Vec
|
|
/* 801552C4 C0 01 00 50 */ lfs f0, 0x50(r1)
|
|
/* 801552C8 D0 01 00 2C */ stfs f0, 0x2c(r1)
|
|
/* 801552CC C0 02 99 D8 */ lfs f0, lit_4116(r2)
|
|
/* 801552D0 D0 01 00 30 */ stfs f0, 0x30(r1)
|
|
/* 801552D4 C0 01 00 58 */ lfs f0, 0x58(r1)
|
|
/* 801552D8 D0 01 00 34 */ stfs f0, 0x34(r1)
|
|
/* 801552DC 38 61 00 2C */ addi r3, r1, 0x2c
|
|
/* 801552E0 48 1F 1E 59 */ bl PSVECSquareMag
|
|
/* 801552E4 C0 02 99 D8 */ lfs f0, lit_4116(r2)
|
|
/* 801552E8 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 801552EC 40 81 00 58 */ ble lbl_80155344
|
|
/* 801552F0 FC 00 08 34 */ frsqrte f0, f1
|
|
/* 801552F4 C8 82 9A 08 */ lfd f4, lit_4723(r2)
|
|
/* 801552F8 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 801552FC C8 62 9A 10 */ lfd f3, lit_4724(r2)
|
|
/* 80155300 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 80155304 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 80155308 FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 8015530C FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 80155310 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 80155314 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 80155318 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 8015531C FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 80155320 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 80155324 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 80155328 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 8015532C FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 80155330 FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 80155334 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 80155338 FC 21 00 32 */ fmul f1, f1, f0
|
|
/* 8015533C FC 20 08 18 */ frsp f1, f1
|
|
/* 80155340 48 00 00 88 */ b lbl_801553C8
|
|
lbl_80155344:
|
|
/* 80155344 C8 02 9A 18 */ lfd f0, lit_4725(r2)
|
|
/* 80155348 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8015534C 40 80 00 10 */ bge lbl_8015535C
|
|
/* 80155350 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
|
|
/* 80155354 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
|
|
/* 80155358 48 00 00 70 */ b lbl_801553C8
|
|
lbl_8015535C:
|
|
/* 8015535C D0 21 00 0C */ stfs f1, 0xc(r1)
|
|
/* 80155360 80 81 00 0C */ lwz r4, 0xc(r1)
|
|
/* 80155364 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
|
|
/* 80155368 3C 00 7F 80 */ lis r0, 0x7f80
|
|
/* 8015536C 7C 03 00 00 */ cmpw r3, r0
|
|
/* 80155370 41 82 00 14 */ beq lbl_80155384
|
|
/* 80155374 40 80 00 40 */ bge lbl_801553B4
|
|
/* 80155378 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8015537C 41 82 00 20 */ beq lbl_8015539C
|
|
/* 80155380 48 00 00 34 */ b lbl_801553B4
|
|
lbl_80155384:
|
|
/* 80155384 54 80 02 7F */ clrlwi. r0, r4, 9
|
|
/* 80155388 41 82 00 0C */ beq lbl_80155394
|
|
/* 8015538C 38 00 00 01 */ li r0, 1
|
|
/* 80155390 48 00 00 28 */ b lbl_801553B8
|
|
lbl_80155394:
|
|
/* 80155394 38 00 00 02 */ li r0, 2
|
|
/* 80155398 48 00 00 20 */ b lbl_801553B8
|
|
lbl_8015539C:
|
|
/* 8015539C 54 80 02 7F */ clrlwi. r0, r4, 9
|
|
/* 801553A0 41 82 00 0C */ beq lbl_801553AC
|
|
/* 801553A4 38 00 00 05 */ li r0, 5
|
|
/* 801553A8 48 00 00 10 */ b lbl_801553B8
|
|
lbl_801553AC:
|
|
/* 801553AC 38 00 00 03 */ li r0, 3
|
|
/* 801553B0 48 00 00 08 */ b lbl_801553B8
|
|
lbl_801553B4:
|
|
/* 801553B4 38 00 00 04 */ li r0, 4
|
|
lbl_801553B8:
|
|
/* 801553B8 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 801553BC 40 82 00 0C */ bne lbl_801553C8
|
|
/* 801553C0 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
|
|
/* 801553C4 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
|
|
lbl_801553C8:
|
|
/* 801553C8 D0 21 00 28 */ stfs f1, 0x28(r1)
|
|
/* 801553CC C0 21 00 80 */ lfs f1, 0x80(r1)
|
|
/* 801553D0 C0 01 00 8C */ lfs f0, 0x8c(r1)
|
|
/* 801553D4 EC 21 00 28 */ fsubs f1, f1, f0
|
|
/* 801553D8 C0 41 00 88 */ lfs f2, 0x88(r1)
|
|
/* 801553DC C0 01 00 94 */ lfs f0, 0x94(r1)
|
|
/* 801553E0 EC 42 00 28 */ fsubs f2, f2, f0
|
|
/* 801553E4 48 11 22 91 */ bl cM_atan2s__Fff
|
|
/* 801553E8 C0 41 00 8C */ lfs f2, 0x8c(r1)
|
|
/* 801553EC D0 41 00 74 */ stfs f2, 0x74(r1)
|
|
/* 801553F0 C0 01 00 90 */ lfs f0, 0x90(r1)
|
|
/* 801553F4 D0 01 00 78 */ stfs f0, 0x78(r1)
|
|
/* 801553F8 C0 21 00 94 */ lfs f1, 0x94(r1)
|
|
/* 801553FC D0 21 00 7C */ stfs f1, 0x7c(r1)
|
|
/* 80155400 C0 02 99 F8 */ lfs f0, lit_4674(r2)
|
|
/* 80155404 C0 A1 00 28 */ lfs f5, 0x28(r1)
|
|
/* 80155408 EC 60 01 72 */ fmuls f3, f0, f5
|
|
/* 8015540C 54 60 04 38 */ rlwinm r0, r3, 0, 0x10, 0x1c
|
|
/* 80155410 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */
|
|
/* 80155414 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */
|
|
/* 80155418 7C 83 04 2E */ lfsx f4, r3, r0
|
|
/* 8015541C EC 03 01 32 */ fmuls f0, f3, f4
|
|
/* 80155420 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 80155424 D0 01 00 98 */ stfs f0, 0x98(r1)
|
|
/* 80155428 7C 63 02 14 */ add r3, r3, r0
|
|
/* 8015542C C0 C3 00 04 */ lfs f6, 4(r3)
|
|
/* 80155430 EC 03 01 B2 */ fmuls f0, f3, f6
|
|
/* 80155434 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 80155438 D0 01 00 A0 */ stfs f0, 0xa0(r1)
|
|
/* 8015543C C0 02 99 F0 */ lfs f0, lit_4672(r2)
|
|
/* 80155440 EC 60 01 72 */ fmuls f3, f0, f5
|
|
/* 80155444 EC 03 01 32 */ fmuls f0, f3, f4
|
|
/* 80155448 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 8015544C D0 01 00 80 */ stfs f0, 0x80(r1)
|
|
/* 80155450 EC 03 01 B2 */ fmuls f0, f3, f6
|
|
/* 80155454 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 80155458 D0 01 00 88 */ stfs f0, 0x88(r1)
|
|
lbl_8015545C:
|
|
/* 8015545C C0 3E 00 00 */ lfs f1, 0(r30)
|
|
/* 80155460 C0 5E 00 08 */ lfs f2, 8(r30)
|
|
/* 80155464 C0 61 00 98 */ lfs f3, 0x98(r1)
|
|
/* 80155468 C0 81 00 A0 */ lfs f4, 0xa0(r1)
|
|
/* 8015546C C0 A1 00 80 */ lfs f5, 0x80(r1)
|
|
/* 80155470 C0 C1 00 88 */ lfs f6, 0x88(r1)
|
|
/* 80155474 38 61 00 24 */ addi r3, r1, 0x24
|
|
/* 80155478 38 81 00 20 */ addi r4, r1, 0x20
|
|
/* 8015547C 38 A1 00 28 */ addi r5, r1, 0x28
|
|
/* 80155480 4B FF F9 29 */ bl daNpcF_pntVsLineSegmentLengthSquare2D__FffffffPfPfPf
|
|
/* 80155484 C0 01 00 28 */ lfs f0, 0x28(r1)
|
|
/* 80155488 FC 00 02 10 */ fabs f0, f0
|
|
/* 8015548C FC 20 00 18 */ frsp f1, f0
|
|
/* 80155490 C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13)
|
|
/* 80155494 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80155498 40 80 00 0C */ bge lbl_801554A4
|
|
/* 8015549C 38 60 00 00 */ li r3, 0
|
|
/* 801554A0 48 00 00 B4 */ b lbl_80155554
|
|
lbl_801554A4:
|
|
/* 801554A4 C0 21 00 8C */ lfs f1, 0x8c(r1)
|
|
/* 801554A8 C0 41 00 94 */ lfs f2, 0x94(r1)
|
|
/* 801554AC C0 61 00 98 */ lfs f3, 0x98(r1)
|
|
/* 801554B0 C0 81 00 A0 */ lfs f4, 0xa0(r1)
|
|
/* 801554B4 C0 A1 00 80 */ lfs f5, 0x80(r1)
|
|
/* 801554B8 C0 C1 00 88 */ lfs f6, 0x88(r1)
|
|
/* 801554BC 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 801554C0 38 81 00 18 */ addi r4, r1, 0x18
|
|
/* 801554C4 38 A1 00 28 */ addi r5, r1, 0x28
|
|
/* 801554C8 4B FF F8 E1 */ bl daNpcF_pntVsLineSegmentLengthSquare2D__FffffffPfPfPf
|
|
/* 801554CC 2C 1F 00 00 */ cmpwi r31, 0
|
|
/* 801554D0 41 82 00 28 */ beq lbl_801554F8
|
|
/* 801554D4 C0 21 00 98 */ lfs f1, 0x98(r1)
|
|
/* 801554D8 C0 01 00 80 */ lfs f0, 0x80(r1)
|
|
/* 801554DC EC 21 00 28 */ fsubs f1, f1, f0
|
|
/* 801554E0 C0 41 00 A0 */ lfs f2, 0xa0(r1)
|
|
/* 801554E4 C0 01 00 88 */ lfs f0, 0x88(r1)
|
|
/* 801554E8 EC 42 00 28 */ fsubs f2, f2, f0
|
|
/* 801554EC 48 11 21 89 */ bl cM_atan2s__Fff
|
|
/* 801554F0 7C 7E 1B 78 */ mr r30, r3
|
|
/* 801554F4 48 00 00 24 */ b lbl_80155518
|
|
lbl_801554F8:
|
|
/* 801554F8 C0 21 00 80 */ lfs f1, 0x80(r1)
|
|
/* 801554FC C0 01 00 98 */ lfs f0, 0x98(r1)
|
|
/* 80155500 EC 21 00 28 */ fsubs f1, f1, f0
|
|
/* 80155504 C0 41 00 88 */ lfs f2, 0x88(r1)
|
|
/* 80155508 C0 01 00 A0 */ lfs f0, 0xa0(r1)
|
|
/* 8015550C EC 42 00 28 */ fsubs f2, f2, f0
|
|
/* 80155510 48 11 21 65 */ bl cM_atan2s__Fff
|
|
/* 80155514 7C 7E 1B 78 */ mr r30, r3
|
|
lbl_80155518:
|
|
/* 80155518 C0 21 00 1C */ lfs f1, 0x1c(r1)
|
|
/* 8015551C C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 80155520 EC 21 00 28 */ fsubs f1, f1, f0
|
|
/* 80155524 C0 41 00 18 */ lfs f2, 0x18(r1)
|
|
/* 80155528 C0 01 00 20 */ lfs f0, 0x20(r1)
|
|
/* 8015552C EC 42 00 28 */ fsubs f2, f2, f0
|
|
/* 80155530 48 11 21 45 */ bl cM_atan2s__Fff
|
|
/* 80155534 7C 03 F0 50 */ subf r0, r3, r30
|
|
/* 80155538 7C 03 07 34 */ extsh r3, r0
|
|
/* 8015553C 48 20 FB 95 */ bl abs
|
|
/* 80155540 54 60 04 3E */ clrlwi r0, r3, 0x10
|
|
/* 80155544 20 00 40 00 */ subfic r0, r0, 0x4000
|
|
/* 80155548 54 03 0F FE */ srwi r3, r0, 0x1f
|
|
/* 8015554C 48 00 00 08 */ b lbl_80155554
|
|
lbl_80155550:
|
|
/* 80155550 38 60 00 00 */ li r3, 0
|
|
lbl_80155554:
|
|
/* 80155554 39 61 00 C0 */ addi r11, r1, 0xc0
|
|
/* 80155558 48 20 CC C5 */ bl _restgpr_26
|
|
/* 8015555C 80 01 00 C4 */ lwz r0, 0xc4(r1)
|
|
/* 80155560 7C 08 03 A6 */ mtlr r0
|
|
/* 80155564 38 21 00 C0 */ addi r1, r1, 0xc0
|
|
/* 80155568 4E 80 00 20 */ blr
|