Routines |
Prev: 29546 | Up: Map | Next: 29680 |
Used by the routine at 28092.
|
||||
29576 | LD A,71 | Store 71 (white INK, black PAPER, BRIGHT) at 23695 | ||
29578 | LD (23695),A | ... | ||
29581 | LD A,64 | Set current terrain interaction parameter to preserve-attribute... | ||
29583 | LD (23483),A | ... | ||
29586 | LD IX,25443 | Point IX at Thor's entry in characters' current positions table | ||
29590 | LD BC,1537 | Load B with 6 and C with 1 | ||
29593 | LD A,(23467) | If Banshee is not released... | ||
29596 | AND 1 | ... | ||
29598 | JR Z,29601 | ...then skip ahead to 29601... | ||
29600 | INC B | ...else increase B by one | ||
29601 | LD A,(23468) | If Gimbal is not released... | ||
29604 | AND 1 | ... | ||
29606 | JR Z,29614 | ...then skip ahead to 29614... | ||
29608 | INC B | ...else increase B by one... | ||
29609 | DEC C | ...decrease C... | ||
29610 | LD IX,25440 | ...and point IX at Gimbal's entry in characters' current positions table | ||
29614 | LD A,(65529) | Load A with Magic Knight's current room | ||
29617 | CP (IX+0) | Compare current character's room with Magic Knight's... | ||
29620 | CALL Z,29680 | ...and if they're the same, draw the character to the screen | ||
29623 | INC C | Increase C by one | ||
29624 | INC IX | Advance to entry for next character | ||
29626 | INC IX | ... | ||
29628 | INC IX | ... | ||
29630 | DJNZ 29614 | ...and repeat the loop for the next character | ||
29632 | LD IX,25443 | Point IX at Thor's entry in characters' current positions table | ||
29636 | LD BC,1537 | Load B with 6 (as there are initially 6 characters to consider) and C with 1 | ||
29639 | LD A,(23467) | If Banshee is not released... | ||
29642 | AND 1 | ... | ||
29644 | JR Z,29647 | ...then skip ahead to 29647... | ||
29646 | INC B | ...else increase B by one (Banshee) | ||
29647 | LD A,(23468) | If Gimbal is not released... | ||
29650 | AND 1 | ... | ||
29652 | JR Z,29660 | ...then skip ahead to 29660... | ||
29654 | INC B | ...else increase B by one (Gimbal)... | ||
29655 | DEC C | ...decrease C... | ||
29656 | LD IX,25440 | ...and point IX at Gimbal's entry in characters' current positions table | ||
29660 | LD A,(65529) | Load A with Magic Knight's current room | ||
29663 | BIT 7,(IX+0) | If high bit of character's current room (pointed to by IX) is set... | ||
29667 | CALL NZ,29709 | ...then animate puff of smoke then draw character in position | ||
29670 | INC C | Increase C by one | ||
29671 | INC IX | Advance to room of next character | ||
29673 | INC IX | ... | ||
29675 | INC IX | ... | ||
29677 | DJNZ 29660 | ...and repeat the loop for the next character | ||
29679 | RET | Return |
Prev: 29546 | Up: Map | Next: 29680 |