Prev: EF82 Up: Map Next: EFB0
EF8C: Script Routine: (02) Move entity left one character
Shift the current entity one character left.
Input
IX Address of complex state data for an entity
ScriptRoutine_MoveLeft EF8C DEC (IX+$07) Move this entity one character left.
EF8F DEC (IX+$08)
EF92 BIT 4,(IX+$03) Is bit 04 of flags byte 3 (IX+03) set? If not, jump to Script_MoveLeft_TestBit3.
EF96 JR Z,Script_MoveLeft_TestBit3
EF98 LD IY,($72AC) Load IY with the current-entity pointer (Pointer_CurrentEntity).
EF9C DEC (IY+$07) Move the referenced entity one character left.
EF9F DEC (IY+$08)
EFA2 JP AdvanceScriptInstruction Jump to AdvanceScriptInstruction to run the next script instruction.
If the entity is locked to a linked partner (bit 03), scan collisions with code 82.
Script_MoveLeft_TestBit3 EFA5 BIT 3,(IX+$03) Is bit 03 of flags byte 3 (IX+03) set? If not, jump to AdvanceScriptInstruction.
EFA9 JP Z,AdvanceScriptInstruction
EFAC LD A,$82 Load A with 82.
EFAE JR Script_MoveHorizontal_ScanCollisions Jump to Script_MoveHorizontal_ScanCollisions to continue this routine.
View the equivalent code in;
Prev: EF82 Up: Map Next: EFB0