Game Over screen replacement

This commit is contained in:
Pecusx
2025-04-18 18:37:08 +02:00
parent 355291bf8d
commit d9f8521606
2 changed files with 29 additions and 42 deletions
+29 -42
View File
@@ -502,6 +502,7 @@ main
jsr MakeDarkScreen jsr MakeDarkScreen
jsr PAL_NTSC jsr PAL_NTSC
jsr initialize jsr initialize
GameStart
RMTsong song_main_menu RMTsong song_main_menu
jsr StartScreen jsr StartScreen
RMTSong song_ingame RMTSong song_ingame
@@ -510,34 +511,28 @@ gameloop
jsr MakeDarkScreen jsr MakeDarkScreen
jsr LevelScreen jsr LevelScreen
jsr PlayLevel jsr PlayLevel
jsr MakeDarkScreen
;jsr NextLevel ;jsr NextLevel
; RMTSong song_ingame ; RMTSong song_ingame
jsr AudioInit ; after I/O jsr AudioInit ; after I/O
jmp gameloop jmp gameOver
EndOfLife EndOfLife
;dec Lives ; decrease Lives ;dec Lives ; decrease Lives
;lda Lives ;lda Lives
;cmp #"0" ;cmp #"0"
;beq gameOver ; if no lives - game over ;beq gameOver ; if no lives - game over
;jsr NextLife ;jsr NextLife
jmp gameloop jmp gameOver
gameOver gameOver
;game over ;game over
;RMTSong song_game_over ;RMTSong song_game_over
;jsr HiScoreCheckWrite ;jsr HiScoreCheckWrite
jsr GameOverScreen jsr GameOverScreen
@ lda CONSOL jmp GameStart
and #@consol(start) ; START
beq main
lda TRIG0 ; fire
jeq main
jmp @-
;-------------------------------------------------- ;--------------------------------------------------
.proc StartScreen .proc StartScreen
;-------------------------------------------------- ;--------------------------------------------------
jsr MakeDarkScreen jsr MakeDarkScreen
jsr HidePM
mva #0 StateFlag mva #0 StateFlag
mva #>font_titles CHBAS mva #>font_titles CHBAS
mwa #dl_title dlptrs mwa #dl_title dlptrs
@@ -576,16 +571,16 @@ EndOfStartScreen
mva #1 PowerTimer ; reset timer ( 1, not 0! ) mva #1 PowerTimer ; reset timer ( 1, not 0! )
jsr draw_PowerBar jsr draw_PowerBar
mva #1 LumberjackDir ; right side mva #1 LumberjackDir ; right side
mwa #gamescreen_r_ph1p1 animation_addr
mwa #last_line_r lastline_addr
jsr PrepareLevelPM jsr PrepareLevelPM
jsr PrepareBirdsPM jsr PrepareBirdsPM
jsr PrepareCloudsPM jsr PrepareCloudsPM
ldx #2
mwa #dl_level dlptrs mwa #dl_level dlptrs
lda #@dmactl(narrow|dma|missiles|players|lineX2) ; narrow screen width, DL on, P/M on (2lines) lda #@dmactl(narrow|dma|missiles|players|lineX2) ; narrow screen width, DL on, P/M on (2lines)
sta dmactls sta dmactls
mva #%00000011 GRACTL mva #%00000011 GRACTL
mva #>font_game_upper CHBAS
jsr SetPMr1 jsr SetPMr1
mva #1 StateFlag mva #1 StateFlag
pause 5 pause 5
@@ -594,14 +589,24 @@ EndOfStartScreen
;-------------------------------------------------- ;--------------------------------------------------
.proc GameOverScreen .proc GameOverScreen
;-------------------------------------------------- ;--------------------------------------------------
/* jsr MakeDarkScreen jsr MakeDarkScreen
ldx #5 jsr HidePM
mwa #dl_over dlptrs mva #3 StateFlag
lda #%00110010 ; normal screen width, DL on, P/M off mva #>font_titles CHBAS
mwa #dl_title dlptrs
mva GameColors+c_sky COLBAKS
mva GameColors+c_black COLOR0
mva GameColors+c_font1 COLOR1
mva GameColors+c_font2 COLOR2
mva GameColors+c_font3 COLOR3
lda #@dmactl(standard|dma) ; normal screen width, DL on, P/M off
sta dmactls sta dmactls
pause 20 */ pause 1
mva #2 StateFlag OverLoop
jsr GetKey
cmp #@kbcode._space
bne OverLoop
EndOfOverScreen
rts rts
.endp .endp
;-------------------------------------------------- ;--------------------------------------------------
@@ -615,6 +620,7 @@ EndOfStartScreen
;-------------------------------------------------- ;--------------------------------------------------
.proc PlayLevel .proc PlayLevel
;-------------------------------------------------- ;--------------------------------------------------
jsr PrepareLevelPM
loop loop
; PUT GAME HERE ; PUT GAME HERE
lda branches_list+5 lda branches_list+5
@@ -754,34 +760,14 @@ no_2branch_l
jmp go_loop jmp go_loop
LevelDeath LevelDeath
jsr SetRIPscreen jsr SetRIPscreen
mva #2 StateFlag
@ @
;mva RANDOM COLBAK
jsr GetKey jsr GetKey
cmp #@kbcode._space cmp #@kbcode._space
bne @- bne @-
; restart game ; restart game
jsr ScoreClear
;jsr InitBranches
;jsr draw_branches
lda branches_list+5
cmp LumberjackDir
bne branch_ok
mva #0 branches_list+5 ; branches at Lumberjack level and position - remove it
branch_ok
jsr PrepareLevelPM
jsr SetLumberjackPosition
jsr LevelReset
mva #24 PowerValue ; half power
jsr draw_PowerBar
mva #1 StateFlag
go_loop
;jsr WaitForKeyRelease
jmp loop
LevelOver
; level over
jsr WaitForKeyRelease
rts rts
go_loop
jmp loop
.endp .endp
;-------------------------------------------------- ;--------------------------------------------------
@@ -790,6 +776,7 @@ LevelOver
;-------------------------------------------------- ;--------------------------------------------------
.proc SetRIPscreen .proc SetRIPscreen
;-------------------------------------------------- ;--------------------------------------------------
mva #2 StateFlag
:5 WaitForSync :5 WaitForSync
mva #>font_game_rip LowCharsetBase mva #>font_game_rip LowCharsetBase
jsr HidePM jsr HidePM
BIN
View File
Binary file not shown.