Routines |
Prev: B7A0 | Up: Map | Next: B83D |
Used by the routine at Messaging_DartNumber.
|
||||
Animation_ThrowingDart | B7E1 | LD E,$04 | E=04. | |
B7E3 | CALL $A875 | Call A875. | ||
B7E6 | AND A | Call Animation_BarMaid if A is zero. | ||
B7E7 | CALL Z,Animation_BarMaid | |||
First show the playing "lining up" the shot...
|
||||
B7EA | LD B,$03 | Set a counter in B for the number of times to loop the animation. | ||
Aiming_Loop | B7EC | PUSH BC | Stash the animation loop counter on the stack. | |
Frame 01.
|
||||
B7ED | LD DE,$C644 | DE=Graphics_Throwing_01. | ||
B7F0 | CALL Print_ThrowingDart_Frame | Call Print_ThrowingDart_Frame. | ||
Frame 02.
|
||||
B7F3 | LD DE,$C68C | DE=Graphics_Throwing_02. | ||
B7F6 | CALL Print_ThrowingDart_Frame | Call Print_ThrowingDart_Frame. | ||
Frame 03.
|
||||
B7F9 | LD DE,$C6D4 | DE=Graphics_Throwing_03. | ||
B7FC | CALL Print_ThrowingDart_Frame | Call Print_ThrowingDart_Frame. | ||
Frame 02.
|
||||
B7FF | LD DE,$C68C | DE=Graphics_Throwing_02. | ||
B802 | CALL Print_ThrowingDart_Frame | Call Print_ThrowingDart_Frame. | ||
B805 | POP BC | Restore the animation loop counter from the stack. | ||
B806 | DJNZ Aiming_Loop | Decrease the animation loop counter by one and loop back to Aiming_Loop until the counter is zero. | ||
Show the last frame (frame 01 again).
|
||||
B808 | LD DE,$C644 | DE=Graphics_Throwing_01. | ||
B80B | CALL Print_ThrowingDart_Frame | Call Print_ThrowingDart_Frame. | ||
B80E | LD B,$12 | B=12. | ||
B810 | LD HL,$40F2 | HL=40F2 (screen buffer location). | ||
Animation_ThrowingDart_0 | B813 | PUSH BC | Stash BC and HL on the stack. | |
B814 | PUSH HL | |||
B815 | CALL $B92F | Call B92F. | ||
B818 | POP HL | Restore HL and BC from the stack. | ||
B819 | POP BC | |||
B81A | DEC L | Decrease L by one. | ||
B81B | DJNZ Animation_ThrowingDart_0 | Decrease counter by one and loop back to Animation_ThrowingDart_0 until counter is zero. | ||
B81D | INC L | Increment L by one. | ||
B81E | LD B,$03 | B=03. | ||
B820 | LD DE,$C71C | DE=Graphics_Dart. | ||
Animation_ThrowingDart_1 | B823 | LD A,(DE) | A=*DE. | |
B824 | OR (HL) | Set the bits from *HL. | ||
B825 | LD (HL),A | Write A to *HL. | ||
B826 | INC DE | Increment DE by one. | ||
B827 | INC L | Increment L by one. | ||
B828 | LD A,(DE) | A=*DE. | ||
B829 | OR (HL) | Set the bits from *HL. | ||
B82A | LD (HL),A | Write A to *HL. | ||
B82B | INC DE | Increment DE by one. | ||
B82C | INC H | Increment H by one. | ||
B82D | LD A,(DE) | A=*DE. | ||
B82E | OR (HL) | Set the bits from *HL. | ||
B82F | LD (HL),A | Write A to *HL. | ||
B830 | INC DE | Increment DE by one. | ||
B831 | DEC L | Decrease L by one. | ||
B832 | LD A,(DE) | A=*DE. | ||
B833 | OR (HL) | Set the bits from *HL. | ||
B834 | LD (HL),A | Write A to *HL. | ||
B835 | INC H | Increment H by one. | ||
B836 | INC DE | Increment DE by one. | ||
B837 | DJNZ Animation_ThrowingDart_1 | Decrease counter by one and loop back to Animation_ThrowingDart_1 until counter is zero. | ||
B839 | CALL Sounds_OpponentDart | Call Sounds_OpponentDart. | ||
B83C | RET | Return. |
Prev: B7A0 | Up: Map | Next: B83D |