![]() |
Routines |
| Prev: 47008 | Up: Map | Next: 47165 |
|
Used by the routine at Animation_OpponentThrowing.
|
||||
| Animation_ThrowingDart | 47073 | LD E,4 | E=4. | |
| 47075 | CALL 43125 | Call 43125. | ||
| 47078 | AND A | Call Animation_BarMaid if A is zero. | ||
| 47079 | CALL Z,Animation_BarMaid | |||
|
First show the playing "lining up" the shot...
|
||||
| 47082 | LD B,3 | Set a counter in B for the number of times to loop the animation. | ||
| Aiming_Loop | 47084 | PUSH BC | Stash the animation loop counter on the stack. | |
|
Frame 1.
|
||||
| 47085 | LD DE,50756 | DE=Graphics_Throwing_01. | ||
| 47088 | CALL Print_ThrowingDart_Frame | Call Print_ThrowingDart_Frame. | ||
|
Frame 2.
|
||||
| 47091 | LD DE,50828 | DE=Graphics_Throwing_02. | ||
| 47094 | CALL Print_ThrowingDart_Frame | Call Print_ThrowingDart_Frame. | ||
|
Frame 3.
|
||||
| 47097 | LD DE,50900 | DE=Graphics_Throwing_03. | ||
| 47100 | CALL Print_ThrowingDart_Frame | Call Print_ThrowingDart_Frame. | ||
|
Frame 2.
|
||||
| 47103 | LD DE,50828 | DE=Graphics_Throwing_02. | ||
| 47106 | CALL Print_ThrowingDart_Frame | Call Print_ThrowingDart_Frame. | ||
| 47109 | POP BC | Restore the animation loop counter from the stack. | ||
| 47110 | 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 1 again).
|
||||
| 47112 | LD DE,50756 | DE=Graphics_Throwing_01. | ||
| 47115 | CALL Print_ThrowingDart_Frame | Call Print_ThrowingDart_Frame. | ||
| 47118 | LD B,18 | B=18. | ||
| 47120 | LD HL,16626 | HL=16626 (screen buffer location). | ||
| Animation_ThrowingDart_0 | 47123 | PUSH BC | Stash BC and HL on the stack. | |
| 47124 | PUSH HL | |||
| 47125 | CALL Animation_Dart | Call Animation_Dart. | ||
| 47128 | POP HL | Restore HL and BC from the stack. | ||
| 47129 | POP BC | |||
| 47130 | DEC L | Decrease L by one. | ||
| 47131 | DJNZ Animation_ThrowingDart_0 | Decrease counter by one and loop back to Animation_ThrowingDart_0 until counter is zero. | ||
| 47133 | INC L | Increment L by one. | ||
| 47134 | LD B,3 | B=3. | ||
| 47136 | LD DE,50972 | DE=Graphics_Dart. | ||
| Animation_ThrowingDart_1 | 47139 | LD A,(DE) | A=*DE. | |
| 47140 | OR (HL) | Set the bits from *HL. | ||
| 47141 | LD (HL),A | Write A to *HL. | ||
| 47142 | INC DE | Increment DE by one. | ||
| 47143 | INC L | Increment L by one. | ||
| 47144 | LD A,(DE) | A=*DE. | ||
| 47145 | OR (HL) | Set the bits from *HL. | ||
| 47146 | LD (HL),A | Write A to *HL. | ||
| 47147 | INC DE | Increment DE by one. | ||
| 47148 | INC H | Increment H by one. | ||
| 47149 | LD A,(DE) | A=*DE. | ||
| 47150 | OR (HL) | Set the bits from *HL. | ||
| 47151 | LD (HL),A | Write A to *HL. | ||
| 47152 | INC DE | Increment DE by one. | ||
| 47153 | DEC L | Decrease L by one. | ||
| 47154 | LD A,(DE) | A=*DE. | ||
| 47155 | OR (HL) | Set the bits from *HL. | ||
| 47156 | LD (HL),A | Write A to *HL. | ||
| 47157 | INC H | Increment H by one. | ||
| 47158 | INC DE | Increment DE by one. | ||
| 47159 | DJNZ Animation_ThrowingDart_1 | Decrease counter by one and loop back to Animation_ThrowingDart_1 until counter is zero. | ||
| 47161 | CALL Sounds_OpponentDart | Call Sounds_OpponentDart. | ||
| 47164 | RET | Return. | ||
| Prev: 47008 | Up: Map | Next: 47165 |