35 origin.
y = actor->
y + (16 << 16);
39 target.
y = actor->
y + (32 << 16);
44 target.
y = scene->
y + (32 << 16);
48 spawn.
y = scene->
y + (32 << 16);
55 object->angle = actor->
angle;
56 object->speedLimit = 0x14ccc;
57 object->motionFlags = 0;
68 origin.
y + (target.
y - origin.
y) * step / 10,
69 origin.
z + (target.
z - origin.
z) * step / 10);
71 object->scaleX = scale;
72 object->scaleY = scale;
75 }
while (step < steps);
81 for (i = 0; i < 10; i++) {
91 -(9 << 16), child->
y, -(9 << 16));
95 for (i = 0; i < 13; i++) {
108 target.
y + (origin.
y - target.
y) * step / 10,
109 target.
z + (origin.
z - target.
z) * step / 10);
111 object->scaleX = scale;
112 object->scaleY = scale;
115 }
while (step < steps);
void FieldFx_RunCatch(void)
Carries object 215 from 16 pixels above the caster to the goal in 10 steps, growing from a quarter to...
void FieldFx_RunCatchOnTarget(s32 unused)
Abilities: Catch (field kind 13), cast on a target.
void ObjectDispatch_ReleaseFar(struct DispatchObject *obj)
void Object_SetPositionAndResetMotionFar(struct ObjectRuntime *obj, s32 x, s32 y, s32 z)
void ObjectDispatch_SelectAnimationFar(void *raw, s32 no)
void Animation_ApplyChildValuesFar(struct DispatchObject *obj, u32 val)
void AudioCommand_PlayFar(s32 id)
void WaitFrames(s32 frames)
The game's frame loop: runs frames frames and returns.
static __inline__ s32 BattleFx_Interpolate(s32 to, s32 from, s32 step)
void * gEffectWork
Slot 56: points to a scene-specific structure.
#define SET_POSITION(p, px, py, pz)
Sets the position or the velocity of a particle, a piece of debris or an object in one statement.
void Vector_AddPolarOffset(s32 radius, s32 angle, void *position)
Moves the point position by radius in direction angle on the ground plane: x by the cosine,...
struct ObjectRuntime * Object_Spawn(s32 kind, s32 x, s32 y, s32 z)
Creates an object for an effect, at the caster's ground height, with sprite priority 0 and animation ...
void BattleEffect_InitializeSharedScene(void)
Saves the palettes for the effect (once, unless an effect is already shown) and fades them toward one...
void BattleFx_PrepareBufferInterpolation(void)
Fades the palettes back from an effect's colours to the saved ones (or to palette 0x10001 while an ef...
What every part of psynergy_effects.c shares: its includes and the macros and types more than one par...
The work of a Psynergy effect scene: its caster and target, where it takes place, the map state it re...
s32 y
16.16 fixed-point pixels
void * mainObject
the caster's object
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...
s32 x
16.16 fixed-point pixels
s32 z
16.16 fixed-point pixels
A field object as the object dispatcher's far calls take it.
A position in three coordinates, each in 16.16 fixed point.
An effect object that moves and draws one sprite: its position, scale, velocity and target,...
s32 z
16.16 fixed-point pixels
s32 y
16.16 fixed-point pixels
s32 x
16.16 fixed-point pixels
One of the 64 field objects in the object pool (heap slot 5): its script, position,...