31 arc->
z.
fixed = anchor->
z.
fixed + (0x10000 - scale) * 5 + 0x90000;
54 arc->
z.
fixed = anchor->
z.
fixed - (0x10000 - scale) * 5 + 0x100000;
96 for (arcIndex = 0; arcIndex <= 1; arcIndex++) {
103 sprite = (
struct ArcSprite *)arc->sprite;
120 sprite->child->frame = 0;
126 arcs[0]->sprite->image.priority = 0;
128 arcs[1]->sprite->image.priority = source->sprite->image.priority;
void BattleFx_FlickerObjectAndTick(union FieldObject *fieldObject)
Per-frame update: flashes an object between sprite param 7 and 0 every 2 frames and spawns the swelli...
void FieldFx_CycleObjectValueByCounter(union FieldObject *fieldObject)
Per-frame update: cycles an object through sprite params 0 to 5, one step every 2 frames,...
void FieldFx_UpdateScaledArcObjectA(union FieldObject *fieldObject)
Per-frame update of arc A: over 32 frames it swells and shrinks again (scale sin(frame / 64 turn)) wh...
void BattleFx_SpawnScaledArcObjects(struct FieldActor *linked)
Spawns the two swelling arcs (object 26) on an object, A and B (B upside down); they follow it for 32...
void FieldFx_UpdateScaledArcObjectB(union FieldObject *fieldObject)
Per-frame update of arc B: arc A upside down, 16 pixels in front of the object and up to 5 pixels nea...
struct ObjectRuntime * Object_CreateFar(s32 id, s32 x, s32 y, s32 z)
Far call to FieldObject_Create.
s32 AnimationObjects_SelectAnimationFar(struct AnimationObject *state, s32 flags)
void ObjectDispatch_InitializeFar(struct DispatchObject *obj, const s32 *script)
void Animation_ApplyChildValuesFar(struct DispatchObject *obj, u32 val)
volatile u32 gFrameCount
Frames WaitFrames has finished.
const s32 gBattleFx_CommonParticleScript[]
[0] only frees the actor, +1 waits for it to arrive and frees it; +3 is gBattleFx_SourceHoldScript,...
void * gEffectWork
Slot 56: points to a scene-specific structure.
What every part of psynergy_effects.c shares: its includes and the macros and types more than one par...
One animation layer of a sprite: its animation id, frames, running script and timer.
An animated sprite: its image and shadow, scale, rotation, size and up to four animation layers.
u8 flags
bits: 1 outlined in ObjectSystemWork's edge and fill colours | 0 shadow drawn (set when created)
u8 slot
VRAM cache entry holding its tiles.
A sprite as the arcs set it up: its three OAM attributes and its bookkeeping.
struct AnimationEntry * child
The work of a Psynergy effect scene: its caster and target, where it takes place, the map state it re...
u16 tileSlot
resource entry holding the spark tiles
void * mainObject
the caster's object
A field object as the object dispatcher's far calls take it.
A field actor: a person or thing on the field with a position, motion toward a target,...
s16 timer
The parameter its action script reads (a follow distance or an angle to face), the player's frames to...
struct FieldActor * linkedObject
The object its action script follows or faces.
u8 motionFlags
ActorMotionFlag bits; zero is free flight in 3D, and 3 is set on creation.
union FieldCoordinate x
16.16 fixed-point pixels
union FieldCoordinate y
16.16 fixed-point pixels
u8 priorityFlags
ActorPriorityFlag bits, read by the scrolling camera.
s32 terrainHeight
16.16 fixed-point pixels
union FieldCoordinate z
16.16 fixed-point pixels
s32 scaleX
16.16 fixed point, 0x10000 full size
s32 scaleY
16.16 fixed point, 0x10000 full size
void(*) update(union FieldObject *object)
Called each frame before the object's script, while the object is live.
u16 offset
bytes from the start of OBJ VRAM
s32 fixed
16.16 fixed-point pixels
An object on the field, read as an actor or as an effect.
s32 Resource_ResetEntry(u32 no)
Frees cache entry no: its blocks go back and the entry is marked free (offset 0xffff).
struct VramBlockCacheEntry gVramBlockCache[]