![]() |
Routines |
| D | ERIC's y-coordinate |
| E | x-coordinate of spot in front of ERIC |
| 28315 | LD A,E | A=x-coordinate of spot in front of ERIC |
| 28316 | CP 191 | 191: Is ERIC facing the far right wall of the girls' skool? |
| 28318 | RET NC | Return if so (ERIC can't walk through walls) |
| 28319 | LD HL,32756 | 32756 holds the doors flags |
| 28322 | LD A,D | A=ERIC's y-coordinate |
| 28323 | CP 3 | Is ERIC on the top floor? |
| 28325 | JR NZ,28363 | Jump if not |
| 28327 | LD A,E | A=x-coordinate of spot in front of ERIC |
| 28328 | CP 159 | 159: Is ERIC facing the far wall of the top-floor room in the girls' skool? |
| 28330 | RET Z | Return if so |
| 28331 | CP 92 | 92: Is ERIC facing the window on the top floor of the boys' skool? |
| 28333 | RET Z | Return if so |
| 28334 | CP 72 | 72: Is ERIC facing the head's left study door? |
| 28336 | JR NZ,28341 | Jump if not |
| 28338 | BIT 0,(HL) | Is the head's left study door closed? |
| 28340 | RET Z | Return if so |
| 28341 | CP 83 | 83: Is ERIC facing the head's right study door? |
| 28343 | JR NZ,28348 | Jump if not |
| 28345 | BIT 1,(HL) | Is the head's right study door closed? |
| 28347 | RET Z | Return if so |
| 28348 | LD A,(53760) | A=ERIC's animatory state |
| 28351 | LD C,E | Copy the coordinates of the spot in front of ERIC (his post-midstride coordinates) from DE to BC |
| 28352 | LD B,D | |
| 28353 | BIT 7,A | Is ERIC facing right? |
| 28355 | JR NZ,28359 | Jump if so |
| 28357 | INC E | |
| 28358 | INC E | |
| 28359 | DEC E | Set E to ERIC's current x-coordinate (which will also be his midstride x-coordinate) |
| 28360 | JP 28114 | Put ERIC midstride |
| 28363 | CP 10 | Is ERIC on the middle floor? |
| 28365 | JR NZ,28397 | Jump if not |
| 28367 | LD A,E | A=x-coordinate of spot in front of ERIC |
| 28368 | CP 159 | 159: Is ERIC facing the far wall of the middle-floor classroom in the girls' skool? |
| 28370 | RET Z | Return if so |
| 28371 | CP 94 | 94: Is ERIC facing the window on the middle floor of the boys' skool? |
| 28373 | RET Z | Return if so |
| 28374 | CP 63 | 63: Is ERIC facing the far wall of the science lab storeroom? |
| 28376 | RET Z | Return if so |
| 28377 | CP 84 | 84: Is ERIC about to descend the stairs from the middle floor to the stage? |
| 28379 | JR NZ,28385 | Jump if not |
| 28381 | INC E | E=85 (ERIC's current x-coordinate) |
| 28382 | JP 28606 | Start moving ERIC down a stair |
| 28385 | CP 54 | 54: Is ERIC facing the science lab storeroom door? |
| 28387 | JR NZ,28348 | Jump if not |
| 28389 | BIT 2,(HL) | Is the science lab storeroom door closed? |
| 28391 | JP Z,29681 | Jump if so (and open it if ERIC has the key) |
| 28394 | RET Z | Return if the door/gate is (still) closed |
| 28395 | JR 28348 | Otherwise move ERIC forward |
| 28397 | CP 17 | Is ERIC on the bottom floor? |
| 28399 | LD A,E | A=x-coordinate of spot in front of ERIC |
| 28400 | JR NZ,28421 | Jump if not |
| 28402 | CALL 29030 | Let ERIC go no further if ALBERT's in his way |
| 28405 | LD A,E | A=x-coordinate of spot in front of ERIC |
| 28406 | CP 94 | 94: Is ERIC facing the boys' skool door? |
| 28408 | JR NZ,28413 | Jump if not |
| 28410 | BIT 3,(HL) | Is the boys' skool door closed? |
| 28412 | RET Z | Return if so |
| 28413 | CP 133 | 133: Is ERIC facing the skool gate? |
| 28415 | JR NZ,28348 | Jump if not |
| 28417 | BIT 4,(HL) | Is the skool gate closed? |
| 28419 | JR 28394 | Jump back and return if so |
| 28421 | CP 82 | 82: IS ERIC about to ascend the stairs from the stage to the middle floor? |
| 28423 | JR NZ,28429 | Jump if not |
| 28425 | DEC E | E=81 (ERIC's current x-coordinate) |
| 28426 | JP 28514 | Start moving ERIC up a stair |
| 28429 | CP 76 | 76: IS ERIC about to jump off the stage? |
| 28431 | JP Z,28305 | Jump if so to deal with ERIC's descent to the floor |
| 28434 | JR 28348 | Otherwise move ERIC forward |