WIP: press I for inventory #26
This commit is contained in:
+3
-3
@@ -14,9 +14,9 @@ dliColorsFore
|
|||||||
TextBackgroundColor = $02 ; REAL constans - use: LDA #TextBackgroundColor
|
TextBackgroundColor = $02 ; REAL constans - use: LDA #TextBackgroundColor
|
||||||
TextForegroundColor = $0c
|
TextForegroundColor = $0c
|
||||||
CashOptionL ;(one zero less than on the screen)
|
CashOptionL ;(one zero less than on the screen)
|
||||||
.by 0,<200,<500,<800,<1000
|
.by 0,<200,<800,<1200,<2000
|
||||||
CashOptionH
|
CashOptionH
|
||||||
.by 0,>200,>500,>800,>1000
|
.by 0,>200,>800,>1200,>2000
|
||||||
GravityTable .by 10,20,25,30,40
|
GravityTable .by 10,20,25,30,40
|
||||||
MaxWindTable .by 5,20,40,70,99
|
MaxWindTable .by 5,20,40,70,99
|
||||||
RoundsTable .by 10,20,30,40,50
|
RoundsTable .by 10,20,30,40,50
|
||||||
@@ -863,7 +863,7 @@ NamesOfWeapons ;the comment is an index in the tables
|
|||||||
dta d"----------------" ; 44
|
dta d"----------------" ; 44
|
||||||
dta d"----------------" ; 45
|
dta d"----------------" ; 45
|
||||||
dta d"----------------" ; 46
|
dta d"----------------" ; 46
|
||||||
dta d" " ; 47 ; special (no weapon) name for simplify display
|
dta d" " ; 47 ; special (no weapon) name to simplify display
|
||||||
|
|
||||||
dta d"Heat Guidance " ; 48 ($30)
|
dta d"Heat Guidance " ; 48 ($30)
|
||||||
dta d"Bal Guidance " ; 49
|
dta d"Bal Guidance " ; 49
|
||||||
|
|||||||
+6
-6
@@ -64,14 +64,14 @@ price_Bal_Guidance___ = $ffff ;_49
|
|||||||
price_Horz_Guidance__ = $ffff ;_50
|
price_Horz_Guidance__ = $ffff ;_50
|
||||||
price_Vert_Guidance__ = $ffff ;_51
|
price_Vert_Guidance__ = $ffff ;_51
|
||||||
price_Lazy_Boy_______ = $ffff ;_52
|
price_Lazy_Boy_______ = $ffff ;_52
|
||||||
price_Parachute______ = 1100 ;_53
|
price_Parachute______ = 800 ;_53
|
||||||
price_Battery________ = $ffff ;_54
|
price_Battery________ = $ffff ;_54
|
||||||
price_Mag_Deflector__ = $ffff ;_55
|
price_Mag_Deflector__ = 1200 ;_55
|
||||||
price_Shield_________ = $ffff ;_56
|
price_Shield_________ = 500 ;_56
|
||||||
price_Force_Shield___ = $ffff ;_57
|
price_Force_Shield___ = 2100 ;_57
|
||||||
price_Heavy_Shield___ = $ffff ;_58
|
price_Heavy_Shield___ = $ffff ;_58
|
||||||
price_Super_Mag______ = $ffff ;_59
|
price_Super_Mag______ = 1600 ;_59
|
||||||
price_Auto_Defense___ = $ffff ;_60
|
price_Auto_Defense___ = 3000 ;_60
|
||||||
price_Fuel_Tank______ = $ffff ;_61
|
price_Fuel_Tank______ = $ffff ;_61
|
||||||
price_Contact_Trigger = $ffff ;_62
|
price_Contact_Trigger = $ffff ;_62
|
||||||
price_White_Flag_____ = $0 ;_63
|
price_White_Flag_____ = $0 ;_63
|
||||||
|
|||||||
+1
-1
@@ -104,7 +104,7 @@ OptionsScreen
|
|||||||
OptionsHere
|
OptionsHere
|
||||||
; 0123456789012345678901234567890123456789
|
; 0123456789012345678901234567890123456789
|
||||||
dta d"Players : 2 3 4 5 6 "
|
dta d"Players : 2 3 4 5 6 "
|
||||||
dta d"Cash : none 2K 5K 8K 10K "
|
dta d"Cash : none 2K 8K 12K 20K "
|
||||||
dta d"Gravity : 0.2G 0.5G 1G 2G 4G "
|
dta d"Gravity : 0.2G 0.5G 1G 2G 4G "
|
||||||
dta d"Wind : 1B 3B 5B 7B 9B "
|
dta d"Wind : 1B 3B 5B 7B 9B "
|
||||||
dta d"Rounds : 10 20 30 40 50 "
|
dta d"Rounds : 10 20 30 40 50 "
|
||||||
|
|||||||
@@ -1567,4 +1567,14 @@ EndPut4x4
|
|||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
|
|
||||||
|
.proc SetMainScreen
|
||||||
|
VDLI DLIinterruptGraph ; jsr SetDLI for graphics (game) screen
|
||||||
|
mwa #dl dlptrs ; issue #72 (glitches when switches)
|
||||||
|
lda dmactls
|
||||||
|
and #$fc
|
||||||
|
ora #$02 ; 2=normal, 3 = wide screen width
|
||||||
|
sta dmactls
|
||||||
|
rts
|
||||||
|
.endp
|
||||||
|
|
||||||
.endif
|
.endif
|
||||||
+1
-9
@@ -139,8 +139,6 @@ START
|
|||||||
bpl @-
|
bpl @-
|
||||||
; mag deflector activated! (test)
|
; mag deflector activated! (test)
|
||||||
MainGameLoop
|
MainGameLoop
|
||||||
VDLI DLIinterruptText ; jsr SetDLI for text (purchase) screen
|
|
||||||
|
|
||||||
jsr CallPurchaseForEveryTank
|
jsr CallPurchaseForEveryTank
|
||||||
|
|
||||||
; issue #72 (glitches when switches)
|
; issue #72 (glitches when switches)
|
||||||
@@ -309,13 +307,7 @@ SettingEnergies
|
|||||||
jsr calculatemountains ;let mountains be easy for the eye
|
jsr calculatemountains ;let mountains be easy for the eye
|
||||||
;jsr calculatemountains0 ;only for tests - makes mountains flat and 0 height
|
;jsr calculatemountains0 ;only for tests - makes mountains flat and 0 height
|
||||||
|
|
||||||
VDLI DLIinterruptGraph ; jsr SetDLI for graphics (game) screen
|
jsr SetMainScreen
|
||||||
mwa #dl dlptrs ; issue #72 (glitches when switches)
|
|
||||||
lda dmactls
|
|
||||||
and #$fc
|
|
||||||
ora #$02 ; 2=normal, 3 = wide screen width
|
|
||||||
sta dmactls
|
|
||||||
|
|
||||||
|
|
||||||
jsr drawmountains ;draw them
|
jsr drawmountains ;draw them
|
||||||
jsr drawtanks ;finally draw tanks
|
jsr drawtanks ;finally draw tanks
|
||||||
|
|||||||
BIN
Binary file not shown.
+17
-16
@@ -201,12 +201,6 @@ OptionsYLoop
|
|||||||
;-------------------------------------------
|
;-------------------------------------------
|
||||||
; call of the purchase screens for each tank
|
; call of the purchase screens for each tank
|
||||||
.proc CallPurchaseForEveryTank
|
.proc CallPurchaseForEveryTank
|
||||||
jsr PMoutofScreen
|
|
||||||
mwa #PurchaseDL dlptrs
|
|
||||||
lda dmactls
|
|
||||||
and #$fc
|
|
||||||
ora #$02 ; normal screen width
|
|
||||||
sta dmactls
|
|
||||||
|
|
||||||
mva #0 TankNr
|
mva #0 TankNr
|
||||||
@
|
@
|
||||||
@@ -236,11 +230,21 @@ AfterManualPurchase
|
|||||||
; Rest of the data is taken from appropriate tables
|
; Rest of the data is taken from appropriate tables
|
||||||
; and during the purchase these tables are modified.
|
; and during the purchase these tables are modified.
|
||||||
|
|
||||||
|
VDLI DLIinterruptText ; jsr SetDLI for text (purchase) screen
|
||||||
|
jsr PMoutofScreen
|
||||||
|
mwa #PurchaseDL dlptrs
|
||||||
|
lda dmactls
|
||||||
|
and #$fc
|
||||||
|
ora #$02 ; normal screen width
|
||||||
|
sta dmactls
|
||||||
|
|
||||||
mwa #ListOfWeapons WeaponsListDL ;switch to the list of offensive weapons
|
mwa #ListOfWeapons WeaponsListDL ;switch to the list of offensive weapons
|
||||||
|
|
||||||
ldx tankNr
|
ldx tankNr
|
||||||
lda TankStatusColoursTable,x
|
lda TankStatusColoursTable,x
|
||||||
sta colpf2s
|
sta colpf2s
|
||||||
|
lda activeWeapon,x
|
||||||
|
sta PositionOnTheList
|
||||||
|
|
||||||
; we are clearing list of the weapons
|
; we are clearing list of the weapons
|
||||||
mva #$ff LastWeapon
|
mva #$ff LastWeapon
|
||||||
@@ -280,7 +284,6 @@ AfterPurchase
|
|||||||
ldx #$00 ; number of the checked weapon
|
ldx #$00 ; number of the checked weapon
|
||||||
stx HowManyOnTheList1 ; amounts of weapons (shells, bullets) in both lists
|
stx HowManyOnTheList1 ; amounts of weapons (shells, bullets) in both lists
|
||||||
stx HowManyOnTheList2
|
stx HowManyOnTheList2
|
||||||
stx PositionOnTheList
|
|
||||||
|
|
||||||
; Creating full list of the available weapons for displaying
|
; Creating full list of the available weapons for displaying
|
||||||
; in X there is a number of the weapon to be checked,
|
; in X there is a number of the weapon to be checked,
|
||||||
@@ -559,7 +562,10 @@ ChoosingItemForPurchase
|
|||||||
jsr PutLitteChar ; Places pointer at the right position
|
jsr PutLitteChar ; Places pointer at the right position
|
||||||
jsr getkey
|
jsr getkey
|
||||||
ldx escFlag
|
ldx escFlag
|
||||||
seq:rts
|
beq @+
|
||||||
|
jsr WaitForKeyRelease
|
||||||
|
rts
|
||||||
|
@
|
||||||
cmp #$2c ; Tab
|
cmp #$2c ; Tab
|
||||||
jeq ListChange
|
jeq ListChange
|
||||||
cmp #$0c ; Return
|
cmp #$0c ; Return
|
||||||
@@ -717,22 +723,17 @@ LessThan100
|
|||||||
.endp
|
.endp
|
||||||
|
|
||||||
.proc PutLitteChar
|
.proc PutLitteChar
|
||||||
; first let's cleat both lists from little chars
|
; first let's clear both lists from little chars
|
||||||
mwa #ListOfWeapons xbyte
|
mwa #ListOfWeapons xbyte
|
||||||
ldx #52 ; there are 52 lines total
|
ldx #52 ; there are 52 lines total
|
||||||
ldy #$00
|
ldy #$00
|
||||||
EraseLoop
|
EraseLoop
|
||||||
lda #$00
|
lda #$00
|
||||||
sta (xbyte),y
|
sta (xbyte),y
|
||||||
clc
|
adw xbyte #40 xbyte
|
||||||
lda xbyte
|
|
||||||
adc #40
|
|
||||||
sta xbyte
|
|
||||||
bcc ominx02
|
|
||||||
inc xbyte+1
|
|
||||||
ominx02
|
|
||||||
dex
|
dex
|
||||||
bpl EraseLoop
|
bpl EraseLoop
|
||||||
|
|
||||||
; now let's check which list is active now
|
; now let's check which list is active now
|
||||||
lda WhichList
|
lda WhichList
|
||||||
beq CharToList1
|
beq CharToList1
|
||||||
|
|||||||
+9
-2
@@ -1040,9 +1040,9 @@ notpressed
|
|||||||
beq notpressed
|
beq notpressed
|
||||||
lda SKSTAT
|
lda SKSTAT
|
||||||
cmp #$ff
|
cmp #$ff
|
||||||
beq checkJoy
|
jeq checkJoy
|
||||||
cmp #$f7 ; SHIFT
|
cmp #$f7 ; SHIFT
|
||||||
beq checkJoy
|
jeq checkJoy
|
||||||
|
|
||||||
lda kbcode
|
lda kbcode
|
||||||
and #%10111111 ; SHIFT elimination
|
and #%10111111 ; SHIFT elimination
|
||||||
@@ -1055,6 +1055,13 @@ notpressed
|
|||||||
;---esc pressed-quit game---
|
;---esc pressed-quit game---
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@
|
||||||
|
cmp #$0d ; I
|
||||||
|
bne @+
|
||||||
|
jsr Purchase
|
||||||
|
mva #0 escFlag
|
||||||
|
jsr SetMainScreen
|
||||||
|
jsr DrawTanks
|
||||||
@
|
@
|
||||||
cmp #$8e
|
cmp #$8e
|
||||||
jeq CTRLPressedUp
|
jeq CTRLPressedUp
|
||||||
|
|||||||
Reference in New Issue
Block a user