![]() |
Routines |
Prev: 645F | Up: Map |
Used by the routine at 63BE when the character under consideration is on the bottom floor but is destined for another floor.
|
||||||||||||||||
6464 | LD A,(HL) | A=destination y-coordinate | ||||||||||||||
6465 | CP $A2 | Set the zero flag if the character is going to the middle floor | ||||||||||||||
6467 | LD A,$26 | This is the x-coordinate of the wall between the White and Exam Rooms | ||||||||||||||
6469 | JR Z,$646D | Jump if the character is going to the middle floor | ||||||||||||||
646B | LD A,$39 | This is the x-coordinate of the wall between the Map and Reading Rooms | ||||||||||||||
646D | INC L | Set the carry flag if the character is destined for some place to the right of the wall referred to by A | ||||||||||||||
646E | CP (HL) | |||||||||||||||
646F | LD A,$46 | This is the x-coordinate of the bottoms of the staircases at the right of the skool | ||||||||||||||
6471 | JR C,$6475 | Jump if the character must go to a staircase on the right | ||||||||||||||
6473 | LD A,$13 | This is the x-coordinate of the bottoms of the staircases at the left of the skool | ||||||||||||||
6475 | CP E | Is the character at the bottom of the staircase he must climb? | ||||||||||||||
6476 | JP NZ,$641B | Jump if not (to send the character there) | ||||||||||||||
6479 | LD L,$60 | Byte 0x60 of the character's buffer holds his animatory state | ||||||||||||||
647B | BIT 0,(HL) | Is the character midstride? | ||||||||||||||
647D | JP NZ,$641B | Jump if so (to finish the stride) | ||||||||||||||
6480 | CP $30 | Is the character at the bottom of a staircase at the right of the skool? | ||||||||||||||
6482 | JR NC,$648B | Jump if so | ||||||||||||||
6484 | BIT 7,(HL) | Is the character facing right? | ||||||||||||||
6486 | JP NZ,$640F | Turn him round if so | ||||||||||||||
6489 | JR $6490 | |||||||||||||||
648B | BIT 7,(HL) | Is the character facing left? | ||||||||||||||
648D | JP Z,$640F | Turn him round if so | ||||||||||||||
6490 | LD C,$8C | Set BC=638C (guide character up stairs) and place this interruptible subcommand routine address into bytes 0x69 and 0x6A of the character's buffer | ||||||||||||||
6492 | JP $6419 |
Prev: 645F | Up: Map |