Alchemy

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.

FieldDeclared as
value00u32 value00the object script's address
value04s16 value04the script cursor, in words
unk06u8 unk06[0x2a]facing, position, scales and motion; not named here
value30s32 value30speed limit, 16.16 fixed-point pixels per frame
value34s32 value34acceleration, 16.16 fixed point
unk38u8 unk38[0x18]the target, bounce, gravity and a spare word
child, children, targetunion { struct AnimationObject *child; ///< kind 1 void **children; ///< kind 2: four sprites, empty ones null } target
kindu8 kindlow four bits: 0 no sprite, 1 one, 2 up to four
unk55u8 unk55[2]motion flags and arrival axis; not named here
value57u8 value57the script's last flag test; cleared with a new script
unk58u8 unk58[3]snap, collision and steering flags; not named here
value5bu8 value5bpaused; cleared with a new script
unk5cu8 unk5cnonzero keeps its sprite's VRAM; not named here
value5du8 value5dthe script's SC_LOOP count; cleared with a new script
unk5eu8 unk5e[6]the script's wait, refusals, frozen; not named here
value64s16 value64the action script's parameter; the camera clears it
unk66u8 unk66[2]the player's footprint side; not named here
arguments32 argumentthe linked object a script approaches or follows
unk6cu8 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.

Line 12

Globals, without a comment: gObjectDispatch_KeyCheckScript, gObjectDispatch_KeysScript, gObjectDispatch_PlayerScript, gObjectDispatch_WorldMapScript, gObjectDispatch_CameraScript, gObjectDispatch_ApproachLinkScript, gObjectDispatch_EndScript.

On this page