From 2c3b4d148ea1fc6a1ac0f521af9dfebbb3ed3383 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 27 Jul 2022 13:03:10 +0200 Subject: [PATCH] Barrels optimisation and more --- grafproc.asm | 21 ++++++++++++++------- scorch.asm | 23 ++++++++++++++++------- scorch.xex | Bin 41425 -> 41474 bytes textproc.asm | 6 ++++++ variables.asm | 4 ++-- weapons.asm | 18 +++++++++--------- 6 files changed, 47 insertions(+), 25 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index c21a1bc..fdae632 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -722,6 +722,14 @@ ZeroesToGo6 bne ClearPM6 NoPlayerMissile +BarrelChange + ldy #$01 + lda Erase + beq @+ + dey +@ sty color + jsr DrawBarrel + ; draw defensive weapons like shield ( tank number in X ) ; in xdraw, ydraw we have coordinates left LOWER corner of Tank char ldx TankNr @@ -757,7 +765,6 @@ DrawTankFlag jsr SetupXYdraw.X jsr TypeChar NoShieldDraw - DrawBarrel DoNotDrawTankNr rts .endp @@ -1912,12 +1919,12 @@ X lda XtanksTableL,x ; erase previous barrel ;cos(Angle) (but we use sin table only so some shenanigans happen) - mva #0 color - lda previousBarrelAngle,x - sta Angle - jsr DrawBarrelTech - - mva #1 color + ; mva #0 color + ; lda previousBarrelAngle,x + ; sta Angle + ; jsr DrawBarrelTech + ; + ; mva #1 color ldx TankNr jsr SetupXYdraw lda angleTable,x diff --git a/scorch.asm b/scorch.asm index 53afad3..2e584d7 100644 --- a/scorch.asm +++ b/scorch.asm @@ -325,11 +325,11 @@ SettingEnergies sta colpf2s ; status line "off" sta colpf1s - lda #90 ; barrel fully erect - ldx #MaxPlayers-1 -@ sta previousBarrelAngle,x - dex - bpl @- +; lda #90 ; barrel fully erect +; ldx #MaxPlayers-1 +;@ sta previousBarrelAngle,x +; dex +; bpl @- jsr drawmountains ;draw them @@ -1213,20 +1213,29 @@ LimitForce .endp ;---------------------------------------------- .proc MoveBarrelToNewPosition + mva #sfx_set_power_2 sfx_effect + mva #1 Erase + jsr DrawTankNr.BarrelChange + mva #0 Erase +MoveBarrel jsr DrawTankNr jsr DisplayStatus.displayAngle ldx TankNr + mva #1 Erase + jsr DrawTankNr.BarrelChange + mva #0 Erase lda NewAngle cmp AngleTable,x beq BarrelPositionIsFine bcc rotateLeft ; older is bigger rotateRight;older is lower inc angleTable,x - jmp MoveBarrelToNewPosition + jmp MoveBarrel rotateLeft dec angleTable,x - jmp MoveBarrelToNewPosition + jmp MoveBarrel BarrelPositionIsFine + jsr DrawTankNr rts .endp diff --git a/scorch.xex b/scorch.xex index 10c8686385e25122761ac62f78f7219d99081bb7..f399cec0d6f692fb815962f50f056c4fda602e02 100644 GIT binary patch delta 15046 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 Q3X0%PAA0a}_nE~10mc8qegFUf delta 14974 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 then reset to 0 cmp #25 ; 1/2s bcs CTRLPressedRight mva #sfx_set_power_2 sfx_effect - + mva #1 Erase + jsr DrawTankNr.BarrelChange dec AngleTable,x lda AngleTable,x cmp #255 ; -1 @@ -1350,9 +1350,9 @@ pressedRight CTRLPressedRight ldx TankNr - lda AngleTable,x - sta previousBarrelAngle,x mva #sfx_set_power_2 sfx_effect + mva #1 Erase + jsr DrawTankNr.BarrelChange lda AngleTable,x sec sbc #4 @@ -1366,14 +1366,14 @@ CTRLPressedRight pressedLeft ldx TankNr - lda AngleTable,x - sta previousBarrelAngle,x lda pressTimer spl:mva #0 pressTimer ; if >128 then reset to 0 cmp #25 ; 1/2s bcs CTRLPressedLeft mva #sfx_set_power_2 sfx_effect + mva #1 Erase + jsr DrawTankNr.BarrelChange INC AngleTable,x lda AngleTable,x cmp #180 @@ -1384,9 +1384,9 @@ pressedLeft CTRLPressedLeft ldx TankNr - lda AngleTable,x - sta previousBarrelAngle,x mva #sfx_set_power_2 sfx_effect + mva #1 Erase + jsr DrawTankNr.BarrelChange lda AngleTable,x clc adc #4