kirin.c
The Kirin summon.
games/tbs/src/effect/parts/kirin.c on GitHub
The Kirin summon. Part of effect.c, the battle effect object, compiled only through it.
Functions
BattleFx_RunKirin
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 targets, each throwing a burst of motes as the row passes it.
Abilities: Kirin (scene kind 3).
The scene runs in two stages. In the sweep (120 frames; A or B ends it after frame 16), KIRIN_OBJECTS objects ride in on a sine wave while the backdrop scrolls, a ring of motes opens around them and a trail of fire follows. In the rise (96 frames) the row slides across the targets; each target the row passes throws a burst of 32 motes and plays its hit reaction, and the fire sheet slides off behind it. The battle shows the damage at the end. The scene leaves gProjection.centerY at 240.
Particles: work->particles 0 to 47 are the fire trail (x in pixels, y 16.16, variant the frames before it starts); PARTICLES 32i to 32i + 31 are target i's burst motes, variant their frames left.
Used by BattleFx_RunSceneEffect.
Macros
KIRIN_BLOB_BYTES
#define KIRIN_BLOB_BYTES (48 * 32)
One 48x32 fire blob picture; the fire sheet holds four.
Used by BattleFx_RunKirin.
Also, macros without a comment: KIRIN_OBJECTS.