Prev: B7E1 Up: Map Next: B871
B83D: Animation: Bar Maid
Used by the routine at Animation_ThrowingDart.
Plays through frames; 01, 02, 03, 03, 02, 01.
bar-maid-animation
Animation_BarMaid B83D LD DE,$C724 Call Print_BarMaid_Frame with DE=Graphics_BarMaid_01.
B840 CALL Print_BarMaid_Frame
B843 LD DE,$C784 Call Print_BarMaid_Frame with DE=Graphics_BarMaid_02.
B846 CALL Print_BarMaid_Frame
B849 LD DE,$C7E4 Call Print_BarMaid_Frame with DE=Graphics_BarMaid_03.
B84C CALL Print_BarMaid_Frame
B84F LD DE,$C7E4 Call Print_BarMaid_Frame with DE=Graphics_BarMaid_03.
B852 CALL Print_BarMaid_Frame
B855 LD DE,$C784 Call Print_BarMaid_Frame with DE=Graphics_BarMaid_02.
B858 CALL Print_BarMaid_Frame
B85B LD DE,$C724 Call Print_BarMaid_Frame with DE=Graphics_BarMaid_01.
B85E CALL Print_BarMaid_Frame
B861 LD B,$0A Set a counter in B for the number of times to move the pint graphic across the screen (0A times).
B863 LD HL,$4810 Set the initial screen buffer location in HL of where the pint will first appear.
Pint_Loop B866 PUSH BC Stash the movement counter and screen buffer pointer on the stack.
B867 PUSH HL
B868 CALL Print_Pint_Frame Call Print_Pint_Frame.
B86B POP HL Restore the screen buffer pointer and movement counter from the stack.
B86C POP BC
B86D DEC L Move the pint graphic left by one character block.
B86E DJNZ Pint_Loop Decrease the movement counter by one and loop back to Pint_Loop until the pint is at its destination position.
B870 RET Return.
Prev: B7E1 Up: Map Next: B871