Prev: 39795 Up: Map Next: 39883
39829: Animate arrival of any new character if in Magic Knight's current room
Used by the routine at 39393.
Input
IY 23610
39829 XOR A Reset character-is-incoming flag...
39830 LD (23367),A ...
39833 SET 2,(IY+65) Set characters-can't-move flag
39837 LD IX,24898 Point IX at start of table of characters' current positions at 24898
39841 LD BC,2048 Load B with 8 and C (current character) with 0
39844 LD A,(23702) Load A with Magic Knight's current room
39847 BIT 7,(IX+0) If arrival-pending flag in character's current room (pointed to by IX) is reset...
39851 JR Z,39869 ...then skip ahead to 39869
39853 LD E,(IX+0) Load E with character's current room
39856 RES 7,E Reset arrival-pending flag in E...
39858 CP E ...and if this is then the same as Magic Knight's current room...
39859 CALL Z,39958 ...then animate puff of smoke at character's current coordinates...
39862 CALL Z,39883 ...and draw the character
39865 RES 7,(IX+0) Reset character's arrival-pending flag
39869 INC C Increase C (index of current character)
39870 INC IX Advance IX to room of next character...
39872 INC IX ...
39874 INC IX ...
39876 DJNZ 39844 Decrease B (remaining number of characters to check) and loop back to 39844 if not zero
39878 RES 2,(IY+65) Reset characters-can't-move flag
39882 RET Return
Prev: 39795 Up: Map Next: 39883