summaryrefslogtreecommitdiff
path: root/asm/code_80235474.s
blob: b60b82b15f69a3ccc18233a642c18de366ccad98 (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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global func_80235474
func_80235474:
/* 80235474 002310D4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80235478 002310D8  7C 08 02 A6 */	mflr r0
/* 8023547C 002310DC  C0 02 9D 78 */	lfs f0, lbl_80642378-_SDA2_BASE_(r2)
/* 80235480 002310E0  90 01 00 24 */	stw r0, 0x24(r1)
/* 80235484 002310E4  38 00 00 FF */	li r0, 0xff
/* 80235488 002310E8  38 81 00 08 */	addi r4, r1, 8
/* 8023548C 002310EC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80235490 002310F0  7C 7F 1B 78 */	mr r31, r3
/* 80235494 002310F4  98 03 00 08 */	stb r0, 8(r3)
/* 80235498 002310F8  98 03 00 09 */	stb r0, 9(r3)
/* 8023549C 002310FC  98 03 00 0A */	stb r0, 0xa(r3)
/* 802354A0 00231100  98 03 00 0B */	stb r0, 0xb(r3)
/* 802354A4 00231104  D0 03 00 0C */	stfs f0, 0xc(r3)
/* 802354A8 00231108  D0 03 00 10 */	stfs f0, 0x10(r3)
/* 802354AC 0023110C  D0 03 00 14 */	stfs f0, 0x14(r3)
/* 802354B0 00231110  98 01 00 08 */	stb r0, 8(r1)
/* 802354B4 00231114  88 03 00 09 */	lbz r0, 9(r3)
/* 802354B8 00231118  98 01 00 09 */	stb r0, 9(r1)
/* 802354BC 0023111C  88 03 00 0A */	lbz r0, 0xa(r3)
/* 802354C0 00231120  98 01 00 0A */	stb r0, 0xa(r1)
/* 802354C4 00231124  88 03 00 0B */	lbz r0, 0xb(r3)
/* 802354C8 00231128  38 63 00 3C */	addi r3, r3, 0x3c
/* 802354CC 0023112C  98 01 00 0B */	stb r0, 0xb(r1)
/* 802354D0 00231130  48 04 CE 41 */	bl GXInitLightColor
/* 802354D4 00231134  C0 22 9D 78 */	lfs f1, lbl_80642378-_SDA2_BASE_(r2)
/* 802354D8 00231138  38 7F 00 3C */	addi r3, r31, 0x3c
/* 802354DC 0023113C  FC 40 08 90 */	fmr f2, f1
/* 802354E0 00231140  FC 60 08 90 */	fmr f3, f1
/* 802354E4 00231144  48 04 CC C9 */	bl GXInitLightPos
/* 802354E8 00231148  38 80 00 00 */	li r4, 0
/* 802354EC 0023114C  38 60 00 02 */	li r3, 2
/* 802354F0 00231150  38 00 00 01 */	li r0, 1
/* 802354F4 00231154  90 7F 00 04 */	stw r3, 4(r31)
/* 802354F8 00231158  7F E3 FB 78 */	mr r3, r31
/* 802354FC 0023115C  98 9F 00 01 */	stb r4, 1(r31)
/* 80235500 00231160  98 1F 00 00 */	stb r0, 0(r31)
/* 80235504 00231164  98 9F 00 7C */	stb r4, 0x7c(r31)
/* 80235508 00231168  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8023550C 0023116C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80235510 00231170  7C 08 03 A6 */	mtlr r0
/* 80235514 00231174  38 21 00 20 */	addi r1, r1, 0x20
/* 80235518 00231178  4E 80 00 20 */	blr

.global func_8023551C
func_8023551C:
/* 8023551C 0023117C  39 60 00 00 */	li r11, 0
/* 80235520 00231180  80 03 00 30 */	lwz r0, 0x30(r3)
/* 80235524 00231184  89 24 00 00 */	lbz r9, 0(r4)
/* 80235528 00231188  39 40 00 02 */	li r10, 2
/* 8023552C 0023118C  89 04 00 01 */	lbz r8, 1(r4)
/* 80235530 00231190  2C 00 00 00 */	cmpwi r0, 0
/* 80235534 00231194  88 E4 00 02 */	lbz r7, 2(r4)
/* 80235538 00231198  61 60 00 11 */	ori r0, r11, 0x11
/* 8023553C 0023119C  99 63 00 01 */	stb r11, 1(r3)
/* 80235540 002311A0  88 84 00 03 */	lbz r4, 3(r4)
/* 80235544 002311A4  99 63 00 00 */	stb r11, 0(r3)
/* 80235548 002311A8  91 43 00 04 */	stw r10, 4(r3)
/* 8023554C 002311AC  99 23 00 08 */	stb r9, 8(r3)
/* 80235550 002311B0  99 03 00 09 */	stb r8, 9(r3)
/* 80235554 002311B4  98 E3 00 0A */	stb r7, 0xa(r3)
/* 80235558 002311B8  98 83 00 0B */	stb r4, 0xb(r3)
/* 8023555C 002311BC  90 C3 00 24 */	stw r6, 0x24(r3)
/* 80235560 002311C0  D0 23 00 28 */	stfs f1, 0x28(r3)
/* 80235564 002311C4  D0 43 00 2C */	stfs f2, 0x2c(r3)
/* 80235568 002311C8  98 03 00 01 */	stb r0, 1(r3)
/* 8023556C 002311CC  41 82 00 18 */	beq lbl_80235584
/* 80235570 002311D0  C0 02 9D 7C */	lfs f0, lbl_8064237C-_SDA2_BASE_(r2)
/* 80235574 002311D4  60 00 00 20 */	ori r0, r0, 0x20
/* 80235578 002311D8  91 63 00 30 */	stw r11, 0x30(r3)
/* 8023557C 002311DC  D0 03 00 34 */	stfs f0, 0x34(r3)
/* 80235580 002311E0  98 03 00 01 */	stb r0, 1(r3)
lbl_80235584:
/* 80235584 002311E4  88 83 00 01 */	lbz r4, 1(r3)
/* 80235588 002311E8  88 03 00 00 */	lbz r0, 0(r3)
/* 8023558C 002311EC  C0 45 00 00 */	lfs f2, 0(r5)
/* 80235590 002311F0  60 84 00 02 */	ori r4, r4, 2
/* 80235594 002311F4  C0 25 00 04 */	lfs f1, 4(r5)
/* 80235598 002311F8  60 00 00 01 */	ori r0, r0, 1
/* 8023559C 002311FC  C0 05 00 08 */	lfs f0, 8(r5)
/* 802355A0 00231200  D0 43 00 0C */	stfs f2, 0xc(r3)
/* 802355A4 00231204  D0 23 00 10 */	stfs f1, 0x10(r3)
/* 802355A8 00231208  D0 03 00 14 */	stfs f0, 0x14(r3)
/* 802355AC 0023120C  98 83 00 01 */	stb r4, 1(r3)
/* 802355B0 00231210  98 03 00 00 */	stb r0, 0(r3)
/* 802355B4 00231214  4E 80 00 20 */	blr

.global func_802355B8
func_802355B8:
/* 802355B8 00231218  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802355BC 0023121C  38 00 00 00 */	li r0, 0
/* 802355C0 00231220  60 0A 00 01 */	ori r10, r0, 1
/* 802355C4 00231224  89 84 00 01 */	lbz r12, 1(r4)
/* 802355C8 00231228  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802355CC 0023122C  60 09 00 03 */	ori r9, r0, 3
/* 802355D0 00231230  8B E4 00 00 */	lbz r31, 0(r4)
/* 802355D4 00231234  93 C1 00 08 */	stw r30, 8(r1)
/* 802355D8 00231238  3B C0 00 01 */	li r30, 1
/* 802355DC 0023123C  89 64 00 02 */	lbz r11, 2(r4)
/* 802355E0 00231240  98 03 00 01 */	stb r0, 1(r3)
/* 802355E4 00231244  88 84 00 03 */	lbz r4, 3(r4)
/* 802355E8 00231248  98 03 00 00 */	stb r0, 0(r3)
/* 802355EC 0023124C  60 00 00 37 */	ori r0, r0, 0x37
/* 802355F0 00231250  C1 05 00 00 */	lfs f8, 0(r5)
/* 802355F4 00231254  99 43 00 01 */	stb r10, 1(r3)
/* 802355F8 00231258  C0 E5 00 04 */	lfs f7, 4(r5)
/* 802355FC 0023125C  99 23 00 01 */	stb r9, 1(r3)
/* 80235600 00231260  C0 C5 00 08 */	lfs f6, 8(r5)
/* 80235604 00231264  99 43 00 00 */	stb r10, 0(r3)
/* 80235608 00231268  C0 A6 00 00 */	lfs f5, 0(r6)
/* 8023560C 0023126C  C0 86 00 04 */	lfs f4, 4(r6)
/* 80235610 00231270  C0 06 00 08 */	lfs f0, 8(r6)
/* 80235614 00231274  93 C3 00 04 */	stw r30, 4(r3)
/* 80235618 00231278  9B E3 00 08 */	stb r31, 8(r3)
/* 8023561C 0023127C  99 83 00 09 */	stb r12, 9(r3)
/* 80235620 00231280  99 63 00 0A */	stb r11, 0xa(r3)
/* 80235624 00231284  98 83 00 0B */	stb r4, 0xb(r3)
/* 80235628 00231288  D1 03 00 0C */	stfs f8, 0xc(r3)
/* 8023562C 0023128C  D0 E3 00 10 */	stfs f7, 0x10(r3)
/* 80235630 00231290  D0 C3 00 14 */	stfs f6, 0x14(r3)
/* 80235634 00231294  D0 A3 00 18 */	stfs f5, 0x18(r3)
/* 80235638 00231298  D0 83 00 1C */	stfs f4, 0x1c(r3)
/* 8023563C 0023129C  D0 03 00 20 */	stfs f0, 0x20(r3)
/* 80235640 002312A0  99 23 00 00 */	stb r9, 0(r3)
/* 80235644 002312A4  90 E3 00 24 */	stw r7, 0x24(r3)
/* 80235648 002312A8  D0 23 00 28 */	stfs f1, 0x28(r3)
/* 8023564C 002312AC  D0 43 00 2C */	stfs f2, 0x2c(r3)
/* 80235650 002312B0  91 03 00 30 */	stw r8, 0x30(r3)
/* 80235654 002312B4  D0 63 00 34 */	stfs f3, 0x34(r3)
/* 80235658 002312B8  98 03 00 01 */	stb r0, 1(r3)
/* 8023565C 002312BC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80235660 002312C0  83 C1 00 08 */	lwz r30, 8(r1)
/* 80235664 002312C4  38 21 00 10 */	addi r1, r1, 0x10
/* 80235668 002312C8  4E 80 00 20 */	blr

.global func_8023566C
func_8023566C:
/* 8023566C 002312CC  39 60 00 00 */	li r11, 0
/* 80235670 002312D0  89 44 00 00 */	lbz r10, 0(r4)
/* 80235674 002312D4  99 63 00 01 */	stb r11, 1(r3)
/* 80235678 002312D8  61 67 00 01 */	ori r7, r11, 1
/* 8023567C 002312DC  89 24 00 01 */	lbz r9, 1(r4)
/* 80235680 002312E0  61 66 00 02 */	ori r6, r11, 2
/* 80235684 002312E4  89 04 00 02 */	lbz r8, 2(r4)
/* 80235688 002312E8  61 60 00 85 */	ori r0, r11, 0x85
/* 8023568C 002312EC  99 63 00 00 */	stb r11, 0(r3)
/* 80235690 002312F0  88 84 00 03 */	lbz r4, 3(r4)
/* 80235694 002312F4  98 E3 00 01 */	stb r7, 1(r3)
/* 80235698 002312F8  C0 65 00 00 */	lfs f3, 0(r5)
/* 8023569C 002312FC  C0 45 00 04 */	lfs f2, 4(r5)
/* 802356A0 00231300  C0 05 00 08 */	lfs f0, 8(r5)
/* 802356A4 00231304  91 63 00 04 */	stw r11, 4(r3)
/* 802356A8 00231308  99 43 00 08 */	stb r10, 8(r3)
/* 802356AC 0023130C  99 23 00 09 */	stb r9, 9(r3)
/* 802356B0 00231310  99 03 00 0A */	stb r8, 0xa(r3)
/* 802356B4 00231314  98 83 00 0B */	stb r4, 0xb(r3)
/* 802356B8 00231318  D0 63 00 18 */	stfs f3, 0x18(r3)
/* 802356BC 0023131C  D0 43 00 1C */	stfs f2, 0x1c(r3)
/* 802356C0 00231320  D0 03 00 20 */	stfs f0, 0x20(r3)
/* 802356C4 00231324  98 C3 00 00 */	stb r6, 0(r3)
/* 802356C8 00231328  D0 23 00 30 */	stfs f1, 0x30(r3)
/* 802356CC 0023132C  98 03 00 01 */	stb r0, 1(r3)
/* 802356D0 00231330  4E 80 00 20 */	blr

.global func_802356D4
func_802356D4:
/* 802356D4 00231334  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 802356D8 00231338  7C 08 02 A6 */	mflr r0
/* 802356DC 0023133C  90 01 00 44 */	stw r0, 0x44(r1)
/* 802356E0 00231340  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 802356E4 00231344  7C 9F 23 78 */	mr r31, r4
/* 802356E8 00231348  93 C1 00 38 */	stw r30, 0x38(r1)
/* 802356EC 0023134C  7C 7E 1B 78 */	mr r30, r3
/* 802356F0 00231350  93 A1 00 34 */	stw r29, 0x34(r1)
/* 802356F4 00231354  93 81 00 30 */	stw r28, 0x30(r1)
/* 802356F8 00231358  7C BC 2B 78 */	mr r28, r5
/* 802356FC 0023135C  88 03 00 01 */	lbz r0, 1(r3)
/* 80235700 00231360  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 80235704 00231364  41 82 00 30 */	beq lbl_80235734
/* 80235708 00231368  88 03 00 08 */	lbz r0, 8(r3)
/* 8023570C 0023136C  38 81 00 08 */	addi r4, r1, 8
/* 80235710 00231370  98 01 00 08 */	stb r0, 8(r1)
/* 80235714 00231374  88 03 00 09 */	lbz r0, 9(r3)
/* 80235718 00231378  98 01 00 09 */	stb r0, 9(r1)
/* 8023571C 0023137C  88 03 00 0A */	lbz r0, 0xa(r3)
/* 80235720 00231380  98 01 00 0A */	stb r0, 0xa(r1)
/* 80235724 00231384  88 03 00 0B */	lbz r0, 0xb(r3)
/* 80235728 00231388  38 63 00 3C */	addi r3, r3, 0x3c
/* 8023572C 0023138C  98 01 00 0B */	stb r0, 0xb(r1)
/* 80235730 00231390  48 04 CB E1 */	bl GXInitLightColor
lbl_80235734:
/* 80235734 00231394  C0 1E 00 0C */	lfs f0, 0xc(r30)
/* 80235738 00231398  2C 1C 00 00 */	cmpwi r28, 0
/* 8023573C 0023139C  D0 01 00 18 */	stfs f0, 0x18(r1)
/* 80235740 002313A0  C0 1E 00 10 */	lfs f0, 0x10(r30)
/* 80235744 002313A4  D0 01 00 1C */	stfs f0, 0x1c(r1)
/* 80235748 002313A8  C0 1E 00 14 */	lfs f0, 0x14(r30)
/* 8023574C 002313AC  D0 01 00 20 */	stfs f0, 0x20(r1)
/* 80235750 002313B0  C0 1E 00 18 */	lfs f0, 0x18(r30)
/* 80235754 002313B4  D0 01 00 0C */	stfs f0, 0xc(r1)
/* 80235758 002313B8  C0 1E 00 1C */	lfs f0, 0x1c(r30)
/* 8023575C 002313BC  D0 01 00 10 */	stfs f0, 0x10(r1)
/* 80235760 002313C0  C0 1E 00 20 */	lfs f0, 0x20(r30)
/* 80235764 002313C4  D0 01 00 14 */	stfs f0, 0x14(r1)
/* 80235768 002313C8  41 82 00 D0 */	beq lbl_80235838
/* 8023576C 002313CC  88 1E 00 00 */	lbz r0, 0(r30)
/* 80235770 002313D0  3B BC 01 D4 */	addi r29, r28, 0x1d4
/* 80235774 002313D4  38 7C 02 34 */	addi r3, r28, 0x234
/* 80235778 002313D8  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 8023577C 002313DC  41 82 00 94 */	beq lbl_80235810
/* 80235780 002313E0  38 81 00 0C */	addi r4, r1, 0xc
/* 80235784 002313E4  7C 85 23 78 */	mr r5, r4
/* 80235788 002313E8  48 04 72 75 */	bl PSMTXMultVec
/* 8023578C 002313EC  38 61 00 0C */	addi r3, r1, 0xc
/* 80235790 002313F0  48 04 75 DD */	bl PSVECSquareMag
/* 80235794 002313F4  C0 02 9D 80 */	lfs f0, lbl_80642380-_SDA2_BASE_(r2)
/* 80235798 002313F8  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8023579C 002313FC  40 81 00 64 */	ble lbl_80235800
/* 802357A0 00231400  C0 42 9D 78 */	lfs f2, lbl_80642378-_SDA2_BASE_(r2)
/* 802357A4 00231404  FC 01 10 40 */	fcmpo cr0, f1, f2
/* 802357A8 00231408  4C 40 13 82 */	cror 2, 0, 2
/* 802357AC 0023140C  40 82 00 08 */	bne lbl_802357B4
/* 802357B0 00231410  48 00 00 0C */	b lbl_802357BC
lbl_802357B4:
/* 802357B4 00231414  4B F9 F0 81 */	bl sqrt
/* 802357B8 00231418  FC 40 08 18 */	frsp f2, f1
lbl_802357BC:
/* 802357BC 0023141C  C0 22 9D 80 */	lfs f1, lbl_80642380-_SDA2_BASE_(r2)
/* 802357C0 00231420  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 802357C4 00231424  40 80 00 28 */	bge lbl_802357EC
/* 802357C8 00231428  C0 62 9D 84 */	lfs f3, lbl_80642384-_SDA2_BASE_(r2)
/* 802357CC 0023142C  FC 02 18 40 */	fcmpo cr0, f2, f3
/* 802357D0 00231430  40 81 00 1C */	ble lbl_802357EC
/* 802357D4 00231434  C0 02 9D 78 */	lfs f0, lbl_80642378-_SDA2_BASE_(r2)
/* 802357D8 00231438  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 802357DC 0023143C  40 80 00 08 */	bge lbl_802357E4
/* 802357E0 00231440  48 00 00 08 */	b lbl_802357E8
lbl_802357E4:
/* 802357E4 00231444  FC 60 08 90 */	fmr f3, f1
lbl_802357E8:
/* 802357E8 00231448  FC 40 18 90 */	fmr f2, f3
lbl_802357EC:
/* 802357EC 0023144C  C0 02 9D 88 */	lfs f0, lbl_80642388-_SDA2_BASE_(r2)
/* 802357F0 00231450  38 61 00 0C */	addi r3, r1, 0xc
/* 802357F4 00231454  7C 64 1B 78 */	mr r4, r3
/* 802357F8 00231458  EC 20 10 24 */	fdivs f1, f0, f2
/* 802357FC 0023145C  48 04 75 11 */	bl PSVECScale
lbl_80235800:
/* 80235800 00231460  88 1E 00 01 */	lbz r0, 1(r30)
/* 80235804 00231464  60 00 00 04 */	ori r0, r0, 4
/* 80235808 00231468  54 00 06 B0 */	rlwinm r0, r0, 0, 0x1a, 0x18
/* 8023580C 0023146C  98 1E 00 01 */	stb r0, 1(r30)
lbl_80235810:
/* 80235810 00231470  88 1E 00 00 */	lbz r0, 0(r30)
/* 80235814 00231474  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 80235818 00231478  41 82 00 20 */	beq lbl_80235838
/* 8023581C 0023147C  38 81 00 18 */	addi r4, r1, 0x18
/* 80235820 00231480  7F A3 EB 78 */	mr r3, r29
/* 80235824 00231484  7C 85 23 78 */	mr r5, r4
/* 80235828 00231488  48 04 71 D5 */	bl PSMTXMultVec
/* 8023582C 0023148C  88 1E 00 01 */	lbz r0, 1(r30)
/* 80235830 00231490  60 00 00 02 */	ori r0, r0, 2
/* 80235834 00231494  98 1E 00 01 */	stb r0, 1(r30)
lbl_80235838:
/* 80235838 00231498  80 1E 00 04 */	lwz r0, 4(r30)
/* 8023583C 0023149C  2C 00 00 01 */	cmpwi r0, 1
/* 80235840 002314A0  41 82 00 D0 */	beq lbl_80235910
/* 80235844 002314A4  40 80 00 10 */	bge lbl_80235854
/* 80235848 002314A8  2C 00 00 00 */	cmpwi r0, 0
/* 8023584C 002314AC  40 80 00 14 */	bge lbl_80235860
/* 80235850 002314B0  48 00 01 C8 */	b lbl_80235A18
lbl_80235854:
/* 80235854 002314B4  2C 00 00 03 */	cmpwi r0, 3
/* 80235858 002314B8  40 80 01 C0 */	bge lbl_80235A18
/* 8023585C 002314BC  48 00 01 60 */	b lbl_802359BC
lbl_80235860:
/* 80235860 002314C0  88 7E 00 01 */	lbz r3, 1(r30)
/* 80235864 002314C4  54 60 06 73 */	rlwinm. r0, r3, 0, 0x19, 0x19
/* 80235868 002314C8  41 82 00 28 */	beq lbl_80235890
/* 8023586C 002314CC  C0 21 00 0C */	lfs f1, 0xc(r1)
/* 80235870 002314D0  38 7E 00 3C */	addi r3, r30, 0x3c
/* 80235874 002314D4  C0 41 00 10 */	lfs f2, 0x10(r1)
/* 80235878 002314D8  C0 61 00 14 */	lfs f3, 0x14(r1)
/* 8023587C 002314DC  C0 9E 00 24 */	lfs f4, 0x24(r30)
/* 80235880 002314E0  C0 BE 00 28 */	lfs f5, 0x28(r30)
/* 80235884 002314E4  C0 DE 00 2C */	lfs f6, 0x2c(r30)
/* 80235888 002314E8  48 04 CA 5D */	bl GXInitSpecularDirHA
/* 8023588C 002314EC  48 00 00 20 */	b lbl_802358AC
lbl_80235890:
/* 80235890 002314F0  54 60 07 7B */	rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 80235894 002314F4  41 82 00 18 */	beq lbl_802358AC
/* 80235898 002314F8  C0 21 00 0C */	lfs f1, 0xc(r1)
/* 8023589C 002314FC  38 7E 00 3C */	addi r3, r30, 0x3c
/* 802358A0 00231500  C0 41 00 10 */	lfs f2, 0x10(r1)
/* 802358A4 00231504  C0 61 00 14 */	lfs f3, 0x14(r1)
/* 802358A8 00231508  48 04 C9 31 */	bl GXInitSpecularDir
lbl_802358AC:
/* 802358AC 0023150C  88 7E 00 01 */	lbz r3, 1(r30)
/* 802358B0 00231510  54 60 06 31 */	rlwinm. r0, r3, 0, 0x18, 0x18
/* 802358B4 00231514  41 82 00 30 */	beq lbl_802358E4
/* 802358B8 00231518  C0 5E 00 30 */	lfs f2, 0x30(r30)
/* 802358BC 0023151C  38 7E 00 3C */	addi r3, r30, 0x3c
/* 802358C0 00231520  C0 02 9D 8C */	lfs f0, lbl_8064238C-_SDA2_BASE_(r2)
/* 802358C4 00231524  C0 22 9D 78 */	lfs f1, lbl_80642378-_SDA2_BASE_(r2)
/* 802358C8 00231528  EC 82 00 32 */	fmuls f4, f2, f0
/* 802358CC 0023152C  C0 62 9D 88 */	lfs f3, lbl_80642388-_SDA2_BASE_(r2)
/* 802358D0 00231530  FC 40 08 90 */	fmr f2, f1
/* 802358D4 00231534  FC A0 08 90 */	fmr f5, f1
/* 802358D8 00231538  EC C3 20 28 */	fsubs f6, f3, f4
/* 802358DC 0023153C  48 04 C6 5D */	bl GXInitLightAttn
/* 802358E0 00231540  48 00 01 38 */	b lbl_80235A18
lbl_802358E4:
/* 802358E4 00231544  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 802358E8 00231548  41 82 01 30 */	beq lbl_80235A18
/* 802358EC 0023154C  C0 3E 00 24 */	lfs f1, 0x24(r30)
/* 802358F0 00231550  38 7E 00 3C */	addi r3, r30, 0x3c
/* 802358F4 00231554  C0 5E 00 28 */	lfs f2, 0x28(r30)
/* 802358F8 00231558  C0 7E 00 2C */	lfs f3, 0x2c(r30)
/* 802358FC 0023155C  C0 9E 00 30 */	lfs f4, 0x30(r30)
/* 80235900 00231560  C0 BE 00 34 */	lfs f5, 0x34(r30)
/* 80235904 00231564  C0 DE 00 38 */	lfs f6, 0x38(r30)
/* 80235908 00231568  48 04 C6 31 */	bl GXInitLightAttn
/* 8023590C 0023156C  48 00 01 0C */	b lbl_80235A18
lbl_80235910:
/* 80235910 00231570  88 1E 00 01 */	lbz r0, 1(r30)
/* 80235914 00231574  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 80235918 00231578  41 82 00 18 */	beq lbl_80235930
/* 8023591C 0023157C  C0 21 00 18 */	lfs f1, 0x18(r1)
/* 80235920 00231580  38 7E 00 3C */	addi r3, r30, 0x3c
/* 80235924 00231584  C0 41 00 1C */	lfs f2, 0x1c(r1)
/* 80235928 00231588  C0 61 00 20 */	lfs f3, 0x20(r1)
/* 8023592C 0023158C  48 04 C8 81 */	bl GXInitLightPos
lbl_80235930:
/* 80235930 00231590  88 1E 00 01 */	lbz r0, 1(r30)
/* 80235934 00231594  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 80235938 00231598  41 82 00 18 */	beq lbl_80235950
/* 8023593C 0023159C  C0 21 00 0C */	lfs f1, 0xc(r1)
/* 80235940 002315A0  38 7E 00 3C */	addi r3, r30, 0x3c
/* 80235944 002315A4  C0 41 00 10 */	lfs f2, 0x10(r1)
/* 80235948 002315A8  C0 61 00 14 */	lfs f3, 0x14(r1)
/* 8023594C 002315AC  48 04 C8 71 */	bl GXInitLightDir
lbl_80235950:
/* 80235950 002315B0  88 7E 00 01 */	lbz r3, 1(r30)
/* 80235954 002315B4  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 80235958 002315B8  41 82 00 28 */	beq lbl_80235980
/* 8023595C 002315BC  C0 3E 00 24 */	lfs f1, 0x24(r30)
/* 80235960 002315C0  38 7E 00 3C */	addi r3, r30, 0x3c
/* 80235964 002315C4  C0 5E 00 28 */	lfs f2, 0x28(r30)
/* 80235968 002315C8  C0 7E 00 2C */	lfs f3, 0x2c(r30)
/* 8023596C 002315CC  C0 9E 00 30 */	lfs f4, 0x30(r30)
/* 80235970 002315D0  C0 BE 00 34 */	lfs f5, 0x34(r30)
/* 80235974 002315D4  C0 DE 00 38 */	lfs f6, 0x38(r30)
/* 80235978 002315D8  48 04 C5 C1 */	bl GXInitLightAttn
/* 8023597C 002315DC  48 00 00 9C */	b lbl_80235A18
lbl_80235980:
/* 80235980 002315E0  54 60 06 F7 */	rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 80235984 002315E4  41 82 00 18 */	beq lbl_8023599C
/* 80235988 002315E8  C0 3E 00 28 */	lfs f1, 0x28(r30)
/* 8023598C 002315EC  38 7E 00 3C */	addi r3, r30, 0x3c
/* 80235990 002315F0  C0 5E 00 2C */	lfs f2, 0x2c(r30)
/* 80235994 002315F4  80 9E 00 24 */	lwz r4, 0x24(r30)
/* 80235998 002315F8  48 04 C7 45 */	bl GXInitLightDistAttn
lbl_8023599C:
/* 8023599C 002315FC  88 1E 00 01 */	lbz r0, 1(r30)
/* 802359A0 00231600  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 802359A4 00231604  41 82 00 74 */	beq lbl_80235A18
/* 802359A8 00231608  C0 3E 00 34 */	lfs f1, 0x34(r30)
/* 802359AC 0023160C  38 7E 00 3C */	addi r3, r30, 0x3c
/* 802359B0 00231610  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 802359B4 00231614  48 04 C5 A1 */	bl GXInitLightSpot
/* 802359B8 00231618  48 00 00 60 */	b lbl_80235A18
lbl_802359BC:
/* 802359BC 0023161C  88 1E 00 01 */	lbz r0, 1(r30)
/* 802359C0 00231620  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 802359C4 00231624  41 82 00 18 */	beq lbl_802359DC
/* 802359C8 00231628  C0 21 00 18 */	lfs f1, 0x18(r1)
/* 802359CC 0023162C  38 7E 00 3C */	addi r3, r30, 0x3c
/* 802359D0 00231630  C0 41 00 1C */	lfs f2, 0x1c(r1)
/* 802359D4 00231634  C0 61 00 20 */	lfs f3, 0x20(r1)
/* 802359D8 00231638  48 04 C7 D5 */	bl GXInitLightPos
lbl_802359DC:
/* 802359DC 0023163C  88 1E 00 01 */	lbz r0, 1(r30)
/* 802359E0 00231640  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 802359E4 00231644  41 82 00 18 */	beq lbl_802359FC
/* 802359E8 00231648  C0 3E 00 28 */	lfs f1, 0x28(r30)
/* 802359EC 0023164C  38 7E 00 3C */	addi r3, r30, 0x3c
/* 802359F0 00231650  C0 5E 00 2C */	lfs f2, 0x2c(r30)
/* 802359F4 00231654  80 9E 00 24 */	lwz r4, 0x24(r30)
/* 802359F8 00231658  48 04 C6 E5 */	bl GXInitLightDistAttn
lbl_802359FC:
/* 802359FC 0023165C  88 1E 00 01 */	lbz r0, 1(r30)
/* 80235A00 00231660  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 80235A04 00231664  41 82 00 14 */	beq lbl_80235A18
/* 80235A08 00231668  C0 3E 00 34 */	lfs f1, 0x34(r30)
/* 80235A0C 0023166C  38 7E 00 3C */	addi r3, r30, 0x3c
/* 80235A10 00231670  80 9E 00 30 */	lwz r4, 0x30(r30)
/* 80235A14 00231674  48 04 C5 41 */	bl GXInitLightSpot
lbl_80235A18:
/* 80235A18 00231678  38 60 00 00 */	li r3, 0
/* 80235A1C 0023167C  38 00 00 01 */	li r0, 1
/* 80235A20 00231680  98 7E 00 01 */	stb r3, 1(r30)
/* 80235A24 00231684  38 7E 00 3C */	addi r3, r30, 0x3c
/* 80235A28 00231688  7C 04 F8 30 */	slw r4, r0, r31
/* 80235A2C 0023168C  9B FE 00 7C */	stb r31, 0x7c(r30)
/* 80235A30 00231690  48 04 C8 ED */	bl GXLoadLightObjImm
/* 80235A34 00231694  80 01 00 44 */	lwz r0, 0x44(r1)
/* 80235A38 00231698  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 80235A3C 0023169C  83 C1 00 38 */	lwz r30, 0x38(r1)
/* 80235A40 002316A0  83 A1 00 34 */	lwz r29, 0x34(r1)
/* 80235A44 002316A4  83 81 00 30 */	lwz r28, 0x30(r1)
/* 80235A48 002316A8  7C 08 03 A6 */	mtlr r0
/* 80235A4C 002316AC  38 21 00 40 */	addi r1, r1, 0x40
/* 80235A50 002316B0  4E 80 00 20 */	blr

.global func_80235A54
func_80235A54:
/* 80235A54 002316B4  38 A0 00 01 */	li r5, 1
/* 80235A58 002316B8  38 6D A4 10 */	addi r3, r13, lbl_8063F6D0-_SDA_BASE_
/* 80235A5C 002316BC  38 80 00 04 */	li r4, 4
/* 80235A60 002316C0  38 00 00 00 */	li r0, 0
/* 80235A64 002316C4  98 AD A4 10 */	stb r5, lbl_8063F6D0-_SDA_BASE_(r13)
/* 80235A68 002316C8  B0 83 00 02 */	sth r4, 2(r3)
/* 80235A6C 002316CC  98 03 00 04 */	stb r0, 4(r3)
/* 80235A70 002316D0  4E 80 00 20 */	blr