7#define GROWTH_PARTICLE_MAX 24
8#define GROWTH_PARTICLE_OBJECT 284
9#define GROWTH_FALL_OBJECT 217
10#define GROWTH_FALL_LAST 4
99 }
while (remainingObjects >= 0);
114 caster =
work->mainObject;
124 if (work->
angle == 0x4000) {
127 }
else if (work->
angle == 0xc000) {
148 particle->
scaleY = 0xb333;
149 particle->
scaleX = 0xb333;
151 particle->
speed = 0x18000;
162 if (work->
angle == 0xc000)
175#undef GROWTH_PARTICLE_MAX
176#undef GROWTH_PARTICLE_OBJECT
177#undef GROWTH_FALL_OBJECT
178#undef GROWTH_FALL_LAST
void ObjectDispatch_SetSingleChildFlagsFar(struct DispatchObject *obj, u32 flags)
void ObjectDispatch_SelectAnimationFar(void *raw, s32 no)
void ObjectDispatch_InitializeFar(struct DispatchObject *obj, const s32 *script)
void Object_SetMoveTargetFar(struct ObjectRuntime *object, s32 x, s32 y, s32 z)
void Animation_ApplyChildValuesFar(struct DispatchObject *obj, u32 val)
void AudioCommand_PlayFar(s32 id)
@ ACTOR_PRIORITY_UNDERFOOT
The depth sort treats it as 320 pixels higher on the screen.
@ ACTOR_FALLS
falls by its gravity and bounces
void WaitFrames(s32 frames)
The game's frame loop: runs frames frames and returns.
const s32 gBattleFx_BurstParticleObjectScript[]
Word +4 is gBattleFx_HeavyImpactScript.
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.
#define SET_VECTOR(v, x, y, z)
Sets the x, y and z of a three-part vector: a position about to be projected, a per-frame step,...
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,...
u32 Random16(void)
Advances the game's random number generator (the C library's classic linear congruential one),...
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 ...
#define GROWTH_FALL_OBJECT
falling object
#define GROWTH_PARTICLE_OBJECT
particle object
void BattleEffect_SpawnBurstParticleField(void)
Sends 24 particles, one every 2 frames, from in front of the caster to points round the effect's posi...
#define GROWTH_FALL_LAST
five falling objects, 0 to 4
void FieldFx_RunGrowthOnTarget(s32 unused)
Particles round the target, which takes the sprite priority of the ground under it.
#define GROWTH_PARTICLE_MAX
particles round the target
void FieldFx_RunGrowth(void)
The particles, then five falling objects 4 to 10 pixels round the effect's position.
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 * child
the target's object, or NULL
s32 x
16.16 fixed-point pixels
s32 z
16.16 fixed-point pixels
A point Growth works out round the effect's position.
A particle's sprite, seen as its two parts' attributes, which Growth copies from the first to the sec...
struct BurstParticleVisual child
struct BurstParticleVisual primary
A particle sprite's attributes.
union BurstParticleVisual::@126276175202327065265047147273232301312011235242 attributes
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,...
s32 speed
speed limit, 16.16 fixed-point pixels per frame
u16 radius
Collision radius in pixels: 16, or half the sprite metadata's boxY, when created; the overlap checks ...
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
union FieldCoordinate z
16.16 fixed-point pixels
s32 acceleration
Added toward the target each frame, or taken off the speed when there is none, in 16....
s32 scaleX
16.16 fixed point, 0x10000 full size
s32 scaleY
16.16 fixed point, 0x10000 full size
u16 work
The side of the player's next footprint (2 after a stop), or scene scratch.
u8 collisionFlags
bits: 7 refuses to move into a solid object | 4 nearer for Psynergy targets | 3 never a talk or Psyne...
One of the 64 field objects in the object pool (heap slot 5): its script, position,...
struct BurstParticleVisual::@126276175202327065265047147273232301312011235242::@317272372153265270346004241356334055115007313341 bits
struct BurstParticleVisual::@126276175202327065265047147273232301312011235242::@305217217245255163100005303332215165247335037335 bytes
s32 fixed
16.16 fixed-point pixels