![]() |
Routines |
| ID | Door | Command lists | 8 | Boys' skool door | 76, 78 | 16 | Skool gate | 76, 78 | 32 | Drinks cabinet door | 22, 24 26, 28 |
|---|
| 0 | Close it | 1 | Open it |
| H | 204 (MISS TAKE) or 205 (ALBERT) |
| 29052 | LD L,3 | Replace the address of this routine in bytes 3 and 4 of the character's buffer with that of 29061 (below) |
| 29054 | LD (HL),133 | |
| 29056 | LD L,19 | Copy the door identifier and open/close parameter from the command list into bytes 19 and 20 of the character's buffer |
| 29058 | CALL 25188 | |
| 29061 | LD L,19 | |
| 29063 | LD A,(HL) | A=door identifier |
| 29064 | CP 8 | Is it the boys' skool door? |
| 29066 | JR NZ,29101 | Jump if not |
| 29068 | LD A,(54017) | A=x-coordinate of the bike |
| 29071 | CP 94 | 94: Is the bike in the boys' skool? |
| 29073 | JR C,29087 | Jump if so |
| 29075 | LD DE,4448 | (E,D)=(96,17) |
| 29078 | CP E | Set the carry flag if the bike is blocking the way |
| 29079 | LD A,(54016) | A=bike's animatory state |
| 29082 | CALL C,26496 | Move the bike to the location in DE if it's blocking the boys' skool door or the skool gate |
| 29085 | LD H,205 | 205=ALBERT |
| 29087 | LD L,4 | Remove the address of this routine from bytes 3 and 4 of the character's buffer |
| 29089 | LD (HL),0 | |
| 29091 | JP 28840 | Open or close the door |