![]() |
Routines |
| Prev: 63744 | Up: Map | Next: 63861 |
|
Continues from 63586. Controls MR WACKER as he walks from the vicinity of the stinkbomb cloud over to the nearest closed window, opens it, and walks back again.
|
||||||||
| 63801 | LD L,21 | Pick up the x-coordinate of the window to be opened from byte 21 of MR WACKER's buffer | ||||||
| 63803 | LD A,(HL) | |||||||
| 63804 | LD L,1 | Byte 1 of MR WACKER's buffer holds his current x-coordinate | ||||||
| 63806 | CP (HL) | Has MR WACKER reached the window yet? | ||||||
| 63807 | JP NZ,25632 | Keep going if not | ||||||
| 63810 | CALL 25012 | Update the SRB for MR WACKER's current animatory state and location | ||||||
| 63813 | OR 7 | A=animatory state of MR WACKER with his arm up | ||||||
| 63815 | CALL 30534 | Place address 63818 (below) into bytes 17 and 18 of MR WACKER's buffer and update his animatory state | ||||||
|
The address of this entry point is placed into bytes 17 and 18 of MR WACKER's buffer by the instruction above when he has reached the window that needs opening.
|
||||||||
| 63818 | LD L,17 | Replace the address of this entry point in bytes 17 and 18 of MR WACKER's buffer with 63830 | ||||||
| 63820 | LD (HL),86 | |||||||
| 63822 | LD B,1 | B=1 (open window) | ||||||
| 63824 | LD L,22 | Pick up the window identifier (64/128) from byte 22 of MR WACKER's buffer | ||||||
| 63826 | LD A,(HL) | |||||||
| 63827 | JP 28863 | Open the window and lower MR WACKER's arm | ||||||
|
This entry point is used after the window has been opened.
|
||||||||
| 63830 | CALL 25012 | Update the SRB for MR WACKER's current animatory state and location | ||||||
| 63833 | XOR 128 | A=animatory state of MR WACKER facing left | ||||||
| 63835 | CALL 30534 | Place address 63838 (below) into bytes 17 and 18 of MR WACKER's buffer and update his animatory state | ||||||
|
This entry point is used after MR WACKER has turned round to begin his return journey from the window.
|
||||||||
| 63838 | LD L,0 | Point HL at byte 0 of MR WACKER's buffer | ||||||
| 63840 | BIT 0,(HL) | Is MR WACKER midstride? | ||||||
| 63842 | JP NZ,25597 | Finish his stride if so | ||||||
| 63845 | LD L,19 | Byte 19 stores MR WACKER's x-coordinate before he went off to the window; pick this up in A | ||||||
| 63847 | LD A,(HL) | |||||||
| 63848 | LD L,1 | Byte 1 of MR WACKER's buffer holds his x-coordinate | ||||||
| 63850 | CP (HL) | Is MR WACKER at his pre-window-opening position? | ||||||
| 63851 | JP NZ,25632 | Continue his return journey if not | ||||||
|
MR WACKER has now returned to the spot where the stinkbomb first offended his nostrils.
|
||||||||
| 63854 | LD L,18 | Remove the routine address (63838 above) from bytes 17 and 18 of MR WACKER's buffer | ||||||
| 63856 | LD (HL),0 | |||||||
| 63858 | JP 30112 | Restore MR WACKER's original animatory state and update SRB | ||||||
| Prev: 63744 | Up: Map | Next: 63861 |