Prev: 29546 Up: Map Next: 29680
29576: Draw all characters in current room and animate arrival of any new character
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