mirror of
https://github.com/pkali/scorch_src.git
synced 2026-05-21 14:49:46 +02:00
Better set PM width (prepare to new Game Over screen)
This commit is contained in:
+38
-25
@@ -178,21 +178,8 @@ MainGameLoop
|
||||
jsr RmtSongSelect
|
||||
jsr DisplayResults
|
||||
|
||||
;check demo mode
|
||||
ldx numberOfPlayers
|
||||
dex
|
||||
checkForHuman ; if all in skillTable other than 0 then switch to DEMO MODE
|
||||
lda skillTable,x
|
||||
beq peopleAreHere
|
||||
dex
|
||||
bpl checkForHuman
|
||||
; no people, just wait a bit
|
||||
pause 150
|
||||
jmp noKey
|
||||
jsr DemoModeOrKey
|
||||
|
||||
peopleAreHere
|
||||
jsr getkey
|
||||
noKey
|
||||
ldx NumberOfPlayers
|
||||
dex
|
||||
CalculateGains
|
||||
@@ -244,8 +231,10 @@ skipzeroing
|
||||
bpl CalculateGains
|
||||
|
||||
lda GameIsOver
|
||||
jne START
|
||||
|
||||
beq NoGameOverYet
|
||||
;jsr GameOverScreen
|
||||
jmp START
|
||||
NoGameOverYet
|
||||
inc CurrentRoundNr
|
||||
lda #$0
|
||||
sta dmactls ; issue #72
|
||||
@@ -269,9 +258,8 @@ skipzeroing
|
||||
lda #song_ingame
|
||||
jsr RmtSongSelect
|
||||
|
||||
jsr SetPMWidth
|
||||
lda #0
|
||||
sta sizep0 ; P0-P1 widths
|
||||
sta sizep0+1
|
||||
sta colpf2s ; status line "off"
|
||||
sta colpf1s
|
||||
|
||||
@@ -928,13 +916,7 @@ SetunPlots
|
||||
; sta dmactls
|
||||
lda #$03 ; P/M on
|
||||
sta pmcntl
|
||||
lda #$00
|
||||
sta sizep0 ; P0-P3 widths
|
||||
sta sizep0+1
|
||||
sta sizep0+2
|
||||
sta sizep0+3
|
||||
lda #%01010101
|
||||
sta sizem ; all missiles, double width
|
||||
jsr SetPMWidth
|
||||
lda #%00100000 ; P/M priorities (multicolor players on)
|
||||
sta gtictls
|
||||
jsr PMoutofScreen
|
||||
@@ -974,6 +956,17 @@ ClearResults
|
||||
rts
|
||||
.endp
|
||||
;--------------------------------------------------
|
||||
.proc SetPMWidth
|
||||
lda #$00
|
||||
sta sizep0 ; P0-P3 widths
|
||||
sta sizep0+1
|
||||
sta sizep0+2
|
||||
sta sizep0+3
|
||||
lda #%01010101
|
||||
sta sizem ; all missiles, double width
|
||||
rts
|
||||
.endp
|
||||
;--------------------------------------------------
|
||||
.proc DLIinterruptGraph
|
||||
;sta dliA
|
||||
;sty dliY
|
||||
@@ -1393,6 +1386,26 @@ getkeyend
|
||||
bne WaitForKeyRelease
|
||||
rts
|
||||
.endp
|
||||
;--------------------------------------------------
|
||||
.proc DemoModeOrKey
|
||||
;--------------------------------------------------
|
||||
;check demo mode
|
||||
ldx numberOfPlayers
|
||||
dex
|
||||
checkForHuman ; if all in skillTable other than 0 then switch to DEMO MODE
|
||||
lda skillTable,x
|
||||
beq peopleAreHere
|
||||
dex
|
||||
bpl checkForHuman
|
||||
; no people, just wait a bit
|
||||
pause 150
|
||||
jmp noKey
|
||||
|
||||
peopleAreHere
|
||||
jsr getkey
|
||||
noKey
|
||||
rts
|
||||
.endp
|
||||
|
||||
;--------------------------------------------------
|
||||
.proc RmtSongSelect
|
||||
|
||||
BIN
Binary file not shown.
+36
-1
@@ -1832,11 +1832,46 @@ FinishResultDisplay
|
||||
lda #%00111110 ; normal screen width, DL on, P/M on
|
||||
sta dmactls
|
||||
lda #%00100100 ; playfield before P/M
|
||||
sta gtictls
|
||||
sta gtictls
|
||||
jsr SetPMWidth
|
||||
jsr ColorsOfSprites
|
||||
mva #0 colpf1s
|
||||
mva #TextForegroundColor colpf2s
|
||||
VDLI DLIinterruptGameOver ; jsr SetDLI for Game Over screen
|
||||
; make text and color lines for each tank
|
||||
; ldx NumberOfPlayers ;we start from the highest (best) tank
|
||||
; dex ;and it is the last one
|
||||
; stx ResultOfTankNr ;in TankSequence table
|
||||
; ldy #0 ;witch line we are coloring
|
||||
;FinalResultOfTheNextPlayer
|
||||
; ldx ResultOfTankNr ;we are after a round, so we can use TankNr
|
||||
; lda TankSequence,x ;and we keep here real number if the tank
|
||||
; tax
|
||||
; stx TankNr ;for which we are displaying results
|
||||
; lda TankStatusColoursTable,x
|
||||
; sta GameOverColoursTable,y
|
||||
; ;
|
||||
; iny
|
||||
; dec ResultOfTankNr
|
||||
; beq FinalResultOfTheNextPlayer
|
||||
;MakeBlackLines
|
||||
; cpy #$06
|
||||
; beq AllLinesReady
|
||||
; lda #0 ; black line color for rest of tanks
|
||||
; sta GameOverColoursTable,y
|
||||
; iny
|
||||
; bne MakeBlackLines
|
||||
;AllLinesReady
|
||||
ldx #(MaxPlayers-1)
|
||||
MakeAllTanksVisible
|
||||
lda #99
|
||||
sta eXistenZ,x
|
||||
lda #0
|
||||
sta ActiveDefenceWeapon,x
|
||||
dex
|
||||
bpl MakeAllTanksVisible
|
||||
|
||||
; start music and animations
|
||||
lda #song_game_over
|
||||
jsr RmtSongSelect
|
||||
; initial tank positions randomization
|
||||
|
||||
Reference in New Issue
Block a user