From 0fbe3de569d83a5180a138494816b83ce7a2a342 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Thu, 2 Jun 2022 15:01:49 +0200 Subject: [PATCH] Improved checking collision with the tank. And other optimizations. --- grafproc.asm | 11 ++++++++--- scorch.xex | Bin 38095 -> 38062 bytes weapons.asm | 36 ++++++++++++++++++++++-------------- 3 files changed, 30 insertions(+), 17 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index e58168e..d5c14e3 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -242,8 +242,13 @@ CheckCollisionDraw lda HitFlag bne StopHitChecking - mwa xdraw temp - adw temp #mountaintable + clc + lda xdraw + adc #mountaintable + sta temp+1 ldy #0 lda ydraw @@ -255,7 +260,7 @@ CheckCollisionDraw sec sbc #1 sta YHit - mva #0 YHit+1 + sty YHit+1 ;mwa ydraw YHit mva #1 HitFlag StopHitChecking diff --git a/scorch.xex b/scorch.xex index a45d59ed7edbe69f93008cd7a4935d031cfa2a50..7667563fa5a5c6812f41a3f7ccbe34adb0afb359 100644 GIT binary patch delta 12429 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 delta 12423 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 KE`EM#um1zn5j1Q7 diff --git a/weapons.asm b/weapons.asm index b9f3e43..3d239f2 100644 --- a/weapons.asm +++ b/weapons.asm @@ -738,8 +738,6 @@ UpNotYet ;check tank collision prior to PLOT sty HitFlag - mwa xdraw xtraj+1 - mwa ydraw ytraj+1 jsr CheckCollisionWithTank lda HitFlag @@ -2144,11 +2142,12 @@ MIRVcontinueFly MIRVcheckCollision - ; checking works only with xtraj so copy there all we need + ; checking works only with xdraw and ydraw so copy there all we need lda xtraj01,x - sta xtraj+1 + sta xdraw lda xtraj02,x - sta xtraj+2 + sta xdraw+1 + mwa ytraj+1 ydraw mva #0 HitFlag jsr CheckCollisionWithTank ldx MirvMissileCounter @@ -2259,14 +2258,22 @@ MIRValreadyAll ; ------------------------------------------------- .proc CheckCollisionWithTank ; ------------------------------------------------- +; Check collision with Tank :) +; xdraw , ydraw - coordinates of the checked point +; results: +; HitFlag - 1 - hit, 0 - no hit +; XHit , YHit - coordinates of hit +; X - index of the hit tank + ldx #0 CheckCollisionWithTankLoop - + lda eXistenZ,x + beq DeadTank lda xtankstableH,x - cmp xtraj+2 + cmp xdraw+1 bne Condition01 lda xtankstableL,x - cmp xtraj+1 + cmp xdraw Condition01 bcs LeftFromTheTank ;add 8 double byte clc @@ -2274,26 +2281,27 @@ Condition01 tay lda xtankstableH,x adc #0 - cmp xtraj+2 + cmp xdraw+1 bne Condition02 - cpy xtraj+1 + cpy xdraw Condition02 bcc RightFromTheTank lda ytankstable,x - cmp ytraj+1 ; check range + cmp ydraw ; check range bcc BelowTheTank ;(ytankstable,ytankstable+3) sbc #4 - cmp ytraj+1 + cmp ydraw bcs OverTheTank mva #1 HitFlag - mwa xtraj+1 XHit - mwa ytraj+1 YHit + mwa xdraw XHit + mwa ydraw YHit rts ; in X there is an index of the hit tank RightFromTheTank LeftFromTheTank OverTheTank BelowTheTank +DeadTank inx cpx NumberOfPlayers bne CheckCollisionWithTankLoop