Go to the source code of this file.
◆ shockwave_init()
◆ shockwave_update()
Definition at line 148 of file shockwave.c.
148 {
150 s32 unk_00;
151 s32 unk_2C;
152 s32 i;
153
156
157 if (
part->unk_28 < 0) {
159 return;
160 }
161
162 unk_00 =
part->unk_00;
163 unk_2C =
part->unk_2C;
164
165 switch (unk_00) {
166 case 0:
167 case 1:
168 if (unk_2C >= 8) {
170 }
171 break;
172 default:
173 if (unk_2C >= 8) {
175 }
176 break;
177 }
178
182 if (
part->unk_4C >= 0) {
183 if (
part->unk_4C == 0) {
190 part->unk_3C = 32.0f;
191 part->unk_40 = 32.0f;
192 part->unk_48 = 32.0f;
194
195 switch (unk_00) {
196 case 0:
197 case 1:
198 part->unk_1C = i + 0.5;
199 part->unk_24 = (i + 0.5) * 0.5;
200 break;
201 case 2:
202 case 5:
203 part->unk_1C = i + 2;
204 part->unk_24 = (i + 2) * 0.5;
205 break;
206 case 3:
207 part->unk_1C = i + 3;
208 part->unk_24 = (i + 3) * 0.5;
209 part->unk_3C = 16.0f;
210 part->unk_40 = 16.0f;
211 part->unk_48 = 16.0f;
212 break;
213 case 4:
214 default:
215 part->unk_1C = (i + 3) * 0.5;
216 part->unk_24 = (i + 3) * 0.5 * 0.5;
217 part->unk_3C = 16.0f;
218 part->unk_40 = 16.0f;
219 part->unk_48 = 16.0f;
221 break;
222 }
223
224 part->unk_44 = 32.0f;
225 }
226
229
230 switch (unk_00) {
231 case 0:
232 case 1:
234 break;
235 case 2:
236 case 5:
237 part->unk_40 *= 0.75;
238 part->unk_48 *= 0.99;
239 break;
240 default:
241 part->unk_40 *= 0.75;
242 part->unk_48 *= 0.95;
243 break;
244 }
245
246 part->unk_1C *= 1.002;
247 part->unk_24 *= 1.002;
248 if (
part->unk_3C > 128.0f) {
249 part->unk_3C = 128.0f;
250 }
251 }
252 }
253}
BSS s32 PopupMenu_SelectedIndex
EffectInstanceDataPtr data
struct ShockwaveFXData * shockwave
Referenced by shockwave_main().
◆ shockwave_render()
Definition at line 255 of file shockwave.c.
255 {
258
263
266}
#define queue_render_task
@ RENDER_TASK_FLAG_REFLECT_FLOOR
@ RENDER_MODE_PASS_THROUGH
void shockwave_appendGfx(void *effect)
void(* appendGfx)(void *)
Referenced by shockwave_main().
◆ shockwave_appendGfx()
void shockwave_appendGfx |
( |
void * | effect | ) |
|
Definition at line 268 of file shockwave.c.
268 {
273 s32 primA;
274 s32 primR, primG, primB;
275 s32 envR, envG, envB;
281 s32 i;
282
283 primR = data->
prim.
r;
284 primG = data->
prim.
g;
285 primB = data->
prim.
b;
295
298
306 }
307
311
315
319
323
324 data++;
325 for (i = 1; i < ((
EffectInstance*) effect)->numParts; i++, data++) {
335
338
343 }
344 }
360}
#define VIRTUAL_TO_PHYSICAL(addr)
DisplayContext * gDisplayContext
Referenced by shockwave_render().
◆ shockwave_main()
Definition at line 18 of file shockwave.c.
18 {
24 s32 numParts;
25 s32 i;
26
28 case 0:
30 break;
31 case 1:
33 break;
34 case 2:
36 break;
37 default:
39 break;
40 }
41
43 case 1:
44 numParts = 1;
45 break;
46 case 0:
47 case 2:
48 case 5:
49 numParts = 3;
50 break;
51 default:
52 numParts = 2;
53 break;
54 }
55
56 numParts++;
57
64
69
71
74 } else {
76 }
83
85 case 0:
86 case 1:
93 break;
94 case 2:
101 break;
102 case 3:
109 break;
110 case 5:
117 break;
118 default:
126 break;
127 }
128
130 for (i = 1; i < numParts; i++,
part++) {
132 case 0:
133 case 1:
134 part->unk_4C = 1 + i * -2;
135 break;
136 default:
137 part->unk_4C = 2 + i * -3;
138 break;
139 }
141 part->unk_30 = i * 30;
142 }
143}
#define general_heap_malloc
#define create_effect_instance
#define ASSERT(condition)
void shockwave_init(EffectInstance *effect)
void shockwave_update(EffectInstance *effect)
void shockwave_render(EffectInstance *effect)
◆ D_09000940_359CF0
◆ D_090009A0_359D50
◆ D_09000A80_359E30
◆ D_E004AE60