From 62d838d7ed3debff79bbed9b2f5a3d677f6cf970 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Thu, 11 May 2023 00:38:40 +0200 Subject: [PATCH] Sort bugfix #161 and optimization --- game.asm | 21 ++++----------------- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 56609 -> 56589 bytes 3 files changed, 4 insertions(+), 17 deletions(-) diff --git a/game.asm b/game.asm index 75b3cf9..5836e27 100644 --- a/game.asm +++ b/game.asm @@ -1062,15 +1062,6 @@ SequenceStart cpx #MaxPlayers bne SequenceStart -; we will need a TempResults (TR) table to fiddle with - ldx #0 -movetotemp - lda ResultsTable,x - sta TempResults,x - inx - cpx NumberOfPlayers - bne movetotemp - ; i=0:sortflag=0 ;loop: ; if TR(i) < TX(i+1) then i=i+1: here quit if i=numberofplayers @@ -1094,8 +1085,10 @@ Bubble stx temp2 ; sortflag=temp2 BubbleBobble - lda TempResults,x - cmp TempResults+1,x + ldy TankSequence,x + lda ResultsTable,y + ldy TankSequence+1,x + cmp ResultsTable,y bcc nextishigher bne swapvalues nextisequal @@ -1110,12 +1103,6 @@ nextisequal ;here we must swap values ;because next is smaller than previous swapvalues - sta temp - lda TempResults+1,x - sta TempResults,x - lda temp - sta TempResults+1,x - ; lda TankSequence,x sta temp lda TankSequence+1,x diff --git a/scorch.bin b/scorch.bin index 32b25cb7dc165f8cbd31248cc6c18793c797017d..86543025a99fc39781dc32c7fae63feed895fbf3 100644 GIT binary patch delta 7542 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 Nvr?UP{ByHA_x}l`{CfZZ delta 7230 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 D1Kn1<