mist: more work on title

This commit is contained in:
Vince Weaver
2020-07-17 11:54:06 -04:00
parent 2db93b5ca4
commit 2bf3c214a9
21 changed files with 293 additions and 42 deletions

View File

@@ -94,7 +94,7 @@ MIST_TITLE: mist_title.o
mist_title.o: mist_title.s zp.inc hardware.inc common_defines.inc \
common_routines.inc \
graphics_title/mist_title.lzsa graphics_title/title_graphics.inc \
graphics_title_hgr/mist_title.lzsa graphics_title/title_graphics.inc \
gr_copy.s gr_offsets.s gr_pageflip.s gr_putsprite_crop.s \
text_print.s gr_fast_clear.s decompress_fast_v2.s \
keyboard.s draw_pointer.s end_level.s audio.s \

View File

@@ -57,7 +57,9 @@ LOAD_DNI = 14
; Title
TITLE_MIST_LINKING_DOCK = 0
TITLE_BOOK_GROUND = 0
TITLE_BOOK_CLOSED = 1
TITLE_BOOK_OPEN = 2
; Mist

View File

@@ -9,8 +9,39 @@ all: title_graphics.inc
####
title_graphics.inc: m_link_book.lzsa
title_graphics.inc: m_link_book.lzsa \
m_title_m.lzsa m_title_y.lzsa m_title_s.lzsa m_title_t.lzsa \
fissure.lzsa fissure_book_small.lzsa fissure_book_big.lzsa \
falling_right.lzsa falling_left.lzsa \
book_air.lzsa book_sparks.lzsa book_glow.lzsa \
book_ground.lzsa book_ground_n.lzsa
echo "m_link_book_lzsa: .incbin \"m_link_book.lzsa\"" > title_graphics.inc
echo "m_title_m_lzsa: .incbin \"m_title_m.lzsa\"" >> title_graphics.inc
echo "m_title_y_lzsa: .incbin \"m_title_y.lzsa\"" >> title_graphics.inc
echo "m_title_s_lzsa: .incbin \"m_title_s.lzsa\"" >> title_graphics.inc
echo "m_title_t_lzsa: .incbin \"m_title_t.lzsa\"" >> title_graphics.inc
echo "fissure_lzsa: .incbin \"fissure.lzsa\"" >> title_graphics.inc
echo "fissure_book_small_lzsa: .incbin \"fissure_book_small.lzsa\"" >> title_graphics.inc
echo "fissure_book_big_lzsa: .incbin \"fissure_book_big.lzsa\"" >> title_graphics.inc
echo "falling_right_lzsa: .incbin \"falling_right.lzsa\"" >> title_graphics.inc
echo "falling_left_lzsa: .incbin \"falling_left.lzsa\"" >> title_graphics.inc
echo "book_air_lzsa: .incbin \"book_air.lzsa\"" >> title_graphics.inc
echo "book_sparks_lzsa: .incbin \"book_sparks.lzsa\"" >> title_graphics.inc
echo "book_glow_lzsa: .incbin \"book_glow.lzsa\"" >> title_graphics.inc
echo "book_ground_lzsa: .incbin \"book_ground.lzsa\"" >> title_graphics.inc
echo "book_ground_n_lzsa: .incbin \"book_ground_n.lzsa\"" >> title_graphics.inc
%.gr: %.png
$(PNG2GR) $< $@

Binary file not shown.

After

Width:  |  Height:  |  Size: 728 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 761 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 759 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 770 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 812 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 792 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 807 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 678 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 737 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 748 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 709 B

View File

@@ -1 +0,0 @@
m_link_book_lzsa: .incbin "m_link_book.lzsa"

View File

