Prev: 8E85 Up: Map Next: 8EEC
8ED2: Action: Locate And Follow
Used by the routine at Action_CarryOnWithTheObject.
Finds where the object is. An open container is followed to the object inside, and that location is returned.
Action_LocateAndFollow 8ED2 PUSH IX Call LocateObject to locate the object.
Find the object's record.
8ED4 CALL LocateObject
Action_LocateAndFollow_Direction_Loop 8ED7 LD A,(IX+$01) Read where this object is from the object record.
8EDA CP $FF Jump to Action_LocateAndFollow_PopTheRecord if this object is not inside another object.
8EDC JR Z,Action_LocateAndFollow_PopTheRecord
Find the object's record.
8EDE CALL LocateObject Call LocateObject to locate object.
8EE1 BIT 5,(IX+$07) Jump back to Action_LocateAndFollow_Direction_Loop if the object is open.
8EE5 JR NZ,Action_LocateAndFollow_Direction_Loop
8EE7 OR $01 Clear the zero flag.
Action_LocateAndFollow_PopTheRecord 8EE9 POP IX Restore IX from the stack.
8EEB RET Return.
Prev: 8E85 Up: Map Next: 8EEC