mirror of
https://github.com/Pecusx/scorch_src.git
synced 2026-05-20 22:33:43 +02:00
Display dynamic->static optimizations
This commit is contained in:
+3
-10
@@ -28,23 +28,16 @@ OptionsHere
|
|||||||
OptionsScreenEnd
|
OptionsScreenEnd
|
||||||
|
|
||||||
;-----------------------------------------------
|
;-----------------------------------------------
|
||||||
NameScreen
|
NameScreen2
|
||||||
dta d" Enter names of players "
|
|
||||||
dta d" Tank 01 Name:"
|
dta d" Tank 01 Name:"
|
||||||
NameAdr
|
NameAdr
|
||||||
dta d" "
|
dta d" "
|
||||||
dta d" Human/Atari (difficulty level) "
|
NameScreen4
|
||||||
dta d" "
|
dta d" "
|
||||||
NamesOfLevels
|
NamesOfLevels
|
||||||
dta d" HUMAN Moron Shooter "
|
dta d" HUMAN Moron Shooter "
|
||||||
dta d" Poolshark Tosser Chooser "
|
dta d" Poolshark Tosser Chooser "
|
||||||
dta d" Spoiler Cyborg Unknown "
|
dta d" Spoiler Cyborg Unknown "
|
||||||
dta d" "
|
|
||||||
dta d"Tab"*
|
|
||||||
dta d" - Player/Difficulty level "
|
|
||||||
dta d" "
|
|
||||||
dta d"Return"*
|
|
||||||
dta d" - Proceed "
|
|
||||||
;---------------------------------------------------
|
;---------------------------------------------------
|
||||||
textbuffer
|
textbuffer
|
||||||
; 0123456789012345678901234567890123456789
|
; 0123456789012345678901234567890123456789
|
||||||
|
|||||||
+30
-5
@@ -9,9 +9,23 @@
|
|||||||
OptionsScreen
|
OptionsScreen
|
||||||
dta d"Welcome to Scorch v. "
|
dta d"Welcome to Scorch v. "
|
||||||
build ; 4 bytes from scorch.asm (fancy method) :)
|
build ; 4 bytes from scorch.asm (fancy method) :)
|
||||||
dta d" (un)2000-2022"
|
dta d" (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 "
|
||||||
|
; 0123456789012345678901234567890123456789
|
||||||
|
;-----------------------------------------------
|
||||||
|
NameScreen
|
||||||
|
dta d" Enter names of players "
|
||||||
|
NameScreen3
|
||||||
|
dta d" Human/Atari (difficulty level) "
|
||||||
|
NameScreen5
|
||||||
|
dta d" "
|
||||||
|
dta d"Tab"*
|
||||||
|
dta d" - Player/Difficulty level "
|
||||||
|
dta d" "
|
||||||
|
dta d"Return"*
|
||||||
|
dta d" - Proceed "
|
||||||
|
;-----------------------------------------------
|
||||||
MoreUp
|
MoreUp
|
||||||
dta d" "
|
dta d" "
|
||||||
dta 92,92,92
|
dta 92,92,92
|
||||||
@@ -132,12 +146,23 @@ NameDL
|
|||||||
.byte $70
|
.byte $70
|
||||||
.byte $47
|
.byte $47
|
||||||
.word DifficultyTitle
|
.word DifficultyTitle
|
||||||
.byte $70,$70
|
.byte $70,$70 ; 16 empty lines
|
||||||
.byte $42
|
.byte $42
|
||||||
.word NameScreen
|
.word NameScreen
|
||||||
.byte $30
|
.byte $30 ; 4 empty lines
|
||||||
.byte $02,$30+$80,$02
|
.byte $42
|
||||||
.byte $10,$02,$02,$02,$30,$02,$02
|
.word NameScreen2
|
||||||
|
.byte $30+$80 ; 4 empty lines + DLI
|
||||||
|
.byte $42
|
||||||
|
.word NameScreen3
|
||||||
|
.byte $10 ; 2 empty lines
|
||||||
|
.byte $42
|
||||||
|
.word NameScreen4
|
||||||
|
.byte $02,$02
|
||||||
|
.byte $30 ; 4 empty lines
|
||||||
|
.byte $42
|
||||||
|
.word NameScreen5
|
||||||
|
.byte $02
|
||||||
.byte $41
|
.byte $41
|
||||||
.word NameDL
|
.word NameDL
|
||||||
; -------------------------------------------------
|
; -------------------------------------------------
|
||||||
|
|||||||
+2
-7
@@ -77,7 +77,6 @@
|
|||||||
.zpvar Counter .byte ;temporary Counter for outside loops
|
.zpvar Counter .byte ;temporary Counter for outside loops
|
||||||
.zpvar ExplosionRadius .word ;because when adding in xdraw it is double byte
|
.zpvar ExplosionRadius .word ;because when adding in xdraw it is double byte
|
||||||
.zpvar ResultY .byte
|
.zpvar ResultY .byte
|
||||||
; .zpvar FallDown2 .byte
|
|
||||||
.zpvar xcircle .word
|
.zpvar xcircle .word
|
||||||
.zpvar ycircle .word
|
.zpvar ycircle .word
|
||||||
.zpvar vy .word
|
.zpvar vy .word
|
||||||
@@ -620,8 +619,6 @@ ShootNow
|
|||||||
lda HitFlag ;0 if missed
|
lda HitFlag ;0 if missed
|
||||||
beq missed
|
beq missed
|
||||||
|
|
||||||
lda #0
|
|
||||||
; sta FallDown2
|
|
||||||
jsr Explosion
|
jsr Explosion
|
||||||
|
|
||||||
continueMainRoundLoopAfterSeppuku
|
continueMainRoundLoopAfterSeppuku
|
||||||
@@ -647,8 +644,8 @@ NoExistNoFall
|
|||||||
dex
|
dex
|
||||||
bpl TanksFallDown
|
bpl TanksFallDown
|
||||||
mvx tempor2 TankNr
|
mvx tempor2 TankNr
|
||||||
missed
|
|
||||||
|
|
||||||
|
missed
|
||||||
; TODO: IS IT OK??? possibly a fix here needed for #56
|
; TODO: IS IT OK??? possibly a fix here needed for #56
|
||||||
ldy WeaponDepleted
|
ldy WeaponDepleted
|
||||||
bne @+
|
bne @+
|
||||||
@@ -782,7 +779,6 @@ NoPlayerNoDeath
|
|||||||
;cleanup of the soil fall down ranges (left and right)
|
;cleanup of the soil fall down ranges (left and right)
|
||||||
sta RangeRight
|
sta RangeRight
|
||||||
sta RangeRight+1
|
sta RangeRight+1
|
||||||
; sta FallDown2
|
|
||||||
mwa #screenwidth RangeLeft
|
mwa #screenwidth RangeLeft
|
||||||
|
|
||||||
; We are randomizing the weapon now.
|
; We are randomizing the weapon now.
|
||||||
@@ -889,11 +885,10 @@ NotNegativeShieldEnergy
|
|||||||
;---------------------------------
|
;---------------------------------
|
||||||
.proc Seppuku
|
.proc Seppuku
|
||||||
lda #0
|
lda #0
|
||||||
;sta FallDown2
|
|
||||||
sta ydraw+1
|
sta ydraw+1
|
||||||
; get position of the tank
|
; get position of the tank
|
||||||
ldx TankNr
|
ldx TankNr
|
||||||
lda #0 ; turn off defense weapons when hara-kiring
|
; lda #0 ; turn off defense weapons when hara-kiring
|
||||||
sta ActiveDefenceWeapon,x
|
sta ActiveDefenceWeapon,x
|
||||||
sta ShieldEnergy,x
|
sta ShieldEnergy,x
|
||||||
jsr SetupXYdraw
|
jsr SetupXYdraw
|
||||||
|
|||||||
BIN
Binary file not shown.
+1
-30
@@ -17,7 +17,6 @@
|
|||||||
pha
|
pha
|
||||||
lda ExplosionRoutines,x
|
lda ExplosionRoutines,x
|
||||||
pha
|
pha
|
||||||
; inc FallDown2
|
|
||||||
rts
|
rts
|
||||||
ExplosionRoutines
|
ExplosionRoutines
|
||||||
.word babymissile-1 ;Baby_Missile___;_00
|
.word babymissile-1 ;Baby_Missile___;_00
|
||||||
@@ -62,35 +61,30 @@ tracer
|
|||||||
; ------------------------
|
; ------------------------
|
||||||
.proc babymissile
|
.proc babymissile
|
||||||
mva #sfx_baby_missile sfx_effect
|
mva #sfx_baby_missile sfx_effect
|
||||||
; inc FallDown2
|
|
||||||
mva #11 ExplosionRadius
|
mva #11 ExplosionRadius
|
||||||
jmp xmissile
|
jmp xmissile
|
||||||
.endp
|
.endp
|
||||||
; ------------------------
|
; ------------------------
|
||||||
.proc missile ;
|
.proc missile ;
|
||||||
mva #sfx_baby_missile sfx_effect
|
mva #sfx_baby_missile sfx_effect
|
||||||
; inc FallDown2
|
|
||||||
mva #17 ExplosionRadius
|
mva #17 ExplosionRadius
|
||||||
jmp xmissile
|
jmp xmissile
|
||||||
.endp
|
.endp
|
||||||
; ------------------------
|
; ------------------------
|
||||||
.proc babynuke
|
.proc babynuke
|
||||||
mva #sfx_nuke sfx_effect
|
mva #sfx_nuke sfx_effect
|
||||||
; inc FallDown2
|
|
||||||
mva #25 ExplosionRadius
|
mva #25 ExplosionRadius
|
||||||
jmp xmissile
|
jmp xmissile
|
||||||
.endp
|
.endp
|
||||||
; ------------------------
|
; ------------------------
|
||||||
.proc nuke
|
.proc nuke
|
||||||
mva #sfx_nuke sfx_effect
|
mva #sfx_nuke sfx_effect
|
||||||
; inc FallDown2
|
|
||||||
mva #30 ExplosionRadius
|
mva #30 ExplosionRadius
|
||||||
jmp xmissile
|
jmp xmissile
|
||||||
.endp
|
.endp
|
||||||
; ------------------------
|
; ------------------------
|
||||||
.proc leapfrog
|
.proc leapfrog
|
||||||
mva #sfx_baby_missile sfx_effect
|
mva #sfx_baby_missile sfx_effect
|
||||||
; inc FallDown2
|
|
||||||
mva #17 ExplosionRadius
|
mva #17 ExplosionRadius
|
||||||
jsr xmissile
|
jsr xmissile
|
||||||
|
|
||||||
@@ -143,7 +137,6 @@ EndOfLeapping
|
|||||||
.endp
|
.endp
|
||||||
; ------------------------
|
; ------------------------
|
||||||
.proc mirv ; the whole mirv is performed by Flight routine
|
.proc mirv ; the whole mirv is performed by Flight routine
|
||||||
; inc FallDown2
|
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
; ------------------------
|
; ------------------------
|
||||||
@@ -151,7 +144,6 @@ EndOfLeapping
|
|||||||
mva #sfx_baby_missile sfx_effect
|
mva #sfx_baby_missile sfx_effect
|
||||||
mwa xtraj+1 xtrajfb
|
mwa xtraj+1 xtrajfb
|
||||||
sbw ytraj+1 #$05 ytrajfb ; funky missiles start point goes 5 pixel UP to prevent multiple explosion at one point if tank is hit (4 pixels tank height + 1)
|
sbw ytraj+1 #$05 ytrajfb ; funky missiles start point goes 5 pixel UP to prevent multiple explosion at one point if tank is hit (4 pixels tank height + 1)
|
||||||
; inc FallDown2
|
|
||||||
;central Explosion
|
;central Explosion
|
||||||
mva #21 ExplosionRadius
|
mva #21 ExplosionRadius
|
||||||
jsr CalculateExplosionRange0
|
jsr CalculateExplosionRange0
|
||||||
@@ -198,7 +190,6 @@ NoWallsInFunky
|
|||||||
.endp
|
.endp
|
||||||
; ------------------------
|
; ------------------------
|
||||||
.proc deathshead
|
.proc deathshead
|
||||||
; inc FallDown2
|
|
||||||
mva #30 ExplosionRadius
|
mva #30 ExplosionRadius
|
||||||
mva #sfx_nuke sfx_effect
|
mva #sfx_nuke sfx_effect
|
||||||
SaveDrawXY
|
SaveDrawXY
|
||||||
@@ -250,7 +241,6 @@ NoLowerCircle
|
|||||||
; ------------------------
|
; ------------------------
|
||||||
.proc napalm
|
.proc napalm
|
||||||
mva #sfx_napalm sfx_effect
|
mva #sfx_napalm sfx_effect
|
||||||
; inc FallDown2
|
|
||||||
mva #(napalmRadius+4) ExplosionRadius ; real radius + 4 pixels (half characrer width)
|
mva #(napalmRadius+4) ExplosionRadius ; real radius + 4 pixels (half characrer width)
|
||||||
jsr CalculateExplosionRange
|
jsr CalculateExplosionRange
|
||||||
mva #0 ExplosionRadius ; in this weapon - flag: 0 - napalm, 1 - hotnapalm
|
mva #0 ExplosionRadius ; in this weapon - flag: 0 - napalm, 1 - hotnapalm
|
||||||
@@ -259,7 +249,6 @@ NoLowerCircle
|
|||||||
; ------------------------
|
; ------------------------
|
||||||
.proc hotnapalm
|
.proc hotnapalm
|
||||||
mva #sfx_napalm sfx_effect
|
mva #sfx_napalm sfx_effect
|
||||||
; inc FallDown2
|
|
||||||
mva #(napalmRadius+4) ExplosionRadius ; real radius + 4 pixels (half characrer width)
|
mva #(napalmRadius+4) ExplosionRadius ; real radius + 4 pixels (half characrer width)
|
||||||
jsr CalculateExplosionRange
|
jsr CalculateExplosionRange
|
||||||
mva #1 ExplosionRadius ; in this weapon - flag: 0 - napalm, 1 - hotnapalm
|
mva #1 ExplosionRadius ; in this weapon - flag: 0 - napalm, 1 - hotnapalm
|
||||||
@@ -324,7 +313,6 @@ CharOffTheScreen
|
|||||||
dec magic
|
dec magic
|
||||||
jpl RepeatNapalm
|
jpl RepeatNapalm
|
||||||
; after napalm
|
; after napalm
|
||||||
; inc FallDown2
|
|
||||||
;now we must check tanks in range
|
;now we must check tanks in range
|
||||||
ldx NumberOfPlayers
|
ldx NumberOfPlayers
|
||||||
dex
|
dex
|
||||||
@@ -372,32 +360,27 @@ EndNurnedCheckLoop
|
|||||||
.endp
|
.endp
|
||||||
; ------------------------
|
; ------------------------
|
||||||
.proc babyroller
|
.proc babyroller
|
||||||
; inc FallDown2
|
|
||||||
mva #11 ExplosionRadius
|
mva #11 ExplosionRadius
|
||||||
jmp xroller
|
jmp xroller
|
||||||
.endp
|
.endp
|
||||||
; ------------------------
|
; ------------------------
|
||||||
.proc roller ;
|
.proc roller ;
|
||||||
; inc FallDown2
|
|
||||||
mva #21 ExplosionRadius
|
mva #21 ExplosionRadius
|
||||||
jmp xroller
|
jmp xroller
|
||||||
.endp
|
.endp
|
||||||
; ------------------------
|
; ------------------------
|
||||||
.proc heavyroller
|
.proc heavyroller
|
||||||
; inc FallDown2
|
|
||||||
mva #30 ExplosionRadius
|
mva #30 ExplosionRadius
|
||||||
jmp xroller
|
jmp xroller
|
||||||
.endp
|
.endp
|
||||||
; ------------------------
|
; ------------------------
|
||||||
.proc riotbomb
|
.proc riotbomb
|
||||||
; inc FallDown2
|
|
||||||
mva #17 ExplosionRadius
|
mva #17 ExplosionRadius
|
||||||
jsr CalculateExplosionRange
|
jsr CalculateExplosionRange
|
||||||
jmp xriotbomb
|
jmp xriotbomb
|
||||||
.endp
|
.endp
|
||||||
; ------------------------
|
; ------------------------
|
||||||
.proc heavyriotbomb
|
.proc heavyriotbomb
|
||||||
; inc FallDown2
|
|
||||||
mva #29 ExplosionRadius
|
mva #29 ExplosionRadius
|
||||||
jsr CalculateExplosionRange
|
jsr CalculateExplosionRange
|
||||||
jmp xriotbomb
|
jmp xriotbomb
|
||||||
@@ -406,7 +389,6 @@ EndNurnedCheckLoop
|
|||||||
.proc babydigger
|
.proc babydigger
|
||||||
mva #sfx_digger sfx_effect
|
mva #sfx_digger sfx_effect
|
||||||
mva #0 sandhogflag
|
mva #0 sandhogflag
|
||||||
; inc FallDown2
|
|
||||||
mva #13 DigLong
|
mva #13 DigLong
|
||||||
mva #1 diggery ; how many branches (-1)
|
mva #1 diggery ; how many branches (-1)
|
||||||
jmp xdigger
|
jmp xdigger
|
||||||
@@ -415,7 +397,6 @@ EndNurnedCheckLoop
|
|||||||
.proc digger ;
|
.proc digger ;
|
||||||
mva #sfx_digger sfx_effect
|
mva #sfx_digger sfx_effect
|
||||||
mva #0 sandhogflag
|
mva #0 sandhogflag
|
||||||
; inc FallDown2
|
|
||||||
mva #13 DigLong
|
mva #13 DigLong
|
||||||
mva #3 diggery ; how many branches (-1)
|
mva #3 diggery ; how many branches (-1)
|
||||||
jmp xdigger
|
jmp xdigger
|
||||||
@@ -424,7 +405,6 @@ EndNurnedCheckLoop
|
|||||||
.proc heavydigger
|
.proc heavydigger
|
||||||
mva #sfx_digger sfx_effect
|
mva #sfx_digger sfx_effect
|
||||||
mva #0 sandhogflag
|
mva #0 sandhogflag
|
||||||
; inc FallDown2
|
|
||||||
mva #13 DigLong
|
mva #13 DigLong
|
||||||
mva #7 diggery ; how many branches (-1)
|
mva #7 diggery ; how many branches (-1)
|
||||||
jmp xdigger
|
jmp xdigger
|
||||||
@@ -548,7 +528,6 @@ DiggerCharacter
|
|||||||
.proc babysandhog
|
.proc babysandhog
|
||||||
mva #sfx_sandhog sfx_effect
|
mva #sfx_sandhog sfx_effect
|
||||||
mva #char_sandhog_offset sandhogflag
|
mva #char_sandhog_offset sandhogflag
|
||||||
; inc FallDown2
|
|
||||||
mva #13 DigLong
|
mva #13 DigLong
|
||||||
mva #1 diggery ; how many branches (-1)
|
mva #1 diggery ; how many branches (-1)
|
||||||
jmp xdigger
|
jmp xdigger
|
||||||
@@ -557,7 +536,6 @@ DiggerCharacter
|
|||||||
.proc sandhog
|
.proc sandhog
|
||||||
mva #sfx_sandhog sfx_effect
|
mva #sfx_sandhog sfx_effect
|
||||||
mva #char_sandhog_offset sandhogflag
|
mva #char_sandhog_offset sandhogflag
|
||||||
; inc FallDown2
|
|
||||||
mva #13 DigLong
|
mva #13 DigLong
|
||||||
mva #3 diggery ; how many branches (-1)
|
mva #3 diggery ; how many branches (-1)
|
||||||
jmp xdigger
|
jmp xdigger
|
||||||
@@ -566,35 +544,30 @@ DiggerCharacter
|
|||||||
.proc heavysandhog
|
.proc heavysandhog
|
||||||
mva #sfx_sandhog sfx_effect
|
mva #sfx_sandhog sfx_effect
|
||||||
mva #char_sandhog_offset sandhogflag
|
mva #char_sandhog_offset sandhogflag
|
||||||
; inc FallDown2
|
|
||||||
mva #13 DigLong
|
mva #13 DigLong
|
||||||
mva #5 diggery ; how many branches (-1)
|
mva #5 diggery ; how many branches (-1)
|
||||||
jmp xdigger
|
jmp xdigger
|
||||||
.endp
|
.endp
|
||||||
; ------------------------
|
; ------------------------
|
||||||
.proc dirtclod
|
.proc dirtclod
|
||||||
; inc FallDown2
|
|
||||||
mva #12 ExplosionRadius
|
mva #12 ExplosionRadius
|
||||||
jsr CalculateExplosionRange
|
jsr CalculateExplosionRange
|
||||||
jmp xdirt
|
jmp xdirt
|
||||||
.endp
|
.endp
|
||||||
; ------------------------
|
; ------------------------
|
||||||
.proc dirtball
|
.proc dirtball
|
||||||
; inc FallDown2
|
|
||||||
mva #22 ExplosionRadius
|
mva #22 ExplosionRadius
|
||||||
jsr CalculateExplosionRange
|
jsr CalculateExplosionRange
|
||||||
jmp xdirt
|
jmp xdirt
|
||||||
.endp
|
.endp
|
||||||
; ------------------------
|
; ------------------------
|
||||||
.proc tonofdirt
|
.proc tonofdirt
|
||||||
; inc FallDown2
|
|
||||||
mva #31 ExplosionRadius
|
mva #31 ExplosionRadius
|
||||||
jsr CalculateExplosionRange
|
jsr CalculateExplosionRange
|
||||||
jmp xdirt
|
jmp xdirt
|
||||||
.endp
|
.endp
|
||||||
; ------------------------
|
; ------------------------
|
||||||
.proc dirtcharge
|
.proc dirtcharge
|
||||||
; inc FallDown2
|
|
||||||
mva #61 ExplosionRadius
|
mva #61 ExplosionRadius
|
||||||
jsr CalculateExplosionRange
|
jsr CalculateExplosionRange
|
||||||
jmp ofdirt
|
jmp ofdirt
|
||||||
@@ -602,7 +575,6 @@ DiggerCharacter
|
|||||||
; ------------------------
|
; ------------------------
|
||||||
.proc riotcharge
|
.proc riotcharge
|
||||||
mva #sfx_riot_blast sfx_effect
|
mva #sfx_riot_blast sfx_effect
|
||||||
; inc FallDown2
|
|
||||||
mva #31 ExplosionRadius
|
mva #31 ExplosionRadius
|
||||||
jsr CalculateExplosionRange
|
jsr CalculateExplosionRange
|
||||||
jmp cleanDirt
|
jmp cleanDirt
|
||||||
@@ -610,7 +582,6 @@ DiggerCharacter
|
|||||||
; ------------------------
|
; ------------------------
|
||||||
.proc riotblast
|
.proc riotblast
|
||||||
mva #sfx_riot_blast sfx_effect
|
mva #sfx_riot_blast sfx_effect
|
||||||
; inc FallDown2
|
|
||||||
mva #61 ExplosionRadius
|
mva #61 ExplosionRadius
|
||||||
jsr CalculateExplosionRange
|
jsr CalculateExplosionRange
|
||||||
jmp cleanDirt
|
jmp cleanDirt
|
||||||
@@ -1893,7 +1864,7 @@ MagDeflector
|
|||||||
bit random ; left or right deflection ?
|
bit random ; left or right deflection ?
|
||||||
bpl RightDeflection
|
bpl RightDeflection
|
||||||
LeftDeflection
|
LeftDeflection
|
||||||
sbw XHit #18 ; 18 pixels to right and explode...
|
sbw XHit #18 ; 18 pixels to left and explode...
|
||||||
bit XHit+1 ; if off-screen ...
|
bit XHit+1 ; if off-screen ...
|
||||||
bpl EndOfMagDeflector ; hit of course but we need RTS
|
bpl EndOfMagDeflector ; hit of course but we need RTS
|
||||||
adw XHit #36 ; change to right :)
|
adw XHit #36 ; change to right :)
|
||||||
|
|||||||
Reference in New Issue
Block a user