4static f32 D_E0002760[10] = { 10.0f, 40.0f, 80.0f, 170.0f, 140.0f, 100.0f, 25.0f, 155.0f, 60.0f, 120.0f };
5static f32 D_E0002788[10] = { 2.2f, 2.7f, 3.0f, 2.2f, 2.7f, 3.0f, 1.9f, 1.9f, 1.5f, 1.5f };
6static f32 sPartScales[10] = { 1.4f, 1.3f, 1.2f, 1.3f, 1.4f, 1.3f, 1.6f, 1.6f, 1.6f, 1.6f };
7static f32 sPartYaws[10] = { 0.0f, 234.0f, 468.0f, 702.0f, 936.0f, 1260.0f, 1404.0f, 1638.0f, 1902.0f, 1976.0f };
17static Gfx* sDlists[7] = {
53 for (i = 0; i < effect->
numParts; i++, data++) {
64 theta = D_E0002760[i] + 90.0f;
65 temp_f20 = 2.0 * D_E0002788[i];
69 data->
unk_20 = temp_f20 * sinTheta;
70 data->
unk_24 = -temp_f20 * cosTheta;
82 for (i = 0; i < effect->
numParts; i++, data++) {
137 for (i = 0; i < ((
EffectInstance*)effect)->numParts; i++, data++) {
139 s32 primAlpha = data->
unk_02;
144 if (primAlpha > 16) {
155 temp_f12 = data->
unk_00 - 1;
157 if (data->
unk_04 <= temp_f12) {
161 f32 temp =
sin_deg((((temp_f12 * 7.0f) / data->
unk_04) * 90.0f) / 7.0f) * 7.0f;
163 envAlpha = (s32)(temp * 255.0f) % 256;
164 dlist = sDlists[(s32)temp];
167 gDPSetPrimColor(
gMainGfxPos++, 0, 0, 0, 0, 0, (u32)(primAlpha * 105) / 8);
void big_smoke_puff_update(EffectInstance *effect)
void big_smoke_puff_render(EffectInstance *effect)
void func_E0002738(EffectInstance *effect)
void big_smoke_puff_appendGfx(void *effect)
void big_smoke_puff_main(f32 x, f32 y, f32 z)
void big_smoke_puff_init(EffectInstance *effect)
#define general_heap_malloc
#define queue_render_task
#define create_effect_instance
struct BigSmokePuffFXData * bigSmokePuff
#define ASSERT(condition)
@ RENDER_TASK_FLAG_REFLECT_FLOOR
@ RENDER_MODE_CLOUD_NO_ZCMP
#define VIRTUAL_TO_PHYSICAL(addr)
void(* renderUI)(EffectInstance *effectInst)
void(* init)(EffectInstance *effectInst)
void(* update)(EffectInstance *effectInst)
void(* renderWorld)(EffectInstance *effectInst)
void(* appendGfx)(void *)
DisplayContext * gDisplayContext