Prev: 40512 Up: Map Next: 40597
40570: Condition: Is The Container Lit?
Used by the routines at LocationLit and Condition_AVisibleObject.
Tests whether the container the object is inside is lit.
Input
IX Object Data Address e.g. Objects
Output
A Either 255 if this object is not inside a container, or the object ID of the container object
IX Object Data Address of either the input value, or the address of the container object
ContainerLit 40570 PUSH IX If the object is not inside of anything then jump to ContainerLit_Return.
ContainerLit_Fetch 40572 LD A,(IX+1)
40575 CP 255
40577 JR Z,ContainerLit_Return
40579 EX AF,AF' Switch to the shadow register for AF.
40580 LD A,(IX+1) Read where this object is.
40583 CALL LocateObject Call LocateObject to locate object.
40586 LD A,(IX+7) Fetch the objects attributes.
40589 AND %00101000 Jump back to ContainerLit_Fetch if the container is open or broken.
40591 JR NZ,ContainerLit_Fetch
40593 EX AF,AF' Switch back to the "normal" AF register.
ContainerLit_Return 40594 POP IX Restore IX from the stack.
40596 RET Return.
View the equivalent code in;
Prev: 40512 Up: Map Next: 40597