From d738e6a6e8bac7eb1c817daf7074735bc4face40 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Tue, 5 Jul 2022 21:16:22 +0200 Subject: [PATCH] Small optimisation --- ai.asm | 12 ++++++------ scorch.asm | 2 +- scorch.xex | Bin 40899 -> 40895 bytes 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ai.asm b/ai.asm index 7052c2c..6c01bb6 100644 --- a/ai.asm +++ b/ai.asm @@ -31,19 +31,19 @@ loop ;---------------------------------------------- .proc ArtificialIntelligence ; -; A - skill of the TankNr +; A - skill of the TankNr (in X) ; returns shoot energy and angle in ; ForceTable/L/H and AngleTable ;---------------------------------------------- asl - tax - :2 dex ;credit KK - lda AIRoutines+1,x + tay + :2 dey ;credit KK + lda AIRoutines+1,y pha - lda AIRoutines,x + lda AIRoutines,y pha - ldx TankNr ; common values used in AI routines + ; common values used in AI routines ; address of weapons table (for future use) lda TanksWeaponsTableL,x sta temp diff --git a/scorch.asm b/scorch.asm index 69dfd8a..b7dcc99 100644 --- a/scorch.asm +++ b/scorch.asm @@ -403,6 +403,7 @@ DoNotFinishTheRound RoboTanks ; robotanks shoot here + ; TankNr still in X jsr ArtificialIntelligence jsr PutTankNameOnScreen jsr DisplayStatus @@ -1146,7 +1147,6 @@ LimitForce ;---------------------------------------------- .proc MoveBarrelToNewPosition jsr DrawTankNr - ldx TankNr jsr DisplayStatus.displayAngle ldx TankNr lda NewAngle diff --git a/scorch.xex b/scorch.xex index 2740cdf7ba84e8634349334fdbba23fd48804c77..40114bf9c84501e1ec27ac07bb29e04449df3867 100644 GIT binary patch delta 14255 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 V91-EOgiOJ?wD0Q|Ui>EEe*rJyymbHo delta 14271 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 YKW{N5uBgZ~KAU$xKIpBcSFXnYFD{MKCIA2c