![]() |
Routines |
| Prev: 26134 | Up: Map | Next: 26175 |
|
Used by the routine at 26175. Returns with the zero flag set if the chair beside the character looking for a seat is already occupied by one of the potential occupants being checked.
|
||||||||||||||||
| 26136 | CALL 26145 | Are any of the first B potential occupants sitting here? | ||||||||||||||
| 26139 | RET Z | Return if so | ||||||||||||||
| 26140 | LD BC,655 | B=2 (BOY WANDER and ANGELFACE), C=143 | ||||||||||||||
| 26143 | LD D,206 | 206=BOY WANDER | ||||||||||||||
|
This entry point also is used by the routine at 26175.
|
||||||||||||||||
| 26145 | LD E,1 | |||||||||||||||
| 26147 | LD A,(DE) | A=x-coordinate of the potential occupant | ||||||||||||||
| 26148 | CP (HL) | Compare with that of the character looking for a seat | ||||||||||||||
| 26149 | JR NZ,26171 | Jump ahead to consider the next potential occupant if they don't match | ||||||||||||||
| 26151 | INC E | E=2 | ||||||||||||||
| 26152 | INC L | L=2 | ||||||||||||||
| 26153 | LD A,(DE) | A=y-coordinate of the potential occupant | ||||||||||||||
| 26154 | DEC E | E=1 | ||||||||||||||
| 26155 | CP (HL) | Compare with the y-coordinate of the character looking for a seat | ||||||||||||||
| 26156 | DEC HL | L=1 | ||||||||||||||
| 26157 | JR NZ,26171 | Jump if the potential occupant is not in the same location as the character looking for a seat | ||||||||||||||
| 26159 | DEC E | E=0 | ||||||||||||||
| 26160 | LD A,(DE) | A=potential occupant's animatory state | ||||||||||||||
| 26161 | AND C | Discard the character-identifying bits and keep only the 'direction' bit and 'action' bits (C=10001111 for BOY WANDER, ANGELFACE or ERIC, and 10000111 for anybody else) | ||||||||||||||
| 26162 | CP 4 | Is the potential occupant sitting in the chair here? | ||||||||||||||
| 26164 | JR NZ,26171 | Jump if not | ||||||||||||||
| 26166 | LD E,18 | Is there an uninterruptible subcommand routine address in bytes 17 and 18 of the potential occupant's buffer? | ||||||||||||||
| 26168 | LD A,(DE) | |||||||||||||||
| 26169 | AND A | |||||||||||||||
| 26170 | RET Z | Return if not | ||||||||||||||
| 26171 | INC D | Next potential occupant to test | ||||||||||||||
| 26172 | DJNZ 26145 | Jump back until done | ||||||||||||||
| 26174 | RET | |||||||||||||||
| Prev: 26134 | Up: Map | Next: 26175 |