Routines |
Prev: 47407 | Up: Map | Next: 47492 |
Used by the routine at Animation_BarMaid.
|
||||||||
Draws the pint glass to the screen at the location provided by HL.
|
||||||||
Print_Pint_Frame | 47461 | LD B,16 | Set a counter in B for the height of the graphic (16). | |||||
47463 | LD DE,51796 | DE=Graphics_Pint. | ||||||
Print_Pint_Frame_Loop | 47466 | LD A,(HL) | Fetch the current byte in the screen buffer and stash it on the stack. | |||||
47467 | PUSH AF | |||||||
47468 | LD A,(DE) | Fetch a byte from the graphic pointer in *DE and write it to the screen buffer pointer held by *HL. | ||||||
47469 | LD (HL),A | |||||||
47470 | CALL NextScreenBufferLine | Call NextScreenBufferLine. | ||||||
47473 | INC DE | Increment the graphic pointer by one. | ||||||
47474 | DJNZ Print_Pint_Frame_Loop | Decrease the height counter by one and loop back to Print_Pint_Frame_Loop until the whole of the graphic has been drawn to the screen. | ||||||
Make sure the player sees the drawn pint before removing it.
|
||||||||
47476 | HALT | Halt operation (suspend CPU until the next interrupt) three times. | ||||||
47477 | HALT | |||||||
47478 | HALT | |||||||
Next all the stashed bytes are returned to the screen, ready for the next frame of the animation.
|
||||||||
47479 | CALL 43227 | Call 43227. | ||||||
47482 | LD B,16 | Set a counter in B for the height of the graphic (16). | ||||||
Restore_Background_Loop | 47484 | POP AF | Restore the stashed byte from the stack and write it to the screen buffer pointer held by *HL. | |||||
47485 | LD (HL),A | |||||||
47486 | CALL 43227 | Call 43227. | ||||||
47489 | DJNZ Restore_Background_Loop | Decrease the height counter by one and loop back to Restore_Background_Loop until all the stashed bytes have been drawn back to the screen. | ||||||
47491 | RET | Return. |
Prev: 47407 | Up: Map | Next: 47492 |