Alchemy
Loading...
Searching...
No Matches

effect.h

Go to the documentation of this file.
1#ifndef ALCHEMY_UNIT_EFFECT_EFFECT_H
2#define ALCHEMY_UNIT_EFFECT_EFFECT_H
3
4#include "types.h"
5#include "render_placement.h"
7#include "battle_effect.h"
8
10struct EffectPosition;
11struct EffectStep;
12
13/// The large effects BattleFx_RunSceneEffect runs, by kind: the twelve
14/// summons. A summon's row of actflags.tsv has effect 0x8000 plus its kind;
15/// kind 0, which no row uses, runs Meteor's scene too.
17 SCENE_EFFECT_RAMSES = 1, ///< BattleFx_RunRamses (ramses.c)
18 SCENE_EFFECT_NEREID, ///< BattleFx_RunNereid (nereid.c)
19 SCENE_EFFECT_KIRIN, ///< BattleFx_RunKirin (kirin.c)
20 SCENE_EFFECT_ATALANTA, ///< BattleFx_RunAtalanta (atalanta.c)
21 SCENE_EFFECT_CYBELE, ///< BattleFx_RunCybele (cybele.c)
22 SCENE_EFFECT_NEPTUNE, ///< BattleFx_RunNeptune (neptune.c)
23 SCENE_EFFECT_TIAMAT, ///< BattleFx_RunTiamat (tiamat.c)
24 SCENE_EFFECT_PROCNE, ///< BattleFx_RunProcne (procne.c)
25 SCENE_EFFECT_JUDGMENT, ///< BattleFx_RunJudgment (judgment.c)
26 SCENE_EFFECT_BOREAS, ///< BattleFx_RunBoreas (boreas.c)
27 SCENE_EFFECT_METEOR, ///< BattleFx_RunMeteor (particle_streams.c)
28 SCENE_EFFECT_THOR ///< BattleFx_RunThor (thor.c)
29};
30
31/// An effect handler: plays one effect over the battle, frame by frame, and
32/// returns when it is over.
33typedef void (*BattleFxHandler)(struct BattleEffectArgument *effect);
34/// Effect kinds: the kind an ability's gBattle_ActionFlags entry selects, by
35/// the handler that plays it; a later kind that shares a handler adds its
36/// number. Kinds without a handler have no name. Kind 0 is the dispatcher's.
71 BATTLE_FX_ORBITING_SPIRALS = 34, ///< no ability uses it
103 BATTLE_FX_TRIANGLE_STRIKE = 67, ///< no ability uses it
189 BATTLE_FX_SPARK_APPROACH_VARIANT3 = 387, ///< no ability uses it
200 BATTLE_FX_KIND_COUNT = 408 ///< one more than the last kind
201};
202
203/// The handlers by kind less one (effect_table.c); BattleFx_RunTableEffect
204/// calls the one an effect's kind selects.
206
207/// What BattleFx_BuildCenteredIndexList (unused) reads: a value to find in a
208/// list, and how many indices either side of it to keep.
209typedef struct {
210 s32 unk_00[3]; ///< not named by TBS code
211 s32 currentValue; ///< the value looked for in values
212 s32 indexRadius; ///< indices kept either side of where it sits
213 s32 entryLimit; ///< indices from this up are dropped
214 s32 unk_18[3]; ///< not named by TBS code
215 s16 values[1]; ///< indexRadius * 2 + 1 values, searched in order
217
218/// The map cell buffer (gMapCellBuffer), which the effects borrow, has two
219/// views here: Ram_MapCellBuffer as bytes, at its fixed address, and PARTICLES
220/// as particles. The effects use these two, not gMapCellBuffer itself.
221#define PARTICLES ((struct EffectStep *)Ram_MapCellBuffer)
222
223/// Clips overflow on all four sides.
224#define EFFECT_CLIP_BOUNDS (COMPOSITE_CLIP_X | COMPOSITE_CLIP_Y)
225
226// Extract signed 16.16 pixels without reading an s32 through an s16 alias.
227// The plain shift adds four bytes to native English effect.text overall.
228#ifdef UBFIX
229#define Q_16_16_TO_INT(v) ((s32)(v) >> 16)
230#else
231#define Q_16_16_TO_INT(v) (((s16 *)&(v))[1])
232#endif
233
234/// Two-dimensional {x, y} pair for position or velocity, a local of the
235/// summon scenes (Nereid, Procne, Tiamat and Ramses).
236struct Point2D {
237 s32 x; ///< 16.16 pixels in every scene that uses it
238 s32 y; ///< 16.16 pixels
239};
240
241/// A blitter pair: [0] built in HEAP_SLOT_BLITTER and [1] in
242/// HEAP_SLOT_BLITTER_ALTERNATE (BattleFx_FetchRectangleBlitters fills one).
243/// Many effects keep this pair in their stack frame.
245
246/// The work slots read as blitters: EFFECT_BLITTERS[HEAP_SLOT_BLITTER] and
247/// EFFECT_BLITTERS[HEAP_SLOT_BLITTER_ALTERNATE].
248#define EFFECT_BLITTERS ((DrawRectangle *)gWorkSlot)
249
250// The functions the parts of effect.c define, part by part in include order.
251
252// display.c
257
258// falling.c
259void BattleFx_RunIce(struct BattleEffectArgument *effect);
260void BattleFx_RunDouse(struct BattleEffectArgument *effect);
261
262// streaks.c
264void BattleFx_RunShriek(struct BattleEffectArgument *effect);
266void BattleFx_RunWarCry(struct BattleEffectArgument *effect);
269void BattleFx_RunStreakVolley(struct BattleEffectArgument *effect, s32 mode);
272void BattleFx_RunMoteFountain(struct BattleEffectArgument *effect, s32 mode);
273
274// target_strike.c
285void BattleFx_RunAcidBite(struct BattleEffectArgument *effect);
287void BattleFx_RunTargetStrike(struct BattleEffectArgument *effect, s32 mode);
288
289// death_plunge.c
295void BattleFx_DrawStreaks(void);
298
299// spider_web.c
302void BattleFx_RunSwirlSwipe(struct BattleEffectArgument *effect, s32 mode);
304
305// canvas.c
306void BattleFx_WipeCanvas(s32 mode, s32 value);
311void Palette_StepFadeTransfer(void);
314void BattleFx_BeginCanvasLayer(s32 bgControl);
315void BattleFx_OpenCanvasLayer(s32 bgControl);
316void BattleFx_BeginTiledCanvas(s32 bgControl);
317void BattleFx_EndCanvasLayer(void);
320void BattleFx_DrawClippedCanvasLine(s32 x0, s32 y0, s32 x1, s32 y1, s32 color);
321
322// planet_diver.c
324void BattleFx_RunHaunt(struct BattleEffectArgument *effect);
326
327// gathering_lights.c
329void BattleFx_RunRumble(struct BattleEffectArgument *effect);
330void BattleFx_RunHaunting(struct BattleEffectArgument *effect);
331void BattleFx_RunGatheringLights(struct BattleEffectArgument *effect, s32 mode);
332
333// mirrored_wall.c
335void BattleFx_RunBerserk(struct BattleEffectArgument *effect);
336void BattleFx_RunSpasm(struct BattleEffectArgument *effect);
337void BattleFx_RunRecovery(struct BattleEffectArgument *effect);
338void BattleFx_RunMirroredWall(struct BattleEffectArgument *effect, s32 mode);
339
340// djinn_beams.c
341void BattleFx_RunRevive(struct BattleEffectArgument *effect);
342void BattleFx_RunDew(struct BattleEffectArgument *effect);
343void BattleFx_RunDjinnBeams(struct BattleEffectArgument *effect, s32 mode);
344
345// lobbed_shells.c
353void BattleFx_RunLobbedShells(struct BattleEffectArgument *effect, s32 mode);
354
355// condemn.c
356void BattleFx_RunCondemn(struct BattleEffectArgument *effect);
357
358// bind.c
360void BattleFx_RunBind(struct BattleEffectArgument *effect);
362
363// stars.c
366
367// procne.c
368void BattleFx_RunProcne(struct BattleEffectArgument *effect);
369
370// tiamat.c
372void BattleFx_RunTiamat(struct BattleEffectArgument *effect);
374 s32 mode);
375
376// nereid.c
377void BattleFx_RunNereid(struct BattleEffectArgument *effect);
378
379// vortices.c
380void BattleFx_RunFroth(struct BattleEffectArgument *effect);
382
383// prism.c
384void BattleFx_RunPrism(struct BattleEffectArgument *effect);
385void Graphics_UpdatePhasePalette(s32 frame, s32 redPhase, s32 greenPhase,
386 s32 bluePhase);
387
388// plasma.c
389void BattleFx_RunPlasma(struct BattleEffectArgument *effect);
390void BattleFx_RunNova(struct BattleEffectArgument *effect);
391void BattleFx_RunDynamite(struct BattleEffectArgument *effect);
392void BattleFx_RunSparkGroups(struct BattleEffectArgument *effect, s32 mode);
393
394// volcano.c
395void BattleFx_RunVolcano(struct BattleEffectArgument *effect);
396
397// target_motes.c
398void BattleFx_RunTaint(struct BattleEffectArgument *effect);
400void BattleFx_RunDelude(struct BattleEffectArgument *effect);
401void BattleFx_RunParalyze(struct BattleEffectArgument *effect);
405void BattleFx_RunDrown(struct BattleEffectArgument *effect);
406void BattleFx_RunTargetMotes(struct BattleEffectArgument *effect, u32 mode);
407void BattleFx_RunSleep(struct BattleEffectArgument *effect);
408void BattleFx_RunCurse(struct BattleEffectArgument *effect);
409
410// djinn_heal.c
412void Camera_ApplyPhasedDelta(void);
413
414// dispatch.c
415void BattleFx_CallDoNothing(s32 count);
421void ObjectGroup_UpdateMembers(s32 actorId, s32 palette, s32 animation,
422 s32 timerSlot, s32 timerFrames);
424
425// cybele.c
426void BattleFx_RunCybele(struct BattleEffectArgument *effect);
427
428// boreas.c
429void BattleFx_RunBoreas(struct BattleEffectArgument *effect);
430
431// drain.c
432void BattleFx_RunBreak(struct BattleEffectArgument *effect);
433void BattleFx_RunDrain(struct BattleEffectArgument *effect);
434
435// healing.c
436void BattleFx_RunPly(struct BattleEffectArgument *effect);
437void BattleFx_RunWish(struct BattleEffectArgument *effect);
438void BattleFx_RunCure(struct BattleEffectArgument *effect);
441void BattleFx_RunTonic(struct BattleEffectArgument *effect);
443void BattleFx_RunHealingMotes(struct BattleEffectArgument *effect, u32 mode);
444
445// stat_change.c
446void BattleFx_RunImpact(struct BattleEffectArgument *effect);
447void BattleFx_RunGuard(struct BattleEffectArgument *effect);
448void BattleFx_RunWard(struct BattleEffectArgument *effect);
449void BattleFx_RunGranite(struct BattleEffectArgument *effect);
450void BattleFx_RunFlash(struct BattleEffectArgument *effect);
451void BattleFx_RunZephyr(struct BattleEffectArgument *effect);
452void BattleFx_RunStatBoost(struct BattleEffectArgument *effect, u32 mode);
453void BattleFx_RunDull(struct BattleEffectArgument *effect);
454void BattleFx_RunImpair(struct BattleEffectArgument *effect);
455void BattleFx_RunWeaken(struct BattleEffectArgument *effect);
457void BattleFx_RunStatReduction(struct BattleEffectArgument *effect, s32 mode);
458
459// flare.c
460void BattleFx_RunFlare(struct BattleEffectArgument *effect);
462 s16 *output);
463
464// quake.c
465void BattleFx_RunQuake(struct BattleEffectArgument *effect);
466
467// fire.c
468void BattleFx_RunFire(struct BattleEffectArgument *effect);
469
470// frost.c
471void BattleFx_RunFrost(struct BattleEffectArgument *effect);
472
473// ray.c
474void BattleFx_RunRay(struct BattleEffectArgument *effect);
475
476// eruption.c
478void BattleFx_RunBlast(struct BattleEffectArgument *effect);
479void BattleFx_RunEruption(struct BattleEffectArgument *effect, s32 mode);
480void BattleFx_SpawnObjects(s32 entryCount, s32 source, u32 priority);
481void BattleFx_DoNothing(void);
482
483// burst_shower.c
492void BattleFx_RunBurstShower(struct BattleEffectArgument *effect, s32 mode);
493
494// orbiting.c
498
499// atalanta.c
500void BattleFx_RunAtalanta(struct BattleEffectArgument *effect);
501
502// growth.c
503void BattleFx_RunGrowth(struct BattleEffectArgument *effect);
504void BattleFx_RunPunji(struct BattleEffectArgument *effect);
505void BattleFx_RunGrowingColumns(struct BattleEffectArgument *effect, s32 mode);
506void BattleFx_RunVine(struct BattleEffectArgument *effect);
507void BattleFx_RunThorn(struct BattleEffectArgument *effect);
508
509// bolt.c
510void BattleFx_RunBolt(struct BattleEffectArgument *effect);
511
512// projectiles.c
513void BattleFx_RunDjinniEntrance(struct BattleEffectArgument *effect, s32 mode,
514 s32 side, s32 anchor, s32 *outX, s32 *outY);
515void BattleFx_RunSlash(struct BattleEffectArgument *effect);
516void BattleFx_RunShuriken(struct BattleEffectArgument *effect);
520void BattleFx_RunWingBeat(struct BattleEffectArgument *effect);
522void BattleFx_RunHeatWave(struct BattleEffectArgument *effect);
523void BattleFx_RunSleet(struct BattleEffectArgument *effect);
525void BattleFx_RunBlizzard(struct BattleEffectArgument *effect);
527 s32 mode);
529void BattleFx_SetApproachMotion(s32 id, s32 targetId, s32 frames);
530
531// rushing_strike.c
532void Graphics_PackTileRows(u8 *src, u8 *dst, s32 stride, s32 rowCount);
536void BattleFx_RunHeadbutt(struct BattleEffectArgument *effect);
537void BattleFx_RunRushingStrike(struct BattleEffectArgument *effect, s32 mode);
538
539// djinn_attacks.c
540void Graphics_TransposeCopy(const u8 *src, u8 *dst, s32 w, s32 h);
541void BattleFx_RunMercury(struct BattleEffectArgument *effect);
542void BattleFx_RunJupiter(struct BattleEffectArgument *effect);
543void Resource_LoadAndDecompress(s32 id, void *dst, s32 skipPalette,
544 s32 copyPalette);
545void BattleFx_RunVenus(struct BattleEffectArgument *effect);
546void BattleFx_RunMars(struct BattleEffectArgument *effect);
547
548// hail.c
549void BattleFx_RunHail(struct BattleEffectArgument *effect);
550void BattleFx_RunGround(struct BattleEffectArgument *effect);
551void Camera_ApplyShake(s32 rangeX, u32 rangeY);
552
553// thor.c
554void BattleFx_RunThor(struct BattleEffectArgument *effect);
555
556// spire.c
557void BattleFx_RunSpire(struct BattleEffectArgument *effect);
558
559// burst_scene.c
560void BattleFx_RunGust(struct BattleEffectArgument *effect);
561void BattleFx_RunBearClaw(struct BattleEffectArgument *effect);
562void BattleFx_RunRansack(struct BattleEffectArgument *effect);
566void BattleFx_RunBurstScene(struct BattleEffectArgument *effect, s32 mode);
567
568// gaia.c
569void BattleFx_RunGaia(struct BattleEffectArgument *effect);
570
571// positions.c
572void EffectStep_AdvanceWithGravity3D(struct EffectStep *step, s32 damping,
573 s32 gravity);
574void EffectStep_AdvanceWithGravity2D(struct EffectStep *step, s32 damping,
575 s32 gravity);
576s32 EffectPosition_ProjectPoint(const void *point,
577 struct EffectPosition *position);
578void EffectPosition_ProjectSprite(s32 id, struct EffectPosition *position);
580 struct EffectPosition *position);
581void EffectPosition_ProjectBattler(s32 id, struct EffectPosition *position);
585
586// beams.c
589
590// casting_impact.c
591void BattleFx_StepPaletteToResource(s32 resourceId);
592void BattleFx_RunCastingImpact(struct BattleEffectArgument *effect, s32 mode);
593
594// torch.c
595void BattleFx_RunTorch(struct BattleEffectArgument *effect);
596void BattleFx_RunKite(struct BattleEffectArgument *effect);
597
598// helm_splitter.c
600void BattleFx_PlaceFormationObjects(s32 formation, s32 x, s32 z);
601void BattleFx_RunImpactBurst(s32 formation, s32 x, s32 y);
602
603// particle_streams.c
604void Palette_BrightenBgEntries(s32 blueStep, s32 greenStep, s32 redStep);
606void BattleFx_RunMeteor(struct BattleEffectArgument *effect);
608void BattleFx_RunParticleStreams(struct BattleEffectArgument *effect, s32 mode);
609
610// ramses.c
611void BattleFx_RunRamses(struct BattleEffectArgument *effect);
612
613// dragon_cloud.c
615
616// annihilation.c
618
619// ragnarok.c
620void BattleFx_RunRagnarok(struct BattleEffectArgument *effect);
621
622// titan_blade.c
624
625// judgment.c
626void BattleFx_RunJudgment(struct BattleEffectArgument *effect);
627
628// kirin.c
629void BattleFx_RunKirin(struct BattleEffectArgument *effect);
630
631// neptune.c
632void Graphics_ResetBg2Pa(void);
634void BattleFx_RunNeptune(struct BattleEffectArgument *effect);
635
636// thrash.c
637void BattleFx_RunThrash(struct BattleEffectArgument *effect);
641void BattleFx_RunFlashingStrike(struct BattleEffectArgument *effect, s32 mode);
642
643// undead_sword.c
645
646// blitter.c
647s32 BattleFx_BuildBlitter(s32 slot, s32 widthShift, s32 heightShift, s32 flags,
648 u32 mode);
649
650#endif
void BattleFx_RunAnnihilation(struct BattleEffectArgument *effect)
The user closes on the first target and fire bursts from it in a shower of shards.
void BattleFx_RunAtalanta(struct BattleEffectArgument *effect)
Rain of blades: under a violet sky, a 3x3 formation of objects flies along a stored path while sixtee...
Definition atalanta.c:50
The battle effect argument and the rectangle-drawing routines effects call.
BattleEffectDrawRectangle DrawRectangle
BattleEffectWork, the running battle effect's work, and its animation objects.
void BattleFx_RunRingAndSparkScene(struct BattleEffectArgument *effect)
Plays the selected ring-and-spark strike, restoring the user motion after it.
Definition beams.c:272
void BattleFx_RunBeamSequence(struct BattleEffectArgument *effect)
Draws the selected beam and its projected sparks over the first target: a beam, arc or wave shoots fr...
Definition beams.c:21
void BattleFx_RunBind(struct BattleEffectArgument *effect)
A triangle of light spins and shrinks onto the first target for 64 frames, then a rune stands on the ...
Definition bind.c:123
void BattleFx_RunTriangleStrike(struct BattleEffectArgument *effect)
The spinning triangle and rune of BattleFx_RunBind without the Djinni; on frame 46 the user steps up ...
Definition bind.c:297
UNUSED void Graphics_ConvertBackgroundToBlueRamp(void)
Turns the screen into shades of blue, top down, with a ragged edge.
Definition bind.c:27
s32 BattleFx_BuildBlitter(s32 slot, s32 widthShift, s32 heightShift, s32 flags, u32 mode)
Writes a drawing routine for the canvas into heap slot slot, built from the template BattleFx_Composi...
Definition blitter.c:281
void BattleFx_RunBolt(struct BattleEffectArgument *effect)
A bolt of lightning strikes each target in turn, 8 frames apart.
Definition bolt.c:40
void BattleFx_RunBoreas(struct BattleEffectArgument *effect)
Rocks and ice blocks: a window opens on rocks that crumble, a big ice block drops and throws up spray...
Definition boreas.c:45
void BattleFx_RunRansack(struct BattleEffectArgument *effect)
Ransack: the same five strikes as Bear Claw (mode 0).
Definition burst_scene.c:33
void BattleFx_RunGust(struct BattleEffectArgument *effect)
Gust: the burst scene in mode 6, 7 or 8 as the variant grows, one to three strikes that each fill the...
Definition burst_scene.c:11
void BattleFx_RunFlyingAttack(struct BattleEffectArgument *effect)
Flying Attack: the burst scene in mode 3, 4 or 5 as the variant grows, one to three strikes.
Definition burst_scene.c:55
void BattleFx_RunBearClaw(struct BattleEffectArgument *effect)
Bear Claw: five strikes, the burst scene in mode 0.
Definition burst_scene.c:26
void BattleFx_RunFreebiteRush(struct BattleEffectArgument *effect)
Freebite Rush: nine strikes in the blue palette (mode 2).
Definition burst_scene.c:47
void BattleFx_RunBacteriaRush(struct BattleEffectArgument *effect)
Bacteria Rush: seven strikes in the lime palette (mode 1).
Definition burst_scene.c:40
void BattleFx_RunBurstScene(struct BattleEffectArgument *effect, s32 mode)
Flurry: the user closes on the first target and strikes it again and again; each strike shows an arc ...
void BattleFx_RunDeadlyGas(struct BattleEffectArgument *effect)
The user fires a stream of Mars-coloured bursts at the targets, from 28 pixels in front of it.
void BattleFx_ArmBg2AffineHBlankDma(void)
Arms DMA 0 to copy one word of gBattleFxWork's bg2xLines table into BG2X at each horizontal blank,...
void BattleFx_RunBurstShower(struct BattleEffectArgument *effect, s32 mode)
Burst shower: for 48 frames the user fires one burst a frame at a random point near one of the target...
void BattleFx_RunStormBlessing(struct BattleEffectArgument *effect)
Shows violet lightning between the user and targets instead of bursts: a bolt flickers through three ...
void BattleFx_RunFireBlessing(struct BattleEffectArgument *effect)
The user fires a stream of flash bursts at the targets, one a frame, each towards a random point near...
void BattleFx_RunEvilBlessing(struct BattleEffectArgument *effect)
The user fires a stream of demon faces at the targets, from 16 pixels in front of it.
void BattleFx_RunAcidBlessing(struct BattleEffectArgument *effect)
Fires pink bursts from 16 pixels below the normal origin.
void BattleFx_RunDarkBlessing(struct BattleEffectArgument *effect)
The user fires a stream of grey bursts at the targets, which turn solid black and stay so.
void BattleFx_RunWaterBlessing(struct BattleEffectArgument *effect)
The user fires a stream of bursts at the targets in the water-spray palette.
void Graphics_ApplyWindowBlendRegisters(void)
Writes the window, display and blend registers the effect keeps in its work, all at once.
Definition canvas.c:207
void Palette_StepFadeTransfer(void)
Darkens the battle backdrop while the canvas is open: for fadeFrames frames, writes the backdrop's co...
Definition canvas.c:243
void BattleFx_SetupCanvasTileMap(void)
Shows the canvas on BG1 instead of BG2, at its own size: BG1 becomes a 256-colour layer whose map poi...
Definition canvas.c:568
void ObjectGroup_TickMemberTimers(void)
Counts down each target's flash timer, which ObjectGroup_UpdateMembers starts; when one runs out,...
Definition canvas.c:275
void BattleFx_ProcessPendingGraphicsTransfer(void)
Copies the canvas to VRAM once the effect has finished drawing a frame (transferPending): the 128x128...
Definition canvas.c:103
void BattleFx_BeginCanvasLayer(s32 bgControl)
Opens the canvas layer: starts the background palette fade, makes BG2 the canvas, alpha-blended over ...
Definition canvas.c:314
void Display_ApplyBg2Reference(void)
Writes the effect's BG2 reference point (work->bg2x, work->bg2y) to BG2X and BG2Y.
Definition canvas.c:226
void BattleFx_EndCanvasLayer(void)
Closes the canvas layer: plays the closing sound, restores BG1's scroll and the projection centre,...
Definition canvas.c:490
void BattleFx_FlushPendingGraphicsTransfer(void)
Copies a full-screen picture to VRAM once the effect has finished drawing a frame: the 0x7800 bytes o...
Definition canvas.c:158
void BattleFx_HideBg1AndRestoreBackdrop(void)
Hides BG1 and the windows and starts bringing the backdrop's palette back.
Definition canvas.c:537
void BattleFx_ClearActorTimers(void)
Clears every target's flash timer (work->actorTimers).
Definition canvas.c:262
void BattleFx_BeginTiledCanvas(s32 bgControl)
Opens the canvas layer with BG2 a wrapping 256x256 map: each row of the map is the canvas's 16 tiles ...
Definition canvas.c:463
void BattleFx_OpenCanvasLayer(s32 bgControl)
Opens the canvas layer as BattleFx_BeginCanvasLayer does, but with the windows off until the end,...
Definition canvas.c:392
void BattleFx_DrawClippedCanvasLine(s32 x0, s32 y0, s32 x1, s32 y1, s32 color)
Draws a line on the 128x128 8bpp canvas (16 tiles across), keeping the brighter colour where it cross...
Definition canvas.c:632
void BattleFx_WipeCanvas(s32 mode, s32 value)
Wipes the whole canvas to one colour with a ragged edge: each row (or column) lags a random 0 to 63 p...
Definition canvas.c:27
void BattleFx_StepPaletteToResource(s32 resourceId)
Moves each RGB555 channel of background colours 0 to 63 one level towards the resource palette.
void BattleFx_RunCastingImpact(struct BattleEffectArgument *effect, s32 mode)
Gathers sparks around the caster, launches the Djinni and draws the impact on the first target.
void BattleFx_RunCondemn(struct BattleEffectArgument *effect)
A tall panel (57x98) swings across the screen three times, each pass fading out through a ripple,...
Definition condemn.c:29
void BattleFx_RunCybele(struct BattleEffectArgument *effect)
Thorn vines: thorns fly in from the right, vines grow out of the ground and lift the targets while sp...
Definition cybele.c:50
void BattleFx_RunShatteringOpening(struct BattleEffectArgument *effect)
The shattering opening of the battle on the Venus aerie storm backdrop: the screen turns white and a ...
void BattleFx_DrawStreaks(void)
Draws a frame of the element streak burst: on its first frame seeds 256 streaks with random axes,...
void BattleFx_RunDeathPlunge(struct BattleEffectArgument *effect)
The user runs 9/10 of the way to the first target, then both leap and turn upside down in the air; on...
void BattleFx_EndElementStreaks(void)
Ends the element streak burst that BattleFx_StartElementStreaks started: stops its callbacks and the ...
void BattleFx_StartElementStreaks(s32 element)
Starts the element streak burst and returns at once: opens the canvas and schedules BattleFx_DrawStre...
UNUSED void BattleFx_RunBladeRain(struct BattleEffectArgument *effect)
Drops 16 swords, one every 4 frames, slanting in towards the first target (the middle of the canvas,...
void BattleFx_RunElementBurst(struct BattleEffectArgument *effect)
The burst of an element over a unit, for 56 frames: sparks flare at the four corners around the unit,...
void BattleFx_RunElementPillar(struct BattleEffectArgument *effect)
The glow of an element around a unit: a symmetrical pillar of light stands at the unit's feet while m...
void BattleFx_ConfigureEffectDisplay(void)
Puts the battle screen back into the display state every effect starts from and ends with: no blendin...
Definition display.c:16
void BattleFx_AdvanceBg2OnInterval(void)
Slides the affine BG2 in steps: once every scrollInterval frames, writes the work block's reference p...
Definition display.c:56
void BattleFx_ArmWin0HBlankDma(void)
Restarts DMA 0 as an HBlank transfer of one WIN0H value a line from PARTICLES (Ram_MapCellBuffer),...
Definition display.c:81
void BattleFx_AdvanceScrollOnInterval(void)
Scrolls BG1 by (scrollStepX, scrollStepY) once every scrollInterval frames.
Definition display.c:37
void BattleFx_RunMars(struct BattleEffectArgument *effect)
Mars Djinni flames: a glowing orb flares, the small Mars Djinni dives to the ground,...
void Graphics_TransposeCopy(const u8 *src, u8 *dst, s32 w, s32 h)
Copies a w x h byte picture into an h x w one turned 90 degrees clockwise: the top row of src becomes...
void BattleFx_RunMercury(struct BattleEffectArgument *effect)
Mercury Djinni flames: the small Mercury Djinni spirals around (96, 60) and fires five blue flames to...
void BattleFx_RunJupiter(struct BattleEffectArgument *effect)
Jupiter Djinni fall: the small Jupiter Djinni spirals while eight flameballs fall from the top right ...
void Resource_LoadAndDecompress(s32 id, void *dst, s32 skipPalette, s32 copyPalette)
Decompresses a resource whose first 128 bytes may be a palette.
void BattleFx_RunVenus(struct BattleEffectArgument *effect)
Venus Djinni columns: the small Venus Djinni sways while ten columns of flame in its colours rise fro...
void BattleFx_RunDew(struct BattleEffectArgument *effect)
With a Mercury Djinni: the same beams of light as Revive.
Definition djinn_beams.c:24
void BattleFx_RunDjinnBeams(struct BattleEffectArgument *effect, s32 mode)
When effect->prelude is 1, a Djinni appears, sways and then rises out of sight.
Definition djinn_beams.c:39
void BattleFx_RunRevive(struct BattleEffectArgument *effect)
With a Venus Djinni: beams of light, where motes drift down over each target and a column of light fa...
Definition djinn_beams.c:18
void Camera_ApplyPhasedDelta(void)
Turns the battle camera by cameraDelta.
Definition djinn_heal.c:230
UNUSED void BattleFx_RunDjinnHeal(struct BattleEffectArgument *effect)
A small Mercury Djinni healing the party: the user glows while motes swirl round a point that rises f...
Definition djinn_heal.c:21
void BattleFx_RunDragonCloud(struct BattleEffectArgument *effect)
A flame leaves the user along a stored path with a fading trail of 19 copies behind it,...
void BattleFx_RunBreak(struct BattleEffectArgument *effect)
Ice shards burst up from each target in turn, 20 frames apart, tinting the target as they go,...
Definition drain.c:18
void BattleFx_RunDrain(struct BattleEffectArgument *effect)
Drain: motes of light burst from each target in turn, 20 frames apart, and are pulled into the centre...
Definition drain.c:143
void BattleFx_CallDoNothing(s32 count)
Calls the empty BattleFx_DoNothing count times, without waiting for a frame: a busy delay that change...
Definition dispatch.c:12
void BattleFx_RunTableEffect(struct BattleEffectArgument *effect)
Runs an ordinary battle effect: takes the effect's sheet, work and canvas, runs the entry of gBattleF...
Definition dispatch.c:112
void ObjectGroup_UpdateMembers(s32 actorId, s32 palette, s32 animation, s32 timerSlot, s32 timerFrames)
Updates every animation group of one battler's object.
Definition dispatch.c:254
void BattleFx_BuildWindowEdgeTable(void)
Builds window 0's right edge for every scanline and restarts the HBlank DMA that writes it to WIN0H e...
Definition dispatch.c:148
void BattleFx_SetupBlendedDisplay(void)
Shows the BG1 battle background behind a cleared canvas: clears the canvas buffer and the 16 KiB of V...
Definition dispatch.c:217
void BattleFx_SelectLivingTargets(struct BattleEffectArgument *effect)
Shows the battle objects of every unit with HP left on the targets' side: the enemies (units 128 to 1...
Definition dispatch.c:184
void BattleFx_RunSceneEffect(struct BattleEffectArgument *effect)
Runs one of the large battle effects, the ones whose presentation flags have bit 15 set: takes the ef...
Definition dispatch.c:45
UNUSED void BattleFx_InitTilemapAndFlushQueue(void)
Writes the tiled canvas tilemap for BG2 (priority 1), then closes the canvas layer again,...
Definition dispatch.c:308
void BattleFx_RunFrost(struct BattleEffectArgument *effect)
Rising motes: motes spiral upwards while ice columns spring up one every 3 frames from frame 36; at t...
Definition frost.c:33
void BattleFx_RunVine(struct BattleEffectArgument *effect)
Rising vines: sixteen green vines grow from the middle of the row of targets, 2 frames apart,...
Definition growth.c:325
void BattleFx_RunThorn(struct BattleEffectArgument *effect)
Rising thorns: thorns burst from the ground one every 8 frames, throwing up dust from their roots.
Definition growth.c:431
void BattleFx_RunPunji(struct BattleEffectArgument *effect)
Grows green pillars from the ground, scattering dust from each root.
Definition growth.c:42
void BattleFx_RunGrowingColumns(struct BattleEffectArgument *effect, s32 mode)
Vines (mode 0) or green pillars (mode 1) grow one every 4 frames, alternately mirrored,...
Definition growth.c:63
void BattleFx_RunGrowth(struct BattleEffectArgument *effect)
Grows vines from the ground, scattering dust from each root.
Definition growth.c:36
BattleFxHandler gBattleFx_EffectHandlers[BATTLE_FX_KIND_COUNT - 1]
The effect handlers, indexed by effect kind minus one, which BattleFx_RunTableEffect calls; kind zero...
void BattleFx_RunSmokeBomb(struct BattleEffectArgument *effect)
A fountain of grey motes and puffs of smoke bursts up beside the targets and falls back,...
Definition eruption.c:14
void BattleFx_SpawnObjects(s32 entryCount, s32 source, u32 priority)
Creates the effect's animation objects in gBattleFxWork's objects.
Definition eruption.c:220
void BattleFx_DoNothing(void)
Does nothing.
Definition eruption.c:242
void BattleFx_RunBlast(struct BattleEffectArgument *effect)
A fountain of fire-coloured motes and puffs of smoke bursts up beside the targets and falls back,...
Definition eruption.c:21
void BattleFx_RunEruption(struct BattleEffectArgument *effect, s32 mode)
A fountain of motes and puffs of smoke bursts up beside the targets and falls back,...
Definition eruption.c:47
void BattleFx_RunIce(struct BattleEffectArgument *effect)
Ice shards rain down diagonally onto the targets' side of the field and shatter into puffs of sparkle...
Definition falling.c:53
void BattleFx_RunDouse(struct BattleEffectArgument *effect)
Blue bolts streak down diagonally onto the targets' side of the field, each bursting into a fountain ...
Definition falling.c:280
void BattleFx_RunFire(struct BattleEffectArgument *effect)
Homing embers: embers burst from the top of the user two a frame, turn towards the targets 48 frames ...
Definition fire.c:26
void BattleFx_RunFlare(struct BattleEffectArgument *effect)
Flame arc: nine flames rise one after another, 4 frames apart, along a half circle,...
Definition flare.c:20
UNUSED s32 BattleFx_BuildCenteredIndexList(BattleEffectIndexWindow *window, s16 *output)
List the indices within indexRadius of where currentValue sits in values, keeping only those from 0 t...
Definition flare.c:175
void BattleFx_RunGaia(struct BattleEffectArgument *effect)
Rising wall: the ground swells, a wall of rock rises from it, stands while rocks tumble up its face a...
Definition gaia.c:26
void BattleFx_RunRumble(struct BattleEffectArgument *effect)
Eight lights in Mars Djinn colours burst out of the user and are pulled into each target.
void BattleFx_RunDemonNight(struct BattleEffectArgument *effect)
Sixteen pink lights burst out of the user and are pulled into each target, with the heavy impact soun...
void BattleFx_RunHaunting(struct BattleEffectArgument *effect)
Twelve lights in Mercury Djinn colours burst out of the user and are pulled into each target.
void BattleFx_RunGatheringLights(struct BattleEffectArgument *effect, s32 mode)
For each target in turn, 20 frames apart, lights burst out of the user, one every 2 frames; from 30 f...
void BattleFx_RunHail(struct BattleEffectArgument *effect)
Water burst: after a Mercury Djinni enters, ice chips burst out of the first target and waves rise al...
Definition hail.c:30
void BattleFx_RunGround(struct BattleEffectArgument *effect)
Venus Djinni rock toss: after a Venus Djinni enters, six rocks rise from the user shedding chips,...
Definition hail.c:187
void Camera_ApplyShake(s32 rangeX, u32 rangeY)
Shakes the battle view while gBattleFxWork's shakeFrames lasts, moving BG1 and the projection centre ...
Definition hail.c:364
void BattleFx_RunCure(struct BattleEffectArgument *effect)
Cure (mode 2): a ring of healing motes below each target closes in on it, in the blast sheet's colour...
Definition healing.c:40
void BattleFx_RunPsyCrystal(struct BattleEffectArgument *effect)
Psy Crystal: healing motes gather around each target in the Mars Djinni palette; with a prelude,...
Definition healing.c:72
void BattleFx_RunCurePoison(struct BattleEffectArgument *effect)
Cure Poison: sparkles twinkle around each target, four more a frame, and go out one by one instead of...
Definition healing.c:47
UNUSED void BattleFx_RunHealingMotesMode4(struct BattleEffectArgument *effect)
Healing sparkles with scattering style 4, sent out from each target, as Cure Poison plays them for va...
Definition healing.c:58
void BattleFx_RunHealingMotes(struct BattleEffectArgument *effect, u32 mode)
Healing sparkles: motes of light scattered around each target swirl in towards it,...
Definition healing.c:107
void BattleFx_RunPly(struct BattleEffectArgument *effect)
Ply: sparkles of light swirl around each target and close in on it, in the ice shard's or ice block's...
Definition healing.c:25
void BattleFx_RunTonic(struct BattleEffectArgument *effect)
Tonic (scattering style 5): sparkles twinkle around each target, turning on two axes,...
Definition healing.c:65
void BattleFx_RunWish(struct BattleEffectArgument *effect)
Wish (scattering style 1): healing motes tumble in from all around each target.
Definition healing.c:33
void BattleFx_RunImpactBurst(s32 formation, s32 x, s32 y)
Opens an impact flash and scatters sparks and fragments, keeping the effect's objects in formation fo...
void BattleFx_RunHelmSplitter(struct BattleEffectArgument *effect)
The user leaps at the first target and strikes through a fire swirl; on frame 18 the target flashes a...
void BattleFx_PlaceFormationObjects(s32 formation, s32 x, s32 z)
Arranges work->objects in a formation; x and z are its origin in 16.16 pixels.
void BattleFx_RunJudgment(struct BattleEffectArgument *effect)
The battle wipes away to a violet sky where a formation flies forward while motes gather into it,...
Definition judgment.c:63
void BattleFx_RunKirin(struct BattleEffectArgument *effect)
Over a scrolling forest a row of objects rides in on a wave trailing fire, then sweeps across the tar...
Definition kirin.c:28
void BattleFx_RunMadSpatter(struct BattleEffectArgument *effect)
Gold shells that burst into shards.
void BattleFx_RunStickyPoison(struct BattleEffectArgument *effect)
Lime shells that burst into smoke.
void BattleFx_RunDecompose(struct BattleEffectArgument *effect)
Green shells that burst into smoke.
void BattleFx_RunBoneChiller(struct BattleEffectArgument *effect)
Blue shells that burst into smoke.
void BattleFx_RunStickyGoo(struct BattleEffectArgument *effect)
Shells in the spider web's colours that burst into smoke.
void BattleFx_RunRottenBlood(struct BattleEffectArgument *effect)
Green shells that burst into shards.
void BattleFx_RunPoisonInk(struct BattleEffectArgument *effect)
Shells in Mars Djinn colours that burst into smoke.
void BattleFx_RunLobbedShells(struct BattleEffectArgument *effect, s32 mode)
Lobs a shell from the user at each target in turn, 8 frames apart.
void BattleFx_RunRecovery(struct BattleEffectArgument *effect)
A wide wall of fire, without a shake.
void BattleFx_FetchRectangleBlitters(s32 flip, BlitterPair out)
Builds the two usual routines that draw onto the 128x128 canvas, both clipped on both axes.
void BattleFx_RunBerserk(struct BattleEffectArgument *effect)
The wall rises wide and shakes the screen hard.
void BattleFx_RunMirroredWall(struct BattleEffectArgument *effect, s32 mode)
Raises a symmetrical wall (the EarthWall images) at the first target's feet for 48 frames; the target...
void BattleFx_RunSpasm(struct BattleEffectArgument *effect)
The wall rises with a long gentle shake and the recovery sound.
void BattleFx_RunNeptune(struct BattleEffectArgument *effect)
Over dusk clouds a formation of objects flies in through rising spray, gathers a ring of flares into ...
Definition neptune.c:51
void Graphics_ResetBg2Pa(void)
Sets BG2's horizontal scale back to one texel a pixel, for the lines above Graphics_SetBg2AffineScale...
Definition neptune.c:10
void Graphics_SetBg2AffineScaleHalf(void)
Stretches BG2 to twice its width from the current line down.
Definition neptune.c:15
void BattleFx_RunNereid(struct BattleEffectArgument *effect)
A formation of twelve objects sweeps in among embers and columns of fire, and explodes.
Definition nereid.c:37
UNUSED void BattleFx_RunTargetBursts(struct BattleEffectArgument *effect)
Target bursts: on each target in turn, 8 frames apart, a burst flares up in the middle while five puf...
Definition orbiting.c:235
UNUSED void BattleFx_RunOrbitingSkulls(void)
Orbiting skulls: three skulls circle each target in turn, 16 frames apart, for 64 frames each,...
Definition orbiting.c:123
UNUSED void BattleFx_RunSwirlingStars(struct BattleEffectArgument *effect)
Swirling stars: 64 stars scattered around a point 80 pixels up spin about it, each on its own axis,...
Definition orbiting.c:25
void BattleFx_RunMeteor(struct BattleEffectArgument *effect)
A formation rises out of a dissolving starfield and bursts into embers and flashes: the particle stre...
void BattleFx_RunOuterSpace(struct BattleEffectArgument *effect)
The user leaps up, and two objects rise out of a dissolving starfield and burst into embers and flash...
void BattleFx_ArmPaletteHBlankDma(void)
Arms DMA 0 to write one halfword of the table at work->sheet + 0x1f80 into background colour 0 at eac...
void BattleFx_RunParticleStreams(struct BattleEffectArgument *effect, s32 mode)
The stream runs in two halves.
void Palette_BrightenBgEntries(s32 blueStep, s32 greenStep, s32 redStep)
Adds per-channel steps to background colours 1 to 63, capped at 31.
void BattleFx_RunHaunt(struct BattleEffectArgument *effect)
Skulls close in on each target in turn.
void BattleFx_RunOrbitingSpirals(struct BattleEffectArgument *effect)
Four spirals circle 40 pixels above each target in turn, 16 frames apart, for 60 frames each,...
void BattleFx_RunPlanetDiver(struct BattleEffectArgument *effect)
The user flashes and leaps into the air, turns into a ball of fire, falls onto the first target and b...
void BattleFx_RunNova(struct BattleEffectArgument *effect)
Bursts at (60, 48), the canvas behind the battle's first layer (priority 1).
Definition plasma.c:198
void BattleFx_RunPlasma(struct BattleEffectArgument *effect)
Pillars of lightning strike one every 8 frames, each with a white flash, throwing sparks up from the ...
Definition plasma.c:38
void BattleFx_RunSparkGroups(struct BattleEffectArgument *effect, s32 mode)
One to three bursts, 8 frames apart: each flashes, rings itself with twelve smaller flashes that fade...
Definition plasma.c:234
void BattleFx_RunDynamite(struct BattleEffectArgument *effect)
Orange bursts at (60, 64), the canvas in front (priority 0).
Definition plasma.c:204
void EffectPosition_ProjectBattler(s32 id, struct EffectPosition *position)
The screen position of a battler, 16 pixels higher.
Definition positions.c:100
void EffectPosition_ProjectScaledBattler(s32 id, struct EffectPosition *position)
The screen position of a battler, scaled for the battle view, 16 pixels higher.
Definition positions.c:88
void BattleFx_DispatchByIdRange(struct BattleEffectArgument *effect)
Runs a battle effect from the second range of kinds: 100 to 135 are the casting impacts (kind - 100),...
Definition positions.c:158
void EffectStep_AdvanceWithGravity2D(struct EffectStep *step, s32 damping, s32 gravity)
Moves a particle one frame on the screen: adds its velocity, then gravity to its vertical speed,...
Definition positions.c:46
void EffectPosition_ProjectSprite(s32 id, struct EffectPosition *position)
The screen position of a battler's sprite, at its scaled height, 16 pixels higher.
Definition positions.c:77
void EffectStep_AdvanceWithGravity3D(struct EffectStep *step, s32 damping, s32 gravity)
Moves a particle one frame in three dimensions: adds its velocity, then gravity to its vertical speed...
Definition positions.c:29
void BattleFx_ProbeKeysForExtendedActor(void)
Reads the held keys when the first target is an enemy (id 128 or more) and does nothing with them.
Definition positions.c:138
s32 BattleUnit_ProjectToScreen(s32 unit, s32 *screen)
Projects a battler onto the screen, raised by half its table height (the table holds the full height ...
Definition positions.c:114
s32 EffectPosition_ProjectPoint(const void *point, struct EffectPosition *position)
Projects a point in the current transform onto the screen, 16 pixels higher, and returns the projecti...
Definition positions.c:64
void Graphics_UpdatePhasePalette(s32 frame, s32 redPhase, s32 greenPhase, s32 bluePhase)
Rebuilds the background palette's first ramp as a grey ramp whose red, green and blue each sway with ...
Definition prism.c:183
void BattleFx_RunPrism(struct BattleEffectArgument *effect)
Crystals drop out of the sky onto the targets' side, 8 frames apart, and shatter on the ground into 1...
Definition prism.c:27
void BattleFx_RunProcne(struct BattleEffectArgument *effect)
A whirlwind lifts the targets, then comets from a block of objects in a violet sky strike them.
Definition procne.c:41
void BattleFx_RunWingBeat(struct BattleEffectArgument *effect)
Ten small yellow sparks stream level at each target, one a frame.
UNUSED void BattleFx_InitializeRisingObject(s32 id)
Sends a battler back to its place (its anchor) with a hop.
void BattleFx_RunWingFlutter(struct BattleEffectArgument *effect)
Five yellow sparks fly level at each target, five frames apart.
void BattleFx_RunCuttingEdge(struct BattleEffectArgument *effect)
From the user's action pose, one large comet in ice colours flies at each target and bursts into 80 s...
void BattleFx_RunDjinniEntrance(struct BattleEffectArgument *effect, s32 mode, s32 side, s32 anchor, s32 *outX, s32 *outY)
Djinni entrance: sparks swirl around a point that travels from the user to the goal and gather into t...
Definition projectiles.c:29
void BattleFx_RunProjectileVolley(struct BattleEffectArgument *effect, s32 mode)
Projectile volley: shots fly from the user to each target and burst into a flash and sparks when they...
void BattleFx_RunIceBlessing(struct BattleEffectArgument *effect)
Sixty ice chips stream at each target, one a frame, without knocking it back.
void BattleFx_RunSleet(struct BattleEffectArgument *effect)
Thirty ice chips fall from high above the user onto each target, without shaking the screen or knocki...
void BattleFx_RunHeatWave(struct BattleEffectArgument *effect)
From the user's action pose, seven fireballs trailing embers fly at each target, two frames apart,...
void BattleFx_RunSlash(struct BattleEffectArgument *effect)
Six comets fly at each target, three frames apart, and burst into a flash and sparks; the effect's va...
void BattleFx_RunBlizzard(struct BattleEffectArgument *effect)
From the user's action pose, sixty ice chips stream at each target, one a frame, scattered up and dow...
void BattleFx_RunCrazyVoice(struct BattleEffectArgument *effect)
Ten pellets fly slowly at each target and bounce off it, up or down at random.
void BattleFx_RunShuriken(struct BattleEffectArgument *effect)
Four spinning shurikens fly at each target, five frames apart, and vanish once past it.
void BattleFx_RunWingStroke(struct BattleEffectArgument *effect)
Ten large yellow sparks stream level at each target, one a frame, spread up and down.
void BattleFx_SetApproachMotion(s32 id, s32 targetId, s32 frames)
Moves a battler 80% of the way to another one over a number of frames, in its action pose.
void BattleFx_RunQuake(struct BattleEffectArgument *effect)
Rock wall: three rock pillars rise from the left, 4 frames apart, and sink again, throwing the target...
Definition quake.c:37
void BattleFx_RunRagnarok(struct BattleEffectArgument *effect)
A huge flaming blade swings down over the targets and two columns of light strike through them.
Definition ragnarok.c:33
void BattleFx_RunRamses(struct BattleEffectArgument *effect)
Over the desert backdrop a formation stands while an orb circles above it, drops three times throwing...
Definition ramses.c:36
void BattleFx_RunRay(struct BattleEffectArgument *effect)
Closing bolts: four bolts turn in towards the centre for 16 frames, scattering sparks from their root...
Definition ray.c:26
A sprite's screen position and scale.
void BattleFx_RunBoneCharge(struct BattleEffectArgument *effect)
Rushes the target and scatters sparks in the fire pillar palette.
void BattleFx_RunHeadbutt(struct BattleEffectArgument *effect)
Rushes the target and scatters sparks in the blast palette.
void BattleFx_RunOnslaught(struct BattleEffectArgument *effect)
Rushes the target and scatters sparks in the pink-burst palette.
void BattleFx_RunBruteForce(struct BattleEffectArgument *effect)
Rushes the target and scatters sparks in the ice-block palette.
void Graphics_PackTileRows(u8 *src, u8 *dst, s32 stride, s32 rowCount)
Packs 288 rows of 40 bytes to half width, keeping every second byte (the bytes of the odd columns win...
void BattleFx_RunRushingStrike(struct BattleEffectArgument *effect, s32 mode)
Rushing strike: the user rushes at the first target and strikes it on frame 10; a ring flares where i...
void BattleFx_RunSpinningBeat(struct BattleEffectArgument *effect)
A magenta swipe that throws the target into the air.
Definition spider_web.c:22
void BattleFx_RunSpiderWeb(struct BattleEffectArgument *effect)
A spider web spreads over the targets, drawn as four mirrored 32x32 quarters around the point between...
Definition spider_web.c:145
void BattleFx_RunSwirlSwipe(struct BattleEffectArgument *effect, s32 mode)
A swirling swipe across the first target, six images four frames each, from the user's side: the firs...
Definition spider_web.c:39
void BattleFx_RunPoisonBeat(struct BattleEffectArgument *effect)
A lime swipe that knocks the target back.
Definition spider_web.c:16
void BattleFx_RunSpire(struct BattleEffectArgument *effect)
Shattering rocks: boulders drop along the row of targets, centred on it, and burst into tumbling shar...
Definition spire.c:23
void BattleFx_RunShiningStar(struct BattleEffectArgument *effect)
Eight spinning star outlines fall from 120 pixels above the user towards the first target,...
Definition stars.c:212
void BattleFx_RunAstralBlast(struct BattleEffectArgument *effect)
Three star-shaped rings of light fly from 40 pixels above the user at the first target,...
Definition stars.c:25
void BattleFx_RunGranite(struct BattleEffectArgument *effect)
Gathers stat-boost light and displays a violet streak in Venus colours.
Definition stat_change.c:30
void BattleFx_RunWard(struct BattleEffectArgument *effect)
Gathers stat-boost light and displays a shield in Jupiter colours.
Definition stat_change.c:24
void BattleFx_RunDull(struct BattleEffectArgument *effect)
Breaks the dagger picture into shards that fade through darker copies.
void BattleFx_RunZephyr(struct BattleEffectArgument *effect)
Gathers stat-boost light and displays a wisp without replacing its palette.
Definition stat_change.c:42
UNUSED void BattleFx_RunStatReductionMode3(struct BattleEffectArgument *effect)
Breaks the shield picture into fading shards with style 3, which plays as style 2 does.
void BattleFx_RunImpair(struct BattleEffectArgument *effect)
A shield appears over each target and breaks into shards that fade through darker copies,...
void BattleFx_RunWeaken(struct BattleEffectArgument *effect)
A shield appears over each target and breaks into fading shards, in the pink burst's colours (style 2...
void BattleFx_RunFlash(struct BattleEffectArgument *effect)
Gathers stat-boost light and displays a violet streak in Mars colours.
Definition stat_change.c:36
void BattleFx_RunGuard(struct BattleEffectArgument *effect)
Gathers stat-boost light and displays a shield in Mars colours.
Definition stat_change.c:17
void BattleFx_RunImpact(struct BattleEffectArgument *effect)
Gathers stat-boost light and displays a dagger in Mars colours.
Definition stat_change.c:11
void BattleFx_RunStatBoost(struct BattleEffectArgument *effect, u32 mode)
Flares of light swirl in to the centre of each target, one target every 8 frames, burst,...
Definition stat_change.c:76
void BattleFx_RunStatReduction(struct BattleEffectArgument *effect, s32 mode)
Stat cuts: a dagger (mode 0) or a shield (other modes) appears over each target, 4 frames apart,...
void BattleFx_RunWickedHowl(struct BattleEffectArgument *effect)
Red streaks.
Definition streaks.c:73
void BattleFx_RunStreakVolley(struct BattleEffectArgument *effect, s32 mode)
Fires STREAKS_MAX streaks at each target from 20 pixels above the user, one every 6 frames,...
Definition streaks.c:99
void BattleFx_RunSleepStar(struct BattleEffectArgument *effect)
Rising motes that drift onto the targets and strike.
Definition streaks.c:303
void BattleFx_RunBansheeHowl(struct BattleEffectArgument *effect)
Violet streaks.
Definition streaks.c:55
void BattleFx_RunShriek(struct BattleEffectArgument *effect)
Lime streaks.
Definition streaks.c:46
UNUSED void BattleFx_RunLimeStreaks(struct BattleEffectArgument *effect)
The streak volley in lime. UNUSED: no effect table entry points here.
Definition streaks.c:77
void BattleFx_RunSonicWave(struct BattleEffectArgument *effect)
Ember streaks.
Definition streaks.c:37
void BattleFx_RunMoteFountain(struct BattleEffectArgument *effect, s32 mode)
Motes burst out of the user in every direction and float upwards, wobbling, for 128 frames; a new gro...
Definition streaks.c:330
void BattleFx_RunSoothingStar(struct BattleEffectArgument *effect)
Rising healing motes.
Definition streaks.c:312
void BattleFx_RunWarCry(struct BattleEffectArgument *effect)
Cyan streaks.
Definition streaks.c:64
The command shared by an effect's caller, dispatcher and handlers.
What BattleFx_BuildCenteredIndexList (unused) reads: a value to find in a list, and how many indices ...
Definition effect.h:209
s32 entryLimit
indices from this up are dropped
Definition effect.h:213
s16 values[1]
indexRadius * 2 + 1 values, searched in order
Definition effect.h:215
s32 unk_18[3]
not named by TBS code
Definition effect.h:214
s32 indexRadius
indices kept either side of where it sits
Definition effect.h:212
s32 currentValue
the value looked for in values
Definition effect.h:211
s32 unk_00[3]
not named by TBS code
Definition effect.h:210
A point projected onto the screen, with its depth.
Definition effect_step.h:46
A moving point of an effect: its position, its velocity and a value each effect uses its own way (a s...
Definition effect_step.h:13
Two-dimensional {x, y} pair for position or velocity, a local of the summon scenes (Nereid,...
Definition effect.h:236
s32 y
16.16 pixels
Definition effect.h:238
s32 x
16.16 pixels in every scene that uses it
Definition effect.h:237
void BattleFx_RunDelude(struct BattleEffectArgument *effect)
Cyan smoke that rises.
UNUSED void BattleFx_RunTargetMotesMode1(struct BattleEffectArgument *effect)
Pink smoke; no ☀️ effect table entry points here.
void BattleFx_RunParalyze(struct BattleEffectArgument *effect)
Rising smoke with glints.
void BattleFx_RunSleep(struct BattleEffectArgument *effect)
Twelve sheep drop onto the targets' side, one every 4 frames, tumbling through eight images (the last...
void BattleFx_RunHeartrender(struct BattleEffectArgument *effect)
Hearts.
void BattleFx_RunDemonFire(struct BattleEffectArgument *effect)
Glowing orbs in Mars Djinn colours, and the user strikes.
void BattleFx_RunTargetMotes(struct BattleEffectArgument *effect, u32 mode)
Around each target in turn, 8 frames apart, motes (smoke, hearts, orbs) turn about a point 20 pixels ...
void BattleFx_RunMysticFlame(struct BattleEffectArgument *effect)
Glowing orbs.
void BattleFx_RunDrown(struct BattleEffectArgument *effect)
Vortex motes.
void BattleFx_RunTaint(struct BattleEffectArgument *effect)
Lime smoke (effect->variant 0) or pink smoke.
void BattleFx_RunCurse(struct BattleEffectArgument *effect)
A small flame burns above each target in turn, 16 frames apart, for 72 frames each,...
void BattleFx_RunDrainFang(struct BattleEffectArgument *effect)
Three additive columns that drain the target with large motes, Mars Djinn colours.
void BattleFx_RunTargetStrike(struct BattleEffectArgument *effect, s32 mode)
Strikes the first target TARGET_STRIKE_HITS times with a sideways slash or a column of light,...
void BattleFx_RunElectricBite(struct BattleEffectArgument *effect)
Three lightning columns with glints.
void BattleFx_RunTwinBeaks(struct BattleEffectArgument *effect)
Two slashes with sparks, lightning colours.
void BattleFx_RunRabidFang(struct BattleEffectArgument *effect)
One column with smoke, Mars Djinn colours.
void BattleFx_RunAcidBite(struct BattleEffectArgument *effect)
Three pink columns with smoke.
void BattleFx_RunPoisonousBite(struct BattleEffectArgument *effect)
One lime column with smoke.
void BattleFx_RunPoisonTail(struct BattleEffectArgument *effect)
One lime slash with smoke.
void BattleFx_RunNumbingSting(struct BattleEffectArgument *effect)
One slash with glints, lightning colours.
void BattleFx_RunVampiricFang(struct BattleEffectArgument *effect)
Three columns that drain the target, Mars Djinn colours.
void BattleFx_RunDoubleFang(struct BattleEffectArgument *effect)
Two blue columns with sparks.
void BattleFx_RunCannibalFang(struct BattleEffectArgument *effect)
Three ember columns that drain the target into the user.
void BattleFx_RunMortalBlow(struct BattleEffectArgument *effect)
One heavy slash with sparks, Mars Djinn colours.
void BattleFx_RunThor(struct BattleEffectArgument *effect)
The scene plays in two parts on the effect canvas.
Definition thor.c:68
void BattleFx_RunSparkApproachVariant3(struct BattleEffectArgument *effect)
The user leaps at the first target, then a burst of 340 sparks rises beneath it and the canvas flashe...
Definition thrash.c:34
void BattleFx_RunThrash(struct BattleEffectArgument *effect)
The user leaps high at the first target, then a burst of 32 sparks rises beneath it.
Definition thrash.c:19
void BattleFx_RunFlashingStrike(struct BattleEffectArgument *effect, s32 mode)
Plays a flashing strike, the runner of BattleFx_RunQuickStrike (mode 1) and BattleFx_RunVorpalSlash (...
Definition thrash.c:71
void BattleFx_RunVorpalSlash(struct BattleEffectArgument *effect)
The user steps up to the first target, four pictures flash across the effect layer,...
Definition thrash.c:53
void BattleFx_RunQuickStrike(struct BattleEffectArgument *effect)
The user leaps at the first target, four pictures flash across the effect layer, then it fills with o...
Definition thrash.c:45
void BattleFx_RunTiamat(struct BattleEffectArgument *effect)
The rising embers with a formation of eight objects that sweeps in and explodes at the end.
Definition tiamat.c:17
void BattleFx_RunDragonDriver(struct BattleEffectArgument *effect)
The rising embers from the user's side, in the LightningBolt colours.
Definition tiamat.c:10
void BattleFx_RunPaletteParticles(struct BattleEffectArgument *effect, s32 mode)
A 208-frame effect of embers rising from the ground; pressing A or B during frames 49 to 159 skips to...
Definition tiamat.c:58
void BattleFx_RunTitanBlade(struct BattleEffectArgument *effect)
A huge sword drops onto the first target amid charging flashes, dust and sparks.
Definition titan_blade.c:33
void BattleFx_RunKite(struct BattleEffectArgument *effect)
Shows the extended Jupiter Djinni prelude over the first target, mirrored from the usual side; the Dj...
Definition torch.c:159
void BattleFx_RunTorch(struct BattleEffectArgument *effect)
A fiery disc fades in, its rings running outward while every scanline ripples, then fades out.
Definition torch.c:19
The integer types, TRUE, UNUSED and the fixed-address macros.
signed int s32
Definition types.h:14
unsigned int u32
Definition types.h:15
signed short s16
Definition types.h:12
unsigned char u8
Definition types.h:11
void BattleFx_RunUndeadSword(struct BattleEffectArgument *effect)
Two mirrored columns of light rise at the first target's feet and sink again, scattering 16 sparks th...
BattleFxKind
Effect kinds: the kind an ability's gBattle_ActionFlags entry selects, by the handler that plays it; ...
Definition effect.h:37
@ BATTLE_FX_SMOKE_BOMB
Definition effect.h:182
@ BATTLE_FX_DELUDE
Definition effect.h:70
@ BATTLE_FX_RECOVERY
Definition effect.h:191
@ BATTLE_FX_WING_BEAT
Definition effect.h:135
@ BATTLE_FX_SPASM
Definition effect.h:175
@ BATTLE_FX_CURSE_354
Definition effect.h:181
@ BATTLE_FX_PSY_CRYSTAL
Definition effect.h:117
@ BATTLE_FX_HEAT_WAVE
Definition effect.h:95
@ BATTLE_FX_BIND
Definition effect.h:75
@ BATTLE_FX_ZEPHYR
Definition effect.h:121
@ BATTLE_FX_CURE_352
Definition effect.h:179
@ BATTLE_FX_BLIZZARD
Definition effect.h:99
@ BATTLE_FX_HAUNT
Definition effect.h:76
@ BATTLE_FX_EVIL_BLESSING
Definition effect.h:198
@ BATTLE_FX_DULL
Definition effect.h:64
@ BATTLE_FX_UNDEAD_SWORD
Definition effect.h:149
@ BATTLE_FX_MYSTIC_FLAME
Definition effect.h:141
@ BATTLE_FX_SOOTHING_STAR
Definition effect.h:171
@ BATTLE_FX_SLEEP_STAR
Definition effect.h:176
@ BATTLE_FX_GUST_310
Definition effect.h:139
@ BATTLE_FX_FREEBITE_RUSH
Definition effect.h:162
@ BATTLE_FX_GROWTH
Definition effect.h:41
@ BATTLE_FX_BANSHEE_HOWL
Definition effect.h:131
@ BATTLE_FX_QUICK_STRIKE
Definition effect.h:88
@ BATTLE_FX_CUTTING_EDGE
Definition effect.h:93
@ BATTLE_FX_ROTTEN_BLOOD
Definition effect.h:159
@ BATTLE_FX_ACID_BITE
Definition effect.h:165
@ BATTLE_FX_DECOMPOSE
Definition effect.h:177
@ BATTLE_FX_CURE
Definition effect.h:58
@ BATTLE_FX_RABID_FANG
Definition effect.h:164
@ BATTLE_FX_SLEET
Definition effect.h:110
@ BATTLE_FX_IMPACT
Definition effect.h:63
@ BATTLE_FX_DRAIN
Definition effect.h:79
@ BATTLE_FX_BREAK
Definition effect.h:80
@ BATTLE_FX_STICKY_GOO
Definition effect.h:144
@ BATTLE_FX_WARD
Definition effect.h:67
@ BATTLE_FX_GAIA
Definition effect.h:40
@ BATTLE_FX_DOUSE
Definition effect.h:46
@ BATTLE_FX_WICKED_HOWL
Definition effect.h:134
@ BATTLE_FX_THRASH
Definition effect.h:190
@ BATTLE_FX_BACTERIA_RUSH
Definition effect.h:157
@ BATTLE_FX_ASTRAL_BLAST
Definition effect.h:104
@ BATTLE_FX_BOLT
Definition effect.h:53
@ BATTLE_FX_THORN
Definition effect.h:42
@ BATTLE_FX_SLASH
Definition effect.h:56
@ BATTLE_FX_PRISM
Definition effect.h:45
@ BATTLE_FX_FROTH
Definition effect.h:47
@ BATTLE_FX_FLYING_ATTACK_329
Definition effect.h:158
@ BATTLE_FX_ORBITING_SPIRALS
no ability uses it
Definition effect.h:71
@ BATTLE_FX_ACID_BLESSING
Definition effect.h:196
@ BATTLE_FX_WING_STROKE
Definition effect.h:183
@ BATTLE_FX_DROWN
Definition effect.h:102
@ BATTLE_FX_WHIRLWIND
Definition effect.h:57
@ BATTLE_FX_FLARE
Definition effect.h:48
@ BATTLE_FX_ANNIHILATION
Definition effect.h:91
@ BATTLE_FX_BEAR_CLAW_342
Definition effect.h:169
@ BATTLE_FX_VINE
Definition effect.h:107
@ BATTLE_FX_ICE
Definition effect.h:44
@ BATTLE_FX_HEARTRENDER_346
Definition effect.h:173
@ BATTLE_FX_POISON_TAIL
Definition effect.h:154
@ BATTLE_FX_POISONOUS_BITE_323
Definition effect.h:152
@ BATTLE_FX_SHINING_STAR
Definition effect.h:98
@ BATTLE_FX_HELM_SPLITTER
Definition effect.h:87
@ BATTLE_FX_FROST
Definition effect.h:43
@ BATTLE_FX_KITE
Definition effect.h:122
@ BATTLE_FX_VOLCANO
Definition effect.h:50
@ BATTLE_FX_BONE_CHARGE
Definition effect.h:140
@ BATTLE_FX_IMPAIR
Definition effect.h:66
@ BATTLE_FX_REVIVE
Definition effect.h:62
@ BATTLE_FX_RUMBLE
Definition effect.h:137
@ BATTLE_FX_ONSLAUGHT
Definition effect.h:155
@ BATTLE_FX_OUTER_SPACE
Definition effect.h:186
@ BATTLE_FX_FIRE
Definition effect.h:49
@ BATTLE_FX_HAUNTING
Definition effect.h:178
@ BATTLE_FX_CURSE
Definition effect.h:78
@ BATTLE_FX_PLY_204
Definition effect.h:109
@ BATTLE_FX_SHURIKEN
Definition effect.h:90
@ BATTLE_FX_DEADLY_GAS
Definition effect.h:199
@ BATTLE_FX_GRANITE
Definition effect.h:105
@ BATTLE_FX_RAGNAROK
Definition effect.h:94
@ BATTLE_FX_GUST
Definition effect.h:124
@ BATTLE_FX_MARS
Definition effect.h:127
@ BATTLE_FX_DRAGON_CLOUD
Definition effect.h:85
@ BATTLE_FX_JUPITER
Definition effect.h:128
@ BATTLE_FX_VORPAL_SLASH
Definition effect.h:101
@ BATTLE_FX_IMPACT_210
Definition effect.h:115
@ BATTLE_FX_DEMON_FIRE
Definition effect.h:100
@ BATTLE_FX_NOVA
Definition effect.h:52
@ BATTLE_FX_RAY
Definition effect.h:54
@ BATTLE_FX_IMPACT_46
Definition effect.h:83
@ BATTLE_FX_HAIL
Definition effect.h:112
@ BATTLE_FX_QUAKE
Definition effect.h:38
@ BATTLE_FX_SHRIEK
Definition effect.h:130
@ BATTLE_FX_MORTAL_BLOW
Definition effect.h:161
@ BATTLE_FX_CURE_POISON
Definition effect.h:61
@ BATTLE_FX_BRUTE_FORCE
Definition effect.h:143
@ BATTLE_FX_WISH_44
Definition effect.h:81
@ BATTLE_FX_WING_FLUTTER
Definition effect.h:136
@ BATTLE_FX_DOUBLE_FANG
Definition effect.h:160
@ BATTLE_FX_REVIVE_201
Definition effect.h:106
@ BATTLE_FX_DARK_BLESSING
Definition effect.h:195
@ BATTLE_FX_HEARTRENDER
Definition effect.h:72
@ BATTLE_FX_PLY
Definition effect.h:59
@ BATTLE_FX_FLASH
Definition effect.h:118
@ BATTLE_FX_WARD_215
Definition effect.h:120
@ BATTLE_FX_FLYING_ATTACK
Definition effect.h:148
@ BATTLE_FX_DYNAMITE
Definition effect.h:166
@ BATTLE_FX_SPIDER_WEB
Definition effect.h:172
@ BATTLE_FX_GROUND
Definition effect.h:108
@ BATTLE_FX_FIRE_BLESSING
Definition effect.h:192
@ BATTLE_FX_WEAKEN
Definition effect.h:68
@ BATTLE_FX_SPIRE
Definition effect.h:39
@ BATTLE_FX_CANNIBAL_FANG
Definition effect.h:145
@ BATTLE_FX_GUARD
Definition effect.h:65
@ BATTLE_FX_RANSACK
Definition effect.h:150
@ BATTLE_FX_BIND_218
Definition effect.h:123
@ BATTLE_FX_TORCH
Definition effect.h:119
@ BATTLE_FX_TITAN_BLADE
Definition effect.h:97
@ BATTLE_FX_DEMON_NIGHT
Definition effect.h:86
@ BATTLE_FX_BEAR_CLAW
Definition effect.h:146
@ BATTLE_FX_POISON_BEAT
Definition effect.h:184
@ BATTLE_FX_IMPAIR_47
Definition effect.h:84
@ BATTLE_FX_ELECTRIC_BITE
Definition effect.h:153
@ BATTLE_FX_SPARK_APPROACH_VARIANT3
no ability uses it
Definition effect.h:189
@ BATTLE_FX_WAR_CRY
Definition effect.h:133
@ BATTLE_FX_BERSERK
Definition effect.h:180
@ BATTLE_FX_PLANET_DIVER
Definition effect.h:96
@ BATTLE_FX_SLEEP
Definition effect.h:74
@ BATTLE_FX_ICE_BLESSING
Definition effect.h:194
@ BATTLE_FX_VAMPIRIC_FANG
Definition effect.h:156
@ BATTLE_FX_PARALYZE
Definition effect.h:73
@ BATTLE_FX_SONIC_WAVE
Definition effect.h:129
@ BATTLE_FX_HEADBUTT
Definition effect.h:167
@ BATTLE_FX_GUARD_211
Definition effect.h:116
@ BATTLE_FX_VENUS
Definition effect.h:125
@ BATTLE_FX_DRAIN_FANG
Definition effect.h:188
@ BATTLE_FX_TONIC
Definition effect.h:113
@ BATTLE_FX_SPINNING_BEAT
Definition effect.h:185
@ BATTLE_FX_RANSACK_343
Definition effect.h:170
@ BATTLE_FX_TAINT
Definition effect.h:69
@ BATTLE_FX_DEATH_PLUNGE
Definition effect.h:89
@ BATTLE_FX_MERCURY
Definition effect.h:126
@ BATTLE_FX_CRAZY_VOICE
Definition effect.h:132
@ BATTLE_FX_CONDEMN
Definition effect.h:77
@ BATTLE_FX_TWIN_BEAKS
Definition effect.h:163
@ BATTLE_FX_PUNJI
Definition effect.h:92
@ BATTLE_FX_WATER_BLESSING
Definition effect.h:193
@ BATTLE_FX_PLASMA
Definition effect.h:55
@ BATTLE_FX_NUMBING_STING
Definition effect.h:142
@ BATTLE_FX_DRAGON_DRIVER
Definition effect.h:187
@ BATTLE_FX_BLAST
Definition effect.h:51
@ BATTLE_FX_MAD_SPATTER
Definition effect.h:174
@ BATTLE_FX_BONE_CHILLER
Definition effect.h:138
@ BATTLE_FX_POISONOUS_BITE
Definition effect.h:147
@ BATTLE_FX_WISH_45
Definition effect.h:82
@ BATTLE_FX_POISON_INK
Definition effect.h:168
@ BATTLE_FX_WISH
Definition effect.h:60
@ BATTLE_FX_DEW
Definition effect.h:114
@ BATTLE_FX_STICKY_POISON
Definition effect.h:151
@ BATTLE_FX_TRIANGLE_STRIKE
no ability uses it
Definition effect.h:103
@ BATTLE_FX_STORM_BLESSING
Definition effect.h:197
@ BATTLE_FX_WISH_206
Definition effect.h:111
@ BATTLE_FX_KIND_COUNT
one more than the last kind
Definition effect.h:200
SceneEffectKind
The large effects BattleFx_RunSceneEffect runs, by kind: the twelve summons.
Definition effect.h:16
@ SCENE_EFFECT_BOREAS
BattleFx_RunBoreas (boreas.c).
Definition effect.h:26
@ SCENE_EFFECT_NEPTUNE
BattleFx_RunNeptune (neptune.c).
Definition effect.h:22
@ SCENE_EFFECT_JUDGMENT
BattleFx_RunJudgment (judgment.c).
Definition effect.h:25
@ SCENE_EFFECT_CYBELE
BattleFx_RunCybele (cybele.c).
Definition effect.h:21
@ SCENE_EFFECT_NEREID
BattleFx_RunNereid (nereid.c).
Definition effect.h:18
@ SCENE_EFFECT_THOR
BattleFx_RunThor (thor.c).
Definition effect.h:28
@ SCENE_EFFECT_TIAMAT
BattleFx_RunTiamat (tiamat.c).
Definition effect.h:23
@ SCENE_EFFECT_KIRIN
BattleFx_RunKirin (kirin.c).
Definition effect.h:19
@ SCENE_EFFECT_RAMSES
BattleFx_RunRamses (ramses.c).
Definition effect.h:17
@ SCENE_EFFECT_METEOR
BattleFx_RunMeteor (particle_streams.c).
Definition effect.h:27
@ SCENE_EFFECT_PROCNE
BattleFx_RunProcne (procne.c).
Definition effect.h:24
@ SCENE_EFFECT_ATALANTA
BattleFx_RunAtalanta (atalanta.c).
Definition effect.h:20
void(*) BattleFxHandler(struct BattleEffectArgument *effect)
An effect handler: plays one effect over the battle, frame by frame, and returns when it is over.
Definition effect.h:33
DrawRectangle BlitterPair[2]
A blitter pair: [0] built in HEAP_SLOT_BLITTER and [1] in HEAP_SLOT_BLITTER_ALTERNATE (BattleFx_Fetch...
Definition effect.h:244
void BattleFx_RunVolcano(struct BattleEffectArgument *effect)
One, two or four columns of fire (gVolcano_Counts by effect->variant) rise near the far edge on the t...
Definition volcano.c:36
void BattleFx_RunWhirlwind(struct BattleEffectArgument *effect)
Tornadoes sweep across the targets for 80 frames, sparkling with glints; the canvas flashes and the t...
Definition vortices.c:189
void BattleFx_RunFroth(struct BattleEffectArgument *effect)
Motes fly out of the top of the user, hang, and from 48 frames after each appears home in on the targ...
Definition vortices.c:36