Routines |
Prev: 28155 | Up: Map | Next: 28214 |
Called from the main loop at 63210 when ERIC is midstride or just about to finish an action (such as firing the water pistol or bending over to catch a mouse).
|
||||
28160 | LD H,210 | 210=ERIC | ||
28162 | CALL 25012 | Update the SRB for ERIC's current animatory state (midstride) and location | ||
28165 | LD L,3 | A=ERIC's post-midstride/post-action animatory state | ||
28167 | LD A,(HL) | |||
28168 | INC L | Collect ERIC's post-midstride/post-action coordinates in DE | ||
28169 | LD E,(HL) | |||
28170 | INC L | |||
28171 | LD D,(HL) | |||
This entry point is used by the routines at 23808 and 64259 with H=210 (ERIC).
|
||||
28172 | CALL 24880 | Update ERIC's animatory state and location and update the SRB | ||
28175 | CALL 29012 | Make a sound effect | ||
This entry point is used by the routine at 31723 with H=210 (ERIC).
|
||||
28178 | LD L,0 | Point HL at byte 0 of ERIC's buffer | ||
28180 | LD A,(32767) | A=leftmost column of the play area on screen | ||
28183 | BIT 7,(HL) | Check the 'direction' bit of ERIC's animatory state | ||
28185 | LD L,1 | Byte 1 of ERIC's buffer holds his x-coordinate | ||
28187 | JR Z,28202 | Jump if ERIC's facing left | ||
ERIC is facing right. Check whether the screen should be scrolled left.
|
||||
28189 | CP 160 | Return if the whole of the girls' skool is on-screen (no need to scroll) | ||
28191 | RET Z | |||
28192 | SUB (HL) | Return if ERIC is 1-21 spaces from the left edge of the screen (no need to scroll); note that this doesn't handle the case where ERIC's x-coordinate is 0, which is a bug | ||
28193 | CP 235 | |||
28195 | RET NC | |||
28196 | CALL 25248 | Update the display | ||
28199 | JP 25026 | Scroll the screen to the left | ||
ERIC is facing left. Check whether the screen should be scrolled right.
|
||||
28202 | AND A | Is the far left wall of the boys' skool on-screen? | ||
28203 | RET Z | Return if so (no need to scroll the screen) | ||
28204 | SUB (HL) | Is ERIC more than 9 character spaces from the left edge of the screen? | ||
28205 | CP 247 | |||
28207 | RET C | Return if so (no need to scroll the screen) | ||
28208 | CALL 25248 | Update the display | ||
28211 | JP 25080 | Scroll the screen to the right |
Prev: 28155 | Up: Map | Next: 28214 |