@@ -3,10 +3,30 @@
;===============================================
locations:
.word location0
.word location0, location1, location2
; myst linking book
; TITLE_BOOK_GROUND -- myst book on ground
location0:
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
.byte $ff ; west exit_dir
.word book_ground_n_lzsa ; north bg
.word $0000 ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH ; only north bg
.byte DIRECTION_N ; special exit
.byte 16,24 ; special x
.byte 26,36 ; special y
.word get_mist_book-1 ; special function
; TITLE_BOOK_CLOSED -- myst linking book closed
location1:
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
@@ -25,4 +45,22 @@ location0:
.byte 10,24 ; special y
.word mist_link_book-1 ; special function
; TITLE_BOOK_OPEN -- myst linking book
location2:
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
.byte $ff ; west exit_dir
.word m_link_book_lzsa ; north bg
.word $0000 ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH ; only north bg
.byte DIRECTION_N ; special exit
.byte 21,31 ; special x
.byte 10,24 ; special y
.word mist_link_book-1 ; special function

View File

@@ -35,7 +35,7 @@ mist_start:
sta LOCATIONS_H
;===================
; Load graphics
; Load hires graphics
;===================
reload_everything:
@@ -86,32 +86,21 @@ blah:
no_language_card:
;====================================
; wait for keypress or a few seconds
lda #8
jsr wait_a_bit
bit KEYRESET
lda #0
sta FRAMEL
keyloop:
lda #64 ; delay a bit
jsr WAIT
inc FRAMEL
lda FRAMEL ; time out eventually
beq done_keyloop
lda KEYPRESS
bpl keyloop
done_keyloop:
bit KEYRESET
;===================================
; Do Intro Sequence
;===================================
; SKIP: broderbund logo (w music)
; SKIP: cyan logo (with cyan theme)
;===================
; init screen
;===================
jsr TEXT
jsr HOME
bit KEYRESET
@@ -124,6 +113,137 @@ done_keyloop:
lda #0
sta DRAW_PAGE
;===================================
; M Y S T letters
;===================================
; missing the dramatic music
; they should spin in, and letters are made of fire
; M
ldx #<m_title_m_lzsa
ldy #>m_title_m_lzsa
lda #4
jsr draw_and_wait
; Y
ldx #<m_title_y_lzsa
ldy #>m_title_y_lzsa
lda #4
jsr draw_and_wait
; S
ldx #<m_title_s_lzsa
ldy #>m_title_s_lzsa
lda #4
jsr draw_and_wait
; T
ldx #<m_title_t_lzsa
ldy #>m_title_t_lzsa
lda #25
jsr draw_and_wait
;===================================
; FISSURE: I realized the moment...
;===================================
; touch linking book as fissure pulses
bit TEXTGR ; split text/gr
ldx #<fissure_lzsa
ldy #>fissure_lzsa
lda #50
jsr draw_and_wait
;===================================
; FISSURE_BOOK_SMALL: starry expanse...
;===================================
ldx #<fissure_book_small_lzsa
ldy #>fissure_book_small_lzsa
lda #50
jsr draw_and_wait
;===================================
; FISSURE_BOOK_BIG: I have tried to speculate...
;===================================
ldx #<fissure_book_big_lzsa
ldy #>fissure_book_big_lzsa
lda #50
jsr draw_and_wait
;===================================
; FALLING_LEFT: Still, the question...
;===================================
ldx #<falling_left_lzsa
ldy #>falling_left_lzsa
lda #50
jsr draw_and_wait
;===================================
; FALLING_RIGHT: I know my aprehensions...
;===================================
ldx #<falling_right_lzsa
ldy #>falling_right_lzsa
lda #50
jsr draw_and_wait
;===================================
; BOOK_AIR : The ending...
;===================================
ldx #<book_air_lzsa
ldy #>book_air_lzsa
lda #15
jsr draw_and_wait
;===================================
; BOOK_SPARKS : has not yet...
;===================================
ldx #<book_sparks_lzsa
ldy #>book_sparks_lzsa
lda #15
jsr draw_and_wait
;===================================
; BOOK_GLOW : been written...
;===================================
ldx #<book_glow_lzsa
ldy #>book_glow_lzsa
lda #15
jsr draw_and_wait
;===================================
; BOOK_GROUND :
;===================================
ldx #<book_ground_lzsa
ldy #>book_ground_lzsa
lda #15
jsr draw_and_wait
;===================
; init screen
; jsr TEXT
; jsr HOME
; bit KEYRESET
; bit SET_GR
; bit PAGE0
; bit LORES
bit FULLGR
; lda #0
; sta DRAW_PAGE
bit FULLGR
; init cursor
lda #20
@@ -141,22 +261,20 @@ done_keyloop:
;============================
; set up initial location
lda #TITLE_MIST_LINKING_DOCK
lda #TITLE_BOOK_GROUND
sta LOCATION ; start at first room
lda #DIRECTION_N
sta DIRECTION
lda #LOAD_MIST ; load mist
sta WHICH_LOAD
; lda #LOAD_MIST ; load mist
; sta WHICH_LOAD
jsr change_location
lda #1
sta CURSOR_VISIBLE ; visible at first
game_loop:
;=================
; reset things
@@ -257,44 +375,107 @@ linking_noise_compressed:
theme_music:
.incbin "audio/theme.pt3"
; broderbund logo (w music)
; cyan logo (with cyan theme)
; myst letters appear (dramatic music)
; fissure: I realized the momemnt
; starry expanse (book big)
; falling by starscape (I have tried to speculate)
; falling again (still) /(left)
; I know my aprehensions (right)
; the ending has not yet been written (falls, blue sparks)
;====================================
; draw a screen and wait
;====================================
; X = low of lzsa
; Y = high of lzsa
; A = pause delay
draw_and_wait:
pha
stx getsrc_smc+1
sty getsrc_smc+2
lda #$c ; load to page $c00
jsr decompress_lzsa2_fast
jsr gr_copy_to_current
jsr page_flip
pla
jsr wait_a_bit
rts
;====================================
; wait for keypress or a few seconds
;====================================
wait_a_bit:
bit KEYRESET
tax
keyloop:
lda #200 ; delay a bit
jsr WAIT
lda KEYPRESS
bmi done_keyloop
dex
bne keyloop
done_keyloop:
bit KEYRESET
rts
get_mist_book:
lda #TITLE_BOOK_CLOSED
sta LOCATION
jmp change_location
.if 0
; click on book, plays theme
; FISSURE: I realized the momemnt
; 1 2 3
; 0123456789012345678901234567890123456789
.byte " I REALIZED, THE MOMENT I FELL INTO THE"
.byte " FISSURE, THAT THE BOOK WOULD NOT BE"
.byte " DESTROYED AS I HAD PLANNED."
; FISSURE_BOOK: _starry expanse (book tiny)
; 0123456789012345678901234567890123456789
.byte " IT CONTINUED FALLING INTO THAT STARRY"
.byte " EXPANSE OF WHICH I HAD ONLY A"
.byte " FLEETING GLIMPSE."
; FALLING_BOOK: (book big) falling by starscape (I have tried to speculate)
; 0123456789012345678901234567890123456789
.byte "I HAVE TRIED TO SPECULATE WHERE IT MIGHT"
.byte " HAVE LANDED, BUT I MUST ADMIT,"
.byte " HOWEVER-- SUCH CONJECTURE IS FUTILE."
; FALLING_LEFT (still, the question) /(left)
; 0123456789012345678901234567890123456789
.byte " STILL, THE QUESTION ABOUT WHOSE HANDS"
.byte " MIGHT SOMEDAY HOLD MY MYST BOOK ARE"
.byte " UNSETTLING TO ME."
; FALLING_RIGHT I know my aprehensions (right)
; 0123456789012345678901234567890123456789
.byte " I KNOW THAT MY APPREHENSIONS MIGHT"
.byte " NEVER BE ALLAYED, AND SO I CLOSE,"
.byte " REALIZING THAT PERHAPS,"
; BOOK_GROUND the ending has not yet been written (falls, blue sparks)
; 0123456789012345678901234567890123456789
.byte " THE ENDING HAS NOT YET BEEN WRITTEN"
.endif