75 part->unk_40 = duration;
78 for (i = 1; i < numParts; i++,
part++) {
95 part->unk_34 = i + 10;
98 part->pos.x = ((i & 1) * 2 - 1) * ((i - 1) >> 1) * 4;
118 if (
part->timeLeft < 0) {
123 time =
part->timeLeft;
129 if (
part->unk_34 <= 0 || --
part->unk_34 <= 0) {
141 part->angle =
sin_deg(i * 38 + time * 12) * -30.0f;
142 part->offsetX =
cos_deg(i * 38 + time * 12) * 8.0f;
145 part->offsetX *= (
f32) time * 0.05;
146 part->angle *= (
f32) time * 0.05;
150 part->alpha = time * 25;
187 unk_40 =
part->unk_40;
191 if (
part->unk_34 <= 0) {
194 if (
part->alpha == 255) {
218 if (i == 1 && type != 2) {
223 if (unk_40 < 10 && unk_44 == 0) {
227 s32
ones = unk_40 % 10;
228 s32
tens = unk_44 == 0 ? (unk_40 / 10) : 10;
BSS s32 PopupMenu_SelectedIndex
#define general_heap_malloc
#define create_effect_instance
EffectInstanceDataPtr data
struct RecoverFXData * recover
#define ASSERT(condition)
void func_E0080448(EffectInstance *effect)
void recover_render(EffectInstance *effect)
void recover_update(EffectInstance *effect)
void func_E008042C(EffectInstance *effect)
void recover_init(EffectInstance *effect)
EffectInstance * recover_main(s32 type, f32 posX, f32 posY, f32 posZ, s32 duration)
#define VIRTUAL_TO_PHYSICAL(addr)
DisplayContext * gDisplayContext