From 12c20c7637f824354701f1699441610f2c7b846f Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 17 May 2023 10:55:53 +0200 Subject: [PATCH] Shield after Flag bug fixed #138 . Optimizations --- ai.asm | 2 ++ grafproc.asm | 10 +++++++--- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 56628 -> 56576 bytes weapons.asm | 48 ++++++++++++++++-------------------------------- 5 files changed, 25 insertions(+), 35 deletions(-) diff --git a/ai.asm b/ai.asm index f13da31..ce4b87c 100644 --- a/ai.asm +++ b/ai.asm @@ -219,8 +219,10 @@ AngleTable ; 16 bytes ;ba w $348b L$3350 cmp #5 bcs EnoughEnergy ; lower than 5 units - white flag + jsr ClearTankNr ; we must hide tank to erase shields (issue #138) lda #ind_White_Flag_____ sta ActiveDefenceWeapon,x + jsr PutTankNr ; and draw tank witch Flag EnoughEnergy rts .endp diff --git a/grafproc.asm b/grafproc.asm index 062817a..d232239 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -613,6 +613,11 @@ DrawNextTank rts .endp ;--------- +ClearTankNr + mva #1 Erase + bne DrawTankNr +PutTankNr + mva #0 Erase .proc DrawTankNr ldx tankNr ; let's check the energy @@ -1041,7 +1046,7 @@ TankFallsX NoFallingSound ; clear previous position mva #1 Erase - jsr DrawTankNr + jsr ClearTankNr ; and the parachute (if present) lda Parachute and #01 @@ -1242,9 +1247,8 @@ NoParachuteWeapon beq ThereWasNoParachute jsr DrawTankParachute ThereWasNoParachute - mva #0 Erase ; ldx TankNr - jsr DrawTankNr ; redraw tank after erase parachute (exactly for redraw leaky schield :) ) + jsr PutTankNr ; redraw tank after erase parachute (exactly for redraw leaky schield :) ) mva #sfx_silencer sfx_effect rts diff --git a/scorch.bin b/scorch.bin index 5a8d471b73695487a7919fc5ef138cffa2ceaf71..46e66e0170d88d17819f40ed2b20a45db68e0754 100644 GIT binary patch delta 4486 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 delta 4523 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 E9|B67)&Kwi diff --git a/scorch.xex b/scorch.xex index 0408870656ee9eb0fe312b27b8c428d014bbe7e9..13311d1f4d351e766b0862bf625c1481036b1df8 100644 GIT binary patch delta 4496 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 diff --git a/weapons.asm b/weapons.asm index 24a9c8b..f1a8cdb 100644 --- a/weapons.asm +++ b/weapons.asm @@ -835,15 +835,13 @@ ShieldCoveredTank jne EndOfDistanceCheckLoop ShieldEnergy0 ; deactivate if no energy. it's like use one hit shield :) UseShield - mva #1 Erase lda TankNr pha ; store TankNr stx TankNr ; store X in TankNr :) - jsr DrawTankNr ; now erase tank with shield (to erase shield) + jsr ClearTankNr ; now erase tank with shield (to erase shield) lda #0 sta ActiveDefenceWeapon,x ; deactivate defense weapons - sta Erase - jsr DrawTankNr ; draw tank without shield + jsr PutTankNr ; draw tank without shield ldx TankNr ; restore X value :) pla sta TankNr ; restore TankNr value :) @@ -1081,11 +1079,10 @@ ContinueToCheckMaxForce2 lda MaxForceTableL,x sta ForceTableL,x @ - mva #0 Erase jsr PutTankNameOnScreen ; jsr DisplayStatus ; There is no need anymore, it is always after PutTankNameOnScreen - jsr DrawTankNr + jsr PutTankNr jsr WaitOneFrame ; best after drawing a tank @@ -1915,16 +1912,14 @@ RightDeflection bcs EndOfMagDeflector ; hit of course but we need RTS sbw XHit #36 ; change to left EndOfMagDeflector - mva #1 Erase lda TankNr pha ; store TankNr stx TankNr ; store X in TankNr :) - jsr DrawTankNr ; now erase tank with shield (to erase shield) + jsr ClearTankNr ; now erase tank with shield (to erase shield) lda #0 sta ActiveDefenceWeapon,x ; deactivate used mag deflector weapon sta ShieldEnergy,x - sta Erase - jsr DrawTankNr ; draw tank without shield + jsr PutTankNr ; draw tank without shield ldx TankNr ; restore X value :) pla sta TankNr ; restore TankNr value :) @@ -1944,11 +1939,10 @@ BouncyCastle @ mva #sfx_shield_on sfx_effect ; now run defensive-aggressive weapon - Bouncy Castle (previously known as Auto Defence)! - mva #1 Erase lda TankNr pha ; store TankNr stx TankNr ; store X in TankNr :) - jsr DrawTankNr ; now erase tank with shield (to erase shield) + jsr ClearTankNr ; now erase tank with shield (to erase shield) lda #0 sta ActiveDefenceWeapon,x ; deactivate used auto defense weapon sta ShieldEnergy,x @@ -1956,8 +1950,7 @@ BouncyCastle sta ytraj ; sta xtraj+2 ; sta ytraj+2 - sta Erase - jsr DrawTankNr ; draw tank without shield + jsr PutTankNr ; draw tank without shield ; ldx TankNr ; restore X value :) ... but we don't need X now .. pla sta TankNr ; restore TankNr value :) @@ -2382,8 +2375,7 @@ NoWall ; ------------------------------------------------- mva #sfx_death_begin sfx_effect jsr FlashTank ; first we flash tank - mva #1 Erase - jsr DrawTankNr ; and erase tank + jsr ClearTankNr ; and erase tank lda #0 sta Erase ldx TankNr @@ -2531,19 +2523,17 @@ TankGoUp cmp FloatingAlt ; Floating altitude bcc ReachSky ; first erase old tank position - mva #1 Erase - jsr DrawTankNr + jsr ClearTankNr lda modify cmp #5 bcc NoEngineClear mva #0 color jsr DrawTankRocketEngine NoEngineClear - mva #0 Erase dec ytankstable,x inc modify ; then draw tank on new position - jsr DrawTankNr + jsr PutTankNr lda modify cmp #5 bcc NoEngine @@ -2671,8 +2661,7 @@ pressedRight ldy #1 jsr DecreaseShieldEnergyX ; first erase old tank position - mva #1 Erase - jsr DrawTankNr + jsr ClearTankNr mva #0 Erase lda XtankstableH,x cmp #>(screenwidth-TankWidth-4) ; tank width correction +4 @@ -2695,8 +2684,7 @@ pressedLeft ldy #1 jsr DecreaseShieldEnergyX ; first erase old tank position - mva #1 Erase - jsr DrawTankNr + jsr ClearTankNr mva #0 Erase lda XtankstableH,x cmp #0 @@ -2793,8 +2781,7 @@ TankBelow ; tank below - we must move our tank ldx TankNr ; first erase old tank position - mva #1 Erase - jsr DrawTankNr + jsr ClearTankNr mva #0 Erase bit OverTankDir bmi PassLeft @@ -2821,8 +2808,7 @@ ItIsMe bpl CheckCollisionWithTankLoop ldx TankNr mva #sfx_shield_off sfx_effect - mva #1 Erase - jsr DrawTankNr + jsr ClearTankNr mva #0 Erase ; x correction for P/M ; -- @@ -2851,13 +2837,11 @@ FloatDown cmp OverTankDir bcs OnGround ; first erase old tank position - mva #1 Erase - jsr DrawTankNr + jsr ClearTankNr jsr DrawTankParachute - mva #0 Erase inc ytankstable,x ; then draw tank on new position - jsr DrawTankNr + jsr PutTankNr jsr DrawTankParachute jsr WaitOneFrame jmp FloatDown