Prev: 61857 Up: Map Next: 61919
61879: Script Routine: (19) 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 61879 BIT 4,(IX+3) Is bit 4 of flags byte 3 (IX+3) set? If not, jump to AdvanceScriptInstruction.
61883 JP Z,AdvanceScriptInstruction
61886 LD A,(29421) Load A with the saved held-entity width from CameraYCoordinate.
61889 LD D,A Copy A into D as a saved coordinate / value.
61890 SRL A Shift A right logical.
61892 LD E,A Copy A into E as a saved coordinate / value.
61893 LD A,4 Load A with 4.
61895 SUB E Subtract E from A.
61896 ADD A,(IX+7) Add the entity byte at offset 7 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 61899 LD IY,(29356) Load IY with the current-entity pointer (Pointer_CurrentEntity).
61903 LD (IY+7),A Set the referenced entity's x-coordinate.
61906 ADD A,D Add D into A while building a 16-bit entity/screen address.
61907 LD (IY+8),A Set the referenced entity's x-extent.
61910 LD A,(IX+4) Load A with the current entity's room index.
61913 LD (IY+4),A Set the referenced entity's room index.
61916 JP AdvanceScriptInstruction Jump to AdvanceScriptInstruction to run the next script instruction.
Prev: 61857 Up: Map Next: 61919