|  | Routines | 
| Prev: 35523 | Up: Map | Next: 35687 | 
| 
Used by the routine at 35735.
 
 | ||||||||
| 35577 | LD A,(34218) | If Drutt's current room... | ||||||
| 35580 | CP (IX+0) | ...is not the same as Berk's current room... | ||||||
| 35583 | JP NZ,35786 | ...then jump to 35786 (terminate Berk's flight, or have him (turn to) face out of screen as appropriate) | ||||||
| 35586 | LD A,(IX+11) | Reset Berk's walking-right, walking-left, unused-(11,2) and unused-(11,3) flags... | ||||||
| 35589 | AND 240 | ... | ||||||
| 35591 | LD (IX+11),A | ... | ||||||
| 35594 | LD E,(IX+9) | Load Berk's flags into E | ||||||
| 35597 | LD IY,(34242) | Load IY with address of complex state data (current level) for Drutt | ||||||
| 35601 | LD A,(IY+7) | Load A with x-coordinate of Drutt's right side... | ||||||
| 35604 | INC A | ...and increase by one | ||||||
| 35605 | CP (IX+5) | If x-coordinate of Berk's left side is greater than this (i.e. Drutt is to the left of Berk)... | ||||||
| 35608 | JR C,35653 | ...then skip ahead to 35653 | ||||||
| 35610 | LD A,(IX+7) | Load A with x-coordinate of Berk's right side | ||||||
| 35613 | INC A | Increase A by one | ||||||
| 35614 | CP (IY+5) | If x-coordinate of Drutt's left side is greater than this (i.e. Drutt is to the right of Berk)... | ||||||
| 35617 | JR C,35670 | ...then skip ahead to 35670 | ||||||
| 
Drutt is between Berk's left and right sides
 | ||||||||
| 35619 | LD A,(IY+1) | If Drutt's depth is 1... | ||||||
| 35622 | CP 1 | ... | ||||||
| 35624 | JP Z,35642 | ...then skip ahead to 35642 | ||||||
| 
Drutt is behind Berk
 | ||||||||
| 35627 | LD A,E | Load A with Berk's flags | ||||||
| 35628 | AND 14 | If Berk's facing-into-screen, facing-left and facing-right flags are all reset... | ||||||
| 35630 | JP Z,35636 | ...then skip ahead to 35636 | ||||||
| 
Drutt is behind Berk and at least one of Berk's facing-into-screen, facing-left and facing-right flags is set
 | ||||||||
| 35633 | JP 35815 | Point HL at script data for Berk facing into screen, ready to respond to control input and execute | ||||||
| 
Drutt is behind Berk and Berk's facing-into-screen, facing-left and facing-right flags are all reset
 | ||||||||
| 35636 | LD HL,35105 | Point HL at script data for Berk turning (facing out of screen to facing into screen)... | ||||||
| 35639 | JP 48098 | ...and execute | ||||||
| 
Drutt is in front of Berk
 | ||||||||
| 35642 | BIT 1,E | If Berk's facing-into-screen flag is reset... | ||||||
| 35644 | JP Z,35821 | ...then point HL at script data for Berk facing out of screen, ready to respond to control input and execute | ||||||
| 
Drutt is in front of Berk and Berk's facing-into-screen flag is set
 | ||||||||
| 35647 | LD HL,35073 | Point HL at script data for Berk turning (facing into screen to facing out of screen)... | ||||||
| 35650 | JP 48098 | ...and execute | ||||||
| 
Drutt is to the left of Berk
 | ||||||||
| 35653 | LD A,E | Load A with Berk's flags | ||||||
| 35654 | AND 6 | If either of Berk's facing-into-screen or facing-left flags are set... | ||||||
| 35656 | JR NZ,35664 | ...then skip ahead to 35664 | ||||||
| 
Drutt is to the left of Berk, and Berk's facing-into-screen and facing-left flags are both reset
 | ||||||||
| 35658 | LD HL,34977 | Point HL at script data for Berk turning to face left... | ||||||
| 35661 | JP 48098 | ...and execute | ||||||
| 
Drutt is to the left of Berk and either of Berk's facing-into-screen or facing-left flags are set
 | ||||||||
| 35664 | LD HL,34985 | Point HL at script data for Berk facing left... | ||||||
| 35667 | JP 48098 | ...and execute | ||||||
| 
Drutt is to the right of Berk
 | ||||||||
| 35670 | LD A,E | Load A with Berk's flags | ||||||
| 35671 | AND 10 | If either of Berk's facing-into-screen or facing-right flags are set... | ||||||
| 35673 | JR NZ,35681 | ...then skip ahead to 35681 | ||||||
| 
Drutt is to the right of Berk, and Berk's facing-into-screen and facing-right flags are both reset
 | ||||||||
| 35675 | LD HL,34997 | Point HL at script data for Berk turning to face right... | ||||||
| 35678 | JP 48098 | ...and execute | ||||||
| 
Drutt is to the right of Berk and either of Berk's facing-into-screen or facing-right flags are set
 | ||||||||
| 35681 | LD HL,35005 | Point HL at script data for Berk facing right... | ||||||
| 35684 | JP 48098 | ...and execute | ||||||
| Prev: 35523 | Up: Map | Next: 35687 |