From 5e2ab7f2062893d6f23263ec0d9c03c05bbc0644 Mon Sep 17 00:00:00 2001 From: pkali Date: Tue, 14 Jun 2022 09:26:38 -0400 Subject: [PATCH] defensives activate #26 --- grafproc.asm | 3 ++- scorch.asm | 6 +----- scorch.xex | Bin 39085 -> 39137 bytes textproc.asm | 42 +++++++++++++++++++++++++++++++++++++++--- 4 files changed, 42 insertions(+), 9 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index 398706e..581fc74 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -1567,7 +1567,8 @@ EndPut4x4 rts .endp -.proc SetMainScreen +.proc SetMainScreen + mva #0 dmactl VDLI DLIinterruptGraph ; jsr SetDLI for graphics (game) screen mwa #dl dlptrs ; issue #72 (glitches when switches) lda dmactls diff --git a/scorch.asm b/scorch.asm index a28be4a..a7ee2db 100644 --- a/scorch.asm +++ b/scorch.asm @@ -145,11 +145,7 @@ MainGameLoop ; issue #72 (glitches when switches) mva #0 dmactl - lda dmactls - and #$fc - ;ora #$02 ; 2=normal, 3 = wide screen width, 0 = no screen - sta dmactls - + jsr GetRandomWind jsr RoundInit diff --git a/scorch.xex b/scorch.xex index ed4e205c821856931d7b5cc9d8a3c521af80e454..dc92228b8fe58739fcdb7e5f749828d2eeeaea1c 100644 GIT binary patch delta 13555 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 JTq>^W^FIWEBWM5s delta 13539 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 diff --git a/textproc.asm b/textproc.asm index 783f258..3ff99e4 100644 --- a/textproc.asm +++ b/textproc.asm @@ -226,11 +226,14 @@ AfterManualPurchase ;-------------------------------------------------- .proc Purchase ; ;-------------------------------------------------- +; TODO: when round ends with a weapon depleted the pointer points to an empty line + ; In tanknr there is a number of the tank (player) ; that is buying weapons now (from 0). ; Rest of the data is taken from appropriate tables ; and during the purchase these tables are modified. + mva #0 dmactl VDLI DLIinterruptText ; jsr SetDLI for text (purchase) screen jsr PMoutofScreen mwa #PurchaseDL dlptrs @@ -572,8 +575,11 @@ DoNotIncHigher2 bit isInventory ; bpl ChoosingItemForPurchase + + lda whichList + bne calcPosDefensive -; calculate positionOnTheList from the activeWeapon +; calculate positionOnTheList from the activeWeapon (offensives) ldx tankNr lda activeWeapon,x ldy #0 @@ -581,7 +587,24 @@ DoNotIncHigher2 cmp IndexesOfWeaponsL1,y beq weaponfound iny - cpy #40 ; maxOffensiveWeapons + cpy #48 ; maxOffensiveWeapons + bne @- + ; not found apparently? + ; TODO: check border case (the last weapon) + ldy #0 + beq weaponFound ; jmp + + +calcPosDefensive +; calculate positionOnTheList from the activeWeapon (defensives) + ldx tankNr + lda ActiveDefenceWeapon,x + ldy #48 ; min defensive weapon +@ + cmp IndexesOfWeaponsL2,y + beq weaponfound + iny + cpy #64 ; maxDefensiveWeapon+1 bne @- ; not found apparently? ; TODO: check border case (the last weapon) @@ -589,6 +612,7 @@ DoNotIncHigher2 weaponFound ; weapon index in Y sty positionOnTheList + ; Here we have all we need ; So choose the weapon for purchase ...... ;-------------------------------------------------- @@ -691,7 +715,7 @@ SecondSelected ;-------------------------------------------------- .proc PurchaseWeaponNow ;-------------------------------------------------- -weaponPtr = temp +weaponPtr = temp ; could be weaponPointer... we have this isPriceZero = tempXRoller bit isInventory bmi inventorySelect @@ -758,11 +782,23 @@ LessThan100 jmp Purchase.AfterPurchase inventorySelect + lda whichList + bne invSelectDef + ldy PositionOnTheList lda IndexesOfWeaponsL1,y ldx tankNr sta activeWeapon,x + rts +invSelectDef + ldy PositionOnTheList + lda IndexesOfWeaponsL2,y + tay + ldx tankNr + sta ActiveDefenceWeapon,x + lda DefensiveEnergy,y + sta ShieldEnergy,x rts .endp