mirror of
https://github.com/Pecusx/scorch_src.git
synced 2026-05-21 14:49:40 +02:00
build 130
This commit is contained in:
@@ -40,6 +40,11 @@ with the advent of fujinet (https://fujinet.online/) we are thinking about makin
|
||||
|
||||
## Changes:
|
||||
|
||||
###### Build 130
|
||||
2022-03-13
|
||||
- fixed bug: Decreasing of number of bullets after a shoot does not work correctly. It does look like it is fixed, although all I did was moving decreasing before shooting. Displaying number of bullets immediately after shoot.
|
||||
- fixed a very difficult bug - game was crashing from time to time, with corrupted code and/or screen. It was digger digging lower and lower, finally digging through the code. Right now the game is not crashing on me.
|
||||
|
||||
###### Build 129
|
||||
2022-03-06
|
||||
- added tune by emkay, lzss player by dmsc
|
||||
|
||||
@@ -8,11 +8,9 @@ Known bugs (+ means bug is fixed)
|
||||
(and uses one parachute more than necessary)
|
||||
005. tank stands still on a one pixel spike - it should fall
|
||||
(possibly all that is necessary is adjust of WhereToSlideTable)
|
||||
007. Decreasing of number of bullets after a shoot does not work correctly
|
||||
(e.g. 2 bullets are deducted instead of 1)
|
||||
017: Observed MIRV loops - it shoots and shoots MIRV all over the screen. Very rare.
|
||||
020: sometimes leftmost or rightmost remains of the funkybomb smoke do not get cleared
|
||||
022: shooting funkybomb decreases number of bombs too much! (2 instead of 1?)
|
||||
I think it happens when one of the bombs goes out of the screen
|
||||
|
||||
Fixed:
|
||||
+001. when bullet goes straight down very fast it misses the tank
|
||||
@@ -42,7 +40,11 @@ Fixed:
|
||||
+019: AI menu does not recognize keyboard up (prints "-" in tank name)
|
||||
+021: check MWA, ADW, SBW macros - bad modifications of bytes found!!!
|
||||
+009. When result in points is >99 then only 2 first digits are displayed
|
||||
|
||||
-022: shooting funkybomb decreases number of bombs too much! (2 instead of 1?)
|
||||
+007. Decreasing of number of bullets after a shoot does not work correctly
|
||||
(e.g. 2 bullets are deducted instead of 1) FUNKYBOMB!!!
|
||||
it looks like it is fixed, although what I did was moving decreasing before jsr shoot
|
||||
+000, Game crashes from time to time, code and/or screen gets corrupted
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
@@ -64,6 +66,7 @@ To do
|
||||
020. Not a bug per se, but ydraw variable is word, possibly it can be switched to byte
|
||||
021. Add player colors to purchase screen
|
||||
022. Make colors more contrasting
|
||||
023. Make not implemented weapons raise NotImplementedError :]
|
||||
|
||||
Done:
|
||||
|
||||
|
||||
+1
-1
@@ -77,7 +77,7 @@ PlotLine = display + screenHeight*screenBytes ; the last line is plot pointer
|
||||
;Screen displays go first to avoid crossing 4kb barrier
|
||||
;-----------------------------------------------
|
||||
OptionsScreen
|
||||
dta d"Welcome to Scorch ver. 129 (un)2000-2022"
|
||||
dta d"Welcome to Scorch ver. 130 (un)2000-2022"
|
||||
dta d" Please select option with cursor keys "
|
||||
dta d" and press (Return) to proceed "
|
||||
OptionsHere
|
||||
|
||||
+5
-5
@@ -1289,17 +1289,17 @@ CopyMask
|
||||
and #$7
|
||||
sta ybit
|
||||
|
||||
lsrw xbyte
|
||||
lsrw xbyte ; div 8
|
||||
rorw xbyte
|
||||
rorw xbyte
|
||||
|
||||
;---
|
||||
ldy xbyte
|
||||
|
||||
ldx ydraw
|
||||
.rept 7
|
||||
dex
|
||||
.endr
|
||||
lda ydraw ; y = y - 7 because left lower. shouldn't it be 8?
|
||||
sec
|
||||
sbc #7
|
||||
tax
|
||||
|
||||
lda linetableL,x
|
||||
sta xbyte
|
||||
|
||||
+4
-2
@@ -405,6 +405,9 @@ ManualShooting
|
||||
jsr BeforeFire
|
||||
|
||||
AfterManualShooting
|
||||
jsr DecreaseWeaponBeforeShoot
|
||||
jsr DisplayingSymbols
|
||||
|
||||
; lower energy to eventually let tanks commit suicide
|
||||
ldx TankNr
|
||||
dec Energy,x
|
||||
@@ -454,7 +457,6 @@ missed
|
||||
mva #0 plot4x4color
|
||||
jsr DisplayOffensiveTextNr
|
||||
|
||||
jsr DecreaseWeaponAfterShoot ; or before???
|
||||
NextPlayerShoots
|
||||
mva #1 Erase
|
||||
jsr drawtanks
|
||||
@@ -523,7 +525,7 @@ PlayersAgain .proc
|
||||
; additionally this tank just have had LASTeXistenZ set to 0,
|
||||
; otherwise it would explode again and again.
|
||||
; OK, text how to do it is ready, now comes coding .
|
||||
; Aaaah! - in main loop we have to set eXistenZ and LASTeXistenZ
|
||||
; Aaaah! - in the main loop we have to set eXistenZ and LASTeXistenZ
|
||||
|
||||
ldx NumberOfPlayers
|
||||
dex
|
||||
|
||||
BIN
Binary file not shown.
@@ -149,7 +149,6 @@ skip10
|
||||
sta gravity
|
||||
|
||||
;fourth option (wind)
|
||||
|
||||
ldy OptionsTable+3
|
||||
lda MaxWindTable,y
|
||||
sta MaxWind
|
||||
|
||||
+73
-38
@@ -3,31 +3,35 @@
|
||||
.IF *>0 ;this is a trick that prevents compiling this file alone
|
||||
|
||||
; ------------------------
|
||||
babymissile
|
||||
.proc babymissile
|
||||
inc FallDown2
|
||||
mva #11 ExplosionRadius
|
||||
jsr CalculateExplosionRange
|
||||
jmp xmissile
|
||||
.endp
|
||||
; ------------------------
|
||||
missile ;
|
||||
.proc missile ;
|
||||
inc FallDown2
|
||||
mva #17 ExplosionRadius
|
||||
jsr CalculateExplosionRange
|
||||
jmp xmissile
|
||||
.endp
|
||||
; ------------------------
|
||||
babynuke
|
||||
.proc babynuke
|
||||
inc FallDown2
|
||||
mva #25 ExplosionRadius
|
||||
jsr CalculateExplosionRange
|
||||
jmp xmissile
|
||||
.endp
|
||||
; ------------------------
|
||||
nuke
|
||||
.proc nuke
|
||||
inc FallDown2
|
||||
mva #31 ExplosionRadius
|
||||
jsr CalculateExplosionRange
|
||||
jmp xmissile
|
||||
.endp
|
||||
; ------------------------
|
||||
leapfrog
|
||||
.proc leapfrog
|
||||
inc FallDown2
|
||||
mva #17 ExplosionRadius
|
||||
jsr CalculateExplosionRange
|
||||
@@ -98,12 +102,14 @@ leapfrog
|
||||
jmp xmissile
|
||||
EndOfLeapping
|
||||
rts
|
||||
.endp
|
||||
; ------------------------
|
||||
mirv ; the whole mirv is performed by Flight routine
|
||||
.proc mirv ; the whole mirv is performed by Flight routine
|
||||
inc FallDown2
|
||||
rts
|
||||
.endp
|
||||
; ------------------------
|
||||
funkybomb ;
|
||||
.proc funkybomb ;
|
||||
mwa xtraj+1 xtrajfb
|
||||
mwa ytraj+1 ytrajfb
|
||||
inc FallDown2
|
||||
@@ -162,8 +168,9 @@ NoExplosionInFunkyBomb
|
||||
bne FunkyBombLoop
|
||||
mva #0 tracerflag
|
||||
rts
|
||||
.endp
|
||||
; ------------------------
|
||||
deathshead
|
||||
.proc deathshead
|
||||
inc FallDown2
|
||||
mva #31 ExplosionRadius
|
||||
jsr CalculateExplosionRange
|
||||
@@ -189,59 +196,69 @@ NoUpperCircle
|
||||
jsr xmissile
|
||||
NoLowerCircle
|
||||
rts
|
||||
.endp
|
||||
; ------------------------
|
||||
tracer
|
||||
.proc tracer
|
||||
rts
|
||||
.endp
|
||||
; ------------------------
|
||||
babyroller
|
||||
.proc babyroller
|
||||
inc FallDown2
|
||||
mva #11 ExplosionRadius
|
||||
jmp xroller
|
||||
.endp
|
||||
; ------------------------
|
||||
roller ;
|
||||
.proc roller ;
|
||||
inc FallDown2
|
||||
mva #21 ExplosionRadius
|
||||
jmp xroller
|
||||
.endp
|
||||
; ------------------------
|
||||
heavyroller
|
||||
.proc heavyroller
|
||||
inc FallDown2
|
||||
mva #31 ExplosionRadius
|
||||
jmp xroller
|
||||
.endp
|
||||
; ------------------------
|
||||
riotbomb
|
||||
.proc riotbomb
|
||||
inc FallDown2
|
||||
mva #17 ExplosionRadius
|
||||
jsr CalculateExplosionRange
|
||||
jmp xriotbomb
|
||||
.endp
|
||||
; ------------------------
|
||||
heavyriotbomb
|
||||
.proc heavyriotbomb
|
||||
inc FallDown2
|
||||
mva #29 ExplosionRadius
|
||||
jsr CalculateExplosionRange
|
||||
jmp xriotbomb
|
||||
.endp
|
||||
; ------------------------
|
||||
babydigger
|
||||
.proc babydigger
|
||||
mva #0 sandhogflag
|
||||
inc FallDown2
|
||||
mva #13 DigLong
|
||||
mva #1 diggery ; how many branches (-1)
|
||||
jmp xdigger
|
||||
.endp
|
||||
; ------------------------
|
||||
digger ;
|
||||
.proc digger ;
|
||||
mva #0 sandhogflag
|
||||
inc FallDown2
|
||||
mva #13 DigLong
|
||||
mva #3 diggery ; how many branches (-1)
|
||||
jmp xdigger
|
||||
.endp
|
||||
; ------------------------
|
||||
heavydigger
|
||||
.proc heavydigger
|
||||
mva #0 sandhogflag
|
||||
inc FallDown2
|
||||
mva #13 DigLong
|
||||
mva #7 diggery ; how many branches (-1)
|
||||
jmp xdigger
|
||||
.endp
|
||||
; ------------------------
|
||||
xdigger
|
||||
.proc xdigger
|
||||
mwa xdraw digstartx
|
||||
mwa ydraw digstarty
|
||||
ldx diggery
|
||||
@@ -294,7 +311,7 @@ DigRandomize
|
||||
lda random
|
||||
and #$87
|
||||
bmi DigUp
|
||||
digwdol
|
||||
DigDown
|
||||
and #$07
|
||||
clc
|
||||
adc digtabyL,x
|
||||
@@ -302,7 +319,14 @@ digwdol
|
||||
lda digtabyH,x
|
||||
adc #$00
|
||||
sta digtabyH,x
|
||||
jmp DigCalculateNext
|
||||
;crashing bug here - if too much added to digtaby, it gets over screenheight and starts writing over random areas
|
||||
;WARNING! fix for 1 byte screenheight. TODO
|
||||
lda digtabyL,x
|
||||
cmp #screenheight
|
||||
bcc @+ ; branch if less
|
||||
lda #screenheight-1
|
||||
sta digtabyL,x
|
||||
@ jmp DigCalculateNext
|
||||
DigUp
|
||||
and #$07
|
||||
sta temp
|
||||
@@ -334,6 +358,7 @@ DigDrawing
|
||||
bpl DigDrawing
|
||||
dec:lda DigLong
|
||||
jpl BranchNotFinished
|
||||
DoNotPutDig
|
||||
rts
|
||||
DiggerCharacter
|
||||
lda random
|
||||
@@ -345,55 +370,61 @@ DiggerCharacter
|
||||
cpw xdraw #(screenwidth-6)
|
||||
bcs DoNotPutDig
|
||||
jmp TypeChar
|
||||
DoNotPutDig
|
||||
rts
|
||||
.endp
|
||||
; ------------------------
|
||||
babysandhog
|
||||
.proc babysandhog
|
||||
mva #8 sandhogflag
|
||||
inc FallDown2
|
||||
mva #13 DigLong
|
||||
mva #1 diggery ; how many branches (-1)
|
||||
jmp xdigger
|
||||
.endp
|
||||
; ------------------------
|
||||
sandhog
|
||||
.proc sandhog
|
||||
mva #8 sandhogflag
|
||||
inc FallDown2
|
||||
mva #13 DigLong
|
||||
mva #3 diggery ; how many branches (-1)
|
||||
jmp xdigger
|
||||
.endp
|
||||
; ------------------------
|
||||
heavysandhog
|
||||
.proc heavysandhog
|
||||
mva #8 sandhogflag
|
||||
inc FallDown2
|
||||
mva #13 DigLong
|
||||
mva #5 diggery ; how many branches (-1)
|
||||
jmp xdigger
|
||||
.endp
|
||||
; ------------------------
|
||||
dirtclod
|
||||
.proc dirtclod
|
||||
inc FallDown2
|
||||
mva #12 ExplosionRadius
|
||||
jsr CalculateExplosionRange
|
||||
jmp xdirt
|
||||
.endp
|
||||
; ------------------------
|
||||
dirtball
|
||||
.proc dirtball
|
||||
inc FallDown2
|
||||
mva #22 ExplosionRadius
|
||||
jsr CalculateExplosionRange
|
||||
jmp xdirt
|
||||
.endp
|
||||
; ------------------------
|
||||
tonofdirt
|
||||
.proc tonofdirt
|
||||
inc FallDown2
|
||||
mva #31 ExplosionRadius
|
||||
jsr CalculateExplosionRange
|
||||
jmp xdirt
|
||||
.endp
|
||||
; ------------------------
|
||||
dirtcharge
|
||||
.proc dirtcharge
|
||||
inc FallDown2
|
||||
mva #61 ExplosionRadius
|
||||
jsr CalculateExplosionRange
|
||||
jmp ofdirt
|
||||
.endp
|
||||
; ------------------------
|
||||
laser
|
||||
.proc laser
|
||||
ldx TankNr
|
||||
lda AngleTable,x
|
||||
tay
|
||||
@@ -447,9 +478,9 @@ laser
|
||||
jsr DecreaseEnergyX
|
||||
LaserMisses
|
||||
rts
|
||||
|
||||
.endp
|
||||
; -----------------
|
||||
xmissile ;
|
||||
.proc xmissile ;
|
||||
; -----------------
|
||||
lda #1
|
||||
sta radius
|
||||
@@ -533,8 +564,9 @@ EndOfDistanceCheckLoop
|
||||
txa
|
||||
bne DistanceCheckLoop
|
||||
rts
|
||||
.endp
|
||||
; -----------------
|
||||
xdirt ;
|
||||
.proc xdirt ;
|
||||
; -----------------
|
||||
lda #1
|
||||
sta radius
|
||||
@@ -549,8 +581,9 @@ dirtLoop
|
||||
cmp ExplosionRadius
|
||||
bne dirtLoop
|
||||
rts
|
||||
.endp
|
||||
; -----------------
|
||||
xriotbomb ;
|
||||
.proc xriotbomb ;
|
||||
; -----------------
|
||||
lda #0
|
||||
sta radius
|
||||
@@ -563,10 +596,10 @@ rbombLoop
|
||||
bne rbombLoop
|
||||
mva #1 color
|
||||
rts
|
||||
|
||||
.endp
|
||||
; ----------------
|
||||
|
||||
xroller ;
|
||||
.proc xroller ;
|
||||
; now collisions are detected with modified draw routine
|
||||
; therefore YDRAW value must be taken from mountaintable
|
||||
ldy #0
|
||||
@@ -696,8 +729,9 @@ ExplodeNow
|
||||
jsr CalculateExplosionRange
|
||||
jmp xmissile
|
||||
rts
|
||||
.endp
|
||||
; --------------------------------------------------
|
||||
ofdirt ;
|
||||
.proc ofdirt ;
|
||||
; --------------------------------------------------
|
||||
; makes dirt on xdraw,ydraw position and of ExplosionRadius height
|
||||
mwa xdraw xcircle
|
||||
@@ -742,6 +776,7 @@ EndOfTheDirt
|
||||
mwa xcircle xdraw
|
||||
mva ycircle ydraw
|
||||
rts
|
||||
.endp
|
||||
;--------------------------------------------------
|
||||
BeforeFire .proc ;TankNr (byte)
|
||||
;--------------------------------------------------
|
||||
@@ -2108,7 +2143,7 @@ RangesChecked
|
||||
.endp
|
||||
|
||||
;--------------------------------------------------
|
||||
DecreaseWeaponAfterShoot .proc
|
||||
DecreaseWeaponBeforeShoot .proc
|
||||
;--------------------------------------------------
|
||||
ldx TankNr
|
||||
lda ActiveWeapon,x
|
||||
|
||||
Reference in New Issue
Block a user