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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global __ct__Q44nw4r3snd6detail12EnvGeneratorFv
__ct__Q44nw4r3snd6detail12EnvGeneratorFv:
/* 8036FC38 0036B898 C0 22 A5 E8 */ lfs f1, lbl_80642BE8-_SDA2_BASE_(r2)
/* 8036FC3C 0036B89C 3C A0 80 40 */ lis r5, lbl_80402690@ha
/* 8036FC40 0036B8A0 C0 02 A5 F0 */ lfs f0, lbl_80642BF0-_SDA2_BASE_(r2)
/* 8036FC44 0036B8A4 38 80 00 7F */ li r4, 0x7f
/* 8036FC48 0036B8A8 38 A5 26 90 */ addi r5, r5, lbl_80402690@l
/* 8036FC4C 0036B8AC C0 42 A5 EC */ lfs f2, lbl_80642BEC-_SDA2_BASE_(r2)
/* 8036FC50 0036B8B0 EC 00 00 72 */ fmuls f0, f0, f1
/* 8036FC54 0036B8B4 C0 25 01 FC */ lfs f1, 0x1fc(r5)
/* 8036FC58 0036B8B8 38 00 00 00 */ li r0, 0
/* 8036FC5C 0036B8BC D0 43 00 08 */ stfs f2, 8(r3)
/* 8036FC60 0036B8C0 D0 23 00 10 */ stfs f1, 0x10(r3)
/* 8036FC64 0036B8C4 98 83 00 14 */ stb r4, 0x14(r3)
/* 8036FC68 0036B8C8 D0 43 00 0C */ stfs f2, 0xc(r3)
/* 8036FC6C 0036B8CC D0 03 00 04 */ stfs f0, 4(r3)
/* 8036FC70 0036B8D0 90 03 00 00 */ stw r0, 0(r3)
/* 8036FC74 0036B8D4 4E 80 00 20 */ blr
.global Init__Q44nw4r3snd6detail12EnvGeneratorFf
Init__Q44nw4r3snd6detail12EnvGeneratorFf:
/* 8036FC78 0036B8D8 C0 02 A5 F0 */ lfs f0, lbl_80642BF0-_SDA2_BASE_(r2)
/* 8036FC7C 0036B8DC 3C 80 80 40 */ lis r4, lbl_80402690@ha
/* 8036FC80 0036B8E0 C0 42 A5 EC */ lfs f2, lbl_80642BEC-_SDA2_BASE_(r2)
/* 8036FC84 0036B8E4 38 00 00 00 */ li r0, 0
/* 8036FC88 0036B8E8 EC 00 00 72 */ fmuls f0, f0, f1
/* 8036FC8C 0036B8EC 38 84 26 90 */ addi r4, r4, lbl_80402690@l
/* 8036FC90 0036B8F0 C0 24 01 FC */ lfs f1, 0x1fc(r4)
/* 8036FC94 0036B8F4 38 80 00 7F */ li r4, 0x7f
/* 8036FC98 0036B8F8 D0 43 00 08 */ stfs f2, 8(r3)
/* 8036FC9C 0036B8FC D0 23 00 10 */ stfs f1, 0x10(r3)
/* 8036FCA0 0036B900 98 83 00 14 */ stb r4, 0x14(r3)
/* 8036FCA4 0036B904 D0 43 00 0C */ stfs f2, 0xc(r3)
/* 8036FCA8 0036B908 D0 03 00 04 */ stfs f0, 4(r3)
/* 8036FCAC 0036B90C 90 03 00 00 */ stw r0, 0(r3)
/* 8036FCB0 0036B910 4E 80 00 20 */ blr
.global Reset__Q44nw4r3snd6detail12EnvGeneratorFf
Reset__Q44nw4r3snd6detail12EnvGeneratorFf:
/* 8036FCB4 0036B914 C0 02 A5 F0 */ lfs f0, lbl_80642BF0-_SDA2_BASE_(r2)
/* 8036FCB8 0036B918 38 00 00 00 */ li r0, 0
/* 8036FCBC 0036B91C 90 03 00 00 */ stw r0, 0(r3)
/* 8036FCC0 0036B920 EC 00 00 72 */ fmuls f0, f0, f1
/* 8036FCC4 0036B924 D0 03 00 04 */ stfs f0, 4(r3)
/* 8036FCC8 0036B928 4E 80 00 20 */ blr
.global GetValue__Q44nw4r3snd6detail12EnvGeneratorCFv
GetValue__Q44nw4r3snd6detail12EnvGeneratorCFv:
/* 8036FCCC 0036B92C 80 03 00 00 */ lwz r0, 0(r3)
/* 8036FCD0 0036B930 2C 00 00 00 */ cmpwi r0, 0
/* 8036FCD4 0036B934 40 82 00 14 */ bne lbl_8036FCE8
/* 8036FCD8 0036B938 C0 22 A5 F4 */ lfs f1, lbl_80642BF4-_SDA2_BASE_(r2)
/* 8036FCDC 0036B93C C0 03 00 10 */ lfs f0, 0x10(r3)
/* 8036FCE0 0036B940 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 8036FCE4 0036B944 4D 82 00 20 */ beqlr
lbl_8036FCE8:
/* 8036FCE8 0036B948 C0 23 00 04 */ lfs f1, 4(r3)
/* 8036FCEC 0036B94C C0 02 A5 F0 */ lfs f0, lbl_80642BF0-_SDA2_BASE_(r2)
/* 8036FCF0 0036B950 EC 21 00 24 */ fdivs f1, f1, f0
/* 8036FCF4 0036B954 4E 80 00 20 */ blr
.global Update__Q44nw4r3snd6detail12EnvGeneratorFi
Update__Q44nw4r3snd6detail12EnvGeneratorFi:
/* 8036FCF8 0036B958 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8036FCFC 0036B95C 80 03 00 00 */ lwz r0, 0(r3)
/* 8036FD00 0036B960 2C 00 00 02 */ cmpwi r0, 2
/* 8036FD04 0036B964 41 82 01 10 */ beq lbl_8036FE14
/* 8036FD08 0036B968 40 80 00 14 */ bge lbl_8036FD1C
/* 8036FD0C 0036B96C 2C 00 00 00 */ cmpwi r0, 0
/* 8036FD10 0036B970 41 82 00 18 */ beq lbl_8036FD28
/* 8036FD14 0036B974 40 80 00 60 */ bge lbl_8036FD74
/* 8036FD18 0036B978 48 00 00 FC */ b lbl_8036FE14
lbl_8036FD1C:
/* 8036FD1C 0036B97C 2C 00 00 04 */ cmpwi r0, 4
/* 8036FD20 0036B980 40 80 00 F4 */ bge lbl_8036FE14
/* 8036FD24 0036B984 48 00 00 C0 */ b lbl_8036FDE4
lbl_8036FD28:
/* 8036FD28 0036B988 C0 02 A5 F4 */ lfs f0, lbl_80642BF4-_SDA2_BASE_(r2)
/* 8036FD2C 0036B98C 38 00 00 01 */ li r0, 1
/* 8036FD30 0036B990 C0 22 A5 F8 */ lfs f1, lbl_80642BF8-_SDA2_BASE_(r2)
/* 8036FD34 0036B994 7C 89 03 A6 */ mtctr r4
/* 8036FD38 0036B998 2C 04 00 00 */ cmpwi r4, 0
/* 8036FD3C 0036B99C 40 81 00 2C */ ble lbl_8036FD68
lbl_8036FD40:
/* 8036FD40 0036B9A0 C0 63 00 04 */ lfs f3, 4(r3)
/* 8036FD44 0036B9A4 38 84 FF FF */ addi r4, r4, -1
/* 8036FD48 0036B9A8 C0 43 00 10 */ lfs f2, 0x10(r3)
/* 8036FD4C 0036B9AC EC 43 00 B2 */ fmuls f2, f3, f2
/* 8036FD50 0036B9B0 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8036FD54 0036B9B4 D0 43 00 04 */ stfs f2, 4(r3)
/* 8036FD58 0036B9B8 40 81 00 0C */ ble lbl_8036FD64
/* 8036FD5C 0036B9BC D0 03 00 04 */ stfs f0, 4(r3)
/* 8036FD60 0036B9C0 90 03 00 00 */ stw r0, 0(r3)
lbl_8036FD64:
/* 8036FD64 0036B9C4 42 00 FF DC */ bdnz lbl_8036FD40
lbl_8036FD68:
/* 8036FD68 0036B9C8 80 03 00 00 */ lwz r0, 0(r3)
/* 8036FD6C 0036B9CC 2C 00 00 01 */ cmpwi r0, 1
/* 8036FD70 0036B9D0 40 82 00 A4 */ bne lbl_8036FE14
lbl_8036FD74:
/* 8036FD74 0036B9D4 3C A0 43 30 */ lis r5, 0x4330
/* 8036FD78 0036B9D8 6C 80 80 00 */ xoris r0, r4, 0x8000
/* 8036FD7C 0036B9DC 88 C3 00 14 */ lbz r6, 0x14(r3)
/* 8036FD80 0036B9E0 3C 80 80 40 */ lis r4, lbl_80402590@ha
/* 8036FD84 0036B9E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8036FD88 0036B9E8 38 84 25 90 */ addi r4, r4, lbl_80402590@l
/* 8036FD8C 0036B9EC 54 C0 08 3C */ slwi r0, r6, 1
/* 8036FD90 0036B9F0 C8 62 A6 00 */ lfd f3, lbl_80642C00-_SDA2_BASE_(r2)
/* 8036FD94 0036B9F4 90 A1 00 10 */ stw r5, 0x10(r1)
/* 8036FD98 0036B9F8 7C 04 02 AE */ lhax r0, r4, r0
/* 8036FD9C 0036B9FC C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8036FDA0 0036BA00 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8036FDA4 0036BA04 C0 23 00 08 */ lfs f1, 8(r3)
/* 8036FDA8 0036BA08 EC 40 18 28 */ fsubs f2, f0, f3
/* 8036FDAC 0036BA0C 90 01 00 0C */ stw r0, 0xc(r1)
/* 8036FDB0 0036BA10 C0 03 00 04 */ lfs f0, 4(r3)
/* 8036FDB4 0036BA14 90 A1 00 08 */ stw r5, 8(r1)
/* 8036FDB8 0036BA18 EC 21 00 B2 */ fmuls f1, f1, f2
/* 8036FDBC 0036BA1C C8 41 00 08 */ lfd f2, 8(r1)
/* 8036FDC0 0036BA20 EC 00 08 28 */ fsubs f0, f0, f1
/* 8036FDC4 0036BA24 EC 22 18 28 */ fsubs f1, f2, f3
/* 8036FDC8 0036BA28 D0 03 00 04 */ stfs f0, 4(r3)
/* 8036FDCC 0036BA2C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8036FDD0 0036BA30 41 81 00 44 */ bgt lbl_8036FE14
/* 8036FDD4 0036BA34 38 00 00 02 */ li r0, 2
/* 8036FDD8 0036BA38 D0 23 00 04 */ stfs f1, 4(r3)
/* 8036FDDC 0036BA3C 90 03 00 00 */ stw r0, 0(r3)
/* 8036FDE0 0036BA40 48 00 00 34 */ b lbl_8036FE14
lbl_8036FDE4:
/* 8036FDE4 0036BA44 6C 84 80 00 */ xoris r4, r4, 0x8000
/* 8036FDE8 0036BA48 3C 00 43 30 */ lis r0, 0x4330
/* 8036FDEC 0036BA4C 90 81 00 14 */ stw r4, 0x14(r1)
/* 8036FDF0 0036BA50 C8 62 A6 00 */ lfd f3, lbl_80642C00-_SDA2_BASE_(r2)
/* 8036FDF4 0036BA54 90 01 00 10 */ stw r0, 0x10(r1)
/* 8036FDF8 0036BA58 C0 23 00 0C */ lfs f1, 0xc(r3)
/* 8036FDFC 0036BA5C C8 41 00 10 */ lfd f2, 0x10(r1)
/* 8036FE00 0036BA60 C0 03 00 04 */ lfs f0, 4(r3)
/* 8036FE04 0036BA64 EC 42 18 28 */ fsubs f2, f2, f3
/* 8036FE08 0036BA68 EC 21 00 B2 */ fmuls f1, f1, f2
/* 8036FE0C 0036BA6C EC 00 08 28 */ fsubs f0, f0, f1
/* 8036FE10 0036BA70 D0 03 00 04 */ stfs f0, 4(r3)
lbl_8036FE14:
/* 8036FE14 0036BA74 38 21 00 20 */ addi r1, r1, 0x20
/* 8036FE18 0036BA78 4E 80 00 20 */ blr
.global SetAttack__Q44nw4r3snd6detail12EnvGeneratorFi
SetAttack__Q44nw4r3snd6detail12EnvGeneratorFi:
/* 8036FE1C 0036BA7C 3C A0 80 40 */ lis r5, lbl_80402690@ha
/* 8036FE20 0036BA80 54 80 10 3A */ slwi r0, r4, 2
/* 8036FE24 0036BA84 38 A5 26 90 */ addi r5, r5, lbl_80402690@l
/* 8036FE28 0036BA88 7C 05 04 2E */ lfsx f0, r5, r0
/* 8036FE2C 0036BA8C D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8036FE30 0036BA90 4E 80 00 20 */ blr
.global SetDecay__Q44nw4r3snd6detail12EnvGeneratorFi
SetDecay__Q44nw4r3snd6detail12EnvGeneratorFi:
/* 8036FE34 0036BA94 2C 04 00 7F */ cmpwi r4, 0x7f
/* 8036FE38 0036BA98 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8036FE3C 0036BA9C 40 82 00 0C */ bne lbl_8036FE48
/* 8036FE40 0036BAA0 C0 02 A5 EC */ lfs f0, lbl_80642BEC-_SDA2_BASE_(r2)
/* 8036FE44 0036BAA4 48 00 00 84 */ b lbl_8036FEC8
lbl_8036FE48:
/* 8036FE48 0036BAA8 2C 04 00 7E */ cmpwi r4, 0x7e
/* 8036FE4C 0036BAAC 40 82 00 0C */ bne lbl_8036FE58
/* 8036FE50 0036BAB0 C0 02 A6 08 */ lfs f0, lbl_80642C08-_SDA2_BASE_(r2)
/* 8036FE54 0036BAB4 48 00 00 74 */ b lbl_8036FEC8
lbl_8036FE58:
/* 8036FE58 0036BAB8 2C 04 00 32 */ cmpwi r4, 0x32
/* 8036FE5C 0036BABC 40 80 00 3C */ bge lbl_8036FE98
/* 8036FE60 0036BAC0 54 84 08 3C */ slwi r4, r4, 1
/* 8036FE64 0036BAC4 3C 00 43 30 */ lis r0, 0x4330
/* 8036FE68 0036BAC8 38 84 00 01 */ addi r4, r4, 1
/* 8036FE6C 0036BACC 90 01 00 08 */ stw r0, 8(r1)
/* 8036FE70 0036BAD0 6C 80 80 00 */ xoris r0, r4, 0x8000
/* 8036FE74 0036BAD4 C8 62 A6 00 */ lfd f3, lbl_80642C00-_SDA2_BASE_(r2)
/* 8036FE78 0036BAD8 90 01 00 0C */ stw r0, 0xc(r1)
/* 8036FE7C 0036BADC C0 22 A6 0C */ lfs f1, lbl_80642C0C-_SDA2_BASE_(r2)
/* 8036FE80 0036BAE0 C8 41 00 08 */ lfd f2, 8(r1)
/* 8036FE84 0036BAE4 C0 02 A6 10 */ lfs f0, lbl_80642C10-_SDA2_BASE_(r2)
/* 8036FE88 0036BAE8 EC 42 18 28 */ fsubs f2, f2, f3
/* 8036FE8C 0036BAEC EC 22 00 72 */ fmuls f1, f2, f1
/* 8036FE90 0036BAF0 EC 01 00 24 */ fdivs f0, f1, f0
/* 8036FE94 0036BAF4 48 00 00 34 */ b lbl_8036FEC8
lbl_8036FE98:
/* 8036FE98 0036BAF8 20 84 00 7E */ subfic r4, r4, 0x7e
/* 8036FE9C 0036BAFC 3C 00 43 30 */ lis r0, 0x4330
/* 8036FEA0 0036BB00 6C 84 80 00 */ xoris r4, r4, 0x8000
/* 8036FEA4 0036BB04 90 01 00 10 */ stw r0, 0x10(r1)
/* 8036FEA8 0036BB08 C8 62 A6 00 */ lfd f3, lbl_80642C00-_SDA2_BASE_(r2)
/* 8036FEAC 0036BB0C 90 81 00 14 */ stw r4, 0x14(r1)
/* 8036FEB0 0036BB10 C0 22 A6 14 */ lfs f1, lbl_80642C14-_SDA2_BASE_(r2)
/* 8036FEB4 0036BB14 C8 41 00 10 */ lfd f2, 0x10(r1)
/* 8036FEB8 0036BB18 C0 02 A6 10 */ lfs f0, lbl_80642C10-_SDA2_BASE_(r2)
/* 8036FEBC 0036BB1C EC 42 18 28 */ fsubs f2, f2, f3
/* 8036FEC0 0036BB20 EC 21 10 24 */ fdivs f1, f1, f2
/* 8036FEC4 0036BB24 EC 01 00 24 */ fdivs f0, f1, f0
lbl_8036FEC8:
/* 8036FEC8 0036BB28 D0 03 00 08 */ stfs f0, 8(r3)
/* 8036FECC 0036BB2C 38 21 00 20 */ addi r1, r1, 0x20
/* 8036FED0 0036BB30 4E 80 00 20 */ blr
.global SetSustain__Q44nw4r3snd6detail12EnvGeneratorFi
SetSustain__Q44nw4r3snd6detail12EnvGeneratorFi:
/* 8036FED4 0036BB34 98 83 00 14 */ stb r4, 0x14(r3)
/* 8036FED8 0036BB38 4E 80 00 20 */ blr
.global SetRelease__Q44nw4r3snd6detail12EnvGeneratorFi
SetRelease__Q44nw4r3snd6detail12EnvGeneratorFi:
/* 8036FEDC 0036BB3C 2C 04 00 7F */ cmpwi r4, 0x7f
/* 8036FEE0 0036BB40 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8036FEE4 0036BB44 40 82 00 0C */ bne lbl_8036FEF0
/* 8036FEE8 0036BB48 C0 02 A5 EC */ lfs f0, lbl_80642BEC-_SDA2_BASE_(r2)
/* 8036FEEC 0036BB4C 48 00 00 84 */ b lbl_8036FF70
lbl_8036FEF0:
/* 8036FEF0 0036BB50 2C 04 00 7E */ cmpwi r4, 0x7e
/* 8036FEF4 0036BB54 40 82 00 0C */ bne lbl_8036FF00
/* 8036FEF8 0036BB58 C0 02 A6 08 */ lfs f0, lbl_80642C08-_SDA2_BASE_(r2)
/* 8036FEFC 0036BB5C 48 00 00 74 */ b lbl_8036FF70
lbl_8036FF00:
/* 8036FF00 0036BB60 2C 04 00 32 */ cmpwi r4, 0x32
/* 8036FF04 0036BB64 40 80 00 3C */ bge lbl_8036FF40
/* 8036FF08 0036BB68 54 84 08 3C */ slwi r4, r4, 1
/* 8036FF0C 0036BB6C 3C 00 43 30 */ lis r0, 0x4330
/* 8036FF10 0036BB70 38 84 00 01 */ addi r4, r4, 1
/* 8036FF14 0036BB74 90 01 00 08 */ stw r0, 8(r1)
/* 8036FF18 0036BB78 6C 80 80 00 */ xoris r0, r4, 0x8000
/* 8036FF1C 0036BB7C C8 62 A6 00 */ lfd f3, lbl_80642C00-_SDA2_BASE_(r2)
/* 8036FF20 0036BB80 90 01 00 0C */ stw r0, 0xc(r1)
/* 8036FF24 0036BB84 C0 22 A6 0C */ lfs f1, lbl_80642C0C-_SDA2_BASE_(r2)
/* 8036FF28 0036BB88 C8 41 00 08 */ lfd f2, 8(r1)
/* 8036FF2C 0036BB8C C0 02 A6 10 */ lfs f0, lbl_80642C10-_SDA2_BASE_(r2)
/* 8036FF30 0036BB90 EC 42 18 28 */ fsubs f2, f2, f3
/* 8036FF34 0036BB94 EC 22 00 72 */ fmuls f1, f2, f1
/* 8036FF38 0036BB98 EC 01 00 24 */ fdivs f0, f1, f0
/* 8036FF3C 0036BB9C 48 00 00 34 */ b lbl_8036FF70
lbl_8036FF40:
/* 8036FF40 0036BBA0 20 84 00 7E */ subfic r4, r4, 0x7e
/* 8036FF44 0036BBA4 3C 00 43 30 */ lis r0, 0x4330
/* 8036FF48 0036BBA8 6C 84 80 00 */ xoris r4, r4, 0x8000
/* 8036FF4C 0036BBAC 90 01 00 10 */ stw r0, 0x10(r1)
/* 8036FF50 0036BBB0 C8 62 A6 00 */ lfd f3, lbl_80642C00-_SDA2_BASE_(r2)
/* 8036FF54 0036BBB4 90 81 00 14 */ stw r4, 0x14(r1)
/* 8036FF58 0036BBB8 C0 22 A6 14 */ lfs f1, lbl_80642C14-_SDA2_BASE_(r2)
/* 8036FF5C 0036BBBC C8 41 00 10 */ lfd f2, 0x10(r1)
/* 8036FF60 0036BBC0 C0 02 A6 10 */ lfs f0, lbl_80642C10-_SDA2_BASE_(r2)
/* 8036FF64 0036BBC4 EC 42 18 28 */ fsubs f2, f2, f3
/* 8036FF68 0036BBC8 EC 21 10 24 */ fdivs f1, f1, f2
/* 8036FF6C 0036BBCC EC 01 00 24 */ fdivs f0, f1, f0
lbl_8036FF70:
/* 8036FF70 0036BBD0 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8036FF74 0036BBD4 38 21 00 20 */ addi r1, r1, 0x20
/* 8036FF78 0036BBD8 4E 80 00 20 */ blr
|