Alchemy
Loading...
Searching...
No Matches

boreas.c File Reference

The Boreas summon. More...

Go to the source code of this file.

Macros

#define BOREAS_ICE_BLOCK_TRAILS   ((struct EffectStep *)(Ram_MapCellBuffer + 0xe00))
#define BOREAS_BIG_BLOCK_CELLS   0xc46
 the dropping 24x48 ice block
#define BOREAS_FALLING_BLOCK_CELLS   0x14f9
 the diagonal 40x80 ice block
#define BOREAS_POINT_X(rock)
 gBoreas_Points has an x and a y for each rock.
#define BOREAS_POINT_Y(rock)

Functions

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; then ice blocks rain down on the targets, and boulders crumble into bouncing chips.

Detailed Description

The Boreas summon.

Part of effect.c, the battle effect object, compiled only through it.

Definition in file boreas.c.

Macro Definition Documentation

◆ BOREAS_ICE_BLOCK_TRAILS

#define BOREAS_ICE_BLOCK_TRAILS   ((struct EffectStep *)(Ram_MapCellBuffer + 0xe00))

Definition at line 8 of file boreas.c.

Referenced by BattleFx_RunBoreas().

◆ BOREAS_BIG_BLOCK_CELLS

#define BOREAS_BIG_BLOCK_CELLS   0xc46

the dropping 24x48 ice block

Definition at line 10 of file boreas.c.

Referenced by BattleFx_RunBoreas().

◆ BOREAS_FALLING_BLOCK_CELLS

#define BOREAS_FALLING_BLOCK_CELLS   0x14f9

the diagonal 40x80 ice block

Definition at line 11 of file boreas.c.

Referenced by BattleFx_RunBoreas().

◆ BOREAS_POINT_X

#define BOREAS_POINT_X ( rock)
Value:
u8 gBoreas_Points[][2]
Rock and ice scene: where the rocks stand (and later the boulders, 56 pixels further left),...

gBoreas_Points has an x and a y for each rock.

Definition at line 14 of file boreas.c.

Referenced by BattleFx_RunBoreas().

◆ BOREAS_POINT_Y

#define BOREAS_POINT_Y ( rock)
Value:

Definition at line 15 of file boreas.c.

Referenced by BattleFx_RunBoreas().

Function Documentation

◆ BattleFx_RunBoreas()

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; then ice blocks rain down on the targets, and boulders crumble into bouncing chips.

Abilities: Boreas (scene kind 10).

The longest of the effects, in two halves. The first (288 frames, which A or B cuts short after frame 16) opens a window on a field of 16 rocks over the violet sky and nine animation objects; the rocks crumble in three waves (frames 32, 64 and 104), throwing up chips, a big ice block drops in on frames 160 to 175 and, from frame 224, bursts into spray trailed by smoke. The second (146 frames) gives the battle background back and rains ice blocks on the targets while boulders rise, crumble on frame 72 and bounce on the ground; the targets tint blue from frame 32 and the damage shows on frame 96.

Particles, by half: in the first, PARTICLES 0 to 63 are the chips (screen pixels in 16.16; a negative variant is one not yet thrown), then 0 to 127 the spray, with its smoke at BOREAS_ICE_BLOCK_TRAILS; in the second, work->particles 0 to 63 are the falling ice blocks and then the boulder chips, and PARTICLES 0 to 63 the smoke puffs, in whole pixels.

Also clears background colours 0 and 1 for the wipe and then loads the ice block palette over the first 64, writes the window registers and the window-edge table at Ram_MapCellBuffer (through BattleFx_BuildWindowEdgeTable), gBgScroll[1] for the shake, gProjection.centerY and work->shakeFrames; it releases the nine objects before the second half and its callbacks and blitters at the end.

Definition at line 45 of file boreas.c.

Referenced by BattleFx_RunBoreas(), and BattleFx_RunSceneEffect().