47 {
52 f32 cosTheta;
53 f32 sinTheta;
54 f32 temp_f22;
55 f32 temp_f8;
56 f32 temp_ft;
57 f32 theta;
58 f32 temp5;
59 f32 t3;
60 f32 new_var;
61 s32 i;
62
63 numParts++;
64
70 bpPtr->
effectID = EFFECT_STARS_SHIMMER;
71
76
77 if (type == 6) {
79 type = 3;
80 } else {
82 }
89
90 part++;
91 for (i = 1; i < numParts; i++, part++) {
92 temp_f22 = (360.0f / (numParts - 1)) * i;
93 if (type > 1) {
95 } else {
96 theta = temp_f22 + 0.0f;
97 }
98 t3 = (temp_f22 * 10.0f) - 90.0f;
102 temp_f8 = (arg4 * 0.4) - (arg4 * 0.1 * temp_f22);
103 temp_ft = (arg5 * 0.4) - (arg5 * 0.1 * temp_f22);
104 new_var = 1.0f;
105 temp5 = (arg5 / (numParts - 1)) * (i - 1);
106
107 part->
unk_1C = (u8) new_var;
110
111 switch (type) {
112 case 0:
113 case 1:
116 part->
unk_10 = sinTheta * temp_f8;
117 part->
unk_14 = cosTheta * temp_ft;
118 break;
119 case 3:
120 part->
pos.
x = (sinTheta * arg4 *
rand_int(100)) * 0.005;
121 part->
pos.
y = (cosTheta * arg5 *
rand_int(100)) * 0.005;
123
125
127 break;
128 case 2:
129 case 4:
130 case 5:
131 default:
132 part->
unk_10 = sinTheta * temp_f8;
134 part->
pos.
z = cosTheta * temp_f8;
137 break;
138 }
139 }
140}
#define general_heap_malloc
#define create_effect_instance
#define ASSERT(condition)
void stars_shimmer_render(EffectInstance *effect)
void stars_shimmer_update(EffectInstance *effect)
void stars_shimmer_init(EffectInstance *effect)
void(* renderUI)(EffectInstance *effectInst)
void(* init)(EffectInstance *effectInst)
void(* update)(EffectInstance *effectInst)
void(* renderWorld)(EffectInstance *effectInst)