From bfe0b41776f603cace4e014e5c00da87802ee62e Mon Sep 17 00:00:00 2001 From: Pecusx Date: Mon, 29 May 2023 16:11:11 +0200 Subject: [PATCH] Punch checks screen edges --- scorch.xex | Bin 56548 -> 56574 bytes weapons.asm | 21 +++++++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/scorch.xex b/scorch.xex index e2b76905ce9c19a654bf6f3a481ad958ef410198..58a5704ca27fc06c40a37c0d2277dab211aa123f 100644 GIT binary patch delta 1977 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 Y(W^S`AEtDNn+4vji#Wr-yK*GwKW7_a{Qv*} diff --git a/weapons.asm b/weapons.asm index 22e9514..4581064 100644 --- a/weapons.asm +++ b/weapons.asm @@ -1075,7 +1075,6 @@ EndOfTheDirt @ jsr ClearTankNr inc ytankstable,x jsr PutTankNr - jsr PutTankNr dec ExplosionRadius bne @- @@ -1122,17 +1121,31 @@ RightSide bmi PunchLeft PunchRight jsr ClearTankNr + lda XtanksTableH,x + cmp #>(screenwidth-TankWidth-2) ; 2 pixels correction due to a barrel wider than tank + bne @+ + lda XtanksTableL,x + cmp #<(screenwidth-TankWidth-2) ; 2 pixels correction due to a barrel wider than tank +@ bcs RightEdge inc xtankstableL,x bne @+ inc xtankstableH,x +RightEdge @ jsr PutTankNr jmp TankPunched PunchLeft jsr ClearTankNr + lda XtanksTableH,x + bne NotLeftEdge + lda XtanksTableL,x + cmp #3 ; 2 pixels correction due to a barrel wider than tank + bcc LeftEdge +NotLeftEdge lda xtankstableL,x bne @+ dec xtankstableH,x @ dec xtankstableL,x +LeftEdge jsr PutTankNr TankPunched plx @@ -1142,10 +1155,10 @@ TooFar NotMy DeadTank dey - bpl CheckingNextTank - jsr WaitOneFrame + jpl CheckingNextTank + ;jsr WaitOneFrame sbb ExplosionRadius #2 - bne CheckRange + jne CheckRange rts .endp