Prev: C082 Up: Map Next: C0BE
C099: Is an object near a point?
Used by the routines at FIRST_PILLAR and CHK_PLYR_NEAR_ARCH.
Carry set if the object's U, V and Z are all within the limits of the point: strictly less than L in U, H in V and 4 in Z. As Knight Lore's is_near_to.
Input
IX a record whose +$09 to +$0B hold the point's U, V and Z
IY the object
L the limit in U
H the limit in V
Output
F carry set if near
IS_NEAR_TO C099 LD A,(IX+$09) U
C09C SUB (IY+$01)
C09F JR NC,IS_NEAR_TO_0
C0A1 NEG
IS_NEAR_TO_0 C0A3 CP L
C0A4 RET NC
C0A5 LD A,(IX+$0A) V
C0A8 SUB (IY+$02)
C0AB JR NC,IS_NEAR_TO_1
C0AD NEG
IS_NEAR_TO_1 C0AF CP H
C0B0 RET NC
C0B1 LD A,(IX+$0B) Z: within 4 sets the carry
C0B4 SUB (IY+$03)
C0B7 JR NC,IS_NEAR_TO_2
C0B9 NEG
IS_NEAR_TO_2 C0BB CP $04
C0BD RET
Prev: C082 Up: Map Next: C0BE