diff --git a/ai.asm b/ai.asm index 9c96bf6..d1eb767 100644 --- a/ai.asm +++ b/ai.asm @@ -262,10 +262,10 @@ EnoughEnergy ; first check check if any is in use lda ActiveDefenceWeapon,x bne DefensiveInUse - ldy #ind_Nuclear_Winter_+1 ;the last defensive weapon + ldy #last_defensive_____+1 ;the last defensive weapon @ dey - cpy #ind_Battery________ ;first defensive weapon (White Flag nad Battery - never use) + cpy #ind_Battery________ ;first defensive weapon (White Flag and Battery - never use) beq NoUseDefensive lda (temp),y ; has address of TanksWeaponsTable beq @- @@ -297,10 +297,10 @@ DefensiveInUse ; first check check if any is in use lda ActiveDefenceWeapon,x bne DefensiveInUse - ldy #ind_Nuclear_Winter_+1 ;the last defensive weapon + ldy #last_defensive_____+1 ;the last defensive weapon @ dey - cpy #ind_Battery________ ;first defensive weapon (White Flag nad Battery - never use) + cpy #ind_Battery________ ;first defensive weapon (White Flag and Battery - never use) beq NoUseDefensive lda (temp),y ; has address of TanksWeaponsTable beq @- diff --git a/grafproc.asm b/grafproc.asm index 23693be..028cd36 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -1100,8 +1100,9 @@ ParachutePresent ; check energy of parachute lda ShieldEnergy,x bne OneTimeParachute - mva #0 Parachute - mva #0 ActiveDefenceWeapon,x ; deactivate defence + lda #$00 + sta Parachute + sta ActiveDefenceWeapon,x ; deactivate defence OneTimeParachute lda Parachute ora #2 ; we set bit nr 1 (nr 0 means that parachute is present) diff --git a/scorch.xex b/scorch.xex index 314f5cb..f946e75 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/weapons.asm b/weapons.asm index 7f6b356..c7e3313 100644 --- a/weapons.asm +++ b/weapons.asm @@ -1433,12 +1433,14 @@ CTRLPressedLeft pressedTAB mva #sfx_purchase sfx_effect ldx TankNr - inc ActiveWeapon,x - lda ActiveWeapon,x - cmp #$30 ; number of offensive weapons - bne @+ - lda #0 + lda ActiveWeapon,x + cmp #last_offensive_____ ; the last possible offensive weapon + bne ?notlasttofirst + lda #first_offensive____ ; #0 sta ActiveWeapon,x + beq @+ ; allways = 0 +?notlasttofirst + inc ActiveWeapon,x @ lda ActiveWeapon,x jsr HowManyBullets ; and we have qty of owned shells. Ufff.... @@ -1448,10 +1450,14 @@ pressedTAB CTRLpressedTAB ldx TankNr - dec ActiveWeapon,x - bpl @+ - lda #$2f ; the last possible offensive weapon + lda ActiveWeapon,x + cmp #first_offensive____ ; #0 + bne ?notfirsttolast + lda #last_offensive_____ ; the last possible offensive weapon sta ActiveWeapon,x + bne @+ ; allways <> 0 +?notfirsttolast + dec ActiveWeapon,x @ lda ActiveWeapon,x jsr HowManyBullets ; and we have qty of owned shells. Ufff....