Display dynamic->static optimizations

This commit is contained in:
Pecusx
2022-09-16 17:54:56 +02:00
parent 2a83fa962d
commit 9c5c701ca1
5 changed files with 36 additions and 52 deletions
+3 -10
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
Binary file not shown.
+1 -30
View File
@@ -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 :)