diff --git a/constants.asm b/constants.asm index 9fffd44..7a3325e 100644 --- a/constants.asm +++ b/constants.asm @@ -493,7 +493,7 @@ WeaponSymbols .by $58,$59,$5a,$5b,$60,$7b,$1f,$7d .by $20,$00,$00,$00,$00,$00,$00,$00 .by $00,$00,$00,$00,$00,$00,$00,$00 - .by $5f,$1c,$03,$06,$1d,$0a,$1b,$1b ; defensives + .by $5f,$1c,$03,$06,$06,$0a,$1b,$1b ; defensives .by $1e,$3b,$3d,$3c,$3e,$3f,$1d,$7d ; Names of weapons (16 chars long) @@ -568,7 +568,7 @@ DefensiveEnergy = * - 48 .by 00 ; Heat Guidance .by 00 ; Bal Guidance .by 00 ; Horz Guidance - .by 00 ; Let's go! + .by 99 ; Let's go! .by 00 ; Lazy Boy .by 00 ; Parachute .by 99 ; Strong Parachute diff --git a/scorch.xex b/scorch.xex index bd20378..2e4ca93 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/weapons.asm b/weapons.asm index 4de618c..839c43f 100644 --- a/weapons.asm +++ b/weapons.asm @@ -2494,6 +2494,10 @@ notpressedJoy pressedRight + lda ShieldEnergy,x + beq ReachSky + ldy #1 + jsr DecreaseShieldEnergyX ; first erase old tank position mva #1 Erase jsr DrawTankNr @@ -2502,7 +2506,7 @@ pressedRight cmp #>(screenwidth-10) ; tank width correction +2 bne @+ lda XtankstableL,x - cmp #<(screenwidth-10) ; tank width correction +2 + cmp #<(screenwidth-10) ; tank width correction +2 pixels @ bcs RightScreenEdge inc XtankstableL,x sne:inc XtankstableH,x @@ -2510,10 +2514,15 @@ RightScreenEdge mva #25 AngleTable,x ; then draw tank on new position jsr DrawTankNr + jsr DisplayStatus jsr WaitOneFrame jmp ReachSky pressedLeft + lda ShieldEnergy,x + jeq ReachSky + ldy #1 + jsr DecreaseShieldEnergyX ; first erase old tank position mva #1 Erase jsr DrawTankNr @@ -2522,7 +2531,7 @@ pressedLeft cmp #0 bne @+ lda XtankstableL,x - cmp #2 ; 2 pixles from left edge + cmp #5 ; 2 pixles from left edge @ bcc LeftScreenEdge dec XtankstableL,x lda XtankstableL,x @@ -2532,6 +2541,7 @@ LeftScreenEdge mva #155 AngleTable,x ; then draw tank on new position jsr DrawTankNr + jsr DisplayStatus jsr WaitOneFrame jmp ReachSky @@ -2572,7 +2582,29 @@ FloatDown jsr WaitOneFrame jmp FloatDown OnGround - + ; 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 + ; hide tanks and ... + mva #1 Erase + jsr DrawTanks + jsr SoilDown2 + mva #0 Erase + jsr DrawTanks + ldx TankNr rts .endp