mirror of
https://github.com/Pecusx/scorch_src.git
synced 2026-05-21 14:49:40 +02:00
Good Game Over animation
This commit is contained in:
+10
-2
@@ -94,10 +94,18 @@ dl ; MAIN game display list
|
|||||||
.word dl
|
.word dl
|
||||||
;-----------------------------------------------
|
;-----------------------------------------------
|
||||||
GameOverDL
|
GameOverDL
|
||||||
.byte $70,$70,$70,$70,$70,$70,$70,$20
|
.byte $70,$70,$70,$40
|
||||||
|
.byte $4f ; 1 line
|
||||||
|
.word display+(40*72)
|
||||||
|
:28 .byte $0f ; 28 lines
|
||||||
|
.byte $0f+$80
|
||||||
.byte $4f ; 1 line
|
.byte $4f ; 1 line
|
||||||
.word display+(40*32)
|
.word display+(40*32)
|
||||||
:31 .byte $0f ; 31 lines
|
:30 .byte $0f ; 30 lines
|
||||||
|
.byte $0f+$80 ; 1 line
|
||||||
|
.byte $4f ; 1 line
|
||||||
|
.word display+(40*72)
|
||||||
|
:7 .byte $0f ; 7 lines
|
||||||
.byte $70
|
.byte $70
|
||||||
.byte $41
|
.byte $41
|
||||||
.word GameOverDL
|
.word GameOverDL
|
||||||
|
|||||||
+21
@@ -994,6 +994,27 @@ ClearResults
|
|||||||
rti
|
rti
|
||||||
.endp
|
.endp
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
|
.proc DLIinterruptGameOver
|
||||||
|
;sta dliA
|
||||||
|
;sty dliY
|
||||||
|
pha
|
||||||
|
lda dliCounter
|
||||||
|
bne @+
|
||||||
|
lda #%00100000 ; playfield after P/M
|
||||||
|
STA WSYNC
|
||||||
|
sta gtictl
|
||||||
|
inc dliCounter
|
||||||
|
pla
|
||||||
|
rti
|
||||||
|
@
|
||||||
|
lda #%00100100 ; playfield before P/M
|
||||||
|
STA WSYNC
|
||||||
|
sta gtictl
|
||||||
|
inc dliCounter
|
||||||
|
pla
|
||||||
|
rti
|
||||||
|
.endp
|
||||||
|
;--------------------------------------------------
|
||||||
.proc DLIinterruptText
|
.proc DLIinterruptText
|
||||||
;sta dliA
|
;sta dliA
|
||||||
pha
|
pha
|
||||||
|
|||||||
BIN
Binary file not shown.
+10
-19
@@ -1834,12 +1834,14 @@ FinishResultDisplay
|
|||||||
jsr ClearScreen
|
jsr ClearScreen
|
||||||
jsr ClearPMmemory
|
jsr ClearPMmemory
|
||||||
mwa #GameOverDL dlptrs
|
mwa #GameOverDL dlptrs
|
||||||
lda #%00111110 ; normal screen width, DL on, P/M on
|
lda #%00111110 ; normal screen width, DL on, P/M on
|
||||||
sta dmactls
|
sta dmactls
|
||||||
|
lda #%00100100 ; playfield before P/M
|
||||||
|
sta gtictls
|
||||||
jsr ColorsOfSprites
|
jsr ColorsOfSprites
|
||||||
mva #0 colpf1s
|
mva #0 colpf1s
|
||||||
mva #TextForegroundColor colpf2s
|
mva #TextForegroundColor colpf2s
|
||||||
VDLI DLIinterruptText.DLIinterruptNone ; jsr SetDLI for text screen without DLIs
|
VDLI DLIinterruptGameOver ; jsr SetDLI for Game Over screen
|
||||||
; initial tank positions randomization
|
; initial tank positions randomization
|
||||||
ldx #(MaxPlayers-1) ;maxNumberOfPlayers-1
|
ldx #(MaxPlayers-1) ;maxNumberOfPlayers-1
|
||||||
@
|
@
|
||||||
@@ -1855,26 +1857,15 @@ AllTanksFloatingDown
|
|||||||
lda Ytankstable,x
|
lda Ytankstable,x
|
||||||
; cmp #32 ; tank over screen - not visible
|
; cmp #32 ; tank over screen - not visible
|
||||||
cmp #80 ; tank under screen - new tank randomize
|
cmp #80 ; tank under screen - new tank randomize
|
||||||
bne TankOnScreen
|
beq TankUnderScreen
|
||||||
|
cmp #72 ; tank under screen but.... parachute
|
||||||
|
bcs DrawOnlyParachute
|
||||||
|
bcc TankOnScreen
|
||||||
|
TankUnderScreen
|
||||||
jsr RandomizeTankPos
|
jsr RandomizeTankPos
|
||||||
TankOnScreen
|
TankOnScreen
|
||||||
jsr DrawTankNr
|
jsr DrawTankNr
|
||||||
; now we must clear sprites over and under our banner
|
DrawOnlyParachute
|
||||||
lda pmtableL,x
|
|
||||||
sta xbyte ; sprite position in RAM
|
|
||||||
lda pmtableH,x
|
|
||||||
sta xbyte+1
|
|
||||||
lda #0
|
|
||||||
ldy #PMOffsetY ; start on top position
|
|
||||||
@ sta (xbyte),y
|
|
||||||
iny
|
|
||||||
cpy #PMOffsetY+32 ; banner begin - end zeroing sprites
|
|
||||||
bne @-
|
|
||||||
ldy #PMOffsetY+64 ; banner end - start zeroing again
|
|
||||||
@ sta (xbyte),y
|
|
||||||
iny
|
|
||||||
cpy #PMOffsetY+80 ; end of zeroing sprites
|
|
||||||
bne @-
|
|
||||||
jsr DrawTankParachute
|
jsr DrawTankParachute
|
||||||
ldx TankNr
|
ldx TankNr
|
||||||
dex
|
dex
|
||||||
|
|||||||
Reference in New Issue
Block a user