![]() |
Routines |
Prev: 25695 | Up: Map | Next: 25749 |
BC | 25404 |
DE | Character's coordinates |
H | Character number (152-169) |
L | 101 |
25700 | LD A,(HL) | A=y-coordinate of destination |
25701 | CP 162 | 162=middle floor |
25703 | LD A,38 | 38=x-coordinate of the wall between the White and Exam Rooms |
25705 | JR Z,25709 | Jump if the character is going to the middle floor |
25707 | LD A,57 | 57=x-coordinate of the wall between the Map and Reading Rooms |
25709 | INC L | Set the carry flag if the character is destined for some place to the right of the wall referred to by A |
25710 | CP (HL) | |
25711 | LD A,70 | 70=x-coordinate of the bottoms of the staircases at the right of the skool |
25713 | JR C,25717 | Jump if the character must go to a staircase on the right |
25715 | LD A,19 | 19=x-coordinate of the bottoms of the staircases at the left of the skool |
25717 | CP E | Is the character at the bottom of the staircase he must climb? |
25718 | JP NZ,25627 | Jump if not (to send the character there) |
25721 | LD L,96 | Byte 96 of the character's buffer holds his animatory state |
25723 | BIT 0,(HL) | Is the character midstride? |
25725 | JP NZ,25627 | Jump if so (to finish the stride) |
25728 | CP 48 | Is the character at the bottom of a staircase at the right of the skool? |
25730 | JR NC,25739 | Jump if so |
25732 | BIT 7,(HL) | Is the character facing right? |
25734 | JP NZ,25615 | Turn him round if so |
25737 | JR 25744 | |
25739 | BIT 7,(HL) | Is the character facing left? |
25741 | JP Z,25615 | Turn him round if so |
25744 | LD C,140 | Set BC=25484 (guide character up stairs) and place this routine address into bytes 105 and 106 of the character's buffer |
25746 | JP 25625 |
Prev: 25695 | Up: Map | Next: 25749 |