5 fx_stars_shimmer(1, x, y, z, amt + 30, amt + 30, (amt / 2) + 10, 30);
9 fx_stars_shimmer(2, x, y, z, amt + 30, amt + 30, (amt / 2) + 10, 30);
42 f32 offsetX, offsetY, offsetZ;
46 script->functionTemp[0] = 0;
51 offsetY = -2.0f - ((
SQ(offsetX) +
SQ(offsetZ)) / 5.0f);
55 posX + ((sinA * magnitude * script->functionTemp[0]) / duration) + offsetX,
56 posY + 15.5f + offsetY,
57 posZ + ((-cosA * magnitude * script->functionTemp[0]) / duration) + offsetZ,
61 script->functionTemp[0]++;
62 if (script->functionTemp[0] < duration) {
115 fx_emote(emoteType, npc, x, y, z, r, pitch, duration, &emoteHandle);
120 Bytecode* args = script->ptrReadPos;
127 Bytecode* args = script->ptrReadPos;
135 Bytecode* args = script->ptrReadPos;
143 Bytecode* args = script->ptrReadPos;
152 s32 centerX0 = script->varTable[1];
153 s32 centerY0 = script->varTable[2];
154 s32 centerX1 = script->varTable[3];
155 s32 centerY1 = script->varTable[4];
156 s32 finalAmt = script->varTable[5];
157 s32 duration = script->varTable[6];
163 script->functionTemp[0] = duration;
165 script->functionTemp[1] = initialAmt;
172 delta = (script->functionTemp[1] - finalAmt);
175 script->functionTemp[0]--;
176 if (script->functionTemp[0] < 0) {
190 Bytecode* args = script->ptrReadPos;
200 blurEvt->varTable[0] = var0;
201 blurEvt->varTable[1] = centerX0;
202 blurEvt->varTable[2] = centerY0;
203 blurEvt->varTable[3] = centerX1;
204 blurEvt->varTable[4] = centerY1;
205 blurEvt->varTable[5] = finalAmt;
206 blurEvt->varTable[6] = duration;
212 Bytecode* args = script->ptrReadPos;
226 switch (emoterType) {
251 fx_sweat(type, x, y, z, r, pitch, duration);
256 Bytecode* args = script->ptrReadPos;
265 s32 outVar = *args++;
271 switch (emoterType) {
296 fx_sleep_bubble(type, x, y, z, r, pitch, &effectHandle);
302 Bytecode* args = script->ptrReadPos;
311 Bytecode* intArgs = script->ptrReadPos;
312 Bytecode* floatArgs = script->ptrReadPos;
313 Bytecode* args = script->ptrReadPos;
319 s32 iVar1, iVar2, iVar3, iVar4, iVar5;
320 s32 iVar6, iVar7, iVar8, iVar9, iVar10;
322 f32 fVar1, fVar2, fVar3, fVar4, fVar5, fVar6;
323 f32 fVar7, fVar8, fVar9, fVar10, fVar11;
330 s32 a2, a6, a7, a8, a9;
377 fx_blast(0, fVar1, fVar2, fVar3, 3.0f, iVar5);
379 case EFFECT_BIG_SMOKE_PUFF:
380 fx_big_smoke_puff(fVar1, fVar2, fVar3);
382 case EFFECT_LANDING_DUST:
383 fx_landing_dust(iVar1, fVar2, fVar3, fVar4, fVar5);
385 case EFFECT_WALKING_DUST:
386 fx_walking_dust(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6);
388 case EFFECT_FLOWER_SPLASH:
389 fx_flower_splash(fVar1, fVar2, fVar3, fVar4);
391 case EFFECT_FLOWER_TRAIL:
392 fx_flower_trail(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6);
394 case EFFECT_CLOUD_PUFF:
395 fx_cloud_puff(fVar1, fVar2, fVar3, fVar4);
397 case EFFECT_CLOUD_TRAIL:
398 fx_cloud_trail(iVar1, fVar2, fVar3, fVar4);
400 case EFFECT_FOOTPRINT:
401 fx_footprint(fVar1, fVar2, fVar3, fVar4, fVar5);
403 case EFFECT_FLOATING_FLOWER:
404 fx_floating_flower(0, fVar1, fVar2, fVar3, iVar4);
406 case EFFECT_SNOWFLAKE:
407 fx_snowflake(fVar1, fVar2, fVar3, iVar4);
410 fx_star(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, fVar7, fVar8);
413 fx_emote(iVar1, (
Npc*) a2, fVar3, fVar4, fVar5, fVar6, fVar7, iVar8, &sp30);
416 case EFFECT_SPARKLES:
417 fx_sparkles(iVar1, fVar2, fVar3, fVar4, fVar5);
419 case EFFECT_SHAPE_SPELL:
420 fx_shape_spell(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, fVar7, iVar8);
422 case EFFECT_GATHER_ENERGY_PINK:
423 fx_gather_energy_pink(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
425 case EFFECT_DROP_LEAVES:
426 fx_drop_leaves(iVar1, fVar2, fVar3, fVar4, iVar5);
429 fx_dust(iVar1, fVar2, fVar3, fVar4, iVar5);
431 case EFFECT_SHATTERING_STONES:
432 fx_shattering_stones(iVar1, fVar2, fVar3, fVar4, fVar5);
434 case EFFECT_SMOKE_RING:
435 fx_smoke_ring(iVar1, fVar2, fVar3, fVar4);
437 case EFFECT_DAMAGE_STARS:
438 fx_damage_stars(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, fVar7, iVar8);
440 case EFFECT_EXPLOSION:
441 fx_explosion(iVar1, fVar2, fVar3, fVar4);
443 case EFFECT_LENS_FLARE:
444 fx_lens_flare(iVar1, fVar2, fVar3, fVar4, iVar5);
446 case EFFECT_GOT_ITEM_OUTLINE:
447 fx_got_item_outline(iVar1, fVar2, fVar3, fVar4, fVar5, &sp34);
450 case EFFECT_SPIKY_WHITE_AURA:
451 fx_spiky_white_aura(iVar1, fVar2, fVar3, fVar4, iVar5);
453 case EFFECT_SMOKE_IMPACT:
454 fx_smoke_impact(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6, fVar7, iVar8);
456 case EFFECT_DAMAGE_INDICATOR:
457 fx_damage_indicator(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, iVar7, &sp30);
460 case EFFECT_PURPLE_RING:
461 fx_purple_ring(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, fVar7, fVar8);
463 case EFFECT_STARS_BURST:
464 fx_stars_burst(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, iVar7);
466 case EFFECT_STARS_SHIMMER:
467 fx_stars_shimmer(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, iVar7, iVar8);
469 case EFFECT_RISING_BUBBLE:
470 fx_rising_bubble(iVar1, fVar2, fVar3, fVar4, fVar5);
472 case EFFECT_RING_BLAST:
473 fx_ring_blast(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
475 case EFFECT_SHOCKWAVE:
476 fx_shockwave(iVar1, fVar2, fVar3, fVar4);
478 case EFFECT_MUSIC_NOTE:
479 fx_music_note(iVar1, fVar2, fVar3, fVar4);
481 case EFFECT_SMOKE_BURST:
482 fx_smoke_burst(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
485 fx_sweat(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, iVar7);
487 case EFFECT_SLEEP_BUBBLE:
488 fx_sleep_bubble(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, &sp38);
491 case EFFECT_WINDY_LEAVES:
492 fx_windy_leaves(iVar1, fVar2, fVar3, fVar4);
495 fx_flame(iVar1, fVar2, fVar3, fVar4, fVar5, &sp34);
498 case EFFECT_FALLING_LEAVES:
499 fx_falling_leaves(iVar1, fVar2, fVar3, fVar4);
501 case EFFECT_STARS_SPREAD:
502 fx_stars_spread(iVar1, fVar2, fVar3, fVar4, iVar5, iVar6);
504 case EFFECT_STEAM_BURST:
505 fx_steam_burst(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
507 case EFFECT_STARS_ORBITING:
508 fx_stars_orbiting(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6, &sp38);
511 case EFFECT_BIG_SNOWFLAKES:
512 fx_big_snowflakes(iVar1, fVar2, fVar3, fVar4);
515 fx_debuff(iVar1, fVar2, fVar3, fVar4);
517 case EFFECT_GREEN_IMPACT:
518 fx_green_impact(iVar1, fVar2, fVar3, fVar4, fVar5);
520 case EFFECT_RADIAL_SHIMMER:
521 fx_radial_shimmer(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
523 case EFFECT_ENDING_DECALS:
524 fx_ending_decals(iVar1, fVar2, fVar3, fVar4, fVar5, &sp34);
527 case EFFECT_LIGHT_RAYS:
528 fx_light_rays(iVar1, fVar2, fVar3, fVar4, fVar5, &sp34);
531 case EFFECT_LIGHTNING:
532 effectRet = fx_lightning(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6);
534 case EFFECT_FIRE_BREATH:
535 effectRet = fx_fire_breath(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, fVar7, iVar8, iVar9, iVar10);
537 case EFFECT_SHIMMER_BURST:
538 fx_shimmer_burst(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
540 case EFFECT_ENERGY_SHOCKWAVE:
541 fx_energy_shockwave(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
543 case EFFECT_SHIMMER_WAVE:
544 fx_shimmer_wave(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, iVar7, iVar8);
547 fx_aura(iVar1, fVar2, fVar3, fVar4, fVar5, &sp34);
550 case EFFECT_BULB_GLOW:
551 fx_bulb_glow(iVar1, fVar2, fVar3, fVar4, fVar5, &sp34);
555 fx_effect_3D(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, fVar7, iVar8, &sp3C);
559 fx_blast(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
561 case EFFECT_FIRE_FLOWER:
562 effectRet = fx_fire_flower(iVar1, fVar2, fVar3, fVar4, iVar5);
565 effectRet = fx_recover(iVar1, fVar2, fVar3, fVar4, iVar5);
567 case EFFECT_DISABLE_X:
568 effectRet = fx_disable_x(iVar1, fVar2, fVar3, fVar4, iVar5);
570 case EFFECT_BOMBETTE_BREAKING:
571 effectRet = fx_bombette_breaking(iVar1, iVar2, iVar3, fVar4, iVar5, iVar6);
573 case EFFECT_FIREWORK:
574 effectRet = fx_firework(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
576 case EFFECT_CONFETTI:
577 effectRet = fx_confetti(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
579 case EFFECT_SNOWFALL:
580 effectRet = fx_snowfall(iVar1, iVar2);
583 effectRet = fx_effect_46(iVar1, (
PlayerStatus*) a2, fVar3, iVar4);
585 case EFFECT_GATHER_MAGIC:
586 effectRet = fx_gather_magic(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
588 case EFFECT_ATTACK_RESULT_TEXT:
589 effectRet = fx_attack_result_text(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
591 case EFFECT_SMALL_GOLD_SPARKLE:
592 effectRet = fx_small_gold_sparkle(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
594 case EFFECT_FLASHING_BOX_SHOCKWAVE:
595 effectRet = fx_flashing_box_shockwave(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6);
598 effectRet = fx_balloon(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
600 case EFFECT_FLOATING_ROCK:
601 effectRet = fx_floating_rock(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, fVar7, fVar8, iVar9);
603 case EFFECT_CHOMP_DROP:
604 effectRet = fx_chomp_drop(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, fVar7, fVar8, fVar9, iVar10);
606 case EFFECT_QUIZMO_STAGE:
607 effectRet = fx_quizmo_stage(iVar1, fVar2, fVar3, fVar4);
609 case EFFECT_RADIATING_ENERGY_ORB:
610 effectRet = fx_radiating_energy_orb(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
612 case EFFECT_ENERGY_ORB_WAVE:
613 effectRet = fx_energy_orb_wave(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
615 case EFFECT_MERLIN_HOUSE_STARS:
616 effectRet = fx_merlin_house_stars(iVar1, fVar2, fVar3, fVar4);
618 case EFFECT_MOTION_BLUR_FLAME:
619 effectRet = fx_motion_blur_flame(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
621 case EFFECT_STAT_CHANGE:
622 effectRet = fx_stat_change(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
624 case EFFECT_SNAKING_STATIC:
625 effectRet = fx_snaking_static(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
627 case EFFECT_THUNDERBOLT_RING:
628 effectRet = fx_thunderbolt_ring(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
631 effectRet = fx_squirt(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, fVar7, fVar8, iVar9);
633 case EFFECT_WATER_BLOCK:
634 effectRet = fx_water_block(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
636 case EFFECT_WATERFALL:
637 effectRet = fx_waterfall(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
639 case EFFECT_WATER_FOUNTAIN:
640 effectRet = fx_water_fountain(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
642 case EFFECT_UNDERWATER:
643 effectRet = fx_underwater(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
645 case EFFECT_LIGHTNING_BOLT:
646 effectRet = fx_lightning_bolt(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, fVar7, fVar8, iVar9);
648 case EFFECT_WATER_SPLASH:
649 effectRet = fx_water_splash(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
651 case EFFECT_SNOWMAN_DOLL:
652 effectRet = fx_snowman_doll(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
654 case EFFECT_FRIGHT_JAR:
655 effectRet = fx_fright_jar(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
657 case EFFECT_STOP_WATCH:
658 effectRet = fx_stop_watch(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
661 effectRet = fx_effect_63(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, fVar7, fVar8, iVar9, iVar10);
663 case EFFECT_THROW_SPINY:
664 effectRet = fx_throw_spiny(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, fVar7, fVar8, iVar9);
667 effectRet = fx_effect_65(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
669 case EFFECT_TUBBA_HEART_ATTACK:
670 effectRet = fx_tubba_heart_attack(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
672 case EFFECT_WHIRLWIND:
673 effectRet = fx_whirlwind(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
675 case EFFECT_RED_IMPACT:
676 effectRet = fx_red_impact(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
678 case EFFECT_FLOATING_CLOUD_PUFF:
679 effectRet = fx_floating_cloud_puff(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
681 case EFFECT_ENERGY_IN_OUT:
682 effectRet = fx_energy_in_out(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
684 case EFFECT_TATTLE_WINDOW:
685 effectRet = fx_tattle_window(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
687 case EFFECT_SHINY_FLARE:
688 effectRet = fx_shiny_flare(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
690 case EFFECT_HUFF_PUFF_BREATH:
691 effectRet = fx_huff_puff_breath(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, fVar7, iVar8);
693 case EFFECT_COLD_BREATH:
694 effectRet = fx_cold_breath(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
697 effectRet = fx_embers(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, fVar7, iVar8, iVar9, fVar10, fVar11);
699 case EFFECT_HIEROGLYPHS:
700 effectRet = fx_hieroglyphs(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
702 case EFFECT_MISC_PARTICLES:
703 effectRet = fx_misc_particles(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, fVar7, iVar8, iVar9);
705 case EFFECT_STATIC_STATUS:
706 effectRet = fx_static_status(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6, iVar7);
708 case EFFECT_MOVING_CLOUD:
709 effectRet = fx_moving_cloud(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, fVar7, fVar8, fVar9);
712 effectRet = fx_effect_75(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
714 case EFFECT_FIREWORK_ROCKET:
715 effectRet = fx_firework_rocket(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, fVar7, fVar8, iVar9);
717 case EFFECT_PEACH_STAR_BEAM:
718 effectRet = fx_peach_star_beam(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
720 case EFFECT_BUTTERFLIES:
721 effectRet = fx_butterflies(iVar1, fVar2, fVar3, fVar4);
723 case EFFECT_CHAPTER_CHANGE:
724 effectRet = fx_chapter_change(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
726 case EFFECT_ICE_SHARD:
727 effectRet = fx_ice_shard(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
729 case EFFECT_SPIRIT_CARD:
730 effectRet = fx_spirit_card(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
732 case EFFECT_LIL_OINK:
733 effectRet = fx_lil_oink(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
735 case EFFECT_SOMETHING_ROTATING:
736 effectRet = fx_something_rotating(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
738 case EFFECT_BREAKING_JUNK:
739 effectRet = fx_breaking_junk(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
741 case EFFECT_PARTNER_BUFF:
742 effectRet = fx_partner_buff(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
744 case EFFECT_QUIZMO_ASSISTANT:
745 effectRet = fx_quizmo_assistant(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
747 case EFFECT_ICE_PILLAR:
748 effectRet = fx_ice_pillar(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
751 effectRet = fx_sun(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
753 case EFFECT_STAR_SPIRITS_ENERGY:
754 effectRet = fx_star_spirits_energy(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
756 case EFFECT_PINK_SPARKLES:
757 effectRet = fx_pink_sparkles(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
759 case EFFECT_STAR_OUTLINE:
760 effectRet = fx_star_outline(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
763 effectRet = fx_effect_86(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6);
769 if (effectRet != NULL) {
#define sfx_play_sound_at_position
struct GotItemOutlineFXData * gotItemOutline
struct SleepBubbleFXData * sleepBubble
@ FX_INSTANCE_FLAG_DISMISS
void set_screen_overlay_params_back(u8, f32)
s32 evt_get_variable(Evt *script, Bytecode var)
s32 evt_set_variable(Evt *script, Bytecode var, s32 value)
Evt * start_script(EvtScript *source, s32 priority, s32 initialState)
void set_screen_overlay_center(s32, s32, s32, s32)
Npc * resolve_npc(Evt *script, s32 npcIdOrPtr)
void get_screen_overlay_params(s32, u8 *type, f32 *zoom)
f32 evt_get_float_variable(Evt *script, Bytecode var)
void show_recovery_shimmer(f32 x, f32 y, f32 z, s32 amt)
void show_start_recovery_shimmer(f32 x, f32 y, f32 z, s32 amt)
EvtScript EVS_UpdateMotionBlurParams
ApiStatus SetSleepBubbleTimeLeft(Evt *script, b32 isInitialCall)
ApiStatus ShowRecoveryShimmer(Evt *script, b32 isInitialCall)
ApiStatus ShowSweat(Evt *script, b32 isInitialCall)
ApiStatus SetMotionBlurParams(Evt *script, b32 isInitialCall)
ApiStatus func_802D7B74(Evt *script, b32 isInitialCall)
ApiStatus RemoveEffect(Evt *script, b32 isInitialCall)
ApiStatus InterpMotionBlurParams(Evt *script, b32 isInitialCall)
ApiStatus func_802D7690(Evt *script, b32 isInitialCall)
ApiStatus ShowStartRecoveryShimmer(Evt *script, b32 isInitialCall)
ApiStatus PlayEffect_impl(Evt *script, b32 isInitialCall)
ApiStatus ShowEmote(Evt *script, b32 isInitialCall)
ApiStatus DismissItemOutline(Evt *script, b32 isInitialCall)
ApiStatus ShowSleepBubble(Evt *script, b32 isInitialCall)
ApiStatus DismissEffect(Evt *script, b32 isInitialCall)
#define End
Signals the end of EVT script data. A script missing this will likely crash on load.
#define Call(FUNC, ARGS...)
Calls a given C EVT API function with any number of arguments.
#define Return
Kills the current EVT thread.
PlayerStatus gPlayerStatus
void fx_damage_stars(s32, f32, f32, f32, f32, f32, f32, s32)