1#ifndef ALCHEMY_FX_SCENE_H
2#define ALCHEMY_FX_SCENE_H
91 return from + (to - from) * step / 10;
Effect slots: the particles Psynergy effects move and draw.
static __inline__ s32 BattleFx_Interpolate(s32 to, s32 from, s32 step)
STATIC_ASSERT, a compile-time check that emits nothing.
#define STATIC_ASSERT(condition)
C89 permits repeated extern declarations of the same array.
#define offsetof(type, member)
An animated sprite: its image and shadow, scale, rotation, size and up to four animation layers.
A field object as Avoid's caster: its facing, its animation records and the phase and frame count of ...
void(*) callback(union FieldObject *object)
run each frame
u8 unk00[6]
not named through this view
s16 phase
1 spins the caster 0xc00 a frame
struct AnimationObject * records
the caster's sprite
u8 unk54[0x10]
not named through this view
u8 unk08[0x48]
not named through this view
s16 step
frames since the arcs started
struct FieldActor * linkedObject
The work of a Psynergy effect scene: its caster and target, where it takes place, the map state it re...
u16 freeBlocks
512 less the free resource blocks at the start
u8 mode
where the effect runs; MODE_WORLD_MAP on the world map
s16 arcTileSlot
resource entry of Avoid's and Retreat's arcs
s32 y
16.16 fixed-point pixels
u8 unk718[2]
not named by TBS code
s16 firstObjectId
the caster's object id
void(*) savedCallback(union FieldObject *object)
The target's update hook and script, saved at the start and restored when Move or Carry lets it go.
s8 childOption
Set by some scenes before an effect; Carry, Frost, Force and Reveal treat the target differently with...
s8 visible
set at the start: the caster flashes with a sound
u8 savedPalette
the target's first sprite's param, saved likewise
void(*) finishCallback(void)
run, when set, as Ply's effect ends
u16 unk48
not named by TBS code
struct EffectSlot slots[24]
u8 unk40[4]
not named by TBS code
u16 tileSlot
resource entry holding the spark tiles
s8 childMode
set by some scenes: Frost and Force leave the target be
void * mainObject
the caster's object
s32 savedShakeX
The map's shake and its decay, restored when the effect ends.
u8 lit
set in two Mercury Lighthouse maps; not read by name
s16 fieldKind
the ability's field kind (FIELD_KIND_)
s8 messageMode
the announcement's box mode: 1, a scene adds 8
void * child
the target's object, or NULL
s8 enabled
Set at the start: Force then aims in front of the caster; cleared once the target has been dispatched...
u8 unk28[0x0c]
not named by TBS code
s32 x
16.16 fixed-point pixels
s8 active
set at the start: the ability's name is announced
s32 z
16.16 fixed-point pixels
u8 unk71d[3]
not named by TBS code
s16 secondObjectId
the target's object id, -1 for none
u8 unk36[2]
not named by TBS code
A particle a Psynergy effect moves and draws: its sprite, its position and target,...
A field actor: a person or thing on the field with a position, motion toward a target,...
The integer types, TRUE, UNUSED and the fixed-address macros.
An object on the field, read as an actor or as an effect.