18 guMtxCatF(tempMtx, transformMtx, transformMtx);
20 guMtxCatF(transformMtx, tempMtx, transformMtx);
22 guMtxCatF(tempMtx, transformMtx, transformMtx);
24 guMtxCatF(transformMtx, tempMtx, transformMtx);
47void flower_trail_main(s32 triggeredByNpc, f32 posX, f32 posY, f32 posZ, f32 angle, f32 direction) {
69 mem_clear(part, numParts *
sizeof(*part));
71 for (i = 0; i < numParts; i++, part++) {
88 if (direction != 0.0f) {
105 if (direction != 0.0f) {
106 angleOffset = -90.0f;
123 s32 anyAlive = FALSE;
126 for (i = 0; i < effect->
numParts; i++, part++) {
170 for (i = 0; i < effect->
numParts; i++, part++) {
183 G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
#define general_heap_malloc
#define queue_render_task
#define create_effect_instance
struct FlowerFXData * flowerTrail
struct EffectGraphics * graphics
#define ASSERT(condition)
@ RENDER_TASK_FLAG_REFLECT_FLOOR
@ RENDER_MODE_PASS_THROUGH
void flower_trail_render(EffectInstance *effect)
void flower_trail_update(EffectInstance *effect)
void flower_trail_update_part(FlowerFXData *effect)
void flower_trail_appendGfx(void *effect)
void flower_trail_init(EffectInstance *effect)
void flower_trail_dispose(EffectInstance *effect)
void flower_trail_update_part_transform(FlowerFXData *effect)
void flower_trail_main(s32 triggeredByNpc, f32 posX, f32 posY, f32 posZ, f32 angle, f32 direction)
#define VIRTUAL_TO_PHYSICAL(addr)
void(* renderUI)(EffectInstance *effectInst)
void(* init)(EffectInstance *effectInst)
void(* update)(EffectInstance *effectInst)
void(* renderWorld)(EffectInstance *effectInst)
void(* appendGfx)(void *)
PlayerStatus gPlayerStatus
DisplayContext * gDisplayContext