build 126

This commit is contained in:
Pawel Kalinowski
2022-01-30 13:13:44 -05:00
parent e424064aad
commit ef7b8df63c
6 changed files with 83 additions and 62 deletions
+53 -45
View File
@@ -36,12 +36,20 @@ we decided it must go in 'English' to let other people work on it
## Changes: ## Changes:
Build 125
###### Build 126
2022-01-30
- fixed bug 006 (After some attacks the OffensiveText stays on the screen)
- fixed bug 015 (Only first shoot of FunkyBomb is correct
- fixed bug 016 (No falling soil after leapfrog)
##### Build 125
2022-01-23 2022-01-23
- included splash screen by KAZ - included splash screen by KAZ
Build 124 ##### Build 124
2013-12-21 2013-12-21
- removed large chunk of redundant 4x4 print code and table generation code, - removed large chunk of redundant 4x4 print code and table generation code,
over 1kb gained. over 1kb gained.
@@ -51,7 +59,7 @@ Build 124
- screen memory moved to low area ($1010), making the game start at $3010 and easier - screen memory moved to low area ($1010), making the game start at $3010 and easier
to be loaded. Other minor memory layout modifications. to be loaded. Other minor memory layout modifications.
Build 123 ##### Build 123
2013-12-10 2013-12-10
- fixed bug 013: sometimes demo mode does not work (it stops on results display) - fixed bug 013: sometimes demo mode does not work (it stops on results display)
- fixed bug 012: (newly introduced) Death explosions are offset right and possibly up. - fixed bug 012: (newly introduced) Death explosions are offset right and possibly up.
@@ -63,108 +71,108 @@ Build 123
funkyBomb angle changed from -8..+8 to -16..+16 funkyBomb angle changed from -8..+8 to -16..+16
- speeded up explosions by drawing only odd circles. Not bad visually and 2x faster. - speeded up explosions by drawing only odd circles. Not bad visually and 2x faster.
Build 122 ##### Build 122
2013-11-17 2013-11-17
- tank expend 1 energy with each shoot to avoid endless shooting loops - tank expend 1 energy with each shoot to avoid endless shooting loops
- small visual glitch with background colour fixed - small visual glitch with background colour fixed
- death messages "defensive texts" in source do not stay on screen after some explosions - death messages "defensive texts" in source do not stay on screen after some explosions
Build 121 ##### Build 121
2013-11-10 2013-11-10
- Poolshark and Shooter can buy weapons - Poolshark and Shooter can buy weapons
- Purchase screen moved to the beginning of the round - Purchase screen moved to the beginning of the round
Build 120 ##### Build 120
2013-11-09 2013-11-09
SillyVenture 2K13 joint effort to bring artificial intelligence into life: SillyVenture 2K13 joint effort to bring artificial intelligence into life:
- Shooter and Poolshark shooting programmed - Shooter and Poolshark shooting programmed
- several small bugfixes and improvements as proposed by SillyVenture crowd - several small bugfixes and improvements as proposed by SillyVenture crowd
Build 119 ##### Build 119
2012-06-17 2012-06-17
Scorch sources translated to MADS with the sweet repl.sh script. Scorch sources translated to MADS with the sweet repl.sh script.
MISSING UPDATE INFORMATION... POSSIBLY NOTHING IMPORTANT HAPPENED HERE. MISSING UPDATE INFORMATION... POSSIBLY NOTHING IMPORTANT HAPPENED HERE.
Build 115 ##### Build 115
2009-08-25 2009-08-25
- fixed bug 001 (lack of explosions on the empty ground) - fixed bug 001 (lack of explosions on the empty ground)
- fixed bug 003 (wrapping death's head explosions) - fixed bug 003 (wrapping death's head explosions)
- fixed plot (faster explosions) - fixed plot (faster explosions)
- fukk, just 6 years and we are back!!! This game is pretty addictive :) - fukk, just 6 years and we are back!!! This game is pretty addictive :)
TO DO: TO DO:
- send our wives and kids away much more often :)))) - send our wives and kids away much more often :))))
Build 114 ##### Build 114
2003-08-22 2003-08-22
- Results after each round are displayed in the right - Results after each round are displayed in the right
sequence, i.e. the best one is on the top sequence, i.e. the best one is on the top
- during second and following rounds shooting sequence - during second and following rounds shooting sequence
is such that the worst tank shoots first is such that the worst tank shoots first
The above changes does not look terrific, but there was The above changes does not look terrific, but there was
a lot of thinking to do it correctly. What is the most a lot of thinking to do it correctly. What is the most
important the overall game feeling improved a lot! important the overall game feeling improved a lot!
program.s65 program.s65
* added routine SortSequence - added routine SortSequence
textproc.s65
* changed routine DisplayResults to show
round results in correct order
Build 113 textproc.s65
- changed routine DisplayResults to show round results in correct order
##### Build 113
2003-08-17 2003-08-17
- AI Opponents move barrels to the right position - AI Opponents move barrels to the right position
before firing a bullet. before firing a bullet.
- Purchase screen is not displayed for AI opponents. - Purchase screen is not displayed for AI opponents.
- There is 2 sec delay after displaying - There is 2 sec delay after displaying
"Deffensive" text i.e. text before death "Defensive" text i.e. text before death
program.s65 program.s65
* added routine MoveBarrelToNewPosition - added routine MoveBarrelToNewPosition which rotates barrel of the tank until it sits at the right (newly randomized) angle
which rotates barrel of the tank until
it sits at the right (newly randomized) angle
textproc.s65 textproc.s65
* added routine PurchaseAI - added routine PurchaseAI it is a framework for all AI purchases
it is a framework for all AI purchases
SHORTSYS.S65 SHORTSYS.S65
* new macro PAUSE (waits given number of frames) - new macro PAUSE (waits given number of frames)
Bulid 112 ##### Build 112
2003-08-15 2003-08-15
First attempts to create a framework for intelligent First attempts to create a framework for intelligent
opponents (AI). Right now there is only one level opponents (AI). Right now there is only one level
of "intelligence" - Moron. Moron shoots at random angle of "intelligence" - Moron.
with random force.
Moron shoots at random angle with random force.
program.s65 program.s65
* routine Round checks the Skill level - routine Round checks the Skill level and if it is not human branches to ArtificialIntelligence routine.
and if it is not human branches to - new routines:
ArtificialIntelligence routine. - ArtificialIntelligence
* new routines: - RandomizeForce
- ArtificialIntelligence - RandomizeAngle
- RandomizeForce
- RandomizeAngle
TO DO: TO DO:
* nice rotating barrel of AI tank - nice rotating barrel of AI tank
* AI weapon purchase and usage - AI weapon purchase and usage
* AI better than Moronic... (but how...) - AI better than Moronic... (but how...)
* tanks' shooting seqence shoud be from - tanks' shooting sequence should be from weakest to the strongest, not random
weakest to the strongest, not random
Bulid 111 ##### Build 111
2003-07-27 2003-07-27
program.s65: program.s65:
* added sequentional shooting - added sequential shooting (not necessarily tank no. 1 shoots first)
(not necessarily tank no. 1 shoots first) - added routine "RandomizeSequence" that is called before each round
* added routine "RandomizeSequence" that is called - initial angle of the tank's barrel is randomized (was always 45 degrees right)
before each round
* initial angle of the tank's barrel is randomized
(was always 45 degrees right)
variables.s65 variables.s65
* added table "TankSequence" - added table "TankSequence"
grafproc.s65 grafproc.s65
* shorter delay during Flight - shorter delay during Flight
...older history missing...
+4 -4
View File
@@ -14,7 +14,7 @@ Known bugs (+ means bug is fixed)
(and uses one parachute more than necessary) (and uses one parachute more than necessary)
005. tank stands still on a one pixel spike - it should fall 005. tank stands still on a one pixel spike - it should fall
(possibly all that is necessary is adjust of WhereToSlideTable) (possibly all that is necessary is adjust of WhereToSlideTable)
006. After some attacks (like MIRV and leapfrog the OffensiveText +006. After some attacks (like MIRV and leapfrog the OffensiveText
stays on the screen (and becomes a static decoration) stays on the screen (and becomes a static decoration)
It possibly happens when a tank kills itself with mirv or leapfrog. It possibly happens when a tank kills itself with mirv or leapfrog.
007. Decreasing of number of bullets after a shoot does not work correctly 007. Decreasing of number of bullets after a shoot does not work correctly
@@ -29,9 +29,9 @@ Known bugs (+ means bug is fixed)
+012. (newly introduced) Death explosions are offset right and possibly up. +012. (newly introduced) Death explosions are offset right and possibly up.
+013. sometimes demo mode does not work (it stops on results display) +013. sometimes demo mode does not work (it stops on results display)
+014: FunkyBomb shoots with too high angle +014: FunkyBomb shoots with too high angle
015: Only first shoot of FunkyBomb is correct (with smoke and fast), +015: Only first shoot of FunkyBomb is correct (with smoke and fast),
the next are like missiles the next are like missiles
016: Additional explosions after Frogger are not fallen down +016: Additional explosions after Frogger do not have falling soil (?)
017: Observed MIRV loops - it shoots and shoots MIRV all over the screen. Very rare. 017: Observed MIRV loops - it shoots and shoots MIRV all over the screen. Very rare.
-018: MINOR: ydraw, yhit, ybyte variable is sometimes treated as WORD, sometimes as BYTE. -018: MINOR: ydraw, yhit, ybyte variable is sometimes treated as WORD, sometimes as BYTE.
Making it consistent would save both time and space (not much) Making it consistent would save both time and space (not much)
@@ -50,7 +50,7 @@ To do
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 deffensive weapon handling (only parachute works, 007. There is no defensive weapon handling (only parachute works,
but also provisionally but also provisionally
+008. No computer operated opponents - make a frame for AI!!! +008. No computer operated opponents - make a frame for AI!!!
009. Make AI in the existing frame 009. Make AI in the existing frame
+1 -1
View File
@@ -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. 125 (un)2000-2022" dta d"Welcome to Scorch ver. 126 (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
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -1175,7 +1175,7 @@ DisplayOffensiveTextNr ;
;now we have HALF length in pixels ;now we have HALF length in pixels
;stored in temp2 ;stored in temp2
sbw temp temp2 ; here begin of the text is in TEMP !!!! sbw temp temp2 ; here begin of the text is in TEMP !!!!
;now we should check overflows ;now we should check overflows
lda temp+1 lda temp+1
bpl DOTNnotLessThanZero bpl DOTNnotLessThanZero
+23 -10
View File
@@ -34,6 +34,12 @@ leapfrog
jsr xmissile jsr xmissile
; soil must fall down now! there is no other way... ; soil must fall down now! there is no other way...
;first clean the offensive text...
ldy TankNr
mva #0 plot4x4color
jsr DisplayOffensiveTextNr
; hide tanks or they fall down with soil ; hide tanks or they fall down with soil
lda TankNr lda TankNr
@@ -98,7 +104,6 @@ mirv ; the whole mirv is performed by Flight routine
rts rts
; ------------------------ ; ------------------------
funkybomb ; funkybomb ;
mva #1 tracerflag
mwa xtraj+1 xtrajfb mwa xtraj+1 xtrajfb
mwa ytraj+1 ytrajfb mwa ytraj+1 ytrajfb
inc FallDown2 inc FallDown2
@@ -107,6 +112,10 @@ funkybomb ;
jsr CalculateExplosionRange0 jsr CalculateExplosionRange0
jsr xmissile jsr xmissile
ldy TankNr
mva #0 plot4x4color
jsr DisplayOffensiveTextNr
lda TankNr lda TankNr
pha pha
mva #1 Erase mva #1 Erase
@@ -123,11 +132,11 @@ funkybomb ;
mva #5 FunkyBombCounter mva #5 FunkyBombCounter
FunkyBombLoop FunkyBombLoop
mva #1 tracerflag
;force randomization (range: 256-511) ;force randomization (range: 256-511)
lda random lda random
sta Force sta Force
lda #1 mva #1 Force+1
sta Force+1
;Angle randomization Range: (-16..+16) ;Angle randomization Range: (-16..+16)
lda random lda random
lsr lsr
@@ -1617,8 +1626,8 @@ EndOfFlight2
.endp .endp
SecondFlight .proc SecondFlight .proc
; ---------------- przekopiowany fragment sprzed odpalenie strzau malo kulturalne..... ; ---------------- copied code fragment from before firing. not too elegant.
; ---------------- ponownie wyznacza parametry strzau ; ---------------- get fire parameters again
ldx TankNr ldx TankNr
lda EnergyTableL,x lda EnergyTableL,x
sta Force sta Force
@@ -1660,8 +1669,8 @@ SecondFlight .proc
sta ytraj+2 sta ytraj+2
ldy #100 ldy #100
lda #1 ; nie wiem (to znaczy wydaje mi sie ze wiem ;) ) lda #1 ; I do not know (I mean I think I know ;) )
sta tracerflag ; ..... sta tracerflag ; 10 years later - I do not know!!!
jmp Flight.RepeatIfSmokeTracer jmp Flight.RepeatIfSmokeTracer
.endp .endp
@@ -1771,7 +1780,7 @@ mrLoopix
sbc vy+3 sbc vy+3
sta ytraj+2 sta ytraj+2
;vy=vy-g (also without least significan byte of vy) ;vy=vy-g (also without least significant byte of vy)
sec sec
lda vy+1 lda vy+1
sbc gravity sbc gravity
@@ -1783,9 +1792,8 @@ mrLoopix
sbc #0 sbc #0
sta vy+3 sta vy+3
; 3 waits for 5 bullets (will be faster) ; 2 waits for 5 bullets
wait wait
;wait
wait wait
MIRVdoNotChangeY MIRVdoNotChangeY
@@ -1994,6 +2002,11 @@ MIRValreadyAll
; we must do it manually because of the VOID pointer ; we must do it manually because of the VOID pointer
;first clean the offensive text...
ldy TankNr
mva #0 plot4x4color
jsr DisplayOffensiveTextNr
; temporary removing tanks from the screen (otherwise they will fall down with soil) ; temporary removing tanks from the screen (otherwise they will fall down with soil)
mva TankNr tempor2 mva TankNr tempor2
mva #1 Erase mva #1 Erase