- Opcode: 0x085
- Short name: CTURNL
- Long name: Turn Character
Argument
none
Stack
Angle to face
Duration of turn (frames)
CTURNL
Description
Turns this entity to face an absolute angle over the given number of frames. The handler pops the duration first (byte, stored at entity+578) and the target angle second (word, entity+478); it records the current facing (entity+577) as the start angle (entity+476) and marks the turn active (entity+580 = 2). If the angular distance exceeds 128 (half of the 256-unit circle) it offsets the target by ±256 so the rotation always takes the shorter way around. Returns 1 while turning and 2 once complete.
Note that Final Fantasy 8 uses 256 degree circles. Degrees 0 and 256 are defined as down, 64 right, 128 up, 192 left.
In the PC executable SCRIPT_CTURNL is byte-for-byte identical to SCRIPT_CTURNR: both take the shortest rotational path, so the R/L (right/left) distinction has no effect. For a guaranteed turn direction use CLOCKWISETURN / COUNTERCLOCKWISETURN instead.
PC handler: SCRIPT_CTURNL.
Function addresses
| Function | Address | Description |
|---|---|---|
SCRIPT_CTURNL | 0x5274C0 | Field script opcode handler (verified IDA function) |
SCRIPT_CTURNR | 0x5273F0 | Byte-for-byte identical handler, see CTURNR |