Prev: C7C4 Up: Map Next: C7FE
C7DB: Flag Objects Near Arch
Used by the routine at HandleNearArch.
Flags the player and the special objects that are close to an arch, and are flagged to be adjusted near arches, as being near an arch.
Input
H Distance in Y that counts as near
L Distance in X that counts as near
IX Address of the arch object
Flag each nearby object as being near an arch.
FlagObjectsNearArch C7DB LD IY,$5C08 Point IY at the player, ObjectsTable.
C7DF LD DE,$0020 Set DE to the size of an object.
C7E2 LD B,$04 Set the number of objects to 04, which is the player and the special objects.
FlagObjectsNearArch_Next C7E4 LD A,(IY+$00) Fetch the graphic number of the object.
C7E7 AND A Test whether there is an object.
C7E8 JR Z,FlagObjectsNearArch_Advance Jump to FlagObjectsNearArch_Advance if there is not.
C7EA BIT 3,(IY+$07) Jump to FlagObjectsNearArch_Advance if the object is not flagged to be adjusted near arches.
C7EE JR Z,FlagObjectsNearArch_Advance
C7F0 CALL TestNearTo Test whether the object is near the arch.
C7F3 JR NC,FlagObjectsNearArch_Advance Jump to FlagObjectsNearArch_Advance if it is not.
C7F5 SET 0,(IY+$07) Flag the object as being near an arch.
FlagObjectsNearArch_Advance C7F9 ADD IY,DE Point IY at the next object.
C7FB DJNZ FlagObjectsNearArch_Next Jump to FlagObjectsNearArch_Next until all of the objects have been done.
C7FD RET Return.
Prev: C7C4 Up: Map Next: C7FE