![]() |
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 |