mirror of
https://github.com/Pecusx/scorch_src.git
synced 2026-05-20 22:33:43 +02:00
671 lines
19 KiB
NASM
671 lines
19 KiB
NASM
; @com.wudsn.ide.asm.mainsourcefile=scorch.asm
|
|
|
|
.IF *>0 ;this is a trick that prevents compiling this file alone
|
|
|
|
;===================================================================================
|
|
;==========================CONSTANT TABLES, do not erase!===========================
|
|
;===================================================================================
|
|
TankColoursTable .BYTE $88,$cc,$38,$1c,$6a,$02
|
|
TankStatusColoursTable .BYTE $80,$c0,$30,$10,$60,$00
|
|
dliColorsBack
|
|
:10 .by $02,$00
|
|
dliColorsFore
|
|
.by $0a
|
|
TextBackgroundColor = $02 ; REAL constans - use: LDA #TextBackgroundColor
|
|
TextForegroundColor = $0c
|
|
CashOptionL ;(one zero less than on the screen)
|
|
.by 0,<200,<800,<1200,<2000
|
|
CashOptionH
|
|
.by 0,>200,>800,>1200,>2000
|
|
GravityTable .by 10,20,25,30,40
|
|
MaxWindTable .by 5,20,40,70,99
|
|
RoundsTable .by 10,20,30,40,50
|
|
flyDelayTable .by 255,150,75,35,1
|
|
seppukuTable .by 255, 45,25,15,9
|
|
;------------------------------------------------
|
|
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
|
|
.by <TanksWeapon1,<TanksWeapon2,<TanksWeapon3,<TanksWeapon4,<TanksWeapon5,<TanksWeapon6
|
|
TanksWeaponsTableH
|
|
.by >TanksWeapon1,>TanksWeapon2,>TanksWeapon3,>TanksWeapon4,>TanksWeapon5,>TanksWeapon6
|
|
|
|
;-----4x4 texts-----
|
|
LineTop
|
|
dta d"(%%%%%%%%%%%%)", $ff
|
|
;# - vertical, () * +, % - horizontal
|
|
LineBottom
|
|
dta d"*%%%%%%%%%%%%+", $ff
|
|
LineEmpty
|
|
dta d"# #", $ff
|
|
LineHeader2
|
|
dta d"# RESULTS #", $ff
|
|
LineGameOver
|
|
dta d"# GAME OVER #", $ff
|
|
seppukuText
|
|
dta d"# SEPPUKU! #", $ff
|
|
areYouSureText
|
|
dta d"# SURE? Y/N #", $ff
|
|
lineClear
|
|
dta d" ", $ff
|
|
|
|
;-----------
|
|
pmtableL ; addressess of the P/M memory for 5 tanks (6th is without P/M background)
|
|
.by <(pmgraph+$400)
|
|
.by <(pmgraph+$500)
|
|
.by <(pmgraph+$600)
|
|
.by <(pmgraph+$700)
|
|
.by <(pmgraph+$300) ; this is a missile background
|
|
pmtableH
|
|
.by >(pmgraph+$400)
|
|
.by >(pmgraph+$500)
|
|
.by >(pmgraph+$600)
|
|
.by >(pmgraph+$700)
|
|
.by >(pmgraph+$300)
|
|
;-----------
|
|
sintable
|
|
.by 0
|
|
.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*#)
|
|
;----------------------------
|
|
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
|
|
.by screenwidth/3
|
|
.by screenwidth/4
|
|
.by screenwidth/5
|
|
.by screenwidth/6
|
|
.by screenwidth/7
|
|
;max number of players=6
|
|
|
|
; 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
|
|
|
|
;-----------------------------------------------------------
|
|
; this table changes Angle to the appropriate tank character
|
|
BarrelTable
|
|
|
|
.by $2C,$2C,$2C,$2C,$2C,$2C,$2C,$2C,$2A,$2A,
|
|
.by $2A,$2A,$2A,$2A,$2A,$2A,$28,$28,$28,$28,
|
|
.by $28,$28,$28,$28,$28,$26,$26,$26,$26,$26,
|
|
.by $26,$26,$26,$24,$24,$24,$24,$24,$24,$24,
|
|
.by $24,$22,$22,$22,$22,$22,$22,$22,$22,$22,
|
|
.by $20,$20,$20,$20,$20,$20,$20,$20,$1E,$1E,
|
|
.by $1E,$1E,$1E,$1E,$1E,$1E,$1C,$1C,$1C,$1C,
|
|
.by $1C,$1C,$1C,$1C,$1C,$1A,$1A,$1A,$1A,$1A,
|
|
.by $1A,$1A,$1A,$18,$18,$18,$18,$18,$18,$18,
|
|
;.by $18,
|
|
|
|
.by $16,$16,$16,$16,$16,$16,$16,$16,$14,$14,
|
|
.by $14,$14,$14,$14,$14,$14,$12,$12,$12,$12,
|
|
.by $12,$12,$12,$12,$12,$10,$10,$10,$10,$10,
|
|
.by $10,$10,$10,$0E,$0E,$0E,$0E,$0E,$0E,$0E,
|
|
.by $0E,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,
|
|
.by $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A,$08,$08,
|
|
.by $08,$08,$08,$08,$08,$08,$06,$06,$06,$06,
|
|
.by $06,$06,$06,$06,$06,$04,$04,$04,$04,$04,
|
|
.by $04,$04,$04,$02,$02,$02,$02,$02,$02,$02,
|
|
.by $02,
|
|
|
|
EndOfTheBarrelX
|
|
; right angles from 0 (horizontally right) to 90 (up)
|
|
|
|
.by 7,7,7,7,7,7,7,7,7,7,
|
|
.by 7,7,7,7,7,7,7,7,7,7,
|
|
.by 7,7,7,7,7,7,7,7,7,7,
|
|
.by 7,7,7,7,7,7,7,7,7,7,
|
|
.by 7,7,7,7,7,7,7,7,7,7,
|
|
.by 7,7,7,7,7,7,7,7,7,7,
|
|
.by 7,6,6,6,6,6,6,6,6,6,
|
|
.by 5,5,5,5,5,5,5,5,5,5,
|
|
.by 4,4,4,4,4,4,4,4,4,4,
|
|
;.by 4,
|
|
|
|
; left angles from 90 (vertical) to 180 (horizontally left)
|
|
.by 3,3,3,3,3,3,3,3,3,3,
|
|
.by 3,2,2,2,2,2,2,2,2,2,
|
|
.by 2,1,1,1,1,1,1,1,1,1,
|
|
.by 0,0,0,0,0,0,0,0,0,0,
|
|
.by 0,0,0,0,0,0,0,0,0,0,
|
|
.by 0,0,0,0,0,0,0,0,0,0,
|
|
.by 0,0,0,0,0,0,0,0,0,0,
|
|
.by 0,0,0,0,0,0,0,0,0,0,
|
|
.by 0,0,0,0,0,0,0,0,0,0,
|
|
.by 0
|
|
|
|
EndOfTheBarrelY
|
|
; right angles from 0 (horizontally right) to 90 (up)
|
|
|
|
; one pixel Up for fix problems with colision check
|
|
;.by 3,3,3,3,3,3,3,3,3,3,3,3,3,3
|
|
.by 4,4,4,4,4,4,4,4,4,4,
|
|
.by 4,4,4,4,4,4,4,4,4,4,
|
|
.by 4,4,4,4,4,4,4,5,5,5,
|
|
.by 5,5,5,5,5,5,5,6,6,6,
|
|
.by 6,6,6,6,6,6,7,7,7,7,
|
|
.by 7,7,7,7,7,7,7,7,7,7,
|
|
.by 7,7,7,7,7,7,7,7,7,7,
|
|
.by 7,7,7,7,7,7,7,7,7,7,
|
|
.by 7,7,7,7,7,7,7,7,7,7,
|
|
;.by 7,
|
|
|
|
; left angles from 90 (vertical) to 180 (horizontally left)
|
|
|
|
.by 7,7,7,7,7,7,7,7,7,7,
|
|
.by 7,7,7,7,7,7,7,7,7,7,
|
|
.by 7,7,7,7,7,7,7,7,7,7,
|
|
.by 7,7,7,7,7,7,7,7,7,7,
|
|
.by 7,7,7,7,7,6,6,6,6,6,
|
|
.by 6,6,6,6,5,5,5,5,5,5,
|
|
.by 5,5,5,5,4,4,4,4,4,4,
|
|
.by 4,4,4,4,4,4,4,4,4,4,
|
|
.by 4,4,4,4,4,4,4,4,4,4,
|
|
.by 4,
|
|
; one pixel Up for fix problems with colision check
|
|
;.by 3,3,3,3,3,3,3,3,3,3,3,3,3,3
|
|
|
|
|
|
;-------------------------------------------------
|
|
TanksNamesDefault
|
|
dta d"1st.Tank"
|
|
dta d"2nd.Tank"
|
|
dta d"3rd.Tank"
|
|
dta d"4th.Tank"
|
|
dta d"5th.Tank"
|
|
dta d"6th.Tank"
|
|
|
|
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_Baby_Digger____
|
|
.by >price_Digger_________
|
|
.by >price_Heavy_Digger___
|
|
.by >price_Baby_Sandhog___
|
|
.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_Earth_Disrupter
|
|
.by >price_Plasma_Blast___
|
|
.by >price_Laser__________
|
|
.by >price______________33
|
|
.by >price______________34
|
|
.by >price______________35
|
|
.by >price______________36
|
|
.by >price______________37
|
|
.by >price______________38
|
|
.by >price______________39
|
|
.by >price______________40
|
|
.by >price______________41
|
|
.by >price______________42
|
|
.by >price______________43
|
|
.by >price______________44
|
|
.by >price______________45
|
|
.by >price______________46
|
|
.by >price______________47
|
|
.by >price_White_Flag_____
|
|
.by >price_Battery________
|
|
.by >price_Bal_Guidance___
|
|
.by >price_Horz_Guidance__
|
|
.by >price_Vert_Guidance__
|
|
.by >price_Lazy_Boy_______
|
|
.by >price_Parachute______
|
|
.by >price_StrongParachute
|
|
.by >price_Mag_Deflector__
|
|
.by >price_Shield_________
|
|
.by >price_Force_Shield___
|
|
.by >price_Heavy_Shield___
|
|
.by >price_Super_Mag______
|
|
.by >price_Auto_Defense___
|
|
.by >price_Fuel_Tank______
|
|
.by >price_Nuclear_Winter_
|
|
|
|
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_Baby_Digger____
|
|
.by <price_Digger_________
|
|
.by <price_Heavy_Digger___
|
|
.by <price_Baby_Sandhog___
|
|
.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_Earth_Disrupter
|
|
.by <price_Plasma_Blast___
|
|
.by <price_Laser__________
|
|
.by <price______________33
|
|
.by <price______________34
|
|
.by <price______________35
|
|
.by <price______________36
|
|
.by <price______________37
|
|
.by <price______________38
|
|
.by <price______________39
|
|
.by <price______________40
|
|
.by <price______________41
|
|
.by <price______________42
|
|
.by <price______________43
|
|
.by <price______________44
|
|
.by <price______________45
|
|
.by <price______________46
|
|
.by <price______________47
|
|
.by <price_White_Flag_____
|
|
.by <price_Battery________
|
|
.by <price_Bal_Guidance___
|
|
.by <price_Horz_Guidance__
|
|
.by <price_Vert_Guidance__
|
|
.by <price_Lazy_Boy_______
|
|
.by <price_Parachute______
|
|
.by <price_StrongParachute
|
|
.by <price_Mag_Deflector__
|
|
.by <price_Shield_________
|
|
.by <price_Force_Shield___
|
|
.by <price_Heavy_Shield___
|
|
.by <price_Super_Mag______
|
|
.by <price_Auto_Defense___
|
|
.by <price_Fuel_Tank______
|
|
.by <price_Nuclear_Winter_
|
|
|
|
;-------------------------------------------------
|
|
; 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___
|
|
.by 5 ;Missile________
|
|
.by 3 ;Baby_Nuke______
|
|
.by 1 ;Nuke___________
|
|
.by 2 ;LeapFrog_______
|
|
.by 2 ;Funky_Bomb_____
|
|
.by 3 ;MIRV___________
|
|
.by 1 ;Death_s_Head___
|
|
.by 10 ;Napalm_________
|
|
.by 2 ;Hot_Napalm_____
|
|
.by 20 ;Tracer_________
|
|
.by 10 ;Smoke_Tracer___
|
|
.by 10 ;Baby_Roller____
|
|
.by 5 ;Roller_________
|
|
.by 2 ;Heavy_Roller___
|
|
.by 5 ;Riot_Charge____
|
|
.by 2 ;Riot_Blast_____
|
|
.by 5 ;Riot_Bomb______
|
|
.by 2 ;Heavy_Riot_Bomb
|
|
.by 10 ;Baby_Digger____
|
|
.by 5 ;Digger_________
|
|
.by 2 ;Heavy_Digger___
|
|
.by 10 ;Baby_Sandhog___
|
|
.by 5 ;Sandhog________
|
|
.by 2 ;Heavy_Sandhog__
|
|
.by 10 ;Dirt_Clod______
|
|
.by 5 ;Dirt_Ball______
|
|
.by 2 ;Ton_of_Dirt____
|
|
.by 4 ;Liquid_Dirt____
|
|
.by 2 ;Dirt_Charge____
|
|
.by 10 ;Earth_Disrupter
|
|
.by 5 ;Plasma_Blast___
|
|
.by 5 ;Laser__________
|
|
.by 0 ;_____________33
|
|
.by 0 ;_____________34
|
|
.by 0 ;_____________35
|
|
.by 0 ;_____________36
|
|
.by 0 ;_____________37
|
|
.by 0 ;_____________38
|
|
.by 0 ;_____________39
|
|
.by 0 ;_____________40
|
|
.by 0 ;_____________41
|
|
.by 0 ;_____________42
|
|
.by 0 ;_____________43
|
|
.by 0 ;_____________44
|
|
.by 0 ;_____________45
|
|
.by 0 ;_____________46
|
|
.by 0 ;_____________47
|
|
.by 1 ;White_Flag___48
|
|
.by 3 ;Battery________
|
|
.by 2 ;Bal_Guidance___
|
|
.by 5 ;Horz_Guidance__
|
|
.by 5 ;Vert_Guidance__
|
|
.by 2 ;Lazy_Boy_______
|
|
.by 8 ;Parachute______
|
|
.by 2 ;StrongParachute
|
|
.by 2 ;Mag_Deflector__
|
|
.by 3 ;Shield_________
|
|
.by 3 ;Force_Shield___
|
|
.by 2 ;Heavy_Shield___
|
|
.by 2 ;Super_Mag______
|
|
.by 1 ;Auto_Defense___
|
|
.by 10 ;Fuel_Tank______
|
|
.by 1 ;Nuclear_Winter_
|
|
|
|
PurchaseMeTable ;weapons good to be purchased by the robot
|
|
;the comment is an index in the tables
|
|
dta 1 ;"Baby Missile " ; 0
|
|
dta 1 ;"Missile " ; 1
|
|
dta 1 ;"Baby Nuke " ; 2
|
|
dta 1 ;"Nuke " ; 3
|
|
dta 1 ;"LeapFrog " ; 4
|
|
dta 1 ;"Funky Bomb " ; 5
|
|
dta 1 ;"MIRV " ; 6
|
|
dta 1 ;"Death's Head " ; 7
|
|
dta 0 ;"Napalm " ; 8
|
|
dta 0 ;"Hot Napalm " ; 9
|
|
dta 0 ;"Tracer " ; 10
|
|
dta 0 ;"Smoke Tracer " ; 11
|
|
dta 1 ;"Baby Roller " ; 12
|
|
dta 1 ;"Roller " ; 13
|
|
dta 1 ;"Heavy Roller " ; 14
|
|
dta 0 ;"Riot Charge " ; 15
|
|
dta 0 ;"Riot Blast " ; 16
|
|
dta 0 ;"Riot Bomb " ; 17
|
|
dta 0 ;"Heavy Riot Bomb " ; 18
|
|
dta 0 ;"Baby Digger " ; 19
|
|
dta 0 ;"Digger " ; 20
|
|
dta 0 ;"Heavy Digger " ; 21
|
|
dta 0 ;"Baby Sandhog " ; 22
|
|
dta 0 ;"Sandhog " ; 23
|
|
dta 0 ;"Heavy Sandhog " ; 24
|
|
dta 0 ;"Dirt Clod " ; 25
|
|
dta 0 ;"Dirt Ball " ; 26
|
|
dta 0 ;"Ton of Dirt " ; 27
|
|
dta 0 ;"Liquid Dirt " ; 28
|
|
dta 0 ;"Dirt Charge " ; 29
|
|
dta 0 ;"Earth Disrupter " ; 30
|
|
dta 0 ;"Plasma Blast " ; 31
|
|
dta 1 ;"Laser " ; 32
|
|
dta 0 ;"----------------" ; 33
|
|
dta 0 ;"----------------" ; 34
|
|
dta 0 ;"----------------" ; 35
|
|
dta 0 ;"----------------" ; 36
|
|
dta 0 ;"----------------" ; 37
|
|
dta 0 ;"----------------" ; 38
|
|
dta 0 ;"----------------" ; 39
|
|
dta 0 ;"----------------" ; 40
|
|
dta 0 ;"----------------" ; 41
|
|
dta 0 ;"----------------" ; 42
|
|
dta 0 ;"----------------" ; 43
|
|
dta 0 ;"----------------" ; 44
|
|
dta 0 ;"----------------" ; 45
|
|
dta 0 ;"----------------" ; 46
|
|
dta 0 ;"----------------" ; 47
|
|
|
|
|
|
;-------------------------------------------------
|
|
; Screen codes of icons (chars) representing a given weapon
|
|
WeaponSymbols
|
|
.by $40,$41,$42,$43,$44,$45,$46,$47
|
|
.by $48,$49,$4a,$4b,$4c,$4d,$4e,$4f
|
|
.by $50,$51,$52,$53,$54,$55,$56,$57
|
|
.by $58,$59,$5a,$5b,$60,$7b,$7c,$7d
|
|
.by $20,$00,$00,$00,$00,$00,$00,$00
|
|
.by $00,$00,$00,$00,$00,$00,$00,$00
|
|
.by $5f,$1c,$03,$06,$1d,$0a,$1b,$1b ; defensives
|
|
.by $1e,$3b,$3c,$3d,$3e,$3f,$5e,$7d
|
|
|
|
; Names of weapons (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"Baby Digger " ; 19
|
|
dta d"Digger " ; 20
|
|
dta d"Heavy Digger " ; 21
|
|
dta d"Baby Sandhog " ; 22
|
|
dta d"Sandhog " ; 23
|
|
dta d"Heavy Sandhog " ; 24
|
|
dta d"Dirt Clod " ; 25
|
|
dta d"Dirt Ball " ; 26
|
|
dta d"Ton of Dirt " ; 27
|
|
dta d"Liquid Dirt " ; 28
|
|
dta d"Dirt Charge " ; 29
|
|
dta d"Earth Disrupter " ; 30
|
|
dta d"Plasma Blast " ; 31
|
|
dta d"Laser " ; 32
|
|
dta d"----------------" ; 33
|
|
dta d"----------------" ; 34
|
|
dta d"----------------" ; 35
|
|
dta d"----------------" ; 36
|
|
dta d"----------------" ; 37
|
|
dta d"----------------" ; 38
|
|
dta d"----------------" ; 39
|
|
dta d"----------------" ; 40
|
|
dta d"----------------" ; 41
|
|
dta d"----------------" ; 42
|
|
dta d"----------------" ; 43
|
|
dta d"----------------" ; 44
|
|
dta d"----------------" ; 45
|
|
dta d"----------------" ; 46
|
|
dta d" " ; 47 ; special (no weapon) name to simplify display
|
|
|
|
dta d"White Flag " ; 48 ($30)
|
|
dta d"Battery " ; 49
|
|
dta d"Bal Guidance " ; 50
|
|
dta d"Horz Guidance " ; 51
|
|
dta d"Vert Guidance " ; 52
|
|
dta d"Lazy Boy " ; 53
|
|
dta d"Parachute " ; 54 - no energy
|
|
dta d"Strong Parachute" ; 55 - with energy (earlier Battery)
|
|
dta d"Mag Deflector " ; 56 - with shield and energy
|
|
dta d"Shield " ; 57 - shield for one shot - no energy
|
|
dta d"Force Shield " ; 58 - shield with energy and parachute
|
|
dta d"Heavy Shield " ; 59 - shield with energy
|
|
dta d"Super Mag " ; 60
|
|
dta d"Auto Defense " ; 61 - with shield and energy
|
|
dta d"Fuel Tank " ; 62
|
|
dta d"Nuclear Winter " ; 63
|
|
DefensiveEnergy = * - 48
|
|
.by 00 ; White Flag
|
|
.by 00 ; Heat Guidance
|
|
.by 00 ; Bal Guidance
|
|
.by 00 ; Horz Guidance
|
|
.by 00 ; Vert Guidance
|
|
.by 00 ; Lazy Boy
|
|
.by 00 ; Parachute
|
|
.by 99 ; Strong Parachute
|
|
.by 99 ; Mag Deflector
|
|
.by 00 ; Shield
|
|
.by 99 ; Force Shield
|
|
.by 99 ; Heavy Shield
|
|
.by 00 ; Super Mag
|
|
.by 99 ; Auto Defense
|
|
.by 00 ; Fuel Tank
|
|
.by 00 ; Nuclear Winter
|
|
weaponsOfDeath
|
|
dta 1,2,3,7,17,18,19,20,21,22,23,24,25,26,27
|
|
weaponsOfDeathEnd
|
|
joyToKeyTable
|
|
; .by 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15
|
|
.by $ff,$ff,$ff,$ff,$ff,$ff,$ff,$07,$ff,$ff,$ff,$06,$ff,$0f,$0e,$ff
|
|
|
|
;-----------------------------------
|
|
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,$1f,$1e,$1a,$18,$1d,$1b
|
|
.by $33,$35,$30,$32,$22 ;,$0e <-- hyphen removed from the table, sorry hyphen lovers
|
|
keycodesEnd
|
|
scrcodes
|
|
dta d"abcdefgh"
|
|
dta d"ijklmnop"
|
|
dta d"qrstuvwx"
|
|
dta d"yz123456"
|
|
dta d"7890." ; "-"
|
|
;-----------------------------------
|
|
gameOverSpritesTop
|
|
; end of the Gover sprites by number of players
|
|
; 1 2 3 4 5 6
|
|
.by 130,130,136,142,148,154
|
|
|
|
.endif
|