diff --git a/Atari/textproc.asm b/Atari/textproc.asm index 6b79b24..715b48b 100644 --- a/Atari/textproc.asm +++ b/Atari/textproc.asm @@ -872,13 +872,14 @@ NotBarrel bne NotWhiteFlag cmp ActiveDefenceWeapon,x bne NoDeactivateWhiteFlag - mva #sfx_white_flag sfx_effect lda #$00 ; if try to activate activated White Flag then deactivate Defence +NoDeactivateWhiteFlag + ; Activate White Flag (or deactivate if A=0) sta ActiveDefenceWeapon,x sta ShieldEnergy,x - beq DefActivationEnd + mva #sfx_white_flag sfx_effect + bne DefActivationEnd NotWhiteFlag -NoDeactivateWhiteFlag ; activate new defensive sta ActiveDefenceWeapon,x ; set defensive energy diff --git a/ai.asm b/ai.asm index fd4d20c..58590d8 100644 --- a/ai.asm +++ b/ai.asm @@ -246,6 +246,7 @@ LowBatteries jsr ClearTankNr ; we must hide tank to erase shields (issue #138) lda #ind_White_Flag sta ActiveDefenceWeapon,x + mva #sfx_white_flag sfx_effect jsr PutTankNr ; and draw tank witch Flag EnoughEnergy ; jsr DisplayStatus.DisplayEnergy ; not necessary - status update after othher defensives diff --git a/scorch.asm b/scorch.asm index 858b940..a4bb72c 100644 --- a/scorch.asm +++ b/scorch.asm @@ -32,7 +32,7 @@ ;--------------------------------------------------- .macro build - dta d"1.43" ; number of this build (4 bytes) + dta d"1.45" ; number of this build (4 bytes) .endm .macro RMTSong diff --git a/scorch.xex b/scorch.xex index bc90e94..434323e 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/scorchC64.asm b/scorchC64.asm index 1127a75..79c679a 100644 --- a/scorchC64.asm +++ b/scorchC64.asm @@ -24,7 +24,7 @@ ;--------------------------------------------------- .macro build - dta d"1.43" ; number of this build (4 bytes) + dta d"1.45" ; number of this build (4 bytes) .endm .macro RMTSong diff --git a/scorchC64.prg b/scorchC64.prg index d98ed4e..7eb0567 100644 Binary files a/scorchC64.prg and b/scorchC64.prg differ diff --git a/variables.asm b/variables.asm index 04a254c..381dfd8 100644 --- a/variables.asm +++ b/variables.asm @@ -28,6 +28,9 @@ TanksNames ; DO NOT ZERO ON GAME RESTART - ticket #24 skilltable ; computer controlled players' skills (1-8), 0 - human (no cleaning, ticket #30) .DS MaxPlayers ;---------------------------------------------------- +JoyNumber ; Joystick port number (from 0 to 3) + .DS MaxPlayers +;---------------------------------------------------- variablesToInitialize ;Options DO NOT ZERO ON RESTART GAME - ticket #27 OptionsTable .ds maxOptions ;.by 0,1,2,2,0,1,3,2,0 @@ -155,10 +158,6 @@ ytankstable ;Y positions of tanks (lower left point) .DS MaxPlayers LowResDistances ; coarse tank positions divided by 4 (to be in just one byte) .DS MaxPlayers -JoyNumber ; Joystick port number (from 0 to 3) - .DS MaxPlayers -TankShape ; Tank shape number (from 0 to 2) - .DS MaxPlayers ;---------------------------------------------------- TargetTankNr ; Target tank index (for AI routines) .DS 1 @@ -170,6 +169,8 @@ SecondTryFlag ; For precise AI aiming ;Erase .DS 1 ; if 1 only mask of the character is printed ; on the graphics screen. if 0 character is printed normally +TankShape ; Tank shape number (from 0 to 2) + .DS MaxPlayers ;---------------------------------------------------- ;RangeLeft .DS 2 ;range of the soil to be fallen down ;RangeRight .DS 2 ;it is being set by all Explosions