The whole 0x70-byte slot as SC_SET, SC_ADD and SC_CMP see it: each field is one work value (enum ScriptWork in objcmd.h), reached through gScript_OperandHandlerTable, and named for what the engine keeps there.
More...
|
| u32 | scriptAddress |
| | SW_SCRIPT; an add steps it by whole words.
|
| u16 | cursor |
| | SW_CURSOR, compared as signed.
|
| u16 | facing |
| | SW_FACING, and work values 2 and 4.
|
| u32 | x |
| | SW_X, 16.16 fixed-point pixels.
|
| u32 | y |
| | SW_Y.
|
| u32 | z |
| | SW_Z.
|
| u32 | terrainHeight |
| | SW_GROUND.
|
| u32 | scaleX |
| | SW_SCALE_X, 16.16 fixed point.
|
| u32 | scaleY |
| | SW_SCALE_Y, and work value 0x0b.
|
| u16 | radius |
| | SW_RADIUS, in pixels; compared as signed.
|
| u8 | padding22 [2] |
| | the layer and priority flags; no work value
|
| u32 | velocityX |
| | SW_VELOCITY_X, 16.16 fixed-point pixels per frame.
|
| u32 | velocityY |
| | SW_VELOCITY_Y.
|
| u32 | velocityZ |
| | SW_VELOCITY_Z.
|
| u32 | speedLimit |
| | SW_SPEED.
|
| u32 | acceleration |
| | SW_ACCEL.
|
| u32 | targetX |
| | SW_TARGET_X; 0x80000000 when unset.
|
| u32 | targetY |
| | SW_TARGET_Y.
|
| u32 | targetZ |
| | SW_TARGET_Z.
|
| u32 | bounce |
| | SW_BOUNCE, or a floating object's phase.
|
| u32 | gravity |
| | SW_GRAVITY.
|
| u32 | sceneWord |
| | Work value 0x17: the word FieldObject_Create zeroes and only scene code reads.
|
| u32 | sprite |
| | work value 0x18: the sprite, or its list of four
|
| u8 | spriteStorageKind |
| | work value 0x19: 0 hidden, 1 one, 2 a group
|
| u8 | motionFlags |
| | SW_MOTION, ActorMotionFlag bits.
|
| u8 | arrivalAxis |
| | SW_ARRIVAL.
|
| u8 | conditionResult |
| | SW_RESULT, the last test; every compare sets it.
|
| u8 | snapToTarget |
| | SW_SNAP.
|
| u8 | collisionFlags |
| | SW_COLLISION.
|
| u8 | steeringFlags |
| | SW_STEERING.
|
| u8 | paused |
| | SW_PAUSED.
|
| u8 | byte5c |
| | keeps the sprite's VRAM; no work value
|
| u8 | repeatCount |
| | SW_REPEAT, SC_LOOP's count.
|
| u16 | wait |
| | SW_WAIT, compared as signed.
|
| u8 | refused |
| | ScriptInterpreter.refused; no work value.
|
| u8 | frozen |
| | ScriptMotionObject.frozen; no work value.
|
| u8 | sceneByte62 |
| | work value 0x27, kept by scene code
|
| u8 | sceneByte63 |
| | work value 0x28, kept by scene code
|
| s16 | actionParameter |
| | work value 0x23, what its action script reads
|
| s16 | footprintSide |
| | work value 0x24, or scene scratch
|
| u32 | linkedObject |
| | work value 0x25, the object it follows or faces
|
| u32 | hook |
| | SW_HOOK, the routine run each frame.
|
The whole 0x70-byte slot as SC_SET, SC_ADD and SC_CMP see it: each field is one work value (enum ScriptWork in objcmd.h), reached through gScript_OperandHandlerTable, and named for what the engine keeps there.
The types are the widths the handlers read, not the engine's own.
Definition at line 49 of file script.h.