Prev: 90A8 Up: Map Next: 910B
90BD: Animate the shower water in room 11
Used by the routine at 8F9F.
90BD LD HL,$912B Get the graphic index for the shower head (912B).
90C0 LD A,($C526) Does it match the index for this room?
90C3 CP (HL)
90C4 JR NZ,$912C No, so set it.
90C6 OR A Return if it is zero.
90C7 RET Z
90C8 LD HL,($9129) Put the last two bytes of the graphic in HL.
90CB PUSH HL Store it.
90CC LD HL,$9128 Shift the other bytes down.
90CF LD DE,$912A
90D2 LD BC,$001E
90D5 LDDR
90D7 POP HL Restore the last byte and put it on the front.
90D8 LD ($910B),HL
90DB LD IX,$910B Point to the first graphic frame.
90DF LD HL,$4841 Location on screen.
90E2 LD DE,$DAA1 Location in the screen buffer.
90E5 CALL $90F2 Draw it.
90E8 LD HL,$4861 Location on screen.
90EB LD DE,$DAC1 Location in the screen buffer.
90EE LD IX,$911B Pointer to the second graphic frame.
Draw the next graphic. This entry point is used by the routine at 912C.
90F2 LD B,$08 8 rows to draw.
90F4 LD A,(IX+$00) Get the graphic.
90F7 LD (HL),A Put the graphic on screen.
90F8 LD (DE),A Put the graphic in the screen buffer.
90F9 INC L Move to the next column.
90FA INC E
90FB LD A,(IX+$01) Get the graphic.
90FE LD (HL),A Put the graphic on screen.
90FF LD (DE),A Put the graphic in the screen buffer.
9100 INC H Move to the next row, and back to the first column.
9101 DEC L
9102 INC D
9103 DEC E
9104 INC IX Move forward to the next graphic.
9106 INC IX
9108 DJNZ $90F4 Loop until all the rows are drawn.
910A RET
Prev: 90A8 Up: Map Next: 910B