Routines |
Prev: 27954 | Up: Map | Next: 28029 |
Used by the routine at 32062. Returns with the carry flag set if there is an adult nearby who can see ERIC, and A holding the adult's character number. Otherwise returns with the carry flag reset and A holding 0.
|
||||
28002 | LD H,210 | 210=ERIC | ||
This entry point is used by the routines at 30555 (with H=206: BOY WANDER) and 30706 (with H=207: ANGELFACE).
|
||||
28004 | CALL 27886 | Collect in C and B the lower and upper x-coordinates of the 'visibility region' (20 character spaces wide) around the boy | ||
28007 | EXX | |||
28008 | LD H,200 | 200=MR WACKER | ||
28010 | LD B,6 | There are 6 adult characters | ||
28012 | EXX | |||
28013 | CALL 27954 | Find the first adult character inside the visibility region (if any) | ||
28016 | JR C,28025 | Jump if we found one who can see the boy | ||
28018 | AND A | Are there any adult characters left to check? | ||
28019 | RET Z | Return with the carry flag reset if not | ||
28020 | CALL 27980 | We must have found an adult character who is facing the wrong way to see the boy; skip this character and find the next one inside the visibility region | ||
28023 | JR NC,28018 | Jump if there are no others inside the visibility region, or we found another one facing the wrong way | ||
We found an adult character inside the visibility region and facing the right way to see the boy.
|
||||
28025 | EXX | |||
28026 | LD A,H | A=character number of the adult who saw the boy | ||
28027 | EXX | |||
28028 | RET | Return with the carry flag set |
Prev: 27954 | Up: Map | Next: 28029 |