diff --git a/scorch.asm b/scorch.asm index 595f130..ce5461f 100644 --- a/scorch.asm +++ b/scorch.asm @@ -26,10 +26,12 @@ ;--------------------------------------------------- icl 'definitions.asm' ;--------------------------------------------------- -FirstZpageVariable = $5B + +FirstZpageVariable = $5A .zpvar DliColorBack .byte = FirstZpageVariable .zpvar GradientNr .byte .zpvar GradientColors .word + .zpvar WindChangeInRound .byte ; wind change after each turn (not round only) flag - (0 - round only, >0 - each turn) .zpvar JoystickNumber .byte .zpvar xdraw .word ;= $64 ;variable X for plot .zpvar ydraw .word ;variable Y for plot (like in Atari Basic - Y=0 in upper right corner of the screen) @@ -883,8 +885,14 @@ NoPlayerNoDeath inc:lda TankSequencePointer cmp NumberOfPlayers - sne:mva #0 TankSequencePointer - + bne NotLastPlayerInRound + mva #0 TankSequencePointer + + lda WindChangeInRound + beq NoWindChangeNow + jsr GetRandomWind ; wind change after each turn (not round only) +NoWindChangeNow +NotLastPlayerInRound jmp MainRoundLoop .endp diff --git a/scorch.bin b/scorch.bin index f455b36..5aa9a03 100644 Binary files a/scorch.bin and b/scorch.bin differ diff --git a/scorch.xex b/scorch.xex index a9a7ad3..2823074 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/textproc.asm b/textproc.asm index 9f2654c..d5b098b 100644 --- a/textproc.asm +++ b/textproc.asm @@ -63,6 +63,10 @@ mva #0 OptionsY OptionsMainLoop + + lda WindChangeInRound + sta OptionsHere+126 + jsr OptionsInversion jsr getkey bit escFlag @@ -119,6 +123,14 @@ OptionsNoTab jmp OptionsMainLoop .endp .proc SelectNextGradient + lda OptionsY ; if "Wind" option selected + cmp #$03 + bne NotWind + lda WindChangeInRound ; wind change after each turn (not round only) flag + eor #$1f ; '?' character + sta WindChangeInRound + rts +NotWind ldy GradientNr iny cpy #$03