summaryrefslogtreecommitdiff
path: root/asm/d/d_camera/checkForceLockTarget__9dCamera_cFv.s
blob: fc01388675d040b86e48868343e4854302bbdb5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
lbl_80162088:
/* 80162088  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 8016208C  7C 08 02 A6 */	mflr r0
/* 80162090  90 01 00 64 */	stw r0, 0x64(r1)
/* 80162094  39 61 00 60 */	addi r11, r1, 0x60
/* 80162098  48 20 01 41 */	bl _savegpr_28
/* 8016209C  7C 7E 1B 78 */	mr r30, r3
/* 801620A0  3B E0 00 01 */	li r31, 1
/* 801620A4  80 83 01 98 */	lwz r4, 0x198(r3)
/* 801620A8  3C 04 00 01 */	addis r0, r4, 1
/* 801620AC  28 00 FF FF */	cmplwi r0, 0xffff
/* 801620B0  41 82 01 E0 */	beq lbl_80162290
/* 801620B4  48 01 F4 4D */	bl GetForceLockOnActor__9dCamera_cFv
/* 801620B8  90 7E 01 9C */	stw r3, 0x19c(r30)
/* 801620BC  80 1E 01 9C */	lwz r0, 0x19c(r30)
/* 801620C0  28 00 00 00 */	cmplwi r0, 0
/* 801620C4  41 82 01 C4 */	beq lbl_80162288
/* 801620C8  3C 60 80 40 */	lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 801620CC  38 63 61 C0 */	addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 801620D0  3B A3 56 B8 */	addi r29, r3, 0x56b8
/* 801620D4  3B 80 00 01 */	li r28, 1
/* 801620D8  7F A3 EB 78 */	mr r3, r29
/* 801620DC  4B F1 17 09 */	bl LockonTruth__12dAttention_cFv
/* 801620E0  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 801620E4  40 82 00 14 */	bne lbl_801620F8
/* 801620E8  80 1D 03 34 */	lwz r0, 0x334(r29)
/* 801620EC  54 00 00 85 */	rlwinm. r0, r0, 0, 2, 2
/* 801620F0  40 82 00 08 */	bne lbl_801620F8
/* 801620F4  3B 80 00 00 */	li r28, 0
lbl_801620F8:
/* 801620F8  57 80 06 3F */	clrlwi. r0, r28, 0x18
/* 801620FC  40 82 01 84 */	bne lbl_80162280
/* 80162100  80 1E 01 A0 */	lwz r0, 0x1a0(r30)
/* 80162104  C8 42 9C 98 */	lfd f2, lit_4448(r2)
/* 80162108  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 8016210C  90 01 00 44 */	stw r0, 0x44(r1)
/* 80162110  3C 60 43 30 */	lis r3, 0x4330
/* 80162114  90 61 00 40 */	stw r3, 0x40(r1)
/* 80162118  C8 01 00 40 */	lfd f0, 0x40(r1)
/* 8016211C  EC 20 10 28 */	fsubs f1, f0, f2
/* 80162120  80 1E 09 E4 */	lwz r0, 0x9e4(r30)
/* 80162124  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 80162128  90 01 00 4C */	stw r0, 0x4c(r1)
/* 8016212C  90 61 00 48 */	stw r3, 0x48(r1)
/* 80162130  C8 01 00 48 */	lfd f0, 0x48(r1)
/* 80162134  EC 00 10 28 */	fsubs f0, f0, f2
/* 80162138  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8016213C  41 81 01 44 */	bgt lbl_80162280
/* 80162140  38 61 00 30 */	addi r3, r1, 0x30
/* 80162144  7F C4 F3 78 */	mr r4, r30
/* 80162148  80 BE 01 9C */	lwz r5, 0x19c(r30)
/* 8016214C  4B F3 56 11 */	bl positionOf__9dCamera_cFP10fopAc_ac_c
/* 80162150  38 61 00 24 */	addi r3, r1, 0x24
/* 80162154  7F C4 F3 78 */	mr r4, r30
/* 80162158  80 BE 01 80 */	lwz r5, 0x180(r30)
/* 8016215C  4B F3 56 01 */	bl positionOf__9dCamera_cFP10fopAc_ac_c
/* 80162160  38 61 00 18 */	addi r3, r1, 0x18
/* 80162164  38 81 00 30 */	addi r4, r1, 0x30
/* 80162168  38 A1 00 24 */	addi r5, r1, 0x24
/* 8016216C  48 10 49 C9 */	bl __mi__4cXyzCFRC3Vec
/* 80162170  C0 01 00 18 */	lfs f0, 0x18(r1)
/* 80162174  D0 01 00 0C */	stfs f0, 0xc(r1)
/* 80162178  C0 01 00 1C */	lfs f0, 0x1c(r1)
/* 8016217C  D0 01 00 10 */	stfs f0, 0x10(r1)
/* 80162180  C0 01 00 20 */	lfs f0, 0x20(r1)
/* 80162184  D0 01 00 14 */	stfs f0, 0x14(r1)
/* 80162188  38 61 00 0C */	addi r3, r1, 0xc
/* 8016218C  48 1E 4F AD */	bl PSVECSquareMag
/* 80162190  C0 02 9C A0 */	lfs f0, lit_5656(r2)
/* 80162194  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 80162198  40 81 00 58 */	ble lbl_801621F0
/* 8016219C  FC 00 08 34 */	frsqrte f0, f1
/* 801621A0  C8 82 9C C8 */	lfd f4, lit_6177(r2)
/* 801621A4  FC 44 00 32 */	fmul f2, f4, f0
/* 801621A8  C8 62 9C D0 */	lfd f3, lit_6178(r2)
/* 801621AC  FC 00 00 32 */	fmul f0, f0, f0
/* 801621B0  FC 01 00 32 */	fmul f0, f1, f0
/* 801621B4  FC 03 00 28 */	fsub f0, f3, f0
/* 801621B8  FC 02 00 32 */	fmul f0, f2, f0
/* 801621BC  FC 44 00 32 */	fmul f2, f4, f0
/* 801621C0  FC 00 00 32 */	fmul f0, f0, f0
/* 801621C4  FC 01 00 32 */	fmul f0, f1, f0
/* 801621C8  FC 03 00 28 */	fsub f0, f3, f0
/* 801621CC  FC 02 00 32 */	fmul f0, f2, f0
/* 801621D0  FC 44 00 32 */	fmul f2, f4, f0
/* 801621D4  FC 00 00 32 */	fmul f0, f0, f0
/* 801621D8  FC 01 00 32 */	fmul f0, f1, f0
/* 801621DC  FC 03 00 28 */	fsub f0, f3, f0
/* 801621E0  FC 02 00 32 */	fmul f0, f2, f0
/* 801621E4  FC 21 00 32 */	fmul f1, f1, f0
/* 801621E8  FC 20 08 18 */	frsp f1, f1
/* 801621EC  48 00 00 88 */	b lbl_80162274
lbl_801621F0:
/* 801621F0  C8 02 9C D8 */	lfd f0, lit_6179(r2)
/* 801621F4  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801621F8  40 80 00 10 */	bge lbl_80162208
/* 801621FC  3C 60 80 45 */	lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80162200  C0 23 0A E0 */	lfs f1, __float_nan@l(r3)  /* 0x80450AE0@l */
/* 80162204  48 00 00 70 */	b lbl_80162274
lbl_80162208:
/* 80162208  D0 21 00 08 */	stfs f1, 8(r1)
/* 8016220C  80 81 00 08 */	lwz r4, 8(r1)
/* 80162210  54 83 00 50 */	rlwinm r3, r4, 0, 1, 8
/* 80162214  3C 00 7F 80 */	lis r0, 0x7f80
/* 80162218  7C 03 00 00 */	cmpw r3, r0
/* 8016221C  41 82 00 14 */	beq lbl_80162230
/* 80162220  40 80 00 40 */	bge lbl_80162260
/* 80162224  2C 03 00 00 */	cmpwi r3, 0
/* 80162228  41 82 00 20 */	beq lbl_80162248
/* 8016222C  48 00 00 34 */	b lbl_80162260
lbl_80162230:
/* 80162230  54 80 02 7F */	clrlwi. r0, r4, 9
/* 80162234  41 82 00 0C */	beq lbl_80162240
/* 80162238  38 00 00 01 */	li r0, 1
/* 8016223C  48 00 00 28 */	b lbl_80162264
lbl_80162240:
/* 80162240  38 00 00 02 */	li r0, 2
/* 80162244  48 00 00 20 */	b lbl_80162264
lbl_80162248:
/* 80162248  54 80 02 7F */	clrlwi. r0, r4, 9
/* 8016224C  41 82 00 0C */	beq lbl_80162258
/* 80162250  38 00 00 05 */	li r0, 5
/* 80162254  48 00 00 10 */	b lbl_80162264
lbl_80162258:
/* 80162258  38 00 00 03 */	li r0, 3
/* 8016225C  48 00 00 08 */	b lbl_80162264
lbl_80162260:
/* 80162260  38 00 00 04 */	li r0, 4
lbl_80162264:
/* 80162264  2C 00 00 01 */	cmpwi r0, 1
/* 80162268  40 82 00 0C */	bne lbl_80162274
/* 8016226C  3C 60 80 45 */	lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80162270  C0 23 0A E0 */	lfs f1, __float_nan@l(r3)  /* 0x80450AE0@l */
lbl_80162274:
/* 80162274  C0 1E 09 E0 */	lfs f0, 0x9e0(r30)
/* 80162278  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8016227C  40 81 00 18 */	ble lbl_80162294
lbl_80162280:
/* 80162280  3B E0 00 00 */	li r31, 0
/* 80162284  48 00 00 10 */	b lbl_80162294
lbl_80162288:
/* 80162288  3B E0 00 00 */	li r31, 0
/* 8016228C  48 00 00 08 */	b lbl_80162294
lbl_80162290:
/* 80162290  3B E0 00 00 */	li r31, 0
lbl_80162294:
/* 80162294  7F E3 FB 78 */	mr r3, r31
/* 80162298  39 61 00 60 */	addi r11, r1, 0x60
/* 8016229C  48 1F FF 89 */	bl _restgpr_28
/* 801622A0  80 01 00 64 */	lwz r0, 0x64(r1)
/* 801622A4  7C 08 03 A6 */	mtlr r0
/* 801622A8  38 21 00 60 */	addi r1, r1, 0x60
/* 801622AC  4E 80 00 20 */	blr