peasant: work on trogdor scenes

This commit is contained in:
Vince Weaver 2021-09-17 00:52:13 -04:00
parent a99db03185
commit f278aba111
3 changed files with 170 additions and 14 deletions

View File

@ -22,8 +22,8 @@ peasant.dsk: QBOOT QLOAD VID_LOGO TITLE INTRO COPY_CHECK \
$(DOS33_RAW) peasant.dsk 12 0 COPY_CHECK 0 0 $(DOS33_RAW) peasant.dsk 12 0 COPY_CHECK 0 0
$(DOS33_RAW) peasant.dsk 14 0 PEASANT1 0 0 $(DOS33_RAW) peasant.dsk 14 0 PEASANT1 0 0
# $(DOS33_RAW) peasant.dsk 19 0 PEASANT2 0 0 # $(DOS33_RAW) peasant.dsk 19 0 PEASANT2 0 0
# $(DOS33_RAW) peasant.dsk 19 0 TROGDOR 0 0 $(DOS33_RAW) peasant.dsk 19 0 TROGDOR 0 0
$(DOS33_RAW) peasant.dsk 19 0 ENDING 0 0 # $(DOS33_RAW) peasant.dsk 19 0 ENDING 0 0
# $(DOS33_RAW) peasant.dsk 24 0 PEASANT3 0 0 # $(DOS33_RAW) peasant.dsk 24 0 PEASANT3 0 0
$(DOS33_RAW) peasant.dsk 24 0 ENDING 0 0 $(DOS33_RAW) peasant.dsk 24 0 ENDING 0 0
$(DOS33_RAW) peasant.dsk 29 0 PEASANT4 0 0 $(DOS33_RAW) peasant.dsk 29 0 PEASANT4 0 0

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@ -26,9 +26,6 @@ trogdor:
jsr update_score jsr update_score
; start music?
trogdor_cave: trogdor_cave:
lda #<trogdor_cave_lzsa lda #<trogdor_cave_lzsa
@ -40,8 +37,75 @@ trogdor_cave:
jsr decompress_lzsa2_fast jsr decompress_lzsa2_fast
jsr update_top
jsr wait_until_keypress jsr wait_until_keypress
;==============================
;==============================
; print honestly say message
;==============================
;==============================
lda #<trogdor_string
sta OUTL
lda #>trogdor_string
sta OUTH
jsr hgr_text_box
;==================================
; text to speech, where available!
jsr wait_until_keypress
jsr hgr_partial_restore
;==============================
;==============================
; print nice of him message
;==============================
;==============================
lda #<trogdor_string2
sta OUTL
lda #>trogdor_string2
sta OUTH
jsr hgr_text_box
jsr wait_until_keypress
jsr hgr_partial_restore
; UPDATE SCORE
lda #$43
sta SCORE_TENSONES
jsr update_score
; jsr update_top
;===========================
; weep-boom sound
lda #32
sta speaker_duration
lda #NOTE_E4
sta speaker_frequency
jsr speaker_beep
lda #64
sta speaker_duration
lda #NOTE_F4
sta speaker_frequency
jsr speaker_beep
lda #128
sta speaker_duration
lda #NOTE_F3
sta speaker_frequency
jsr speaker_beep
trogdor_open: trogdor_open:
lda #<trogdor_open_lzsa lda #<trogdor_open_lzsa
@ -53,7 +117,9 @@ trogdor_open:
jsr decompress_lzsa2_fast jsr decompress_lzsa2_fast
jsr wait_until_keypress jsr update_top
; jsr wait_until_keypress
trogdor_flame1: trogdor_flame1:
@ -67,8 +133,6 @@ trogdor_flame1:
jsr decompress_lzsa2_fast jsr decompress_lzsa2_fast
jsr wait_until_keypress
trogdor_flame2: trogdor_flame2:
lda #<trogdor_flame2_lzsa lda #<trogdor_flame2_lzsa
@ -76,18 +140,82 @@ trogdor_flame2:
lda #>trogdor_flame2_lzsa lda #>trogdor_flame2_lzsa
sta getsrc_smc+2 sta getsrc_smc+2
lda #$20
jsr decompress_lzsa2_fast
ldx #32
stx BABY_COUNT
burninate_loop:
bit PAGE1
lda #16
sta speaker_duration
lda #NOTE_C3
sta speaker_frequency
jsr speaker_beep
; jsr wait_until_keypress
bit PAGE2
lda #16
sta speaker_duration
lda #NOTE_D3
sta speaker_frequency
jsr speaker_beep
; jsr wait_until_keypress
dec BABY_COUNT
bne burninate_loop
;=====================
;=====================
; stop fire
; open mount
; charred
; smoke
lda #<trogdor_cave_lzsa
sta getsrc_smc+1
lda #>trogdor_cave_lzsa
sta getsrc_smc+2
lda #$40 lda #$40
jsr decompress_lzsa2_fast jsr decompress_lzsa2_fast
jsr wait_until_keypress jsr update_top
; collapse with boom
;==================
; message
lda #<trogdor_string3
sta OUTL
lda #>trogdor_string3
sta OUTH
jsr hgr_text_box
jsr wait_until_keypress
game_over: game_over:
; jsr game_over
jsr trogdor_cave
; FIXME
lda #LOAD_PEASANT3
sta WHICH_LOAD
rts
peasant_text: peasant_text:
@ -97,14 +225,18 @@ peasant_text:
.include "decompress_fast_v2.s" .include "decompress_fast_v2.s"
.include "wait_keypress.s" .include "wait_keypress.s"
;.include "draw_peasant.s"
.include "hgr_font.s" .include "hgr_font.s"
.include "draw_box.s" .include "draw_box.s"
.include "hgr_rectangle.s" .include "hgr_rectangle.s"
;.include "hgr_7x28_sprite_mask.s"
.include "hgr_1x5_sprite.s" .include "hgr_1x5_sprite.s"
;.include "draw_peasant.s"
;.include "hgr_7x28_sprite_mask.s"
;.include "hgr_save_restore.s" ;.include "hgr_save_restore.s"
.include "hgr_partial_save.s" .include "hgr_partial_save.s"
.include "hgr_input.s" .include "hgr_input.s"
.include "hgr_tables.s" .include "hgr_tables.s"
@ -120,22 +252,46 @@ peasant_text:
.include "version.inc" .include "version.inc"
.include "speaker_beeps.s"
.include "graphics_trogdor/trogdor_graphics.inc" .include "graphics_trogdor/trogdor_graphics.inc"
trogdor_string: trogdor_string:
.byte 0,43,32, 0,253,82
.byte 8,41
.byte 34,"I can honestly say it'll",13 .byte 34,"I can honestly say it'll",13
.byte "be a pleasure and an honor",13 .byte "be a pleasure and an honor",13
.byte "to burninate you, Rather",13 .byte "to burninate you, Rather",13
.byte "Dashing.",0 .byte "Dashing.",34,0
trogdor_string2: trogdor_string2:
.byte 0,43,32, 0,253,66
.byte 8,41
.byte "Aw that sure was nice of",13 .byte "Aw that sure was nice of",13
.byte "him!",0 .byte "him!",0
trogdor_string3: trogdor_string3:
.byte 0,43,32, 0,253,90
.byte 8,41
.byte "Congratulations! You've",13 .byte "Congratulations! You've",13
.byte "won! No one can kill",13 .byte "won! No one can kill",13
.byte "Trogdor but you came closer",13 .byte "Trogdor but you came closer",13
.byte "than anybody ever! Way to",13 .byte "than anybody ever! Way to",13
.byte "go!",0 .byte "go!",0
update_top:
; put peasant text
lda #<peasant_text
sta OUTL
lda #>peasant_text
sta OUTH
jsr hgr_put_string
; put score
jsr print_score
rts