mirror of
https://github.com/pkali/scorch_src.git
synced 2026-05-20 22:34:21 +02:00
build 127
This commit is contained in:
Regular → Executable
@@ -37,6 +37,12 @@ we decided it must go in 'English' to let other people work on it
|
|||||||
## Changes:
|
## Changes:
|
||||||
|
|
||||||
|
|
||||||
|
###### Build 127
|
||||||
|
2022-02-14
|
||||||
|
- option to select number of rounds in a game
|
||||||
|
- rudimentary game over message (in results screen)
|
||||||
|
- game restarts
|
||||||
|
|
||||||
###### Build 126
|
###### Build 126
|
||||||
2022-01-30
|
2022-01-30
|
||||||
- fixed bug 006 (After some attacks the OffensiveText stays on the screen)
|
- fixed bug 006 (After some attacks the OffensiveText stays on the screen)
|
||||||
|
|||||||
@@ -44,11 +44,11 @@ To do
|
|||||||
+003. Add colour of the given tank to the screen
|
+003. Add colour of the given tank to the screen
|
||||||
E.g. when a given tank is shooting it's colour could be behind
|
E.g. when a given tank is shooting it's colour could be behind
|
||||||
tank name on the text screen
|
tank name on the text screen
|
||||||
004. The game has no end!!! Add ending!!!
|
*004. The game has no end!!! Add ending!!!
|
||||||
A good idea for an ending - a TIP pic - Red Army taking Berlin :)
|
A good idea for an ending - a TIP pic - Red Army taking Berlin :)
|
||||||
Another - vector tanks like in BattleZone
|
Another - vector tanks like in BattleZone
|
||||||
Another - stickman tankmen
|
Another - stickman tankmen
|
||||||
005. Add number of rounds to the options menu
|
+005. Add number of rounds to the options menu
|
||||||
006. Add sound effects (maybe sampled? or mp0 (sound based on fft))
|
006. Add sound effects (maybe sampled? or mp0 (sound based on fft))
|
||||||
007. There is no defensive weapon handling (only parachute works,
|
007. There is no defensive weapon handling (only parachute works,
|
||||||
but also provisionally
|
but also provisionally
|
||||||
@@ -61,7 +61,7 @@ To do
|
|||||||
+014. Demo mode - when all tanks are CPUs let them play non-stop!
|
+014. Demo mode - when all tanks are CPUs let them play non-stop!
|
||||||
(replace waiting for a key-press after a round with a small delay)
|
(replace waiting for a key-press after a round with a small delay)
|
||||||
+015. Switch to mads for easier development (mads speeds it up, no doubt)
|
+015. Switch to mads for easier development (mads speeds it up, no doubt)
|
||||||
016. Speed up death's head (e.g.: draw each second circle)
|
+016. Speed up death's head (e.g.: draw each second circle)
|
||||||
-017. Wide screen mode (with scroll?)
|
-017. Wide screen mode (with scroll?)
|
||||||
018. Speed up soil down after soil eating weapons - correctly calculate
|
018. Speed up soil down after soil eating weapons - correctly calculate
|
||||||
ranges as now range is very broad even when very little soil is eaten.
|
ranges as now range is very broad even when very little soil is eaten.
|
||||||
|
|||||||
Regular → Executable
Regular → Executable
Regular → Executable
|
Before Width: | Height: | Size: 190 B After Width: | Height: | Size: 190 B |
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
+3
-2
@@ -29,7 +29,7 @@ OptionsDL
|
|||||||
:5 .byte $70
|
:5 .byte $70
|
||||||
.byte $42
|
.byte $42
|
||||||
.word OptionsScreen
|
.word OptionsScreen
|
||||||
.byte $02,$02,$70,$02,0,$02,0,$2,0,$2
|
.byte $30,$02,$02,$70,$02,0,$02,0,$2,0,$2,0,$2
|
||||||
.byte $41
|
.byte $41
|
||||||
.word OptionsDL
|
.word OptionsDL
|
||||||
;------------------------
|
;------------------------
|
||||||
@@ -77,7 +77,7 @@ PlotLine = display + screenHeight*screenBytes ; the last line is plot pointer
|
|||||||
;Screen displays go first to avoid crossing 4kb barrier
|
;Screen displays go first to avoid crossing 4kb barrier
|
||||||
;-----------------------------------------------
|
;-----------------------------------------------
|
||||||
OptionsScreen
|
OptionsScreen
|
||||||
dta d"Welcome to Scorch ver. 126 (un)2000-2022"
|
dta d"Welcome to Scorch ver. 127 (un)2000-2022"
|
||||||
dta d" Please select option with cursor keys "
|
dta d" Please select option with cursor keys "
|
||||||
dta d" and press (Return) to proceed "
|
dta d" and press (Return) to proceed "
|
||||||
OptionsHere
|
OptionsHere
|
||||||
@@ -86,6 +86,7 @@ OptionsHere
|
|||||||
dta d"Cash : none 2K 5K 8K 10K "
|
dta d"Cash : none 2K 5K 8K 10K "
|
||||||
dta d"Gravity : 0.2G 0.5G 1G 2G 4G "
|
dta d"Gravity : 0.2G 0.5G 1G 2G 4G "
|
||||||
dta d"Wind : 1B 3B 5B 7B 9B "
|
dta d"Wind : 1B 3B 5B 7B 9B "
|
||||||
|
dta d"Rounds : 10 20 30 40 50 "
|
||||||
OptionsScreenEnd
|
OptionsScreenEnd
|
||||||
; -------------------------------------------------
|
; -------------------------------------------------
|
||||||
NameScreen
|
NameScreen
|
||||||
|
|||||||
Regular → Executable
Regular → Executable
+7
-4
@@ -149,7 +149,7 @@ MainGameLoop
|
|||||||
jsr GetRandomWind
|
jsr GetRandomWind
|
||||||
|
|
||||||
jsr Round
|
jsr Round
|
||||||
|
|
||||||
jsr SortSequence
|
jsr SortSequence
|
||||||
|
|
||||||
; Hide all (easier than hide last ;) ) tanks
|
; Hide all (easier than hide last ;) ) tanks
|
||||||
@@ -168,11 +168,11 @@ MainGameLoop
|
|||||||
; add gains and substract looses
|
; add gains and substract looses
|
||||||
; gain is what player gets for lost energy of opponents
|
; gain is what player gets for lost energy of opponents
|
||||||
; energy lost by opponents is added during Round and
|
; energy lost by opponents is added during Round and
|
||||||
; little below in source multiplied by 2 to get "dollars".
|
; little below in source, multiplied by 2 to get "dollars".
|
||||||
; By analogy, loose is energy that given player looses during
|
; By analogy, loss is energy that given player looses during
|
||||||
; each Round.
|
; each Round.
|
||||||
; Important! If player has 10 energy and gets central hit
|
; Important! If player has 10 energy and gets central hit
|
||||||
; from nuke that would take 90 energy point his loose
|
; from nuke that would take 90 energy points his loss
|
||||||
; is 90, not 10
|
; is 90, not 10
|
||||||
jsr DisplayResults
|
jsr DisplayResults
|
||||||
|
|
||||||
@@ -246,6 +246,8 @@ skipzeroing
|
|||||||
dex
|
dex
|
||||||
bpl CalculateGains
|
bpl CalculateGains
|
||||||
|
|
||||||
|
lda GameIsOver
|
||||||
|
jne START
|
||||||
|
|
||||||
|
|
||||||
inc CurrentRoundNr
|
inc CurrentRoundNr
|
||||||
@@ -787,6 +789,7 @@ Initialize .proc
|
|||||||
sta tracerflag
|
sta tracerflag
|
||||||
sta oldPlotPointerX
|
sta oldPlotPointerX
|
||||||
sta oldPlotPointerX+1
|
sta oldPlotPointerX+1
|
||||||
|
sta GameIsOver
|
||||||
|
|
||||||
mva #$2 colpf2s
|
mva #$2 colpf2s
|
||||||
mva #12 colpf3s
|
mva #12 colpf3s
|
||||||
|
|||||||
BIN
Binary file not shown.
Regular → Executable
+24
-5
@@ -1,4 +1,4 @@
|
|||||||
; @com.wudsn.ide.asm.mainsourcefile=program.asm
|
; @com.wudsn.ide.asm.mainsourcefile=scorch.asm
|
||||||
|
|
||||||
|
|
||||||
.IF *>0
|
.IF *>0
|
||||||
@@ -69,7 +69,7 @@ Options .proc
|
|||||||
; this function returns:
|
; this function returns:
|
||||||
; - number of players (NumberOfPlayers)
|
; - number of players (NumberOfPlayers)
|
||||||
; - money each player has on the beginning of the game (moneyL i moneyH)
|
; - money each player has on the beginning of the game (moneyL i moneyH)
|
||||||
; - and I am sure maxwind, gravity, ????
|
; - and I am sure maxwind, gravity, no_of_rounds in a game
|
||||||
|
|
||||||
mva #0 OptionsY
|
mva #0 OptionsY
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ OptionsMainLoop
|
|||||||
inc:lda OptionsY
|
inc:lda OptionsY
|
||||||
cmp #maxoptions
|
cmp #maxoptions
|
||||||
bne OptionsMainLoop
|
bne OptionsMainLoop
|
||||||
mva #3 OptionsY
|
mva #maxoptions-1 OptionsY
|
||||||
jmp OptionsMainLoop
|
jmp OptionsMainLoop
|
||||||
|
|
||||||
OptionsNoDown
|
OptionsNoDown
|
||||||
@@ -153,9 +153,15 @@ skip10
|
|||||||
ldy OptionsTable+3
|
ldy OptionsTable+3
|
||||||
lda MaxWindTable,y
|
lda MaxWindTable,y
|
||||||
sta MaxWind
|
sta MaxWind
|
||||||
|
|
||||||
|
;fifth option (no of rounds)
|
||||||
|
ldy OptionsTable+4
|
||||||
|
lda RoundsTable,y
|
||||||
|
sta RoundsInTheGame
|
||||||
|
|
||||||
rts
|
rts
|
||||||
;--------
|
;--------
|
||||||
; inversing choosed option (cursor)
|
; inversing selected option (cursor)
|
||||||
;--------
|
;--------
|
||||||
OptionsInversion
|
OptionsInversion
|
||||||
mwa #OptionsHere temp
|
mwa #OptionsHere temp
|
||||||
@@ -191,7 +197,7 @@ OptionSetLoop
|
|||||||
; next option
|
; next option
|
||||||
adw temp #40 ;jump to next line
|
adw temp #40 ;jump to next line
|
||||||
inc:lda temp2
|
inc:lda temp2
|
||||||
cmp #4 ;number of options
|
cmp #maxoptions ;number of options
|
||||||
bne OptionsSetMainLoop
|
bne OptionsSetMainLoop
|
||||||
|
|
||||||
;inversing the first few chars of the selected line (OptionsY)
|
;inversing the first few chars of the selected line (OptionsY)
|
||||||
@@ -1349,6 +1355,9 @@ DisplayResults ;
|
|||||||
;Header1
|
;Header1
|
||||||
;Displays round number
|
;Displays round number
|
||||||
lda CurrentRoundNr
|
lda CurrentRoundNr
|
||||||
|
cmp RoundsInTheGame
|
||||||
|
beq GameOver4x4
|
||||||
|
|
||||||
sta decimal
|
sta decimal
|
||||||
mwa #RoundNrDisplay displayposition
|
mwa #RoundNrDisplay displayposition
|
||||||
jsr displaybyte ;decimal (byte), displayposition (word)
|
jsr displaybyte ;decimal (byte), displayposition (word)
|
||||||
@@ -1358,7 +1367,17 @@ DisplayResults ;
|
|||||||
mva ResultY LineYdraw
|
mva ResultY LineYdraw
|
||||||
mva #1 plot4x4color
|
mva #1 plot4x4color
|
||||||
jsr TypeLine4x4
|
jsr TypeLine4x4
|
||||||
|
beq @+ ;unconditional jump, because TypeLine4x4 ends with beq
|
||||||
|
|
||||||
|
GameOver4x4
|
||||||
|
mwa #LineGameOver LineAddress4x4
|
||||||
|
mwa ResultX LineXdraw
|
||||||
|
mva ResultY LineYdraw
|
||||||
|
mva #1 plot4x4color
|
||||||
|
jsr TypeLine4x4
|
||||||
|
mva #1 GameIsOver
|
||||||
|
|
||||||
|
@
|
||||||
adw ResultY #4 ;next line
|
adw ResultY #4 ;next line
|
||||||
|
|
||||||
;Empty line
|
;Empty line
|
||||||
|
|||||||
Regular → Executable
+11
-4
@@ -8,6 +8,7 @@
|
|||||||
;=====================================================
|
;=====================================================
|
||||||
NumberOfPlayers .byte 0 ;current number of players (counted from 1)
|
NumberOfPlayers .byte 0 ;current number of players (counted from 1)
|
||||||
TankSequence :MaxPlayers .by 0 ;sequence of shooting during the Round
|
TankSequence :MaxPlayers .by 0 ;sequence of shooting during the Round
|
||||||
|
GameIsOver .byte 0 ; 1 - it was the last round in the game
|
||||||
;-----------------------------------
|
;-----------------------------------
|
||||||
skilltable ; computer controlled players' skills (1-8), 0 - human
|
skilltable ; computer controlled players' skills (1-8), 0 - human
|
||||||
:MaxPlayers .by 0
|
:MaxPlayers .by 0
|
||||||
@@ -257,15 +258,17 @@ OffsetDL1 ; offset of the list screen (how many lines)....
|
|||||||
|
|
||||||
; -------------------------------------------------
|
; -------------------------------------------------
|
||||||
;Options
|
;Options
|
||||||
OptionsTable .byte 0,0,2,2
|
OptionsTable .byte 0,0,2,2,0
|
||||||
OptionsY .byte 0 ;vertical position of cursor on Options screen
|
OptionsY .byte 0 ;vertical position of cursor on Options screen
|
||||||
maxoptions = 4 ;number of all options (4 in 0.01)
|
maxoptions = 5 ;number of all options (4 in 0.01)
|
||||||
CashOptionH ;(one zero less than on the screen)
|
CashOptionH ;(one zero less than on the screen)
|
||||||
.byte 0,>200,>500,>800,>1000
|
.byte 0,>200,>500,>800,>1000
|
||||||
CashOptionL
|
CashOptionL
|
||||||
.byte 0,<200,<500,<800,<1000
|
.byte 0,<200,<500,<800,<1000
|
||||||
GravityTable .byte 10,20,25,30,40
|
GravityTable .byte 10,20,25,30,40
|
||||||
MaxWindTable .byte 5,20,40,60,80
|
MaxWindTable .byte 5,20,40,60,80
|
||||||
|
RoundsTable .byte 10,20,30,40,50
|
||||||
|
RoundsInTheGame .byte 10 ;how many rounds in the current game
|
||||||
;------------------------------------------------
|
;------------------------------------------------
|
||||||
|
|
||||||
;mark the level
|
;mark the level
|
||||||
@@ -354,6 +357,8 @@ TextNumberOff .byte 0
|
|||||||
TankTempY
|
TankTempY
|
||||||
.byte 0
|
.byte 0
|
||||||
;----------------------------------------------
|
;----------------------------------------------
|
||||||
|
; 4x4 texts
|
||||||
|
;----------------------------------------------
|
||||||
LineAddress4x4
|
LineAddress4x4
|
||||||
.word 0
|
.word 0
|
||||||
LineCharNr
|
LineCharNr
|
||||||
@@ -380,7 +385,9 @@ RoundNrDisplay
|
|||||||
LineHeader2
|
LineHeader2
|
||||||
dta d"# RESULTS #"
|
dta d"# RESULTS #"
|
||||||
.byte $ff
|
.byte $ff
|
||||||
|
LineGameOver
|
||||||
|
dta d"# GAME OVER #"
|
||||||
|
.byte $ff
|
||||||
|
|
||||||
|
|
||||||
;-----------
|
;-----------
|
||||||
@@ -803,7 +810,7 @@ WeaponSymbols
|
|||||||
.byte $02,$03,$06,$1d,$0a,$1b,$1c,$1e
|
.byte $02,$03,$06,$1d,$0a,$1b,$1c,$1e
|
||||||
.byte $3b,$3c,$3d,$3e,$3f,$5e,$5f,$00
|
.byte $3b,$3c,$3d,$3e,$3f,$5e,$5f,$00
|
||||||
|
|
||||||
; Names of weapons (16 chars lon)
|
; Names of weapons (16 chars long)
|
||||||
NamesOfWeapons ;the comment is an index in the tables
|
NamesOfWeapons ;the comment is an index in the tables
|
||||||
dta d"Baby Missile " ; 0
|
dta d"Baby Missile " ; 0
|
||||||
dta d"Missile " ; 1
|
dta d"Missile " ; 1
|
||||||
|
|||||||
Regular → Executable
Reference in New Issue
Block a user