Helm Splitter, formations and the impact burst. More...
Go to the source code of this file.
Macros | |
| #define | HELM_SPLITTER_FRAMES 70 |
| #define | HELM_SPLITTER_STRIKE_FRAME 18 |
| the swirl strikes the target | |
| #define | HELM_SPLITTER_STAR_CELLS 0x3e80 |
| The pink star animation, after the swirl. | |
| #define | HELM_SPLITTER_CLEARED_SLOTS 1024 |
| PARTICLES slots freed first. | |
| #define | HELM_SPLITTER_SPARKS 16 |
| sparks scattered by the strike | |
| #define | HELM_SPLITTER_SPARK_SLOTS 128 |
| spark slots moved and drawn | |
| #define | IMPACT_BURST_SHARD_CELLS 0x59d8 |
| The fragment pictures in the sheet, four of 12x24, after the flash. | |
| #define | IMPACT_BURST_FRAGMENT_WIDTH 12 |
| each fragment picture's width | |
| #define | IMPACT_BURST_FRAGMENT_HEIGHT 24 |
| and height | |
| #define | IMPACT_BURST_FRAMES 72 |
| #define | IMPACT_BURST_FRAGMENTS 3 |
| fragments, work->particles 61 to 63 | |
| #define | IMPACT_BURST_DRAWN_LARGE 30 |
| large sparks drawn | |
| #define | IMPACT_BURST_DRAWN_SMALL 60 |
| small sparks drawn | |
| #define | IMPACT_BURST_LARGE_SPARKS 64 |
| large sparks thrown | |
| #define | IMPACT_BURST_SMALL_SPARKS 64 |
| small sparks thrown | |
| #define | IMPACT_BURST_FIRST_FRAGMENT 61 |
| the first fragment in work->particles | |
Functions | |
| 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 and reels and 16 sparks scatter, bouncing off the ground. | |
| 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_RunImpactBurst (s32 formation, s32 x, s32 y) |
| Opens an impact flash and scatters sparks and fragments, keeping the effect's objects in formation for the first 36 frames. | |
Helm Splitter, formations and the impact burst.
Part of effect.c, the battle effect object, compiled only through it.
Definition in file helm_splitter.c.
| #define HELM_SPLITTER_FRAMES 70 |
Definition at line 16 of file helm_splitter.c.
Referenced by BattleFx_RunHelmSplitter().
| #define HELM_SPLITTER_STRIKE_FRAME 18 |
the swirl strikes the target
Definition at line 17 of file helm_splitter.c.
Referenced by BattleFx_RunHelmSplitter().
| #define HELM_SPLITTER_STAR_CELLS 0x3e80 |
The pink star animation, after the swirl.
Definition at line 19 of file helm_splitter.c.
Referenced by BattleFx_RunHelmSplitter().
| #define HELM_SPLITTER_CLEARED_SLOTS 1024 |
PARTICLES slots freed first.
Definition at line 20 of file helm_splitter.c.
Referenced by BattleFx_RunHelmSplitter().
| #define HELM_SPLITTER_SPARKS 16 |
sparks scattered by the strike
Definition at line 21 of file helm_splitter.c.
Referenced by BattleFx_RunHelmSplitter().
| #define HELM_SPLITTER_SPARK_SLOTS 128 |
spark slots moved and drawn
Definition at line 22 of file helm_splitter.c.
Referenced by BattleFx_RunHelmSplitter().
| #define IMPACT_BURST_SHARD_CELLS 0x59d8 |
The fragment pictures in the sheet, four of 12x24, after the flash.
Definition at line 238 of file helm_splitter.c.
Referenced by BattleFx_RunImpactBurst().
| #define IMPACT_BURST_FRAGMENT_WIDTH 12 |
each fragment picture's width
Definition at line 239 of file helm_splitter.c.
Referenced by BattleFx_RunImpactBurst().
| #define IMPACT_BURST_FRAGMENT_HEIGHT 24 |
| #define IMPACT_BURST_FRAMES 72 |
Definition at line 242 of file helm_splitter.c.
Referenced by BattleFx_RunImpactBurst().
| #define IMPACT_BURST_FRAGMENTS 3 |
fragments, work->particles 61 to 63
Definition at line 243 of file helm_splitter.c.
Referenced by BattleFx_RunImpactBurst().
| #define IMPACT_BURST_DRAWN_LARGE 30 |
large sparks drawn
Definition at line 244 of file helm_splitter.c.
Referenced by BattleFx_RunImpactBurst().
| #define IMPACT_BURST_DRAWN_SMALL 60 |
small sparks drawn
Definition at line 245 of file helm_splitter.c.
Referenced by BattleFx_RunImpactBurst().
| #define IMPACT_BURST_LARGE_SPARKS 64 |
large sparks thrown
Definition at line 246 of file helm_splitter.c.
Referenced by BattleFx_RunImpactBurst().
| #define IMPACT_BURST_SMALL_SPARKS 64 |
small sparks thrown
Definition at line 247 of file helm_splitter.c.
Referenced by BattleFx_RunImpactBurst().
| #define IMPACT_BURST_FIRST_FRAGMENT 61 |
the first fragment in work->particles
Definition at line 249 of file helm_splitter.c.
Referenced by BattleFx_RunImpactBurst().
| 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 and reels and 16 sparks scatter, bouncing off the ground.
Abilities: Helm Splitter (kind 51).
Definition at line 29 of file helm_splitter.c.
Referenced by BattleFx_RunHelmSplitter().
Arranges work->objects in a formation; x and z are its origin in 16.16 pixels.
Each summon that ends in an impact burst keeps its objects in its own formation, every frame while it plays and then through BattleFx_RunImpactBurst. Places the objects through Object_ApplyProjectedPlacementFar and changes nothing else.
formation: 0 = nine in a 3x3 grid at 32-pixel spacing (Thor); 1 = twelve in rows of 1, 3, 4 and 4, from 16 left and 32 up (Nereid); 2 = eight in rows of 3, 2 and 3, from 16 right (Cybele); 3 = eight drawn at 1.25 times their size (Tiamat's BattleFx_RunPaletteParticles). Any other value places nothing.
Definition at line 191 of file helm_splitter.c.
Referenced by BattleFx_PlaceFormationObjects(), BattleFx_RunCybele(), BattleFx_RunImpactBurst(), BattleFx_RunNereid(), BattleFx_RunPaletteParticles(), and BattleFx_RunThor().
Opens an impact flash and scatters sparks and fragments, keeping the effect's objects in formation for the first 36 frames.
The close of four summons: Thor, Nereid, Cybele and Tiamat's BattleFx_RunPaletteParticles call it once their own frames are over, each with its own formation. Builds and frees both blitters, starts and stops the canvas transfer, sets REG_BG2PA, REG_BG2X and REG_BLDCNT, loads pictures into the sheet slot and work->sheet and overwrites work->particles 0 to 63 and PARTICLES 0 to 63. It leaves the canvas's VRAM cleared; ending the canvas layer is left to the caller.
formation: the layout for BattleFx_PlaceFormationObjects. x, y: the formation's origin in 16.16 pixels; the burst is drawn 40 pixels right of x, halved for the wide canvas.
Definition at line 265 of file helm_splitter.c.
Referenced by BattleFx_RunCybele(), BattleFx_RunImpactBurst(), BattleFx_RunNereid(), BattleFx_RunPaletteParticles(), and BattleFx_RunThor().