Prev: D5F4 Up: Map Next: D61D
D601: Script Routine: (38) Collectible action
Slide the collectible right when the cell above is clear.
Input
IX Address of complex state data for an entity
ScriptRoutine_CollectibleIncXIfClearAbove D601 CALL Test_EntityAbove Call Test_EntityAbove to test whether a solid entity sits above.
D604 JR C,ScriptRoutine_CollectibleIncXIfClearAbove_IncX Is the space above clear (carry set)? If so, jump to ScriptRoutine_CollectibleIncXIfClearAbove_IncX.
D606 CP $32 Is A less than 32? If so, jump to ScriptRoutine_CollectibleIncXIfClearAbove_IncX.
D608 JR C,ScriptRoutine_CollectibleIncXIfClearAbove_IncX
D60A SET 0,(IX+$09) Set bit 00 of the current entity's direction / state.
D60E LD HL,$D3D6 Point HL at the dialogue/message table (D3D6).
D611 JP ScriptInstruction Jump to ScriptInstruction to execute the script instruction at HL.
Nudge the collectible one character right when the space above is clear (or close).
ScriptRoutine_CollectibleIncXIfClearAbove_IncX D614 INC (IX+$07) Move this entity one character right.
D617 INC (IX+$08)
D61A JP AdvanceScriptInstruction Jump to AdvanceScriptInstruction to run the next script instruction.
Prev: D5F4 Up: Map Next: D61D