![]() |
Routines |
| Prev: F1A1 | Up: Map | Next: F1DF |
|
Place the put-down entity to the carrier's right.
|
||||||||
| 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 |