![]() |
Routines |
| Prev: 46207 | Up: Map | Next: 46335 |
| H | 152 (boy) or 164 (teacher) |
| 46312 | CALL 25108 | Update SRB for the character's current location |
| 46315 | INC A | A=character's next animatory state |
| 46316 | LD C,A | Store this in C |
| 46317 | RRCA | Set the carry flag if this animatory state is midstride |
| 46318 | LD A,C | Restore the next animatory state to A |
| 46319 | JR C,46329 | Jump if the character will be midstride |
|
The character will be moving from the midstride position, so move him one space forward.
|
||
| 46321 | INC E | Increment the character's x-coordinate |
| 46322 | AND 3 | Keep only the walking phase identifier bits of the animatory state (bits 0-1) |
| 46324 | LD A,C | Restore the next animatory state to A again |
| 46325 | JR NZ,46329 | Jump if the next animatory state is standing/walking phase 3 |
| 46327 | SUB 4 | Reset the animatory state to standing/walking phase 1 |
|
Now A holds the character's new animatory state, and E his x-coordinate.
|
||
| 46329 | CALL 25008 | Update the character's animatory state and location and update SRB |
| 46332 | JP 27026 | Update the display |
| Prev: 46207 | Up: Map | Next: 46335 |