Prev: F1A1 Up: Map Next: F1DF
F1B7: Script Routine: (13) Position put-down entity to the right
Place the put-down entity to the carrier's right.
Input
IX Address of complex state data for an entity
ScriptRoutine_PlacePutDownRight F1B7 BIT 4,(IX+$03) Is bit 04 of flags byte 3 (IX+03) set? If not, jump to AdvanceScriptInstruction.
F1BB JP Z,AdvanceScriptInstruction
F1BE LD A,($72ED) Load A with the saved held-entity width from CameraYCoordinate.
F1C1 LD D,A Copy A into D as a saved coordinate / value.
F1C2 SRL A Shift A right logical.
F1C4 LD E,A Copy A into E as a saved coordinate / value.
F1C5 LD A,$04 Load A with 04.
F1C7 SUB E Subtract E from A.
F1C8 ADD A,(IX+$07) Add the entity byte at offset 07 to A.
This entry point is used by the routine at ScriptRoutine_PlacePutDownLeft.
Write the put-down entity's X, X-extent and room, then continue the script.
ScriptRoutine_PlacePutDownLeft_WritePutDown F1CB LD IY,($72AC) Load IY with the current-entity pointer (Pointer_CurrentEntity).
F1CF LD (IY+$07),A Set the referenced entity's x-coordinate.
F1D2 ADD A,D Add D into A while building a 16-bit entity/screen address.
F1D3 LD (IY+$08),A Set the referenced entity's x-extent.
F1D6 LD A,(IX+$04) Load A with the current entity's room index.
F1D9 LD (IY+$04),A Set the referenced entity's room index.
F1DC JP AdvanceScriptInstruction Jump to AdvanceScriptInstruction to run the next script instruction.
Prev: F1A1 Up: Map Next: F1DF