atalanta.c
The Atalanta summon.
games/tbs/src/effect/parts/atalanta.c on GitHub
The Atalanta summon. Part of effect.c, the battle effect object, compiled only through it.
Functions
BattleFx_RunAtalanta
void BattleFx_RunAtalanta(struct BattleEffectArgument *effect)
Rain of blades: under a violet sky, a 3x3 formation of objects flies along a stored path while sixteen blades gather trails of light, flash and fly off; A or B skips ahead.
Abilities: Atalanta (scene kind 4).
Then 24 blades fall diagonally on the targets and burst into flame, hitting each target as they land.
The gathering lasts up to 220 frames and the fall 88. work->particles holds the 16 gathering blades and then the falling ones; PARTICLES holds 24 trail particles for each gathering blade, with their rotations in ATALANTA_MATRICES. The formation is nine objects in work->objects, released between the parts. Loads the violet sky into BG1 and scrolls it with BattleFx_AdvanceScrollOnInterval during the gathering, holding view->busy; restores gBgScroll[1].x and gives BG1 back with BattleFx_SetupBlendedDisplay between the parts. Leaves the ember sheet in Ram_MapCellBuffer, and ends with the transfer callback removed, the blitters freed and the canvas layer closed.
effect: the targets.
Used by BattleFx_RunSceneEffect.
Enumerations
SlashSheetCell
enum SlashSheetCell
The pictures in the slash sheet: five flash frames, then the slash in three parts.
| Value | = | |
|---|---|---|
ATALANTA_SLASH_FLASH_1 | 0x0000 | |
ATALANTA_SLASH_FLASH_2 | 0x0188 | |
ATALANTA_SLASH_FLASH_3_TOP | 0x057c | |
ATALANTA_SLASH_FLASH_3_BOTTOM | 0x07d4 | |
ATALANTA_SLASH_FLASH_4_TOP | 0x0aaa | |
ATALANTA_SLASH_FLASH_4_MIDDLE | 0x0c90 | |
ATALANTA_SLASH_FLASH_4_BOTTOM | 0x0e74 | |
ATALANTA_SLASH_FLASH_5_TOP | 0x1088 | |
ATALANTA_SLASH_FLASH_5_MIDDLE | 0x11f8 | |
ATALANTA_SLASH_FLASH_5_BOTTOM | 0x147c | |
ATALANTA_SLASH_TOP | 0x16ac | |
ATALANTA_SLASH_MIDDLE | 0x17fc | |
ATALANTA_SLASH_BOTTOM | 0x1bf3 |
Macros
ATALANTA_MATRICES
#define ATALANTA_MATRICES (Ram_MapCellBuffer + 0x3800)
The trail particles' random rotations, 48 bytes each, after the 384 particles in PARTICLES.
Used by BattleFx_RunAtalanta.