A field effect: a small object on the field that moves at its velocity and grows and spins at its rates, run by its script and update hook. More...
#include <system/field_effect.h>
Data Fields | |
| u8 | unk00 [8] |
| FieldActor's script pointer, cursor and facing; not named by this view. | |
| s32 | x |
| 16.16 fixed-point pixels | |
| s32 | y |
| 16.16 fixed-point pixels | |
| s32 | z |
| 16.16 fixed-point pixels | |
| u8 | unk14 [4] |
| FieldActor's terrainHeight; not named by this view. | |
| s32 | scaleX |
| 16.16 fixed point, 0x10000 full size | |
| s32 | scaleY |
| 16.16 fixed point, 0x10000 full size | |
| u8 | unk20 [3] |
| FieldActor's radius and terrainId; not named by this view. | |
| u8 | priorityFlags |
| ActorPriorityFlag bits: the spawner clears ACTOR_PRIORITY_AUTOMATIC when EFFECT_USE_PRIORITY sets the sprite's priority. | |
| u8 | unk24 [0x0c] |
| FieldActor's velocityX to velocityZ; effects move by velocity instead. | |
| s32 | scaleRateX |
| Added to scaleX each frame by the update hooks, in 16.16 fixed point a frame; zeroed by the spawner. | |
| s32 | scaleRateY |
| as scaleRateX, for scaleY | |
| u8 | unk38 [0x0c] |
| FieldActor's targetX to targetZ; not named by this view. | |
| struct Vector3 | velocity |
| Added to x, y and z each frame by the update hooks, in 16.16 fixed-point pixels per frame; FieldActor's bounce, gravity and riseBaseY. | |
| struct AnimationObject * | sprite |
| the sprite spin turns | |
| u8 | unk54 |
| FieldActor's spriteStorageKind; not named by this view. | |
| u8 | motionFlags |
| ActorMotionFlag bits; zeroed by the spawner. | |
| u8 | unk56 [3] |
| FieldActor's unk56; not named by this view. | |
| u8 | collisionFlags |
| FieldActor's collisionFlags; not named by this view. | |
| u8 | unk5a [0x0a] |
| FieldActor's steeringFlags to riseEnabled; not named by this view. | |
| u16 | spin |
| Added to the sprite's rotation each frame by the update hooks, in 1/65536 turns per frame; Imil's rising effects keep a drift here instead. | |
| u8 | unk66 [2] |
| FieldActor's work; not named by this view. | |
| s32 | countdown |
| Frames until a scene's update hook releases the effect: 20 for Altin Peak's spray, 60 for Imil's rising effects. | |
| void(*) | update (union FieldObject *object) |
| Called each frame while the effect is live: the spawner sets BattleFx_UpdateObjectMotionScaleAndLinkedAngle, or options.update. | |
A field effect: a small object on the field that moves at its velocity and grows and spins at its rates, run by its script and update hook.
Definition at line 13 of file field_effect.h.
| u8 FieldEffect::unk00[8] |
FieldActor's script pointer, cursor and facing; not named by this view.
Definition at line 15 of file field_effect.h.
| s32 FieldEffect::x |
16.16 fixed-point pixels
Definition at line 16 of file field_effect.h.
Referenced by Effect_AdvanceMotion(), FieldFx_UpdateParticleMotionAndScale(), Fuchin_UpdateDustMotion(), and ImilFuchinFalls_SpawnDust().
| s32 FieldEffect::y |
16.16 fixed-point pixels
Definition at line 17 of file field_effect.h.
Referenced by Effect_AdvanceMotion(), FieldFx_UpdateParticleMotionAndScale(), and ImilFuchinFalls_SpawnDust().
| s32 FieldEffect::z |
16.16 fixed-point pixels
Definition at line 18 of file field_effect.h.
Referenced by Effect_AdvanceMotion(), FieldFx_UpdateParticleMotionAndScale(), and ImilFuchinFalls_SpawnDust().
| u8 FieldEffect::unk14[4] |
FieldActor's terrainHeight; not named by this view.
Definition at line 19 of file field_effect.h.
| s32 FieldEffect::scaleX |
16.16 fixed point, 0x10000 full size
Definition at line 20 of file field_effect.h.
Referenced by Effect_AdvanceMotion(), FieldFx_UpdateParticleMotionAndScale(), and ImilFuchinFalls_SpawnDust().
| s32 FieldEffect::scaleY |
16.16 fixed point, 0x10000 full size
Definition at line 21 of file field_effect.h.
Referenced by Effect_AdvanceMotion(), FieldFx_UpdateParticleMotionAndScale(), and ImilFuchinFalls_SpawnDust().
| u8 FieldEffect::unk20[3] |
FieldActor's radius and terrainId; not named by this view.
Definition at line 22 of file field_effect.h.
| u8 FieldEffect::priorityFlags |
ActorPriorityFlag bits: the spawner clears ACTOR_PRIORITY_AUTOMATIC when EFFECT_USE_PRIORITY sets the sprite's priority.
Definition at line 25 of file field_effect.h.
Referenced by ImilFuchinFalls_SpawnDust().
| u8 FieldEffect::unk24[0x0c] |
FieldActor's velocityX to velocityZ; effects move by velocity instead.
Definition at line 27 of file field_effect.h.
| s32 FieldEffect::scaleRateX |
Added to scaleX each frame by the update hooks, in 16.16 fixed point a frame; zeroed by the spawner.
Definition at line 30 of file field_effect.h.
Referenced by Effect_AdvanceMotion(), Effect_InitializeMotion(), FieldFx_UpdateParticleMotionAndScale(), and ImilFuchinFalls_SpawnDust().
| s32 FieldEffect::scaleRateY |
as scaleRateX, for scaleY
Definition at line 31 of file field_effect.h.
Referenced by Effect_AdvanceMotion(), Effect_InitializeMotion(), FieldFx_UpdateParticleMotionAndScale(), and ImilFuchinFalls_SpawnDust().
| u8 FieldEffect::unk38[0x0c] |
FieldActor's targetX to targetZ; not named by this view.
Definition at line 32 of file field_effect.h.
| struct Vector3 FieldEffect::velocity |
Added to x, y and z each frame by the update hooks, in 16.16 fixed-point pixels per frame; FieldActor's bounce, gravity and riseBaseY.
Definition at line 35 of file field_effect.h.
Referenced by Effect_AdvanceMotion(), Effect_InitializeMotion(), Event_MovePillarSwitchBlock(), FieldFx_UpdateParticleMotionAndScale(), ImilFuchinFalls_SpawnDust(), and VenusLighthouseAerie_CombineSaturosAndMenardi().
| struct AnimationObject* FieldEffect::sprite |
the sprite spin turns
Definition at line 36 of file field_effect.h.
Referenced by BattleFx_ConfigureLinkedObject(), Effect_AdvanceMotion(), FieldFx_UpdateParticleMotionAndScale(), and ImilFuchinFalls_SpawnDust().
| u8 FieldEffect::unk54 |
FieldActor's spriteStorageKind; not named by this view.
Definition at line 37 of file field_effect.h.
| u8 FieldEffect::motionFlags |
ActorMotionFlag bits; zeroed by the spawner.
Definition at line 38 of file field_effect.h.
Referenced by ImilFuchinFalls_SpawnDust().
| u8 FieldEffect::unk56[3] |
FieldActor's unk56; not named by this view.
Definition at line 39 of file field_effect.h.
| u8 FieldEffect::collisionFlags |
FieldActor's collisionFlags; not named by this view.
Definition at line 40 of file field_effect.h.
| u8 FieldEffect::unk5a[0x0a] |
FieldActor's steeringFlags to riseEnabled; not named by this view.
Definition at line 42 of file field_effect.h.
| u16 FieldEffect::spin |
Added to the sprite's rotation each frame by the update hooks, in 1/65536 turns per frame; Imil's rising effects keep a drift here instead.
Definition at line 45 of file field_effect.h.
Referenced by Effect_AdvanceMotion(), Effect_InitializeMotion(), FieldFx_UpdateParticleMotionAndScale(), and Imil_UpdateRisingEffect().
| u8 FieldEffect::unk66[2] |
FieldActor's work; not named by this view.
Definition at line 46 of file field_effect.h.
| s32 FieldEffect::countdown |
Frames until a scene's update hook releases the effect: 20 for Altin Peak's spray, 60 for Imil's rising effects.
Definition at line 49 of file field_effect.h.
Referenced by AltinPeak_DriftSpray(), AltinPeak_ShowFirstBeastRoute(), AltinPeak_SpawnSpray(), AltinPeak_UpdateBeastHops(), Beast_Hop(), Beast_SpawnSpray(), Imil_UpdateRisingEffect(), and Spray_Drift().
| void(*) FieldEffect::update(union FieldObject *object) |
Called each frame while the effect is live: the spawner sets BattleFx_UpdateObjectMotionScaleAndLinkedAngle, or options.update.
Definition at line 52 of file field_effect.h.
Referenced by AltinPeak_SpawnSpray(), ImilFuchinFalls_SpawnDust(), and Vault_SpawnDriftingEffect().