summaryrefslogtreecommitdiff
path: root/asm/code_802233C8.s
blob: 47eb9e015e819ed74773db774de007552464203d (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
.include "macros.inc"

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

.global func_802233C8
func_802233C8:
/* 802233C8 0021F028  94 21 FD A0 */	stwu r1, -0x260(r1)
/* 802233CC 0021F02C  7C 08 02 A6 */	mflr r0
/* 802233D0 0021F030  2C 05 00 03 */	cmpwi r5, 3
/* 802233D4 0021F034  90 01 02 64 */	stw r0, 0x264(r1)
/* 802233D8 0021F038  93 E1 02 5C */	stw r31, 0x25c(r1)
/* 802233DC 0021F03C  7C 9F 23 78 */	mr r31, r4
/* 802233E0 0021F040  93 C1 02 58 */	stw r30, 0x258(r1)
/* 802233E4 0021F044  7C 7E 1B 78 */	mr r30, r3
/* 802233E8 0021F048  41 82 01 20 */	beq lbl_80223508
/* 802233EC 0021F04C  40 80 00 1C */	bge lbl_80223408
/* 802233F0 0021F050  2C 05 00 01 */	cmpwi r5, 1
/* 802233F4 0021F054  41 82 00 74 */	beq lbl_80223468
/* 802233F8 0021F058  40 80 00 C0 */	bge lbl_802234B8
/* 802233FC 0021F05C  2C 05 00 00 */	cmpwi r5, 0
/* 80223400 0021F060  40 80 00 18 */	bge lbl_80223418
/* 80223404 0021F064  48 00 01 F4 */	b lbl_802235F8
lbl_80223408:
/* 80223408 0021F068  2C 05 00 05 */	cmpwi r5, 5
/* 8022340C 0021F06C  41 82 01 9C */	beq lbl_802235A8
/* 80223410 0021F070  40 80 01 E8 */	bge lbl_802235F8
/* 80223414 0021F074  48 00 01 44 */	b lbl_80223558
lbl_80223418:
/* 80223418 0021F078  C0 24 00 00 */	lfs f1, 0(r4)
/* 8022341C 0021F07C  38 80 00 58 */	li r4, 0x58
/* 80223420 0021F080  48 05 8E 49 */	bl PSMTXRotRad
/* 80223424 0021F084  C0 3F 00 04 */	lfs f1, 4(r31)
/* 80223428 0021F088  38 61 02 28 */	addi r3, r1, 0x228
/* 8022342C 0021F08C  38 80 00 59 */	li r4, 0x59
/* 80223430 0021F090  48 05 8E 39 */	bl PSMTXRotRad
/* 80223434 0021F094  7F C4 F3 78 */	mr r4, r30
/* 80223438 0021F098  7F C5 F3 78 */	mr r5, r30
/* 8022343C 0021F09C  38 61 02 28 */	addi r3, r1, 0x228
/* 80223440 0021F0A0  48 05 8B 4D */	bl PSMTXConcat
/* 80223444 0021F0A4  C0 3F 00 08 */	lfs f1, 8(r31)
/* 80223448 0021F0A8  38 61 01 F8 */	addi r3, r1, 0x1f8
/* 8022344C 0021F0AC  38 80 00 5A */	li r4, 0x5a
/* 80223450 0021F0B0  48 05 8E 19 */	bl PSMTXRotRad
/* 80223454 0021F0B4  7F C4 F3 78 */	mr r4, r30
/* 80223458 0021F0B8  7F C5 F3 78 */	mr r5, r30
/* 8022345C 0021F0BC  38 61 01 F8 */	addi r3, r1, 0x1f8
/* 80223460 0021F0C0  48 05 8B 2D */	bl PSMTXConcat
/* 80223464 0021F0C4  48 00 01 AC */	b lbl_80223610
lbl_80223468:
/* 80223468 0021F0C8  C0 24 00 04 */	lfs f1, 4(r4)
/* 8022346C 0021F0CC  38 80 00 58 */	li r4, 0x58
/* 80223470 0021F0D0  48 05 8D F9 */	bl PSMTXRotRad
/* 80223474 0021F0D4  C0 3F 00 08 */	lfs f1, 8(r31)
/* 80223478 0021F0D8  38 61 01 C8 */	addi r3, r1, 0x1c8
/* 8022347C 0021F0DC  38 80 00 5A */	li r4, 0x5a
/* 80223480 0021F0E0  48 05 8D E9 */	bl PSMTXRotRad
/* 80223484 0021F0E4  7F C4 F3 78 */	mr r4, r30
/* 80223488 0021F0E8  7F C5 F3 78 */	mr r5, r30
/* 8022348C 0021F0EC  38 61 01 C8 */	addi r3, r1, 0x1c8
/* 80223490 0021F0F0  48 05 8A FD */	bl PSMTXConcat
/* 80223494 0021F0F4  C0 3F 00 00 */	lfs f1, 0(r31)
/* 80223498 0021F0F8  38 61 01 98 */	addi r3, r1, 0x198
/* 8022349C 0021F0FC  38 80 00 58 */	li r4, 0x58
/* 802234A0 0021F100  48 05 8D C9 */	bl PSMTXRotRad
/* 802234A4 0021F104  7F C4 F3 78 */	mr r4, r30
/* 802234A8 0021F108  7F C5 F3 78 */	mr r5, r30
/* 802234AC 0021F10C  38 61 01 98 */	addi r3, r1, 0x198
/* 802234B0 0021F110  48 05 8A DD */	bl PSMTXConcat
/* 802234B4 0021F114  48 00 01 5C */	b lbl_80223610
lbl_802234B8:
/* 802234B8 0021F118  C0 24 00 08 */	lfs f1, 8(r4)
/* 802234BC 0021F11C  38 80 00 5A */	li r4, 0x5a
/* 802234C0 0021F120  48 05 8D A9 */	bl PSMTXRotRad
/* 802234C4 0021F124  C0 3F 00 00 */	lfs f1, 0(r31)
/* 802234C8 0021F128  38 61 01 68 */	addi r3, r1, 0x168
/* 802234CC 0021F12C  38 80 00 58 */	li r4, 0x58
/* 802234D0 0021F130  48 05 8D 99 */	bl PSMTXRotRad
/* 802234D4 0021F134  7F C4 F3 78 */	mr r4, r30
/* 802234D8 0021F138  7F C5 F3 78 */	mr r5, r30
/* 802234DC 0021F13C  38 61 01 68 */	addi r3, r1, 0x168
/* 802234E0 0021F140  48 05 8A AD */	bl PSMTXConcat
/* 802234E4 0021F144  C0 3F 00 04 */	lfs f1, 4(r31)
/* 802234E8 0021F148  38 61 01 38 */	addi r3, r1, 0x138
/* 802234EC 0021F14C  38 80 00 59 */	li r4, 0x59
/* 802234F0 0021F150  48 05 8D 79 */	bl PSMTXRotRad
/* 802234F4 0021F154  7F C4 F3 78 */	mr r4, r30
/* 802234F8 0021F158  7F C5 F3 78 */	mr r5, r30
/* 802234FC 0021F15C  38 61 01 38 */	addi r3, r1, 0x138
/* 80223500 0021F160  48 05 8A 8D */	bl PSMTXConcat
/* 80223504 0021F164  48 00 01 0C */	b lbl_80223610
lbl_80223508:
/* 80223508 0021F168  C0 24 00 00 */	lfs f1, 0(r4)
/* 8022350C 0021F16C  38 80 00 58 */	li r4, 0x58
/* 80223510 0021F170  48 05 8D 59 */	bl PSMTXRotRad
/* 80223514 0021F174  C0 3F 00 08 */	lfs f1, 8(r31)
/* 80223518 0021F178  38 61 01 08 */	addi r3, r1, 0x108
/* 8022351C 0021F17C  38 80 00 5A */	li r4, 0x5a
/* 80223520 0021F180  48 05 8D 49 */	bl PSMTXRotRad
/* 80223524 0021F184  7F C4 F3 78 */	mr r4, r30
/* 80223528 0021F188  7F C5 F3 78 */	mr r5, r30
/* 8022352C 0021F18C  38 61 01 08 */	addi r3, r1, 0x108
/* 80223530 0021F190  48 05 8A 5D */	bl PSMTXConcat
/* 80223534 0021F194  C0 3F 00 04 */	lfs f1, 4(r31)
/* 80223538 0021F198  38 61 00 D8 */	addi r3, r1, 0xd8
/* 8022353C 0021F19C  38 80 00 59 */	li r4, 0x59
/* 80223540 0021F1A0  48 05 8D 29 */	bl PSMTXRotRad
/* 80223544 0021F1A4  7F C4 F3 78 */	mr r4, r30
/* 80223548 0021F1A8  7F C5 F3 78 */	mr r5, r30
/* 8022354C 0021F1AC  38 61 00 D8 */	addi r3, r1, 0xd8
/* 80223550 0021F1B0  48 05 8A 3D */	bl PSMTXConcat
/* 80223554 0021F1B4  48 00 00 BC */	b lbl_80223610
lbl_80223558:
/* 80223558 0021F1B8  C0 24 00 04 */	lfs f1, 4(r4)
/* 8022355C 0021F1BC  38 80 00 59 */	li r4, 0x59
/* 80223560 0021F1C0  48 05 8D 09 */	bl PSMTXRotRad
/* 80223564 0021F1C4  C0 3F 00 00 */	lfs f1, 0(r31)
/* 80223568 0021F1C8  38 61 00 A8 */	addi r3, r1, 0xa8
/* 8022356C 0021F1CC  38 80 00 58 */	li r4, 0x58
/* 80223570 0021F1D0  48 05 8C F9 */	bl PSMTXRotRad
/* 80223574 0021F1D4  7F C4 F3 78 */	mr r4, r30
/* 80223578 0021F1D8  7F C5 F3 78 */	mr r5, r30
/* 8022357C 0021F1DC  38 61 00 A8 */	addi r3, r1, 0xa8
/* 80223580 0021F1E0  48 05 8A 0D */	bl PSMTXConcat
/* 80223584 0021F1E4  C0 3F 00 08 */	lfs f1, 8(r31)
/* 80223588 0021F1E8  38 61 00 78 */	addi r3, r1, 0x78
/* 8022358C 0021F1EC  38 80 00 5A */	li r4, 0x5a
/* 80223590 0021F1F0  48 05 8C D9 */	bl PSMTXRotRad
/* 80223594 0021F1F4  7F C4 F3 78 */	mr r4, r30
/* 80223598 0021F1F8  7F C5 F3 78 */	mr r5, r30
/* 8022359C 0021F1FC  38 61 00 78 */	addi r3, r1, 0x78
/* 802235A0 0021F200  48 05 89 ED */	bl PSMTXConcat
/* 802235A4 0021F204  48 00 00 6C */	b lbl_80223610
lbl_802235A8:
/* 802235A8 0021F208  C0 24 00 08 */	lfs f1, 8(r4)
/* 802235AC 0021F20C  38 80 00 5A */	li r4, 0x5a
/* 802235B0 0021F210  48 05 8C B9 */	bl PSMTXRotRad
/* 802235B4 0021F214  C0 3F 00 04 */	lfs f1, 4(r31)
/* 802235B8 0021F218  38 61 00 48 */	addi r3, r1, 0x48
/* 802235BC 0021F21C  38 80 00 59 */	li r4, 0x59
/* 802235C0 0021F220  48 05 8C A9 */	bl PSMTXRotRad
/* 802235C4 0021F224  7F C4 F3 78 */	mr r4, r30
/* 802235C8 0021F228  7F C5 F3 78 */	mr r5, r30
/* 802235CC 0021F22C  38 61 00 48 */	addi r3, r1, 0x48
/* 802235D0 0021F230  48 05 89 BD */	bl PSMTXConcat
/* 802235D4 0021F234  C0 3F 00 00 */	lfs f1, 0(r31)
/* 802235D8 0021F238  38 61 00 18 */	addi r3, r1, 0x18
/* 802235DC 0021F23C  38 80 00 58 */	li r4, 0x58
/* 802235E0 0021F240  48 05 8C 89 */	bl PSMTXRotRad
/* 802235E4 0021F244  7F C4 F3 78 */	mr r4, r30
/* 802235E8 0021F248  7F C5 F3 78 */	mr r5, r30
/* 802235EC 0021F24C  38 61 00 18 */	addi r3, r1, 0x18
/* 802235F0 0021F250  48 05 89 9D */	bl PSMTXConcat
/* 802235F4 0021F254  48 00 00 1C */	b lbl_80223610
lbl_802235F8:
/* 802235F8 0021F258  7F E4 FB 78 */	mr r4, r31
/* 802235FC 0021F25C  38 61 00 08 */	addi r3, r1, 8
/* 80223600 0021F260  48 00 00 C1 */	bl func_802236C0
/* 80223604 0021F264  7F C3 F3 78 */	mr r3, r30
/* 80223608 0021F268  38 81 00 08 */	addi r4, r1, 8
/* 8022360C 0021F26C  48 05 8F B5 */	bl PSMTXQuat
lbl_80223610:
/* 80223610 0021F270  7F C3 F3 78 */	mr r3, r30
/* 80223614 0021F274  83 E1 02 5C */	lwz r31, 0x25c(r1)
/* 80223618 0021F278  83 C1 02 58 */	lwz r30, 0x258(r1)
/* 8022361C 0021F27C  80 01 02 64 */	lwz r0, 0x264(r1)
/* 80223620 0021F280  7C 08 03 A6 */	mtlr r0
/* 80223624 0021F284  38 21 02 60 */	addi r1, r1, 0x260
/* 80223628 0021F288  4E 80 00 20 */	blr

.global func_8022362C
func_8022362C:
/* 8022362C 0021F28C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80223630 0021F290  7C 08 02 A6 */	mflr r0
/* 80223634 0021F294  3C 60 80 49 */	lis r3, lbl_804932B0@ha
/* 80223638 0021F298  38 C0 00 01 */	li r6, 1
/* 8022363C 0021F29C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80223640 0021F2A0  38 8D A2 C0 */	addi r4, r13, lbl_8063F580-_SDA_BASE_
/* 80223644 0021F2A4  38 A0 00 04 */	li r5, 4
/* 80223648 0021F2A8  38 00 00 00 */	li r0, 0
/* 8022364C 0021F2AC  98 CD A2 C0 */	stb r6, lbl_8063F580-_SDA_BASE_(r13)
/* 80223650 0021F2B0  38 63 32 B0 */	addi r3, r3, lbl_804932B0@l
/* 80223654 0021F2B4  B0 A4 00 02 */	sth r5, 2(r4)
/* 80223658 0021F2B8  98 04 00 04 */	stb r0, 4(r4)
/* 8022365C 0021F2BC  48 05 88 D1 */	bl PSMTXIdentity
/* 80223660 0021F2C0  C0 22 9C 20 */	lfs f1, lbl_80642220-_SDA2_BASE_(r2)
/* 80223664 0021F2C4  3C 60 80 49 */	lis r3, lbl_804932E0@ha
/* 80223668 0021F2C8  38 63 32 E0 */	addi r3, r3, lbl_804932E0@l
/* 8022366C 0021F2CC  FC 40 08 90 */	fmr f2, f1
/* 80223670 0021F2D0  D0 21 00 08 */	stfs f1, 8(r1)
/* 80223674 0021F2D4  FC 60 08 90 */	fmr f3, f1
/* 80223678 0021F2D8  D0 21 00 0C */	stfs f1, 0xc(r1)
/* 8022367C 0021F2DC  D0 21 00 10 */	stfs f1, 0x10(r1)
/* 80223680 0021F2E0  48 05 8E C1 */	bl PSMTXScale
/* 80223684 0021F2E4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80223688 0021F2E8  7C 08 03 A6 */	mtlr r0
/* 8022368C 0021F2EC  38 21 00 20 */	addi r1, r1, 0x20
/* 80223690 0021F2F0  4E 80 00 20 */	blr