mirror of
https://github.com/pkali/scorch_src.git
synced 2026-05-20 22:34:21 +02:00
WIP: unfinished weapons optimization
This commit is contained in:
@@ -155,7 +155,7 @@ endo
|
||||
|
||||
; choose the best weapon
|
||||
|
||||
ldy #32 ;the last weapon
|
||||
ldy #last_offensive_____ ;the last weapon
|
||||
loop
|
||||
dey
|
||||
lda (temp),y ; this is set up before calling the routine, has address of TanksWeaponsTable
|
||||
@@ -1043,7 +1043,7 @@ SorryNoPurchase
|
||||
:4 asl ;*16
|
||||
sta tempXroller ; perform this many purchase attempts
|
||||
@
|
||||
randomize ind_Missile________ ind_Plasma_Blast___
|
||||
randomize first_offensive____ last_offensive_____
|
||||
jsr TryToPurchaseOnePiece2
|
||||
dec tempXroller
|
||||
bne @-
|
||||
|
||||
+152
-212
@@ -261,36 +261,16 @@ WeaponPriceH ; weapons prices (tables with prices of weapons)
|
||||
.by >price_Liquid_Dirt____
|
||||
.by >price_Dirt_Charge____
|
||||
.by >price_Buy_me_________
|
||||
.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_Floating_Tank__
|
||||
.by >price_Lazy_Boy_______
|
||||
.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_Super_Mag______
|
||||
.by >price_Bouncy_Castle__
|
||||
.by >price_Long_Barrel____
|
||||
.by >price_Nuclear_Winter_
|
||||
@@ -327,36 +307,16 @@ WeaponPriceL
|
||||
.by <price_Liquid_Dirt____
|
||||
.by <price_Dirt_Charge____
|
||||
.by <price_Buy_me_________
|
||||
.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_Floating_Tank__
|
||||
.by <price_Lazy_Boy_______
|
||||
.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_Super_Mag______
|
||||
.by <price_Bouncy_Castle__
|
||||
.by <price_Long_Barrel____
|
||||
.by <price_Nuclear_Winter_
|
||||
@@ -368,70 +328,50 @@ WeaponPriceL
|
||||
; is not present in the game.
|
||||
; This is the slot for adding new weapons.
|
||||
WeaponUnits
|
||||
.by 10 ;Baby_Missile___
|
||||
.by 5 ;Missile________
|
||||
.by 2 ;Baby_Nuke______
|
||||
.by 1 ;Nuke___________
|
||||
.by 2 ;LeapFrog_______
|
||||
.by 3 ;Funky_Bomb_____
|
||||
.by 2 ;MIRV___________
|
||||
.by 1 ;Death_s_Head___
|
||||
.by 4 ;Napalm_________
|
||||
.by 2 ;Hot_Napalm_____
|
||||
.by 20 ;Tracer_________
|
||||
.by 10 ;Smoke_Tracer___
|
||||
.by 5 ;Baby_Roller____
|
||||
.by 3 ;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 5 ;Dirt_Clod______
|
||||
.by 3 ;Dirt_Ball______
|
||||
.by 1 ;Ton_of_Dirt____
|
||||
.by 4 ;Liquid_Dirt____
|
||||
.by 2 ;Dirt_Charge____
|
||||
.by 1 ;Buy_me_________
|
||||
.by 0 ;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 0 ;Bal_Guidance___
|
||||
.by 0 ;Horz_Guidance__
|
||||
.by 2 ;Floating_Tank__
|
||||
.by 0 ;Lazy_Boy_______
|
||||
.by 3 ;Parachute______
|
||||
.by 2 ;StrongParachute
|
||||
.by 2 ;Mag_Deflector__
|
||||
.by 3 ;Shield_________
|
||||
.by 2 ;Heavy_Shield___
|
||||
.by 3 ;Force_Shield___
|
||||
.by 0 ;Super_Mag______
|
||||
.by 1 ;Auto_Defense___
|
||||
.by 2 ;Long_Barrel____
|
||||
.by 1 ;Nuclear_Winter_
|
||||
.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 10 ;Baby_Digger____;_19
|
||||
.by 5 ;Digger_________;_20
|
||||
.by 2 ;Heavy_Digger___;_21
|
||||
.by 10 ;Baby_Sandhog___;_22
|
||||
.by 5 ;Sandhog________;_23
|
||||
.by 2 ;Heavy_Sandhog__;_24
|
||||
.by 5 ;Dirt_Clod______;_25
|
||||
.by 3 ;Dirt_Ball______;_26
|
||||
.by 1 ;Ton_of_Dirt____;_27
|
||||
.by 4 ;Liquid_Dirt____;_28
|
||||
.by 2 ;Dirt_Charge____;_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
|
||||
|
||||
PurchaseMeTable ;weapons good to be purchased by the robot
|
||||
;the comment is an index in the tables
|
||||
@@ -445,49 +385,81 @@ PurchaseMeTable ;weapons good to be purchased by the robot
|
||||
; "Digger ","Heavy Digger ","Baby Sandhog ","Sandhog "
|
||||
.by %00000000
|
||||
; "Heavy Sandhog ","Dirt Clod ","Dirt Ball ","Ton of Dirt "
|
||||
; "Liquid Dirt ","Dirt Charge ","Buy me! ","Plasma Blast "
|
||||
; "Liquid Dirt ","Dirt Charge ","Buy me! ","Laser "
|
||||
.by %00000000
|
||||
; "Laser ","White Flag ","Battery ","Bal Guidance "
|
||||
; "Horz Guidance ","Hovercraft ","Lazy Boy ","Parachute "
|
||||
.by %00100001
|
||||
; "Strong Parachute","Mag Deflector ","Shield ","Heavy Shield "
|
||||
; "Force Shield ","Super Mag ","Bouncy Castle ","Long Barrel "
|
||||
.by %11111010
|
||||
; "Nuclear Winter "
|
||||
.by %00000000
|
||||
; "White Flag ","Battery ","Hovercraft ","Parachute "
|
||||
; "Strong Parachute","Mag Deflector ","Shield ","Heavy Shield "
|
||||
.by %01011111
|
||||
; "Force Shield ","Bouncy Castle ","Long Barrel ","Nuclear Winter "
|
||||
.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 %00110001
|
||||
; "Napalm ","Hot Napalm ","Tracer ","Smoke Tracer "
|
||||
; "Baby Roller ","Roller ","Heavy Roller ","Riot Charge "
|
||||
.by %01000000
|
||||
; "Riot Blast ","Riot Bomb ","Heavy Riot Bomb ","Baby Digger "
|
||||
; "Digger ","Heavy Digger ","Baby Sandhog ","Sandhog "
|
||||
.by %00000000
|
||||
; "Heavy Sandhog ","Dirt Clod ","Dirt Ball ","Ton of Dirt "
|
||||
; "Liquid Dirt ","Dirt Charge ","Buy me! ","Plasma Blast "
|
||||
.by %00000000
|
||||
; "Laser ","White Flag ","Battery ","Bal Guidance "
|
||||
; "Horz Guidance ","Hovercraft ","Lazy Boy ","Parachute "
|
||||
.by %00100000
|
||||
;,"Strong Parachute","Mag Deflector ","Shield ","Heavy Shield "
|
||||
;,"Force Shield ","Super Mag ","Bouncy Castle ","Long Barrel "
|
||||
.by %11011010
|
||||
;"Nuclear Winter "
|
||||
; "Baby Missile ","Missile ","Baby Nuke ","Nuke "
|
||||
; "LeapFrog ","Funky Bomb ","MIRV ","Death's Head "
|
||||
.by %00110001
|
||||
; "Napalm ","Hot Napalm ","Tracer ","Smoke Tracer "
|
||||
; "Baby Roller ","Roller ","Heavy Roller ","Riot Charge "
|
||||
.by %01000000
|
||||
; "Riot Blast ","Riot Bomb ","Heavy Riot Bomb ","Baby Digger "
|
||||
; "Digger ","Heavy Digger ","Baby Sandhog ","Sandhog "
|
||||
.by %00000000
|
||||
; "Heavy Sandhog ","Dirt Clod ","Dirt Ball ","Ton of Dirt "
|
||||
; "Liquid Dirt ","Dirt Charge ","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 "
|
||||
.by %11000000
|
||||
|
||||
;-------------------------------------------------
|
||||
; 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,$1f,$7d
|
||||
.by $20 ;,$00,$00,$00,$00,$00,$00,$00
|
||||
;.by $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.by $5f,$1c,$03,$06,$06,$0a,$1b,$1b ; defensives
|
||||
.by $1e,$3b,$3d,$3c,$3e,$3f,$1d,$7d
|
||||
.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 $53 ;ind_Baby_Digger____ ;_19
|
||||
.by $54 ;ind_Digger_________ ;_20
|
||||
.by $55 ;ind_Heavy_Digger___ ;_21
|
||||
.by $56 ;ind_Baby_Sandhog___ ;_22
|
||||
.by $57 ;ind_Sandhog________ ;_23
|
||||
.by $58 ;ind_Heavy_Sandhog__ ;_24
|
||||
.by $59 ;ind_Dirt_Clod______ ;_25
|
||||
.by $5a ;ind_Dirt_Ball______ ;_26
|
||||
.by $5b ;ind_Ton_of_Dirt____ ;_27
|
||||
.by $60 ;ind_Liquid_Dirt____ ;_28
|
||||
.by $7b ;ind_Dirt_Charge____ ;_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
|
||||
|
||||
; Names of weapons (16 chars long)
|
||||
NamesOfWeapons ;the comment is an index in the tables
|
||||
@@ -522,79 +494,39 @@ NamesOfWeapons ;the comment is an index in the tables
|
||||
dta d"Liquid Dirt " ; 28
|
||||
dta d"Dirt Charge " ; 29
|
||||
dta d"Buy me! " ; 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 " ; 33
|
||||
dta d"Battery " ; 34
|
||||
;dta d"Bal Guidance " ; 35
|
||||
;-----------------------------------
|
||||
DefensiveEnergy ; OPTIMIZATION - unused name of the weapon
|
||||
.by 00 ; White Flag
|
||||
.by 00 ; Heat Guidance
|
||||
.by 00 ; Bal Guidance
|
||||
.by 00 ; Horz Guidance
|
||||
.by 98 ; Let's go!
|
||||
.by 00 ; Lazy Boy
|
||||
.by 00 ; Parachute
|
||||
.by 99 ; Strong Parachute
|
||||
.by 99 ; Mag Deflector
|
||||
.by 00 ; Shield
|
||||
.by 99 ; Heavy Shield
|
||||
.by 99 ; Force Shield
|
||||
.by 00 ; Super Mag
|
||||
.by 99 ; Bouncy Castle
|
||||
.by 00 ; Long Barrel
|
||||
.by 00 ; Nuclear Winter
|
||||
;-----------------------------------
|
||||
;dta d"Horz Guidance " ; 36
|
||||
;-----------------------------------
|
||||
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
|
||||
DefensiveEnergy = *-(last_offensive_____ - first_offensive____ +1) ; to fake the table for ALL weapons
|
||||
.by 00 ; White Flag
|
||||
.by 00 ; Heat Guidance
|
||||
.by 98 ; Let's go!
|
||||
.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
|
||||
weaponsOfDeath ; weapons used in tank death animations
|
||||
dta 1,2,3,7,17,18,19,20,21,22,23,24,25,26,27 ; OPTIMIZATION - unused name of the weapon
|
||||
weaponsOfDeathEnd dta d"Hovercraft " ; 37
|
||||
;-----------------------------------
|
||||
dta 0 ; ALIGN to 16
|
||||
; dta d"Lazy Boy " ; 38
|
||||
;-----------------------------------
|
||||
joyToKeyTable; OPTIMIZATION - unused name of the weapon
|
||||
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
|
||||
;-----------------------------------
|
||||
dta d"Parachute " ; 39 - no energy
|
||||
dta d"Strong Parachute" ; 40 - with energy (earlier Battery)
|
||||
dta d"Mag Deflector " ; 41 - with shield and energy
|
||||
dta d"Shield " ; 42 - shield for one shot - no energy
|
||||
dta d"Heavy Shield " ; 43 - shield with energy
|
||||
dta d"Force Shield " ; 44 - shield with energy and parachute
|
||||
;dta d"Super Mag " ; 45
|
||||
;-----------------------------------
|
||||
gameOverSpritesTop ; OPTIMIZATION - unused name of the weapon
|
||||
; end of the Gover sprites by number of players
|
||||
; 1 2 3 4 5 6
|
||||
.by 130,130,136,142,148,154
|
||||
;-------decimal constans
|
||||
zero
|
||||
digits dta d"0123456789"
|
||||
;-----------------------------------
|
||||
dta d"Bouncy Castle " ; 46 - with shield and energy
|
||||
dta d"Long Schlong " ; 47
|
||||
dta d"Nuclear Winter " ; 48
|
||||
|
||||
|
||||
;-----------------------------------
|
||||
keycodes ;tables for converting KeyCode to Screen Code (38 -1 characters)
|
||||
@@ -610,6 +542,14 @@ scrcodes
|
||||
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
|
||||
;-------decimal constans
|
||||
zero
|
||||
digits dta d"0123456789"
|
||||
|
||||
;------credits
|
||||
CreditsStart
|
||||
|
||||
+59
-97
@@ -41,70 +41,50 @@ char_tank2___________ = $24
|
||||
char_tank3___________ = $28
|
||||
|
||||
;Weapon prices (*10 on screen)
|
||||
price_Baby_Missile___ = 0 ;_0
|
||||
price_Missile________ = 96 ;_1
|
||||
price_Baby_Nuke______ = 111 ;_2
|
||||
price_Nuke___________ = 144 ;_3
|
||||
price_LeapFrog_______ = 192 ;_4
|
||||
price_Funky_Bomb_____ = 293 ;_5
|
||||
price_MIRV___________ = 456 ;_6
|
||||
price_Death_s_Head___ = 337 ;_7
|
||||
price_Napalm_________ = 125 ;_8
|
||||
price_Hot_Napalm_____ = 162 ;_9
|
||||
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_Baby_Digger____ = 136 ;_19
|
||||
price_Digger_________ = 176 ;_20
|
||||
price_Heavy_Digger___ = 207 ;_21
|
||||
price_Baby_Sandhog___ = 158 ;_22
|
||||
price_Sandhog________ = 191 ;_23
|
||||
price_Heavy_Sandhog__ = 223 ;_24
|
||||
price_Dirt_Clod______ = 104 ;_25
|
||||
price_Dirt_Ball______ = 130 ;_26
|
||||
price_Ton_of_Dirt____ = 171 ;_27
|
||||
price_Liquid_Dirt____ = 330 ;_28
|
||||
price_Dirt_Charge____ = 343 ;_29
|
||||
price_Buy_me_________ = 170 ;430 ;_30
|
||||
price_Plasma_Blast___ = $ffff ;274 ;_31
|
||||
price_Laser__________ = 277 ;_32
|
||||
;price______________33 = 0
|
||||
;price______________34 = 0
|
||||
;price______________35 = 0
|
||||
;price______________36 = 0
|
||||
;price______________37 = 0
|
||||
;price______________38 = 0
|
||||
;price______________39 = 0
|
||||
;price______________40 = 0
|
||||
;price______________41 = 0
|
||||
;price______________42 = 0
|
||||
;price______________43 = 0
|
||||
;price______________44 = 0
|
||||
;price______________45 = 0
|
||||
;price______________46 = 0
|
||||
;price______________47 = 0
|
||||
price_White_Flag_____ = $0 ;_33
|
||||
price_Battery________ = 300 ;_34
|
||||
price_Bal_Guidance___ = $ffff ;_35
|
||||
price_Horz_Guidance__ = $ffff ;_36
|
||||
price_Floating_Tank__ = 352 ;_37
|
||||
price_Lazy_Boy_______ = $ffff ;_38
|
||||
price_Parachute______ = 234 ;_39
|
||||
price_StrongParachute = 1000 ;_40
|
||||
price_Mag_Deflector__ = 745 ;_41
|
||||
price_Shield_________ = 224 ;_42
|
||||
price_Heavy_Shield___ = 628 ;_43
|
||||
price_Force_Shield___ = 1100 ;_44
|
||||
price_Super_Mag______ = $ffff ;_45
|
||||
price_Bouncy_Castle__ = 512 ;_46
|
||||
price_Long_Barrel____ = 2100 ;_47
|
||||
price_Nuclear_Winter_ = 1000 ;_48
|
||||
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_Baby_Digger____ = 136 ;_19
|
||||
price_Digger_________ = 176 ;_20
|
||||
price_Heavy_Digger___ = 207 ;_21
|
||||
price_Baby_Sandhog___ = 158 ;_22
|
||||
price_Sandhog________ = 191 ;_23
|
||||
price_Heavy_Sandhog__ = 223 ;_24
|
||||
price_Dirt_Clod______ = 104 ;_25
|
||||
price_Dirt_Ball______ = 130 ;_26
|
||||
price_Ton_of_Dirt____ = 171 ;_27
|
||||
price_Liquid_Dirt____ = 330 ;_28
|
||||
price_Dirt_Charge____ = 343 ;_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
|
||||
;Weapon indexes (numbers)
|
||||
ind_Baby_Missile___ = 0
|
||||
first_offensive____ = ind_Baby_Missile___
|
||||
@@ -138,42 +118,24 @@ ind_Ton_of_Dirt____ = 27
|
||||
ind_Liquid_Dirt____ = 28
|
||||
ind_Dirt_Charge____ = 29
|
||||
ind_Buy_me_________ = 30
|
||||
ind_Plasma_Blast___ = 31
|
||||
ind_Laser__________ = 32
|
||||
ind_Laser__________ = 31
|
||||
last_offensive_____ = ind_Laser__________
|
||||
;ind______________33 = 0
|
||||
;ind______________34 = 0
|
||||
;ind______________35 = 0
|
||||
;ind______________36 = 0
|
||||
;ind______________37 = 0
|
||||
;ind______________38 = 0
|
||||
;ind______________39 = 0
|
||||
;ind______________40 = 0
|
||||
;ind______________41 = 0
|
||||
;ind______________42 = 0
|
||||
;ind______________43 = 0
|
||||
;ind______________44 = 0
|
||||
;ind______________45 = 0
|
||||
;ind______________46 = 0
|
||||
;ind______________47 = 0
|
||||
ind_White_Flag_____ = 33
|
||||
ind_White_Flag_____ = 32
|
||||
first_defensive____ = ind_White_Flag_____
|
||||
ind_Battery________ = 34
|
||||
ind_Bal_Guidance___ = 35
|
||||
ind_Horz_Guidance__ = 36
|
||||
ind_Floating_Tank__ = 37
|
||||
ind_Lazy_Boy_______ = 38
|
||||
ind_Parachute______ = 39
|
||||
ind_StrongParachute = 40
|
||||
ind_Mag_Deflector__ = 41
|
||||
ind_Shield_________ = 42
|
||||
ind_Heavy_Shield___ = 43
|
||||
ind_Force_Shield___ = 44
|
||||
ind_Super_Mag______ = 45
|
||||
ind_Bouncy_Castle__ = 46
|
||||
ind_Long_Barrel____ = 47
|
||||
ind_Nuclear_Winter_ = 48
|
||||
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
|
||||
last_defensive_____ = ind_Nuclear_Winter_
|
||||
number_of_offensives = last_offensive_____ - first_offensive____+1
|
||||
number_of_defensives = (last_defensive_____ - first_defensive____+1)
|
||||
;--------------------------------
|
||||
; names of RMT instruments (sfx)
|
||||
;--------------------------------
|
||||
|
||||
+16
-3
@@ -18,14 +18,27 @@ OptionsHere
|
||||
dta d"Seppuku : nevr rare norm oftn alws "
|
||||
dta d"Mountains: NL BE CZ CH NP "
|
||||
dta d"Walls : none wrap bump boxy rand "
|
||||
;; 01234567890123456789012345678901
|
||||
; dta d"Players: 2 3 4 5 6 "
|
||||
; dta d"Cash :none 2K 8K 12K 20K"
|
||||
; dta d"Gravity:0.2G 0.5G 1G 2G 4G "
|
||||
; dta d"Wind : 1B 3B 5B 7B 9B "
|
||||
; dta d"Rounds : 10 20 30 40 50 "
|
||||
; dta d"Missile:slug slow norm fast hare"
|
||||
; dta d"Seppuku:nevr rare norm oftn alws"
|
||||
; dta d"Hills : NL BE CZ CH NP "
|
||||
; dta d"Walls :none wrap bump boxy rand"
|
||||
OptionsScreenEnd
|
||||
|
||||
;-----------------------------------------------
|
||||
ListOfWeapons
|
||||
; 0123456789012345678901234567890123456789
|
||||
:36 dta d" "
|
||||
; 0123456789012345678901234567890123456789
|
||||
; :number_of_offensives dta d" "
|
||||
:33 dta d" "
|
||||
ListOfWeapons1End
|
||||
ListOfDefensiveWeapons
|
||||
:16 dta d" "
|
||||
; :number_of_defensives dta d" "
|
||||
:16 dta d" "
|
||||
ListOfDefensiveWeaponsEnd ;constant useful when clearing
|
||||
NameScreen
|
||||
dta d" Enter names of players "
|
||||
|
||||
+3
-3
@@ -601,7 +601,7 @@ AfterManualShooting
|
||||
; defensive weapons without flight handling
|
||||
ldx TankNr
|
||||
lda ActiveDefenceWeapon,x
|
||||
cmp #ind_Floating_Tank__ ; Floating Tank
|
||||
cmp #ind_Hovercraft_____
|
||||
beq GoFloat
|
||||
cmp #ind_White_Flag_____ ; White Flag
|
||||
beq ShootWhiteFlag
|
||||
@@ -1192,9 +1192,9 @@ CreditsScroll
|
||||
sta COLPF2
|
||||
inc CreditsVScrol
|
||||
lda CreditsVScrol
|
||||
cmp #32 ;not to fast
|
||||
cmp #32 ;not too fast
|
||||
beq nextlinedisplay
|
||||
:2 lsr ;not to fast
|
||||
:2 lsr ;not too fast
|
||||
sta VSCROL
|
||||
jmp EndOfDLI_GO
|
||||
nextlinedisplay
|
||||
|
||||
BIN
Binary file not shown.
+8
-21
@@ -699,25 +699,13 @@ WeHaveOffset
|
||||
bne @-
|
||||
|
||||
; add to the address of the list
|
||||
clc
|
||||
lda xbyte
|
||||
adc #<ListOfWeapons
|
||||
tay
|
||||
lda xbyte+1
|
||||
adc #>ListOfWeapons
|
||||
sta xbyte+1
|
||||
stx xbyte
|
||||
txa ; now there is zero here
|
||||
adw xbyte #ListOfWeapons
|
||||
ldy #0
|
||||
ClearList1
|
||||
tya
|
||||
sta (xbyte),y
|
||||
iny
|
||||
bne DoNotIncHigher1
|
||||
inc xbyte+1
|
||||
DoNotIncHigher1
|
||||
cpy #<ListOfWeapons1End
|
||||
bne ClearList1
|
||||
ldx xbyte+1
|
||||
cpx #>ListOfWeapons1End
|
||||
inw xbyte
|
||||
cpw xbyte #ListOfWeapons1End
|
||||
bne ClearList1
|
||||
|
||||
; And the same we do with the second list
|
||||
@@ -955,14 +943,14 @@ DefActivationEnd
|
||||
.proc PutLitteChar
|
||||
; first let's clear both lists from little chars
|
||||
mwa #ListOfWeapons xbyte
|
||||
ldx #last_defensive_____ ; there are 52 lines total
|
||||
ldx #last_defensive_____ ; there are xx lines total
|
||||
ldy #$00
|
||||
EraseLoop
|
||||
tya ; lda #$00
|
||||
sta (xbyte),y
|
||||
adw xbyte #32 ; narrow screen
|
||||
dex
|
||||
bpl EraseLoop
|
||||
bne EraseLoop
|
||||
|
||||
; now let's check which list is active now
|
||||
bit WhichList
|
||||
@@ -979,8 +967,7 @@ AddLoop2
|
||||
SelectList2
|
||||
lda #$7f ; little char (tab) - this is the pointer
|
||||
sta (xbyte),y
|
||||
; now we clear flags of presence of list "out of screen"
|
||||
; unfortunately I am now sure what it means... :(
|
||||
; now we clear up and down arrows indicating more content below or above screen
|
||||
ldx #<EmptyLine
|
||||
ldy #>EmptyLine
|
||||
stx MoreUpdl
|
||||
|
||||
+8
-8
@@ -273,9 +273,9 @@ temptankNr .DS 1
|
||||
; tables with indexes of weapons on the right lists
|
||||
; OK (2022) so, L1 is list of offensive weapons, L2 - defensive
|
||||
IndexesOfWeaponsL1
|
||||
.ds (last_offensive_____ - first_offensive____)
|
||||
.ds (last_offensive_____ - first_offensive____+1)
|
||||
IndexesOfWeaponsL2
|
||||
.ds (last_defensive_____ - first_defensive____)
|
||||
.ds (last_defensive_____ - first_defensive____+1)
|
||||
;----------------------------------------------------
|
||||
|
||||
; variables storing amount of weapons on the first and second
|
||||
@@ -329,17 +329,17 @@ LaserCoordinate .DS 8 ; 2,2,2,2
|
||||
; from $30 the defensive weapons begin
|
||||
TanksWeapons
|
||||
TanksWeapon1
|
||||
.DS [64]
|
||||
.DS [last_defensive_____ - first_offensive____ +1]
|
||||
TanksWeapon2
|
||||
.DS [64]
|
||||
.DS [last_defensive_____ - first_offensive____ +1]
|
||||
TanksWeapon3
|
||||
.DS [64]
|
||||
.DS [last_defensive_____ - first_offensive____ +1]
|
||||
TanksWeapon4
|
||||
.DS [64]
|
||||
.DS [last_defensive_____ - first_offensive____ +1]
|
||||
TanksWeapon5
|
||||
.DS [64]
|
||||
.DS [last_defensive_____ - first_offensive____ +1]
|
||||
TanksWeapon6
|
||||
.DS [64]
|
||||
.DS [last_defensive_____ - first_offensive____ +1]
|
||||
|
||||
mountaintable ;table of mountains (size=screenwidth)
|
||||
.DS [screenwidth]
|
||||
|
||||
+34
-60
@@ -19,39 +19,38 @@
|
||||
pha
|
||||
rts
|
||||
ExplosionRoutines
|
||||
.word babymissile-1
|
||||
.word missile-1
|
||||
.word babynuke-1
|
||||
.word nuke-1
|
||||
.word leapfrog-1
|
||||
.word funkybomb-1
|
||||
.word mirv-1
|
||||
.word deathshead-1
|
||||
.word napalm-1 ;napalm
|
||||
.word hotnapalm-1 ;hotnapalm
|
||||
.word tracer-1
|
||||
.word tracer-1 ;smoketracer
|
||||
.word babyroller-1
|
||||
.word roller-1
|
||||
.word heavyroller-1
|
||||
.word riotcharge-1
|
||||
.word riotblast-1
|
||||
.word riotbomb-1
|
||||
.word heavyriotbomb-1
|
||||
.word babydigger-1
|
||||
.word digger-1
|
||||
.word heavydigger-1
|
||||
.word babysandhog-1
|
||||
.word sandhog-1
|
||||
.word heavysandhog-1
|
||||
.word dirtclod-1
|
||||
.word dirtball-1
|
||||
.word tonofdirt-1
|
||||
.word liquiddirt-1
|
||||
.word dirtcharge-1
|
||||
.word VOID-1 ;earthdisrupter
|
||||
.word VOID-1 ;plasmablast
|
||||
.word laser-1
|
||||
.word babymissile-1 ;Baby_Missile___;_00
|
||||
.word missile-1 ;Missile________;_01
|
||||
.word babynuke-1 ;Baby_Nuke______;_02
|
||||
.word nuke-1 ;Nuke___________;_03
|
||||
.word leapfrog-1 ;LeapFrog_______;_04
|
||||
.word funkybomb-1 ;Funky_Bomb_____;_05
|
||||
.word mirv-1 ;MIRV___________;_06
|
||||
.word deathshead-1 ;Death_s_Head___;_07
|
||||
.word napalm-1 ;Napalm_________;_08
|
||||
.word hotnapalm-1 ;Hot_Napalm_____;_09
|
||||
.word tracer-1 ;Tracer_________;_10
|
||||
.word tracer-1 ;Smoke_Tracer___;_11
|
||||
.word babyroller-1 ;Baby_Roller____;_12
|
||||
.word roller-1 ;Roller_________;_13
|
||||
.word heavyroller-1 ;Heavy_Roller___;_14
|
||||
.word riotcharge-1 ;Riot_Charge____;_15
|
||||
.word riotblast-1 ;Riot_Blast_____;_16
|
||||
.word riotbomb-1 ;Riot_Bomb______;_17
|
||||
.word heavyriotbomb-1 ;Heavy_Riot_Bomb;_18
|
||||
.word babydigger-1 ;Baby_Digger____;_19
|
||||
.word digger-1 ;Digger_________;_20
|
||||
.word heavydigger-1 ;Heavy_Digger___;_21
|
||||
.word babysandhog-1 ;Baby_Sandhog___;_22
|
||||
.word sandhog-1 ;Sandhog________;_23
|
||||
.word heavysandhog-1 ;Heavy_Sandhog__;_24
|
||||
.word dirtclod-1 ;Dirt_Clod______;_25
|
||||
.word dirtball-1 ;Dirt_Ball______;_26
|
||||
.word tonofdirt-1 ;Ton_of_Dirt____;_27
|
||||
.word liquiddirt-1 ;Liquid_Dirt____;_28
|
||||
.word dirtcharge-1 ;Dirt_Charge____;_29
|
||||
.word VOID-1 ;Buy_me_________;_30
|
||||
.word laser-1 ;Laser__________;_31
|
||||
|
||||
VOID
|
||||
tracer
|
||||
@@ -670,21 +669,6 @@ DiggerCharacter
|
||||
mva EndOfTheBarrelY ybyte
|
||||
mva #0 ybyte+1
|
||||
|
||||
;clc
|
||||
;lda xtankstableL,x
|
||||
;adc EndOfTheBarrelX,y ; correction of the end of the barrel point (X)
|
||||
;sta xbyte
|
||||
;lda xtankstableH,x
|
||||
;adc #0
|
||||
;sta xbyte+1
|
||||
;sec
|
||||
;lda ytankstable,x
|
||||
;sbc EndOfTheBarrelY,y ; correction of the end of the barrel point (Y)
|
||||
;sta ybyte
|
||||
;lda #$00
|
||||
;sbc #$00
|
||||
;sta ybyte+1
|
||||
|
||||
mwa xdraw LaserCoordinate
|
||||
mwa ydraw LaserCoordinate+2
|
||||
mwa xbyte LaserCoordinate+4
|
||||
@@ -3028,7 +3012,8 @@ RangesChecked
|
||||
.endp
|
||||
;--------------------------------------------------
|
||||
.proc ClearScreenSoilRange
|
||||
; cleanup of the soil fall down ranges (left and right) ;--------------------------------------------------
|
||||
; cleanup of the soil fall down ranges (left and right)
|
||||
;--------------------------------------------------
|
||||
mwa #screenwidth RangeLeft
|
||||
lda #0
|
||||
sta RangeRight
|
||||
@@ -3043,17 +3028,6 @@ RangesChecked
|
||||
jsr DecreaseWeapon
|
||||
; and here we have amount of possessed ammo for given weapon
|
||||
sta WeaponDepleted
|
||||
; ;cmp #0
|
||||
; bne AmmunitionDecreased
|
||||
; ;lda #0 ;if ammo for given weapon ends
|
||||
; sta ActiveWeapon,x ;then set to default weapon (baby missile)
|
||||
;AmmunitionDecreased
|
||||
; lda #99
|
||||
; ldy #0
|
||||
; sta (weaponPointer),y ;baby missile - always 99 pieces
|
||||
;
|
||||
; ;there is a good value in weaponPointer after jsr DecreaseWeapon
|
||||
;
|
||||
rts
|
||||
.endp
|
||||
|
||||
|
||||
Reference in New Issue
Block a user