object_dispatch.h
games/tbs/include/object_dispatch.h on GitHub
Structures
DispatchObject
struct DispatchObject
A field object as the object dispatcher's far calls take it.
| Field | Declared as | |
|---|---|---|
value00 | u32 value00 | the object script's address |
value04 | s16 value04 | the script cursor, in words |
unk06 | u8 unk06[0x2a] | facing, position, scales and motion; not named here |
value30 | s32 value30 | speed limit, 16.16 fixed-point pixels per frame |
value34 | s32 value34 | acceleration, 16.16 fixed point |
unk38 | u8 unk38[0x18] | the target, bounce, gravity and a spare word |
child, children, target | union { struct AnimationObject *child; ///< kind 1 void **children; ///< kind 2: four sprites, empty ones null } target | |
kind | u8 kind | low four bits: 0 no sprite, 1 one, 2 up to four |
unk55 | u8 unk55[2] | motion flags and arrival axis; not named here |
value57 | u8 value57 | the script's last flag test; cleared with a new script |
unk58 | u8 unk58[3] | snap, collision and steering flags; not named here |
value5b | u8 value5b | paused; cleared with a new script |
unk5c | u8 unk5c | nonzero keeps its sprite's VRAM; not named here |
value5d | u8 value5d | the script's SC_LOOP count; cleared with a new script |
unk5e | u8 unk5e[6] | the script's wait, refusals, frozen; not named here |
value64 | s16 value64 | the action script's parameter; the camera clears it |
unk66 | u8 unk66[2] | the player's footprint side; not named here |
argument | s32 argument | the linked object a script approaches or follows |
unk6c | u8 unk6c[4] | the update hook; not named here |
Used by AltmillerCave_BeginRetreat, Animation_ApplyChildValues, Animation_SetIndexAndInitObjects, BattleActor_DestroyTemporaryObject, BattleCommand_BuildPlan, BattleEffect_ClearAllObjects, BattleEffect_ClearOutOfBoundsObjects, BattleEffect_PauseObject, BattleEffect_RunFallbackObjectTransition, BattleEffect_SpawnBurstParticleField, BattleFx_ClearRandomParticles, BattleFx_FlickerObjectAndTick, BattleFx_InitializeFallingFragment, BattleFx_InitializeRisingObject, BattleFx_ResumeObject, BattleFx_RunAstralBlast, BattleFx_RunCastingImpact, BattleFx_RunDeathPlunge, BattleFx_RunHelmSplitter, BattleFx_RunMercuryDjinnCapture, BattleFx_RunPlanetDiver, BattleFx_RunRagnarok, BattleFx_RunRingAndSparkScene, BattleFx_RunSparkEmitter, BattleFx_RunVenusDjinnCapture, BattleFx_RunVolleyWithAction, BattleFx_SetApproachMotion, BattleFx_SetCallbackWhenTargetUnset, BattleFx_StartEffectObject22, BattleFx_StartItemBreak, BattleFx_StartRandomParticleEmitter, BattleFx_SteerLiftedTarget, BattleFx_SteerPushedTarget, BattleFx_UpdateDescendingOrbitObject, BattleFx_UpdateDescendingParticleNegativeArc, BattleFx_UpdateDescendingParticlePositiveArc, BattleFx_UpdateDriftingFallObject, BattleFx_UpdateOrbitingParticleFade, BattleFx_UpdateOrbitingParticleMain, BattleFx_UpdateShrinkingOrbitObject and 110 more.
Globals, without a comment: gObjectDispatch_KeyCheckScript, gObjectDispatch_KeysScript, gObjectDispatch_PlayerScript, gObjectDispatch_WorldMapScript, gObjectDispatch_CameraScript, gObjectDispatch_ApproachLinkScript, gObjectDispatch_EndScript.