mirror of
https://github.com/pkali/scorch_src.git
synced 2026-05-20 22:34:21 +02:00
685 lines
20 KiB
NASM
685 lines
20 KiB
NASM
; @com.wudsn.ide.asm.mainsourcefile=scorch.asm
|
|
|
|
.IF *>0 ;this is a trick that prevents compiling this file alone
|
|
|
|
; initial values for some variables
|
|
initialvaluesStart
|
|
I_OptionsTable .by 0,1,2,2,0,1,3,2,0
|
|
I_RoundsInTheGame .by 10 ;how many rounds in the current game
|
|
I_seppukuVal .by 75
|
|
I_mountainDeltaH .by 3
|
|
I_mountainDeltaL .by $ff
|
|
;----------------------------------------------------
|
|
I_LineHeader1
|
|
dta d"# ROUND: "
|
|
I_RoundNrDisplay
|
|
dta d" #", $ff
|
|
initialvaluesCount = *-initialvaluesstart ; MAX 128 bytes !
|
|
;===================================================================================
|
|
;==========================CONSTANT TABLES, do not erase!===========================
|
|
;===================================================================================
|
|
|
|
mountainsDeltaTableH .by 0,1,3,5,7
|
|
mountainsDeltaTableL .by $1f, $7f, $ff, $7f, $ff
|
|
;------------------------------------------------
|
|
LevelNameBeginL ; begins of level names
|
|
.by <NamesOfLevels,<(NamesOfLevels+10),<(NamesOfLevels+20)
|
|
.by <(NamesOfLevels+32),<(NamesOfLevels+42),<(NamesOfLevels+52)
|
|
.by <(NamesOfLevels+64),<(NamesOfLevels+74),<(NamesOfLevels+84)
|
|
LevelNameBeginH
|
|
.by >NamesOfLevels,>(NamesOfLevels+10),>(NamesOfLevels+20)
|
|
.by >(NamesOfLevels+32),>(NamesOfLevels+42),>(NamesOfLevels+52)
|
|
.by >(NamesOfLevels+64),>(NamesOfLevels+74),>(NamesOfLevels+84)
|
|
;--------------
|
|
TanksWeaponsTableL
|
|
.REPT MaxPlayers, #+1
|
|
.by <TanksWeapon:1
|
|
.ENDR
|
|
TanksWeaponsTableH
|
|
.REPT MaxPlayers, #+1
|
|
.by >TanksWeapon:1
|
|
.ENDR
|
|
;--------------
|
|
XtankOffsetGO_L
|
|
.by 6,56,106,156,206,0
|
|
XtankOffsetGO_H
|
|
.by 0,0,0,0,0,1
|
|
;-----4x4 texts-----
|
|
LineTop
|
|
dta d"(%%%%%%%%%%%%)"
|
|
;# - vertical, () * +, % - horizontal
|
|
LineBottom
|
|
dta d"*%%%%%%%%%%%%+"
|
|
LineEmpty
|
|
dta d"# #"
|
|
LineHeader2
|
|
dta d"# RESULTS #"
|
|
LineGameOver
|
|
dta d"# GAME OVER #"
|
|
seppukuText
|
|
dta d"# SEPPUKU! #"
|
|
areYouSureText
|
|
.IF TARGET = 800
|
|
dta d"# SURE? Y/N #"
|
|
.ELIF TARGET = 5200
|
|
dta d"#END? Y-1/N-0#"
|
|
.ENDIF
|
|
|
|
lineClear
|
|
dta d" "
|
|
|
|
TankColoursTable .BYTE $58,$2a,$96,$ca,$7a,$ed
|
|
;TankStatusColoursTable .BYTE $54,$24,$92,$c4,$74,$e4 ; standard order
|
|
TankStatusColoursTable .BYTE $74,$c4,$24,$e4,$54,$94 ; Adam's order
|
|
;-----------
|
|
GradientAddrL
|
|
.by <dliColorsFore, <dliColorsFore, <dliColorsFore2
|
|
GradientAddrH
|
|
.by >dliColorsFore, >dliColorsFore, >dliColorsFore2
|
|
dliColorsFore2 ; colors for NTSC
|
|
.by $0a ; one mountains color
|
|
.by $7a,$7a,$7a,$6a,$6a,$5a,$5a,$4a,$4a,$3a
|
|
.by $3a,$1a,$1a,$ea,$ea,$d8,$d8,$b8,$b8,$b8
|
|
dliColorsFore2PAL ; colors for PAL
|
|
.by $0a ; one mountains color
|
|
.by $7a,$7a,$7a,$6a,$6a,$5a,$5a,$4a,$4a,$3a
|
|
.by $3a,$1a,$1a,$ea,$ea,$c8,$c8,$a8,$a8,$a8
|
|
|
|
;-----------
|
|
pmtableL ; addressess of the P/M memory for 6 tanks
|
|
.by <(pmgraph+$400)
|
|
.by <(pmgraph+$500)
|
|
.by <(pmgraph+$600)
|
|
.by <(pmgraph+$700)
|
|
.by <(pmgraph+$300) ; this is a missile background
|
|
.by <(pmgraph+$300) ; this is a missile background
|
|
pmtableH
|
|
.by >(pmgraph+$400)
|
|
.by >(pmgraph+$500)
|
|
.by >(pmgraph+$600)
|
|
.by >(pmgraph+$700)
|
|
.by >(pmgraph+$300)
|
|
.by >(pmgraph+$300)
|
|
;-----------
|
|
sintable
|
|
.by 1
|
|
.by 4
|
|
.by 8
|
|
.by 13
|
|
.by 17
|
|
.by 22
|
|
.by 26
|
|
.by 31
|
|
.by 35
|
|
.by 40
|
|
.by 44
|
|
.by 48
|
|
.by 53
|
|
.by 57
|
|
.by 61
|
|
.by 66
|
|
.by 70
|
|
.by 74
|
|
.by 79
|
|
.by 83
|
|
.by 87
|
|
.by 91
|
|
.by 95
|
|
.by 100
|
|
.by 104
|
|
.by 108
|
|
.by 112
|
|
.by 116
|
|
.by 120
|
|
.by 124
|
|
.by 128
|
|
.by 131
|
|
.by 135
|
|
.by 139
|
|
.by 143
|
|
.by 146
|
|
.by 150
|
|
.by 154
|
|
.by 157
|
|
.by 161
|
|
.by 164
|
|
.by 167
|
|
.by 171
|
|
.by 174
|
|
.by 177
|
|
.by 181
|
|
.by 184
|
|
.by 187
|
|
.by 190
|
|
.by 193
|
|
.by 196
|
|
.by 198
|
|
.by 201
|
|
.by 204
|
|
.by 207
|
|
.by 209
|
|
.by 212
|
|
.by 214
|
|
.by 217
|
|
.by 219
|
|
.by 221
|
|
.by 223
|
|
.by 226
|
|
.by 228
|
|
.by 230
|
|
.by 232
|
|
.by 233
|
|
.by 235
|
|
.by 237
|
|
.by 238
|
|
.by 240
|
|
.by 242
|
|
.by 243
|
|
.by 244
|
|
.by 246
|
|
.by 247
|
|
.by 248
|
|
.by 249
|
|
.by 250
|
|
.by 251
|
|
.by 252
|
|
.by 252
|
|
.by 253
|
|
.by 254
|
|
.by 254
|
|
.by 255
|
|
.by 255
|
|
.by 255
|
|
.by 255
|
|
.by 255
|
|
.by 255 ;anti self destruction byte
|
|
|
|
;linetableL
|
|
; :screenheight+1 .by <(display+screenBytes*#)
|
|
;linetableH
|
|
; :screenheight+1 .by >(display+screenBytes*#)
|
|
;----------------------------
|
|
; now long (256 bytes) bittables are generated in RAM based on one bittable:
|
|
;bittable
|
|
; .by $80,$40,$20,$10,$08,$04,$02,$01
|
|
;bittable2
|
|
; .by $7f,$bf,$df,$ef,$f7,$fb,$fd,$fe
|
|
;----------------------------
|
|
disktance ;tanks distance
|
|
.by 0,0
|
|
.REPT MaxPlayers-1, #+3
|
|
.by screenwidth/:1
|
|
.ENDR
|
|
|
|
; this table is for deciding where a tank should slide
|
|
; accordingly to what is below the tank
|
|
; values in table mean that tank is moving to the left
|
|
SlideLeftTable
|
|
.BY %00000001
|
|
.BY %00000010
|
|
.BY %00000011
|
|
.BY %00000100
|
|
.BY %00000101
|
|
.BY %00000110
|
|
.BY %00000111
|
|
; .BY %00001100
|
|
SlideLeftTableLen = *-SlideLeftTable
|
|
;-------------------------------------------------
|
|
TankShapesTable .BYTE char_tank1
|
|
.BYTE char_tank2
|
|
.BYTE char_tank3
|
|
.BYTE char_tank4
|
|
;-------------------------------------------------
|
|
WeaponPriceH ; weapons prices (tables with prices of weapons)
|
|
.by >price_Baby_Missile
|
|
.by >price_Missile
|
|
.by >price_Baby_Nuke
|
|
.by >price_Nuke
|
|
.by >price_LeapFrog
|
|
.by >price_Funky_Bomb
|
|
.by >price_MIRV
|
|
.by >price_Death_s_Head
|
|
.by >price_Napalm
|
|
.by >price_Hot_Napalm
|
|
.by >price_Tracer
|
|
.by >price_Smoke_Tracer
|
|
.by >price_Baby_Roller
|
|
.by >price_Roller
|
|
.by >price_Heavy_Roller
|
|
.by >price_Riot_Charge
|
|
.by >price_Riot_Blast
|
|
.by >price_Riot_Bomb
|
|
.by >price_Heavy_Riot_Bomb
|
|
.by >price_Digger
|
|
.by >price_Heavy_Digger
|
|
.by >price_Sandhog
|
|
.by >price_Heavy_Sandhog
|
|
.by >price_Dirt_Clod
|
|
.by >price_Dirt_Ball
|
|
.by >price_Ton_of_Dirt
|
|
.by >price_Liquid_Dirt
|
|
.by >price_Dirt_Charge
|
|
.by >price_Propaganda
|
|
.by >price_Punch
|
|
.by >price_Buy_me
|
|
.by >price_Laser
|
|
.by >price_White_Flag
|
|
.by >price_Battery
|
|
.by >price_Hovercraft
|
|
.by >price_Parachute
|
|
.by >price_StrongParachute
|
|
.by >price_Mag_Deflector
|
|
.by >price_Shield
|
|
.by >price_Heavy_Shield
|
|
.by >price_Force_Shield
|
|
.by >price_Bouncy_Castle
|
|
.by >price_Long_Barrel
|
|
.by >price_Nuclear_Winter_
|
|
.by >price_Lazy_Boy
|
|
.by >price_Lazy_Darwin
|
|
.by >price_Auto_Defense
|
|
.by >price_Spy_Hard
|
|
WeaponPriceL
|
|
.by <price_Baby_Missile
|
|
.by <price_Missile
|
|
.by <price_Baby_Nuke
|
|
.by <price_Nuke
|
|
.by <price_LeapFrog
|
|
.by <price_Funky_Bomb
|
|
.by <price_MIRV
|
|
.by <price_Death_s_Head
|
|
.by <price_Napalm
|
|
.by <price_Hot_Napalm
|
|
.by <price_Tracer
|
|
.by <price_Smoke_Tracer
|
|
.by <price_Baby_Roller
|
|
.by <price_Roller
|
|
.by <price_Heavy_Roller
|
|
.by <price_Riot_Charge
|
|
.by <price_Riot_Blast
|
|
.by <price_Riot_Bomb
|
|
.by <price_Heavy_Riot_Bomb
|
|
.by <price_Digger
|
|
.by <price_Heavy_Digger
|
|
.by <price_Sandhog
|
|
.by <price_Heavy_Sandhog
|
|
.by <price_Dirt_Clod
|
|
.by <price_Dirt_Ball
|
|
.by <price_Ton_of_Dirt
|
|
.by <price_Liquid_Dirt
|
|
.by <price_Dirt_Charge
|
|
.by <price_Propaganda
|
|
.by <price_Punch
|
|
.by <price_Buy_me
|
|
.by <price_Laser
|
|
.by <price_White_Flag
|
|
.by <price_Battery
|
|
.by <price_Hovercraft
|
|
.by <price_Parachute
|
|
.by <price_StrongParachute
|
|
.by <price_Mag_Deflector
|
|
.by <price_Shield
|
|
.by <price_Heavy_Shield
|
|
.by <price_Force_Shield
|
|
.by <price_Bouncy_Castle
|
|
.by <price_Long_Barrel
|
|
.by <price_Nuclear_Winter_
|
|
.by <price_Lazy_Boy
|
|
.by <price_Lazy_Darwin
|
|
.by <price_Auto_Defense
|
|
.by <price_Spy_Hard
|
|
|
|
;-------------------------------------------------
|
|
; how many units (bulletd) of a given weapon we get for a given price
|
|
; This is a table of constans.
|
|
; If on a given position is 0 it means that this weapon
|
|
; is not present in the game.
|
|
; This is the slot for adding new weapons.
|
|
WeaponUnits
|
|
.by 10 ;Baby_Missile ;_00
|
|
.by 5 ;Missile ;_01
|
|
.by 2 ;Baby_Nuke ;_02
|
|
.by 1 ;Nuke ;_03
|
|
.by 2 ;LeapFrog ;_04
|
|
.by 3 ;Funky_Bomb ;_05
|
|
.by 2 ;MIRV ;_06
|
|
.by 1 ;Death_s_Head ;_07
|
|
.by 4 ;Napalm ;_08
|
|
.by 2 ;Hot_Napalm ;_09
|
|
.by 20 ;Tracer ;_10
|
|
.by 10 ;Smoke_Tracer ;_11
|
|
.by 5 ;Baby_Roller ;_12
|
|
.by 3 ;Roller ;_13
|
|
.by 2 ;Heavy_Roller ;_14
|
|
.by 5 ;Riot_Charge ;_15
|
|
.by 2 ;Riot_Blast ;_16
|
|
.by 5 ;Riot_Bomb ;_17
|
|
.by 2 ;Heavy_Riot_Bomb;_18
|
|
.by 5 ;Digger ;_19
|
|
.by 2 ;Heavy_Digger ;_20
|
|
.by 5 ;Sandhog ;_21
|
|
.by 2 ;Heavy_Sandhog ;_22
|
|
.by 5 ;Dirt_Clod ;_23
|
|
.by 3 ;Dirt_Ball ;_24
|
|
.by 1 ;Ton_of_Dirt ;_25
|
|
.by 4 ;Liquid_Dirt ;_26
|
|
.by 2 ;Dirt_Charge ;_27
|
|
.by 4 ;Propaganda ;_28
|
|
.by 2 ;Punch ;_29
|
|
.by 1 ;Buy_me ;_30
|
|
.by 5 ;Laser ;_31
|
|
.by 1 ;White_Flag ;_32
|
|
.by 3 ;Battery ;_33
|
|
.by 2 ;Floating_Tank ;_34
|
|
.by 3 ;Parachute ;_35
|
|
.by 2 ;StrongParachute;_36
|
|
.by 2 ;Mag_Deflector ;_37
|
|
.by 3 ;Shield ;_38
|
|
.by 2 ;Heavy_Shield ;_39
|
|
.by 3 ;Force_Shield ;_40
|
|
.by 1 ;Auto_Defense ;_41
|
|
.by 2 ;Long_Barrel ;_42
|
|
.by 1 ;Nuclear_Winter_;_43
|
|
.by 2 ;Lazy_Boy ;_44
|
|
.by 2 ;Lazy_Darwin ;_45
|
|
.by 2 ;Auto_Defense ;_46
|
|
.by 4 ;Spy_Hard ;_47
|
|
|
|
PurchaseMeTable ;weapons good to be purchased by the robot
|
|
;the comment is an index in the tables
|
|
; "Baby Missile ","Missile ","Baby Nuke ","Nuke "
|
|
; "LeapFrog ","Funky Bomb ","MIRV ","Death's Head "
|
|
.by %01111111
|
|
; "Napalm ","Hot Napalm ","Tracer ","Smoke Tracer "
|
|
; "Baby Roller ","Roller ","Heavy Roller ","Riot Charge "
|
|
.by %11011100
|
|
; "Riot Blast ","Riot Bomb ","Heavy Riot Bomb ","Digger "
|
|
; "Heavy Digger ","Sandhog ","Heavy Sandhog ","Dirt Clod "
|
|
.by %00000000
|
|
; "Dirt Ball ","Ton of Dirt ","Liquid Dirt ","Dirt Charge "
|
|
; "Propaganda ","Punch ","Buy me! ","Laser "
|
|
.by %00000000
|
|
; "White Flag ","Battery ","Hovercraft ","Parachute "
|
|
; "Strong Parachute","Mag Deflector ","Shield ","Heavy Shield "
|
|
.by %01011111
|
|
; "Force Shield ","Bouncy Castle ","Long Barrel ","Nuclear Winter "
|
|
; "Lazy Boy ","Lazy Darwin ","Auto Defense ","Spy Hard "
|
|
.by %11000000
|
|
|
|
PurchaseMeTable2 ;weapons good to be purchased by the robot (Cyborg)
|
|
;the comment is an index in the tables
|
|
; "Baby Missile ","Missile ","Baby Nuke ","Nuke "
|
|
; "LeapFrog ","Funky Bomb ","MIRV ","Death's Head "
|
|
.by %01110000
|
|
; "Napalm ","Hot Napalm ","Tracer ","Smoke Tracer "
|
|
; "Baby Roller ","Roller ","Heavy Roller ","Riot Charge "
|
|
.by %01000000
|
|
; "Riot Blast ","Riot Bomb ","Heavy Riot Bomb ","Digger "
|
|
; "Heavy Digger ","Sandhog ","Heavy Sandhog ","Dirt Clod "
|
|
.by %00000000
|
|
; "Dirt Ball ","Ton of Dirt ","Liquid Dirt ","Dirt Charge "
|
|
; "Propaganda ","Punch ","Buy me! ","Laser "
|
|
.by %00000000
|
|
; "White Flag ","Battery ","Hovercraft ","Parachute "
|
|
; "Strong Parachute","Mag Deflector ","Shield ","Heavy Shield "
|
|
.by %01001101
|
|
; "Force Shield ","Bouncy Castle ","Long Barrel ","Nuclear Winter "
|
|
; "Lazy Boy ","Lazy Darwin ","Auto Defense ","Spy Hard "
|
|
.by %11000000
|
|
|
|
;-------------------------------------------------
|
|
; Screen codes of icons (chars) representing a given weapon
|
|
WeaponSymbols
|
|
.by $40 ;ind_Baby_Missile ;_00
|
|
.by $41 ;ind_Missile ;_01
|
|
.by $42 ;ind_Baby_Nuke ;_02
|
|
.by $43 ;ind_Nuke ;_03
|
|
.by $44 ;ind_LeapFrog ;_04
|
|
.by $45 ;ind_Funky_Bomb ;_05
|
|
.by $46 ;ind_MIRV ;_06
|
|
.by $47 ;ind_Death_s_Head ;_07
|
|
.by $48 ;ind_Napalm ;_08
|
|
.by $49 ;ind_Hot_Napalm ;_09
|
|
.by $4a ;ind_Tracer ;_10
|
|
.by $4b ;ind_Smoke_Tracer ;_11
|
|
.by $4c ;ind_Baby_Roller ;_12
|
|
.by $4d ;ind_Roller ;_13
|
|
.by $4e ;ind_Heavy_Roller ;_14
|
|
.by $4f ;ind_Riot_Charge ;_15
|
|
.by $50 ;ind_Riot_Blast ;_16
|
|
.by $51 ;ind_Riot_Bomb ;_17
|
|
.by $52 ;ind_Heavy_Riot_Bomb ;_18
|
|
.by $54 ;ind_Digger ;_19
|
|
.by $55 ;ind_Heavy_Digger ;_20
|
|
.by $57 ;ind_Sandhog ;_21
|
|
.by $58 ;ind_Heavy_Sandhog ;_22
|
|
.by $59 ;ind_Dirt_Clod ;_23
|
|
.by $5a ;ind_Dirt_Ball ;_24
|
|
.by $5b ;ind_Ton_of_Dirt ;_25
|
|
.by $60 ;ind_Liquid_Dirt ;_26
|
|
.by $7b ;ind_Dirt_Charge ;_27
|
|
.by $53 ;ind_Propaganda ;_28
|
|
.by $56 ;ind_Punch ;_29
|
|
.by $1f ;ind_Buy_me ;_30
|
|
.by $20 ;ind_Laser ;_31
|
|
.by $5f ;ind_White_Flag ;_32
|
|
.by $1c ;ind_Battery ;_33
|
|
.by $06 ;ind_Floating_Tank ;_34
|
|
.by $1b ;ind_Parachute ;_35
|
|
.by $1b ;ind_StrongParachute ;_36
|
|
.by $1e ;ind_Mag_Deflector ;_37
|
|
.by $3b ;ind_Shield ;_38
|
|
.by $3d ;ind_Heavy_Shield ;_39
|
|
.by $3c ;ind_Force_Shield ;_40
|
|
.by $3f ;ind_Bouncy_Castle ;_41
|
|
.by $1d ;ind_Long_Barrel ;_42
|
|
.by $7d ;ind_Nuclear_Winter_ ;_43
|
|
.by $02 ;ind_Lazy_Boy ;_44
|
|
.by $03 ;ind_Lazy_Darwin ;_45
|
|
.by $5e ;ind_Auto_Defense ;_46
|
|
.by $7c ;ind_Spy_Hard ;_47
|
|
|
|
; Names of weapons (max 16 chars long)
|
|
NamesOfWeapons ;the comment is an index in the tables
|
|
dta d"Baby Missile"^ ; 0
|
|
dta d"Missile"^ ; 1
|
|
dta d"Baby Nuke"^ ; 2
|
|
dta d"Nuke"^ ; 3
|
|
dta d"LeapFrog"^ ; 4
|
|
dta d"Funky Bomb"^ ; 5
|
|
dta d"MIRV"^ ; 6
|
|
dta d"Death's Head"^ ; 7
|
|
dta d"Napalm"^ ; 8
|
|
dta d"Hot Napalm"^ ; 9
|
|
dta d"Tracer"^ ; 10
|
|
dta d"Smoke Tracer"^ ; 11
|
|
dta d"Baby Roller"^ ; 12
|
|
dta d"Roller"^ ; 13
|
|
dta d"Heavy Roller"^ ; 14
|
|
dta d"Riot Charge"^ ; 15
|
|
dta d"Riot Blast"^ ; 16
|
|
dta d"Riot Bomb"^ ; 17
|
|
dta d"Heavy Riot Bomb"^ ; 18
|
|
dta d"Digger"^ ; 19
|
|
dta d"Heavy Digger"^ ; 20
|
|
dta d"Sandhog"^ ; 21
|
|
dta d"Heavy Sandhog"^ ; 22
|
|
dta d"Dirt Clod"^ ; 23
|
|
dta d"Dirt Ball"^ ; 24
|
|
dta d"Ton of Dirt"^ ; 25
|
|
dta d"Liquid Dirt"^ ; 26
|
|
dta d"Dirt Charge"^ ; 27
|
|
dta d"Propaganda"^ ; 28
|
|
dta d"Stomp"^ ; 29
|
|
dta d"Best F...g Gifts"^ ; 30
|
|
dta d"Laser"^ ; 31
|
|
;------defensives
|
|
dta d"White Flag"^ ; 32
|
|
dta d"Battery"^ ; 33
|
|
dta d"Hovercraft"^ ; 34
|
|
dta d"Parachute"^ ; 35 - no energy
|
|
dta d"Strong Parachute"^ ; 36 - with energy (earlier Battery)
|
|
dta d"Mag Deflector"^ ; 37 - with shield and energy
|
|
dta d"Shield"^ ; 38 - shield for one shot - no energy
|
|
dta d"Heavy Shield"^ ; 39 - shield with energy
|
|
dta d"Force Shield"^ ; 40 - shield with energy and parachute
|
|
dta d"Bouncy Castle"^ ; 41 - with shield and energy
|
|
dta d"Long Schlong"^ ; 42
|
|
dta d"Nuclear Winter"^ ; 43
|
|
dta d"Lazy Boy"^ ; 44
|
|
dta d"Lazy Darwin"^ ; 45
|
|
dta d"Auto Defense"^ ; 46
|
|
dta d"Spy Hard"^ ; 47
|
|
|
|
DefensiveEnergy = *-number_of_offensives ; to fake the table for ALL weapons
|
|
.by 00 ; White Flag
|
|
.by 00 ; Battery
|
|
.by 98 ; Hovercraft
|
|
.by 00 ; Parachute
|
|
.by 99 ; Strong Parachute
|
|
.by 99 ; Mag Deflector
|
|
.by 00 ; Shield
|
|
.by 99 ; Heavy Shield
|
|
.by 99 ; Force Shield
|
|
.by 99 ; Bouncy Castle
|
|
.by 00 ; Long Barrel
|
|
.by 00 ; Nuclear Winter
|
|
.by 00 ; Lazy Boy
|
|
.by 00 ; Lazy Darwin
|
|
.by 00 ; Auto Defense
|
|
.by 00 ; Spy Hard
|
|
weaponsOfDeath ; weapons used in tank death animations
|
|
dta ind_Missile
|
|
dta ind_Baby_Nuke
|
|
dta ind_Nuke
|
|
dta ind_Death_s_Head
|
|
dta ind_Hot_Napalm ; why not?
|
|
dta ind_Riot_Bomb
|
|
dta ind_Heavy_Riot_Bomb
|
|
dta ind_Propaganda
|
|
dta ind_Digger
|
|
dta ind_Heavy_Digger
|
|
dta ind_Sandhog
|
|
dta ind_Heavy_Sandhog
|
|
dta ind_Dirt_Clod
|
|
dta ind_Dirt_Ball
|
|
dta ind_Ton_of_Dirt
|
|
weaponsOfDeathEnd
|
|
joyToKeyTable
|
|
.by $ff ;00
|
|
.by $ff ;01
|
|
.by $ff ;02
|
|
.by $ff ;03
|
|
.by $ff ;04
|
|
.by $ff ;05
|
|
.by $ff ;06
|
|
.by @kbcode._right ;07
|
|
.by $ff ;08
|
|
.by $ff ;09
|
|
.by $ff ;0a
|
|
.by @kbcode._left ;0b
|
|
.by $ff ;0c
|
|
.by @kbcode._down ;0d
|
|
.by @kbcode._up ;0e
|
|
.by $ff ;0f
|
|
|
|
;-----------------------------------
|
|
keycodes ;tables for converting KeyCode to Screen Code (38-1 characters)
|
|
.by $3f,$15,$12,$3a,$2a,$38,$3d,$39
|
|
.by $0d,$01,$05,$00,$25,$23,$08,$0a
|
|
.by $2f,$28,$3e,$2d,$0b,$10,$2e,$16
|
|
.by $2b,$17
|
|
.by $32,$1f,$1e,$1a,$18,$1d,$1b
|
|
.by $33,$35,$30,$22,$21 ;,$0e <-- hyphen removed from the table, sorry hyphen lovers
|
|
keycodesEnd
|
|
scrcodes
|
|
dta d"abcdefgh"
|
|
dta d"ijklmnop"
|
|
dta d"qrstuvwx"
|
|
dta d"yz"
|
|
;-------decimal constans + end of scrcodes
|
|
zero
|
|
digits
|
|
dta d"0123456"
|
|
dta d"789. " ; "-"
|
|
|
|
;-----------------------------------
|
|
gameOverSpritesTop
|
|
; end of the GameOver sprites by number of players
|
|
; 1 2 3 4 5 6
|
|
.by 130+7,130+7,136+7,142+7,148+7,154+7
|
|
;------credits
|
|
CreditsStart
|
|
dta d" "*
|
|
dta d"You were playing"^
|
|
dta d"Scorch"^
|
|
dta d"Warsaw, Miami"^
|
|
dta d"2000-2024"^
|
|
dta d" "*
|
|
dta d"Programming"^
|
|
dta d"Tomasz 'Pecus' Pecko"^
|
|
dta d"Pawel 'pirx' Kalinowski"^
|
|
dta d" "*
|
|
dta d"SFX, Music and Support"^
|
|
dta d"Michal 'Miker' Szpilowski"^
|
|
dta d" "*
|
|
.IF TARGET = 800
|
|
dta d"Additional Music"^
|
|
dta d"Mario 'Emkay' Krix"^
|
|
dta d" "*
|
|
.ENDIF
|
|
dta d"Art"^
|
|
dta d"Adam Wachowski"^
|
|
.IF TARGET = 800
|
|
.IF CART_VERSION
|
|
dta d"Krzysztof 'Kaz' Ziembik"^
|
|
.ENDIF
|
|
dta d"Roman 'xorcerer' Fierfas"^
|
|
.ENDIF
|
|
dta d" "*
|
|
dta d"Ideas, help and QA"^
|
|
dta d"Piotr '0xF' Fusik, Shanti, Jakub Husak"^
|
|
dta d"Bocianu, Probabilitydragon, lopezpb,"^
|
|
dta d"ZPH, KrzysRog, EnderDude, Dracon, TDC,"^
|
|
dta d"Beeblebrox, brad-colbert, archon800,"^
|
|
dta d"nowy80, Irgendwer, Eyvind,"^
|
|
dta d"ascrnet, Bobo Cujo, RetroBorsuk"
|
|
.IF TARGET = 800
|
|
.IF CART_VERSION = 0
|
|
dta d","*
|
|
dta d"Krzysztof 'Kaz' Ziembik"^
|
|
.ELSE
|
|
dta d" "*
|
|
.ENDIF
|
|
.ELIF TARGET = 5200
|
|
dta d","*
|
|
dta d"x-usr(1536), Aking, JAC!, phaeron,"^
|
|
dta d"RB5200, Krzysztof 'Kaz' Ziembik"^
|
|
.ENDIF
|
|
dta d" "*
|
|
dta d"Additional testing"^
|
|
dta d"Arek and Alex Pecko"^
|
|
dta d" "*
|
|
dta d"Special thanks"^
|
|
dta d"Wendell Hicken"^
|
|
dta d"for Scorched Earth PC game"^
|
|
.IF TARGET = 800
|
|
dta d" "*
|
|
dta d"Stay tuned for the FujiNet version!"^
|
|
.ENDIF
|
|
dta d" "*
|
|
CreditsEnd
|
|
.IF TARGET = 800
|
|
CreditsLines=39 + 7 ; add 7 for scrollout
|
|
.ELIF TARGET = 5200
|
|
CreditsLines=33 + 7 ; add 7 for scrollout
|
|
.ENDIF
|
|
|
|
.IF TARGET = 5200
|
|
; Atari 5200 splash
|
|
NewSplashText=*
|
|
dta d" 2024 atariage", $4e, "com " ; $4e - non blinking dot
|
|
.ENDIF
|
|
|
|
.endif ; .IF *>0
|