mirror of
https://github.com/pkali/scorch_src.git
synced 2026-05-20 22:34:21 +02:00
207 lines
6.2 KiB
NASM
207 lines
6.2 KiB
NASM
; @com.wudsn.ide.asm.mainsourcefile=scorch.asm
|
|
|
|
screenheight = 200
|
|
screenBytes = 40
|
|
screenwidth = screenBytes*8 ; Max screenwidth = 512!!!
|
|
|
|
TankWidth = 8
|
|
;----------------------------------------------
|
|
; Player/missile memory
|
|
PMGraph = $1800 ; real PM start = PMGraph + $0300
|
|
display = $2010 ; screen takes $1f68 because it has screenHeight+1 lines because of out of screen tracer(?)
|
|
;----------------------------------------------
|
|
|
|
margin = 40 ; mountain drawing Y variable margin
|
|
MaxPlayers = 6
|
|
maxOptions = 9 ; number of all options
|
|
PMOffsetX = $2C ; P/M to graphics offset
|
|
PMOffsetY = $2A ; P/M to graphics offset
|
|
napalmRadius = 10
|
|
StandardBarrel = 6 ; standard tank barrel length
|
|
LongBarrel = 20 ; long barrel length
|
|
|
|
TextBackgroundColor = $02 ; REAL constans - use: LDA #TextBackgroundColor
|
|
TextForegroundColor = $0A
|
|
space = 0 ; space in screencodes
|
|
|
|
KeyRepeatSpeed = 8 ; (max 127 !!!)
|
|
FirstKeySpeed = 8 ; additional delay for first keypress
|
|
|
|
VuMeterTime = 12 ; Time of inactivity for VU Meter (1=5sec)
|
|
|
|
;character codes for symbols (tank, parachute, etc. )
|
|
; characters from tanks.fnt (graphics screen)
|
|
char_parachute = $02
|
|
char_flag = $1e
|
|
char_flame = $14
|
|
char_clear_flame = $1c
|
|
char_digger = $04
|
|
char_sandhog = $0c
|
|
char_sandhog_offset = char_sandhog - char_digger
|
|
char_tank1 = $20
|
|
char_tank2 = $24
|
|
char_tank3 = $2c
|
|
char_tank4 = $28 ; robotank shape
|
|
; characters from weapons.fnt (text mode - menus etc.)
|
|
char_TAB = $7f
|
|
char_DEL = $7e
|
|
char_bracketO = $08 ; (
|
|
char_bracketC = $09 ; )
|
|
char_computer = $5e ; computer symbol (Auto Defense)
|
|
char_joy = $0a ; joystick symbol
|
|
char_tank = $0b ; tank symbol
|
|
|
|
;Weapon prices (*10 on screen)
|
|
price_Baby_Missile = 0 ;_00
|
|
price_Missile = 96 ;_01
|
|
price_Baby_Nuke = 111 ;_02
|
|
price_Nuke = 144 ;_03
|
|
price_LeapFrog = 192 ;_04
|
|
price_Funky_Bomb = 293 ;_05
|
|
price_MIRV = 456 ;_06
|
|
price_Death_s_Head = 337 ;_07
|
|
price_Napalm = 125 ;_08
|
|
price_Hot_Napalm = 162 ;_09
|
|
price_Tracer = 102 ;_10
|
|
price_Smoke_Tracer = 291 ;_11
|
|
price_Baby_Roller = 211 ;_12
|
|
price_Roller = 244 ;_13
|
|
price_Heavy_Roller = 326 ;_14
|
|
price_Riot_Charge = 230 ;_15
|
|
price_Riot_Blast = 241 ;_16
|
|
price_Riot_Bomb = 259 ;_17
|
|
price_Heavy_Riot_Bomb = 272 ;_18
|
|
price_Digger = 176 ;_19
|
|
price_Heavy_Digger = 207 ;_20
|
|
price_Sandhog = 191 ;_21
|
|
price_Heavy_Sandhog = 223 ;_22
|
|
price_Dirt_Clod = 104 ;_23
|
|
price_Dirt_Ball = 130 ;_24
|
|
price_Ton_of_Dirt = 171 ;_25
|
|
price_Liquid_Dirt = 330 ;_26
|
|
price_Dirt_Charge = 343 ;_27
|
|
price_Propaganda = 234 ;_28
|
|
price_Punch = 208 ;_29
|
|
price_Buy_me = 170 ;_30
|
|
price_Laser = 277 ;_31
|
|
price_White_Flag = $0 ;_32
|
|
price_Battery = 300 ;_33
|
|
price_Hovercraft = 352 ;_34
|
|
price_Parachute = 234 ;_35
|
|
price_StrongParachute = 1000 ;_36
|
|
price_Mag_Deflector = 745 ;_37
|
|
price_Shield = 224 ;_38
|
|
price_Heavy_Shield = 628 ;_39
|
|
price_Force_Shield = 1100 ;_40
|
|
price_Bouncy_Castle = 512 ;_41
|
|
price_Long_Barrel = 2100 ;_42
|
|
price_Nuclear_Winter_ = 1000 ;_43
|
|
price_Lazy_Boy = 500 ;_44
|
|
price_Lazy_Darwin = 730 ;_45
|
|
price_Auto_Defense = 250 ;_46
|
|
price_Spy_Hard = 83 ;_47
|
|
;Weapon indexes (numbers)
|
|
ind_Baby_Missile = 0
|
|
first_offensive = ind_Baby_Missile
|
|
ind_Missile = 1
|
|
ind_Baby_Nuke = 2
|
|
ind_Nuke = 3
|
|
ind_LeapFrog = 4
|
|
ind_Funky_Bomb = 5
|
|
ind_MIRV = 6
|
|
ind_Death_s_Head = 7
|
|
ind_Napalm = 8
|
|
ind_Hot_Napalm = 9
|
|
ind_Tracer = 10
|
|
ind_Smoke_Tracer = 11
|
|
ind_Baby_Roller = 12
|
|
ind_Roller = 13
|
|
ind_Heavy_Roller = 14
|
|
ind_Riot_Charge = 15
|
|
ind_Riot_Blast = 16
|
|
ind_Riot_Bomb = 17
|
|
ind_Heavy_Riot_Bomb = 18
|
|
ind_Digger = 19
|
|
ind_Heavy_Digger = 20
|
|
ind_Sandhog = 21
|
|
ind_Heavy_Sandhog = 22
|
|
ind_Dirt_Clod = 23
|
|
ind_Dirt_Ball = 24
|
|
ind_Ton_of_Dirt = 25
|
|
ind_Liquid_Dirt = 26
|
|
ind_Dirt_Charge = 27
|
|
ind_Propaganda = 28
|
|
ind_Punch = 29
|
|
ind_Buy_me = 30
|
|
ind_Laser = 31
|
|
last_offensive = ind_Laser
|
|
ind_White_Flag = 32
|
|
first_defensive = ind_White_Flag
|
|
ind_Battery = 33
|
|
ind_Hovercraft = 34
|
|
ind_Parachute = 35
|
|
ind_StrongParachute = 36
|
|
ind_Mag_Deflector = 37
|
|
ind_Shield = 38
|
|
ind_Heavy_Shield = 39
|
|
ind_Force_Shield = 40
|
|
ind_Bouncy_Castle = 41
|
|
ind_Long_Barrel = 42
|
|
ind_Nuclear_Winter_ = 43
|
|
ind_Lazy_Boy = 44
|
|
ind_Lazy_Darwin = 45
|
|
ind_Auto_Defense = 46
|
|
ind_Spy_Hard = 47
|
|
last_defensive = ind_Spy_Hard
|
|
last_real_defensive = ind_Bouncy_Castle
|
|
number_of_offensives = last_offensive - first_offensive + 1
|
|
number_of_defensives = last_defensive - first_defensive + 1
|
|
number_of_weapons = number_of_offensives + number_of_defensives
|
|
;--------------------------------
|
|
; names of RMT instruments (sfx)
|
|
;--------------------------------
|
|
sfx_set_power_1 = $00 ;A
|
|
sfx_set_power_2 = $01 ;b
|
|
sfx_lightning = $02 ;c
|
|
sfx_dunno = $03 ;d
|
|
sfx_nuke = $04 ;e
|
|
sfx_baby_missile= $05 ;f
|
|
sfx_death_begin = $06 ;g
|
|
sfx_plasma_1_2 = $07 ;h
|
|
sfx_plasma_2_2 = $08 ;i
|
|
sfx_napalm = $09 ;j
|
|
sfx_dirt_charge = $0a ;k
|
|
sfx_missile_hit = $0b ;l
|
|
sfx_funky_hit = $0c ;m
|
|
sfx_shield_on = $0d ;n
|
|
sfx_shield_off = $0e ;o
|
|
sfx_parachute = $0f ;p
|
|
sfx_smoke_cloud = $10 ;q
|
|
sfx_riot_blast = $11 ;r
|
|
sfx_sandhog = $12 ;s
|
|
sfx_dirt_chrg_s = $13 ;t
|
|
sfx_digger = $14 ;u
|
|
sfx_silencer = $15 ;v
|
|
sfx_next_player = $16 ;w
|
|
sfx_purchase = $17 ;x
|
|
sfx_keyclick = $18 ;y
|
|
sfx_shoot = $19 ;z
|
|
sfx_seppuku = $1a ;1
|
|
sfx_liquid_dirt = $1b ;2
|
|
sfx_battery = $1c ;3
|
|
sfx_white_flag = $1d ;4
|
|
sfx_long_barrel = $1e
|
|
sfx_tank_move = $1f
|
|
sfx_auto_defense= $2b
|
|
sfx_lazy_boys = $2c
|
|
;--------------------------------
|
|
; RMT songs (lines)
|
|
;--------------------------------
|
|
song_silencio = $00
|
|
song_main_menu = $02
|
|
song_ingame = $06
|
|
song_round_over = $0b
|
|
song_ending_looped = $0e
|
|
song_supermarket= $1b
|
|
song_inventory = $1d
|