Go to the source code of this file.
◆ radial_shimmer_init()
◆ radial_shimmer_update()
Definition at line 206 of file radial_shimmer.c.
206 {
208 s32 unk_28;
209 f32 outX;
210 f32 outY;
211 f32 outZ;
212 f32 outS;
213 s32 i;
214
217
219 effect->
flags &= ~FX_INSTANCE_FLAG_DISMISS;
221 }
222
225 return;
226 }
227
229
232 }
233
234 if (unk_28 < 6) {
235 part->
unk_24 = (unk_28 * 255) / 6;
236 }
237
238 if (unk_28 < 10 && part->unk_00 == 4) {
240 }
241
243
245 1.0f, &outX, &outY, &outZ, &outS);
246
247 outS = 1.0f / outS;
248 outX *= outS;
249 outY *= outS;
250 outZ *= outS;
251
255
256 for (i = 0; i < effect->
numParts; i++, part++) {
263
264 if (part->
unk_40 < 0.0f) {
266 }
267
268 if (part->
unk_48 < 0.0f) {
270 }
271 }
272}
struct RadialShimmerFXData * radialShimmer
@ FX_INSTANCE_FLAG_DISMISS
Referenced by radial_shimmer_main().
◆ radial_shimmer_render()
Definition at line 274 of file radial_shimmer.c.
274 {
277
282
285}
#define queue_render_task
@ RENDER_TASK_FLAG_REFLECT_FLOOR
@ RENDER_MODE_CLOUD_NO_ZCMP
void radial_shimmer_appendGfx(void *effect)
void(* appendGfx)(void *)
Referenced by radial_shimmer_main().
◆ radial_shimmer_appendGfx()
void radial_shimmer_appendGfx |
( |
void * | effect | ) |
|
Definition at line 287 of file radial_shimmer.c.
287 {
289 u16 spA0;
294 s32 temp_f0;
295 s32 temp_f2;
296 s32 temp_f4;
297 s32 temp_f6;
298 Gfx* dlist2;
299 Gfx* dlist1;
300 s32 temp_s5;
301 s32 temp_t1;
302 s32 var_a3;
303 s32 alpha;
304 s32 other;
305 s32 t1;
306 s32 t2;
307 s32 i;
308
312
315
322
324 G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
325
328
330 G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
334
335 for (i = 0; i < effectTemp->
numParts; i++, data++) {
337
338 switch (temp_s5) {
339 case 0:
340 case 1:
341 other = 0x3F;
342 var_a3 = 0x1FF;
343 break;
344 case 8:
345 other = 0x3F;
346 var_a3 = 0x7F;
347 break;
348 case 11:
349 other = 0x3F;
350 var_a3 = 0xFF;
351 break;
352 default:
353 other = 0x3F;
354 var_a3 = 0x1FF;
355 break;
356 }
357
362
363 gDPSetTileSize(
gMainGfxPos++, 0, temp_f0, temp_f2, temp_f0 + other * 4, temp_f2 + var_a3 * 4);
364 gDPSetTileSize(
gMainGfxPos++, G_TX_MIRROR, temp_f4, temp_f6, temp_f4 + other * 4, temp_f6 + var_a3 * 4);
366 }
367
370 G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
372}
#define VIRTUAL_TO_PHYSICAL(addr)
DisplayContext * gDisplayContext
Referenced by radial_shimmer_render().
◆ radial_shimmer_main()
EffectInstance * radial_shimmer_main |
( |
s32 | arg0, |
|
|
f32 | arg1, |
|
|
f32 | arg2, |
|
|
f32 | arg3, |
|
|
f32 | arg4, |
|
|
s32 | arg5 ) |
Definition at line 35 of file radial_shimmer.c.
35 {
39 s32 numParts = 1;
40 s32 arg5_2 = arg5;
41
48
53
80
81 switch (arg0) {
82 case 0:
83 case 1:
85 data->
unk_44 = 128.0f / arg5_2;
88 break;
89 case 2:
94 break;
95 case 3:
105 break;
106 case 4:
114 break;
115 case 5:
120 break;
121 case 6:
129 break;
130 case 7:
138 break;
139 case 8:
150 break;
151 case 9:
153 data->
unk_44 = 128.0f / arg5_2;
155 break;
156 case 10:
170 break;
171 case 11:
182 break;
183 case 12:
184 case 13:
189 break;
190 case 14:
191 default:
197 break;
198 }
199
200 return effect;
201}
#define general_heap_malloc
#define create_effect_instance
#define ASSERT(condition)
void radial_shimmer_update(EffectInstance *effect)
void radial_shimmer_init(EffectInstance *effect)
void radial_shimmer_render(EffectInstance *effect)
void(* renderUI)(EffectInstance *effectInst)
void(* init)(EffectInstance *effectInst)
void(* update)(EffectInstance *effectInst)
void(* renderWorld)(EffectInstance *effectInst)
◆ D_09003428_36A188
◆ D_09003508_36A268
◆ D_090035E8_36A348
◆ D_090036C8_36A428
◆ D_09003830_36A590
◆ D_090038B8_36A618
◆ D_090039A8_36A708
◆ D_09003A88_36A7E8
◆ D_E0066C50
◆ D_E0066C8C
◆ D_E0066CC8
Initial value:= {
0xFFC59CFF, 0x9CFFFF73, 0xD6FF9CFF, 0xFFC57BFF, 0xB4FFDE73, 0xFFFF949C
}
Definition at line 31 of file radial_shimmer.c.
31 {
32 0xFFC59CFF, 0x9CFFFF73, 0xD6FF9CFF, 0xFFC57BFF, 0xB4FFDE73, 0xFFFF949C
33};