diff --git a/grafproc.asm b/grafproc.asm index 168ffde..5f5c999 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -583,7 +583,7 @@ DrawNextTank .endp ;--------- .proc DrawTankNr - ldx tanknr + ldx tankNr ; let's check the energy lda eXistenZ,x bne SkipRemovigPM ; if energy=0 then no tank @@ -672,6 +672,28 @@ DoNotDrawTankNr rts .endp +; ------------------------------------- +.proc FlashTank +; ------------------------------------- +; number of blinking tank in TankNr + mva #18 fs ; temp, how many times flash the tank +tankflash_loop + lda CONSOL ; turbo mode + cmp #6 ; START + sne:mva #1 fs ; finish it + mva #1 Erase + ldx TankNr + jsr DrawTankNr.SkipRemovigPM ; it's necessary becouse DrawTankNr skips tanks with no energy ! + PAUSE 2 + mva #0 Erase + ldx TankNr + jsr DrawTankNr.SkipRemovigPM + PAUSE 2 + dec fs + jne tankflash_loop + rts +.endp + ;-------------------------------------------------- .proc drawmountains ;-------------------------------------------------- @@ -1260,9 +1282,9 @@ MakeMask00 lsr mask1+# ror mask2+# .endr - .rept 8 sec - ror char1+# + .rept 8 + ror char1+# ; in second (and next) lines we have C=1 - one SEC enough ror char2+# .endr dex @@ -1383,9 +1405,9 @@ MakeMask01 lsr mask1+# ror mask2+# .endr - .rept 4 sec - ror char1+# + .rept 4 + ror char1+# ; in second (and next) lines we have C=1 - one SEC enough ror char2+# .endr dex diff --git a/scorch.asm b/scorch.asm index d35a891..0df643e 100644 --- a/scorch.asm +++ b/scorch.asm @@ -605,8 +605,13 @@ NoPlayerNoDeath ldy TankTempY mva #1 plot4x4color jsr DisplayOffensiveTextNr + ; tank flash + ldy TankTempY + mva TankNr temp2 ; not elegant, and probably unnecessary + sty TankNr + jsr FlashTank ; blinkink and pausing (like PAUSE 72 - 18x(2+2) ) + mva temp2 TankNr - PAUSE 75 ;Deffensive text cleanup ;here we clear Deffensive text (after a shoot) ldy TankTempY diff --git a/scorch.xex b/scorch.xex index 178c8c6..6b17b9e 100644 Binary files a/scorch.xex and b/scorch.xex differ