diff --git a/scorch.bin b/scorch.bin index 8ffb1ec..24d5a73 100644 Binary files a/scorch.bin and b/scorch.bin differ diff --git a/scorch.xex b/scorch.xex index d98b310..34efa54 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/weapons.asm b/weapons.asm index c1289c5..26e438e 100644 --- a/weapons.asm +++ b/weapons.asm @@ -2615,6 +2615,7 @@ ReachSky sta RangeRight+1 ; hide tanks and ... jsr SoilDown2 + jsr ClearScreenSoilRange ldx TankNr ; check keyboard/joy and move tank left/right - code copied from BeforeFire @@ -2713,11 +2714,7 @@ RightScreenEdge mva #sfx_dunno sfx_effect NoREdge mva #18 AngleTable,x - ; then draw tank on new position - jsr DrawTankNr - jsr DisplayStatus - jsr WaitOneFrame - jmp KeyboardAndJoyCheck + bne DrawFloatingTank ; then draw tank on new position pressedLeft lda ShieldEnergy,x @@ -2744,9 +2741,11 @@ LeftScreenEdge NoLEdge mva #162 AngleTable,x ; then draw tank on new position +DrawFloatingTank jsr DrawTankNr jsr DisplayStatus jsr WaitOneFrame + jsr CalculateSoildown jmp KeyboardAndJoyCheck pressedSpace @@ -2892,24 +2891,24 @@ OnGround jsr WaitForKeyRelease ; and Soildown at the end (for correct mountaintable) ; calculate range - sec - lda XtankstableL,x - sbc #2 - sta RangeLeft - lda XtankstableH,x - sbc #0 - sta RangeLeft+1 - clc - lda XtankstableL,x - adc #10 - sta RangeRight - lda XtankstableH,x - adc #0 - sta RangeRight+1 + jsr CalculateSoildown ; hide tanks and ... jsr SoilDown2 ldx TankNr rts + +CalculateSoildown + ldx TankNr + clc + lda XtankstableL,x + adc #4 + sta xdraw + lda XtankstableH,x + adc #0 + sta xdraw+1 + mva #$04 ExplosionRadius + jsr CalculateExplosionRange + rts .endp ; -------------------------------------------------