Compare commits
13 Commits
release_129
..
140
| Author | SHA1 | Date | |
|---|---|---|---|
| 68bf4a9541 | |||
| 08f7680563 | |||
| d766088b66 | |||
| de5bfab2a8 | |||
| 91b39e736b | |||
| 572bee982a | |||
| b37dc73f52 | |||
| 11ddf69de9 | |||
| 0ba4594712 | |||
| 8556dfe0d7 | |||
| 860d0917ad | |||
| 2de2c24373 | |||
| a6382c5dc0 |
@@ -46,7 +46,16 @@ With the advent of fujinet (https://fujinet.online/) we are thinking about makin
|
||||
|
||||
## Changes:
|
||||
|
||||
###### Build 138
|
||||
###### Build 140
|
||||
2022-05-15
|
||||
Huge internal changes by @Pecusx. The whole game screen has been inverted - ground is now background color, "sky" and empty areas are in fact pixels. This allowed for introducing better tank colorization, fully devised and lead by Adam. The process started and results are already promising - the colors of tanks and the status bar are closer. We might get even better ones in the next builds.
|
||||
- few new sfx added (end of round, weapon change, soil eating weapons)
|
||||
- added colors to tank name and level selection screen
|
||||
- Bug https://github.com/pkali/scorch_src/issues/57 possibly alleviated by using TRIG0S instead of TRIG0. Please test - it did not show for me.
|
||||
Other unlisted minor bugs and typos fixed.
|
||||
"Nightly" version moved to `develop` branch. `master` will be updated with stablish and playablish builds only.
|
||||
|
||||
###### Build 139
|
||||
2022-05-09
|
||||
The post midnight release with great, heavy new features:
|
||||
- https://github.com/pkali/scorch_src/issues/48, https://github.com/pkali/scorch_src/issues/10 - thanks to Miker we have a bunch of fresh sound effects. Not everything is perfectly implemented, but the game definitely got nicer! Thank you again Miker!
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
|
||||
icl '../lib/atari.hea'
|
||||
|
||||
org $2000
|
||||
joytest
|
||||
mva #0 dmactls
|
||||
|
||||
@
|
||||
lda trig0
|
||||
beq pressed
|
||||
mva #0 colbak
|
||||
beq @-
|
||||
pressed
|
||||
lda #$0f
|
||||
;ora jstick0
|
||||
sta colbak
|
||||
jmp @-
|
||||
|
||||
run joytest
|
||||
|
||||
Binary file not shown.
+8
-3
@@ -5,7 +5,14 @@
|
||||
;===================================================================================
|
||||
;==========================CONSTANT TABLES, do not erase!===========================
|
||||
;===================================================================================
|
||||
TankColoursTable .BYTE $52,$32,$72,$92,$B2,$02
|
||||
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,<500,<800,<1000
|
||||
CashOptionH
|
||||
@@ -989,7 +996,5 @@ scrcodes
|
||||
dta d"qrstuvwx"
|
||||
dta d"yz123456"
|
||||
dta d"7890." ; "-"
|
||||
dliColors
|
||||
:10 .by $02,$00
|
||||
|
||||
.endif
|
||||
|
||||
+28
-28
@@ -78,31 +78,31 @@ price______________63 = $ffff
|
||||
;--------------------------------
|
||||
; names of RMT instruments (sfx)
|
||||
;--------------------------------
|
||||
sfx_set_power_1 = $00
|
||||
sfx_set_power_2 = $01
|
||||
sfx_lightning = $02
|
||||
sfx_dunno = $03
|
||||
sfx_nuke = $04
|
||||
sfx_baby_missile= $05
|
||||
sfx_death_begin = $06
|
||||
sfx_plasma_1_2 = $07
|
||||
sfx_plasma_2_2 = $08
|
||||
sfx_napalm = $09
|
||||
sfx_dirt_charge = $0a
|
||||
sfx_missile_hit = $0b
|
||||
sfx_funky_hit = $0c
|
||||
sfx_shield_on = $0d
|
||||
sfx_shield_off = $0e
|
||||
sfx_parachute = $0f
|
||||
sfx_smoke_cloud = $10
|
||||
sfx_riot_blast = $11
|
||||
sfx_sandhog = $12
|
||||
sfx_dirt_chrg_s = $13
|
||||
sfx_digger = $14
|
||||
sfx_silencer = $15
|
||||
sfx_next_player = $16
|
||||
sfx_purchase = $17
|
||||
sfx_keyclick = $18
|
||||
sfx_shoot = $19
|
||||
sfx_seppuku = $1a
|
||||
sfx_liquid_dirt = $1b
|
||||
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
|
||||
|
||||
+4
-4
@@ -40,8 +40,8 @@ NameDL
|
||||
.byte $42
|
||||
.word NameScreen
|
||||
.byte $30
|
||||
.byte $02,$30,$2
|
||||
.byte $10,2,2,2,$30,2,2
|
||||
.byte $02,$30+$80,$02
|
||||
.byte $10,$02,$02,$02,$30,$02,$02
|
||||
.byte $41
|
||||
.word NameDL
|
||||
; -------------------------------------------------
|
||||
@@ -142,7 +142,7 @@ WeaponsDescription
|
||||
EmptyLine
|
||||
dta d" "
|
||||
LastLine
|
||||
:40 dta $ff
|
||||
:40 dta $00 ; INVERSE
|
||||
; -------------------------------------------------
|
||||
.ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!!
|
||||
NameScreen
|
||||
@@ -154,7 +154,7 @@ NameAdr
|
||||
dta d" "
|
||||
NamesOfLevels
|
||||
dta d" HUMAN Moron Shooter "
|
||||
dta d" Poolshark Toosser Chooser "
|
||||
dta d" Poolshark Tosser Chooser "
|
||||
dta d" Spoiler Cyborg Unknown "
|
||||
dta d" "
|
||||
dta d"Tab"*
|
||||
|
||||
+40
-32
@@ -441,8 +441,8 @@ splot8 .proc
|
||||
;--------------------------------------------------
|
||||
clearscreen .proc
|
||||
;--------------------------------------------------
|
||||
lda #0
|
||||
tax
|
||||
lda #$ff ; INVERSE
|
||||
ldx #0
|
||||
@
|
||||
:31 sta display+($100*#),x
|
||||
sta display+$1e50,x ; this is so no space outside of the screen is cleared
|
||||
@@ -676,7 +676,7 @@ drawmountains .proc
|
||||
|
||||
mwa #0 xdraw
|
||||
mwa #mountaintable modify
|
||||
|
||||
mva #1 color
|
||||
|
||||
drawmountainsloop
|
||||
ldy #0
|
||||
@@ -1021,7 +1021,7 @@ MakeUnPlot
|
||||
|
||||
|
||||
lda color
|
||||
beq ClearUnPlot
|
||||
bne ClearUnPlot ; INVERSE
|
||||
|
||||
;plotting here
|
||||
lda (xbyte),y
|
||||
@@ -1033,7 +1033,7 @@ ClearUnPlot
|
||||
lda (xbyte),y
|
||||
sta OldOraTemp
|
||||
and bittable2,x
|
||||
; sta (xbyte),y
|
||||
sta (xbyte),y
|
||||
ContinueUnPlot
|
||||
ldx WhichUnPlot
|
||||
lda OldOraTemp
|
||||
@@ -1115,7 +1115,7 @@ MakePlot
|
||||
|
||||
ldx ybit
|
||||
lda color
|
||||
beq ClearPlot
|
||||
bne ClearPlot ; INVERSE
|
||||
|
||||
lda (xbyte),y
|
||||
ora bittable,x
|
||||
@@ -1163,6 +1163,7 @@ point .proc
|
||||
|
||||
lda (xbyte),y
|
||||
and bittable,x
|
||||
eor bittable,x ; INVERSE
|
||||
rts
|
||||
.endp
|
||||
|
||||
@@ -1174,7 +1175,7 @@ DrawLine .proc
|
||||
sec
|
||||
sbc ydraw
|
||||
sta tempbyte01
|
||||
jsr plot
|
||||
jsr plot.MakePlot
|
||||
;rts
|
||||
jmp IntoDraw ; jumps inside Draw routine
|
||||
; because one pixel is already plotted
|
||||
@@ -1183,7 +1184,8 @@ DrawLine .proc
|
||||
loopdraw
|
||||
|
||||
lda (xbyte),y
|
||||
ora bittable,x
|
||||
;ora bittable,x
|
||||
and bittable2,x ; INVERSE
|
||||
sta (xbyte),y
|
||||
IntoDraw adw xbyte #screenBytes
|
||||
|
||||
@@ -1214,8 +1216,9 @@ TypeChar .proc
|
||||
ldy #7
|
||||
CopyChar
|
||||
lda (fontind),y
|
||||
eor #$ff ; INVERSE
|
||||
sta char1,y
|
||||
lda #$00
|
||||
lda #$ff ; INVERSE
|
||||
sta char2,y
|
||||
dey
|
||||
bpl CopyChar
|
||||
@@ -1224,8 +1227,9 @@ CopyChar
|
||||
ldy #7
|
||||
CopyMask
|
||||
lda (fontind),y
|
||||
eor #$ff ; INVERSE
|
||||
sta mask1,y
|
||||
lda #$ff
|
||||
lda #$00 ; INVERSE
|
||||
sta mask2,y
|
||||
dey
|
||||
bpl CopyMask
|
||||
@@ -1257,44 +1261,44 @@ CopyMask
|
||||
ldx ybit
|
||||
beq MaskOK00
|
||||
MakeMask00
|
||||
sec
|
||||
ror mask1
|
||||
lsr mask1 ; INVERSE
|
||||
ror mask2
|
||||
sec
|
||||
ror mask1+1
|
||||
lsr mask1+1 ; INVERSE
|
||||
ror mask2+1
|
||||
sec
|
||||
ror mask1+2
|
||||
lsr mask1+2 ; INVERSE
|
||||
ror mask2+2
|
||||
sec
|
||||
ror mask1+3
|
||||
lsr mask1+3 ; INVERSE
|
||||
ror mask2+3
|
||||
sec
|
||||
ror mask1+4
|
||||
lsr mask1+4 ; INVERSE
|
||||
ror mask2+4
|
||||
sec
|
||||
ror mask1+5
|
||||
lsr mask1+5 ; INVERSE
|
||||
ror mask2+5
|
||||
sec
|
||||
ror mask1+6
|
||||
lsr mask1+6 ; INVERSE
|
||||
ror mask2+6
|
||||
sec
|
||||
ror mask1+7
|
||||
lsr mask1+7 ; INVERSE
|
||||
ror mask2+7
|
||||
lsr char1
|
||||
sec ; INVERSE
|
||||
ror char1
|
||||
ror char2
|
||||
sec ; INVERSE
|
||||
ror char1+1
|
||||
ror char2+1
|
||||
sec ; INVERSE
|
||||
ror char1+2
|
||||
ror char2+2
|
||||
sec ; INVERSE
|
||||
ror char1+3
|
||||
ror char2+3
|
||||
sec ; INVERSE
|
||||
ror char1+4
|
||||
ror char2+4
|
||||
sec ; INVERSE
|
||||
ror char1+5
|
||||
ror char2+5
|
||||
sec ; INVERSE
|
||||
ror char1+6
|
||||
ror char2+6
|
||||
sec ; INVERSE
|
||||
ror char1+7
|
||||
ror char2+7
|
||||
dex
|
||||
@@ -1303,7 +1307,7 @@ MaskOK00
|
||||
; here x=0
|
||||
lda Erase
|
||||
beq CharLoopi ; it works, because x=0
|
||||
lda #0
|
||||
lda #$ff ; INVERSE
|
||||
ldx #7
|
||||
EmptyChar
|
||||
sta char1,x
|
||||
@@ -1313,13 +1317,17 @@ EmptyChar
|
||||
ldx #0
|
||||
CharLoopi
|
||||
lda (xbyte),y
|
||||
and mask1,x
|
||||
ora char1,x
|
||||
;and mask1,x
|
||||
;ora char1,x
|
||||
ora mask1,x ; INVERSE
|
||||
and char1,x ; INVERSE
|
||||
sta (xbyte),y
|
||||
iny
|
||||
lda (xbyte),y
|
||||
and mask2,x
|
||||
ora char2,x
|
||||
;and mask2,x
|
||||
;ora char2,x
|
||||
ora mask2,x ; INVERSE
|
||||
and char2,x ; INVERSE
|
||||
sta (xbyte),y
|
||||
dey
|
||||
adw xbyte #screenBytes
|
||||
|
||||
+44
-22
@@ -3,7 +3,7 @@
|
||||
;---------------------------------------------------
|
||||
;by Tomasz 'pecus' Pecko and Pawel 'pirx' Kalinowski
|
||||
;Warsaw 2000,2001,2002,2003,2009,2012,2013
|
||||
;Miami 2022
|
||||
;Miami&Warsaw 2022
|
||||
;you can contact us at pecus@poczta.fm or pirx@5oft.pl
|
||||
;home page of this project is https://github.com/pkali/scorch_src
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
;we decided it must go in 'English' to let other people work on it
|
||||
|
||||
.macro build
|
||||
dta d"139" ; number of this build (3 bytes)
|
||||
dta d"140" ; number of this build (3 bytes)
|
||||
.endm
|
||||
|
||||
icl 'definitions.asm'
|
||||
@@ -116,7 +116,6 @@ START
|
||||
|
||||
; Startup sequence
|
||||
jsr Initialize
|
||||
VMAIN VBLinterrupt,6 ; jsr SetVBL
|
||||
|
||||
mwa #OptionsDL dlptrs
|
||||
lda dmactls
|
||||
@@ -124,6 +123,8 @@ START
|
||||
ora #$02 ; normal screen width
|
||||
sta dmactls
|
||||
|
||||
VDLI DLIinterruptText.DLIinterruptNone ; jsr SetDLI for text screen without DLIs
|
||||
|
||||
jsr Options ;startup screen
|
||||
|
||||
;entering names of players
|
||||
@@ -132,10 +133,13 @@ START
|
||||
and #$fc
|
||||
ora #$01 ; narrow screen (32 chars)
|
||||
sta dmactls
|
||||
VDLI DLIinterruptText ; jsr SetDLI for text (names) screen
|
||||
|
||||
mva #0 TankNr
|
||||
|
||||
@ jsr EnterPlayerName
|
||||
@ tax
|
||||
lda TankStatusColoursTable,x
|
||||
sta colpf2s ; set color of player name line
|
||||
jsr EnterPlayerName
|
||||
inc TankNr
|
||||
lda TankNr
|
||||
cmp NumberOfPlayers
|
||||
@@ -151,10 +155,12 @@ START
|
||||
; for the round #1 shooting sequence is random
|
||||
|
||||
MainGameLoop
|
||||
VDLI DLIinterrupt ; jsr SetDLI
|
||||
VDLI DLIinterruptText ; jsr SetDLI for text (purchase) screen
|
||||
|
||||
jsr CallPurchaseForEveryTank
|
||||
|
||||
VDLI DLIinterruptGraph ; jsr SetDLI for graphics (game) screen
|
||||
|
||||
mwa #dl dlptrs
|
||||
lda dmactls
|
||||
and #$fc
|
||||
@@ -395,7 +401,7 @@ DoNotFinishTheRound
|
||||
|
||||
mva #1 color ;to display flying point
|
||||
|
||||
lda TankColoursTable,x
|
||||
lda TankStatusColoursTable,x
|
||||
sta colpf2s ; set color of status line
|
||||
|
||||
lda SkillTable,x
|
||||
@@ -784,8 +790,8 @@ deletePtr = temp
|
||||
jsr WeaponCleanup
|
||||
|
||||
|
||||
mva #$2 colpf2s
|
||||
mva #12 colpf3s
|
||||
mva #TextBackgroundColor colpf2s
|
||||
mva #TextForegroundColor colpf3s
|
||||
mva #>WeaponFont chbas
|
||||
|
||||
;parameter for old plot (unPlot) max 5 points
|
||||
@@ -797,6 +803,7 @@ SetunPlots
|
||||
sta oldplotH,x
|
||||
lda #0
|
||||
sta oldply,x
|
||||
lda #$ff ; INVERSE
|
||||
sta oldora,x
|
||||
dex
|
||||
bpl SetunPlots
|
||||
@@ -818,16 +825,16 @@ SetunPlots
|
||||
lda #$10 ; P/M priorities (bit 4 joins missiles)
|
||||
sta gtictls
|
||||
jsr PMoutofScreen
|
||||
lda #$50 ; temporary colours of sprites under tanks
|
||||
lda TankColoursTable ; temporary colours of sprites under tanks
|
||||
sta $2c0
|
||||
lda #$30
|
||||
lda TankColoursTable+1
|
||||
sta $2c1
|
||||
lda #$70
|
||||
lda TankColoursTable+2
|
||||
sta $2c2
|
||||
lda #$90
|
||||
lda TankColoursTable+3
|
||||
sta $2c3
|
||||
LDA #$B0
|
||||
STA COLPF3S
|
||||
LDA TankColoursTable+4
|
||||
STA COLPF3S ; joined missiles (5th tank)
|
||||
mva #0 hscrol
|
||||
|
||||
|
||||
@@ -862,24 +869,39 @@ ClearResults
|
||||
lda #0 ;starting song line 0-255 to A reg
|
||||
jsr RASTERMUSICTRACKER ;Init
|
||||
;
|
||||
VMAIN VBLinterrupt,6 ;jsr SetVBL
|
||||
|
||||
rts
|
||||
.endp
|
||||
|
||||
DLIinterrupt .proc
|
||||
DLIinterruptGraph .proc
|
||||
pha
|
||||
phy
|
||||
ldy dliCounter
|
||||
lda dliColors,y
|
||||
;lda #$02 ; color of playground
|
||||
sta WSYNC
|
||||
sta COLPF2
|
||||
lda dliColorsBack,y
|
||||
ldy dliColorsFore
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
; sta WSYNC
|
||||
sta COLPF1
|
||||
sty COLPF2
|
||||
inc dliCounter
|
||||
ply
|
||||
pla
|
||||
rti
|
||||
.endp
|
||||
|
||||
DLIinterruptText .proc
|
||||
pha
|
||||
sta WSYNC
|
||||
mva #TextBackgroundColor colpf2
|
||||
mva #TextForegroundColor colpf3
|
||||
pla
|
||||
DLIinterruptNone
|
||||
rti
|
||||
.endp
|
||||
|
||||
VBLinterrupt .proc
|
||||
pha
|
||||
phx
|
||||
@@ -1168,7 +1190,7 @@ checkJoyGetKey
|
||||
rts
|
||||
notpressedJoyGetKey
|
||||
;fire
|
||||
lda TRIG0
|
||||
lda TRIG0S
|
||||
bne @-
|
||||
lda #$0c ;Return key
|
||||
rts
|
||||
@@ -1188,7 +1210,7 @@ WaitForKeyRelease .proc
|
||||
and #$0f
|
||||
cmp #$0f
|
||||
bne WaitForKeyRelease
|
||||
lda TRIG0
|
||||
lda TRIG0S
|
||||
beq WaitForKeyRelease
|
||||
lda SKSTAT
|
||||
cmp #$ff
|
||||
|
||||
BIN
Binary file not shown.
+3
-1
@@ -228,7 +228,7 @@ AfterManualPurchase
|
||||
jsr PMoutofScreen
|
||||
|
||||
ldx tankNr
|
||||
lda TankColoursTable,x
|
||||
lda TankStatusColoursTable,x
|
||||
sta colpf2s
|
||||
|
||||
; we are clearing list of the weapons
|
||||
@@ -1394,6 +1394,8 @@ EndOfTypeLine4x4
|
||||
;displays results of the round
|
||||
;using 4x4 font
|
||||
|
||||
mva #sfx_smoke_cloud sfx_effect
|
||||
|
||||
;centering the result screen
|
||||
mwa #((ScreenWidth/2)-(8*4)) ResultX
|
||||
mva #((ScreenHeight/2)-(8*4)) ResultY
|
||||
|
||||
+3
-3
@@ -15,7 +15,7 @@ TanksNames ; DO NOT ZERO - ticket #24
|
||||
:6 dta d" "
|
||||
;----------------------------
|
||||
;Options DO NOT ZERO - ticket #27
|
||||
OptionsTable .by 0,0,2,2,0,1,4
|
||||
OptionsTable .by 0,0,2,2,0,1,3
|
||||
RoundsInTheGame .by 10 ;how many rounds in the current game
|
||||
seppukuVal .by 75
|
||||
;--------------------------------------------------
|
||||
@@ -43,7 +43,7 @@ flyDelay .ds 1
|
||||
;--------------
|
||||
NumberOfPlayers .DS 1 ;current number of players (counted from 1)
|
||||
TankSequence .DS [MaxPlayers] ;sequence of shooting during the Round
|
||||
GameIsOver .DS 1 ; 1 - it was the last round in the game
|
||||
GameIsOver .DS 1 ; 1 means it was the last round in the game
|
||||
;-----------------------------------
|
||||
moneyH ;we place zero at the end of prices and money
|
||||
;and have range from 0 to 99990 (not too much)
|
||||
@@ -152,7 +152,7 @@ digtabyL .DS [8]
|
||||
digtabyH .DS [8]
|
||||
; liquiddirt
|
||||
TempXfill .ds 2
|
||||
FillCounter .ds 1
|
||||
FillCounter .ds 2
|
||||
;sandhog
|
||||
sandhogflag .DS 1 ; (0 digger, 8 sandhog)
|
||||
;ofdirt
|
||||
|
||||
+21
-15
@@ -523,6 +523,12 @@ DiggerCharacter
|
||||
jmp cleanDirt
|
||||
.endp
|
||||
; ------------------------
|
||||
.proc liquiddirt
|
||||
mva #sfx_liquid_dirt sfx_effect
|
||||
mwa #254 FillCounter
|
||||
jmp xliquiddirt
|
||||
.endp
|
||||
; ------------------------
|
||||
.proc laser
|
||||
ldx TankNr
|
||||
lda AngleTable,x
|
||||
@@ -686,6 +692,7 @@ dirtLoop
|
||||
; -----------------
|
||||
.proc xriotbomb ;
|
||||
; -----------------
|
||||
mva #sfx_riot_blast sfx_effect
|
||||
lda #0
|
||||
sta radius
|
||||
sta color
|
||||
@@ -746,13 +753,13 @@ UpNotYet
|
||||
beq HowMuchToFallRight2
|
||||
.nowarn dew xdraw
|
||||
lda xdraw
|
||||
bne RollinContinues
|
||||
bne RollinContinues ; like cpw xdraw #0
|
||||
lda xdraw+1
|
||||
jne RollinContinues
|
||||
beq ExplodeNow
|
||||
HowMuchToFallRight2
|
||||
inw xdraw
|
||||
cpw xdraw screenwidth
|
||||
cpw xdraw #screenwidth
|
||||
jne RollinContinues
|
||||
ExplodeNow
|
||||
mwa xdraw xcircle ; we must store somewhere (BAD)
|
||||
@@ -890,17 +897,15 @@ EndOfTheDirt
|
||||
rts
|
||||
.endp
|
||||
; ----------------
|
||||
.proc liquiddirt ;
|
||||
mva #sfx_liquid_dirt sfx_effect
|
||||
.proc xliquiddirt ;
|
||||
mva xdraw TempXfill
|
||||
mva #254 FillCounter
|
||||
RepeatFill
|
||||
mva TempXfill xdraw
|
||||
jsr checkRollDirection
|
||||
; HowMuchToFall - direction
|
||||
; $FF - we are in a hole (flying in missile direction)
|
||||
; 1 - right, 2 - left
|
||||
adw xdraw #mountaintable tempXROLLER
|
||||
adw xdraw #mountaintable tempXROLLER
|
||||
ldy #0
|
||||
lda (tempXROLLER),y
|
||||
sta HeightRol ; relative point
|
||||
@@ -911,7 +916,6 @@ RollinContinuesLiquid
|
||||
ldy #0
|
||||
lda (tempXROLLER),y
|
||||
sta ydraw
|
||||
beq FillNow
|
||||
cmp HeightRol
|
||||
beq UpNotYet2
|
||||
bcc FillNow
|
||||
@@ -924,14 +928,12 @@ UpNotYet2
|
||||
cmp #1
|
||||
beq HowMuchToFallRight3
|
||||
.NOWARN dew xdraw
|
||||
lda xdraw
|
||||
bne RollinContinuesLiquid
|
||||
lda xdraw+1
|
||||
cpw xdraw #$ffff
|
||||
jne RollinContinuesLiquid
|
||||
beq FillNow
|
||||
HowMuchToFallRight3
|
||||
inw xdraw
|
||||
cpw xdraw screenwidth
|
||||
cpw xdraw #(screenwidth+1)
|
||||
jne RollinContinuesLiquid
|
||||
FillNow
|
||||
; finally one pixel more
|
||||
@@ -948,12 +950,15 @@ FillHole
|
||||
adw xdraw #mountaintable tempXROLLER
|
||||
lda (tempXROLLER),y
|
||||
sta ydraw
|
||||
beq ToHighFill ; if we filled all playfield (very rare but possible)
|
||||
dec ydraw ; one pixel up
|
||||
ToHighFill
|
||||
lda ydraw
|
||||
sta (tempXROLLER),y ;mountaintable update
|
||||
mva #1 color
|
||||
jsr plot
|
||||
dec FillCounter
|
||||
jsr plot.MakePlot
|
||||
.nowarn dew FillCounter
|
||||
cpw FillCounter #0
|
||||
jne RepeatFill
|
||||
rts
|
||||
.endp
|
||||
@@ -1001,7 +1006,7 @@ ContinueToCheckMaxForce2
|
||||
; $f3 - shift+key
|
||||
|
||||
notpressed
|
||||
lda TRIG0
|
||||
lda TRIG0S
|
||||
beq notpressed
|
||||
lda SKSTAT
|
||||
cmp #$ff
|
||||
@@ -1046,7 +1051,7 @@ checkJoy
|
||||
jmp jumpFromStick
|
||||
notpressedJoy
|
||||
;fire
|
||||
lda TRIG0
|
||||
lda TRIG0S
|
||||
jeq pressedSpace
|
||||
jmp notpressed
|
||||
|
||||
@@ -1149,6 +1154,7 @@ NotThrough90DegreesRight
|
||||
jmp BeforeFire
|
||||
|
||||
pressedTAB
|
||||
mva #sfx_purchase sfx_effect
|
||||
ldx TankNr
|
||||
inc ActiveWeapon,x
|
||||
lda ActiveWeapon,x
|
||||
|
||||
Reference in New Issue
Block a user