![]() |
Routines |
| Prev: 28085 | Up: Map | Next: 28155 |
|
Used by the routines at 28315 and 28484. Puts ERIC midstride after 'Q' (up), 'A' (down), 'O' (left) or 'P' (right) was pressed.
|
||||||
| 28114 | PUSH DE | Save ERIC's midstride coordinates temporarily | ||||
| 28115 | LD HL,53765 | Point HL at byte 5 of ERIC's buffer | ||||
| 28118 | LD (HL),B | Place ERIC's post-midstride coordinates into bytes 4 and 5 of his buffer | ||||
| 28119 | DEC L | |||||
| 28120 | LD (HL),C | |||||
| 28121 | CALL 25012 | Update the SRB for ERIC's current animatory state and location | ||||
| 28124 | POP DE | Restore ERIC's midstride coordinates to DE | ||||
| 28125 | LD L,3 | |||||
| 28127 | INC A | A=ERIC's next animatory state (midstride) | ||||
| 28128 | PUSH AF | Save this briefly | ||||
| 28129 | INC A | A=ERIC's post-midstride animatory state | ||||
| 28130 | AND 250 | |||||
| 28132 | LD (HL),A | Store this in byte 3 of ERIC's buffer | ||||
| 28133 | POP AF | A=ERIC's next animatory state (midstride) | ||||
| 28134 | CALL 24880 | Update ERIC's animatory state (to midstride) and location and update the SRB | ||||
| 28137 | LD L,4 | 4=small value for ERIC's main action timer (fast) | ||||
| 28139 | LD A,(32753) | 32753 holds the keypress table offset of the last key pressed | ||||
| 28142 | BIT 3,A | Was the last key pressed upper case (fast)? | ||||
| 28144 | JR Z,28148 | Jump if so | ||||
| 28146 | LD L,9 | 9=large value for ERIC's main action timer (slow) | ||||
| 28148 | LD H,L | Initialise ERIC's main action timer at 32755 and the midstride/mid-action timer at 32754 to the same value | ||||
| 28149 | LD (32754),HL | |||||
| 28152 | JP 29012 | Make a walking sound effect | ||||
| Prev: 28085 | Up: Map | Next: 28155 |