mist: more work on title
@@ -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 \
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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) $< $@
|
||||
|
BIN
mist/graphics_title/book_air.png
Normal file
After Width: | Height: | Size: 728 B |
BIN
mist/graphics_title/book_glow.png
Normal file
After Width: | Height: | Size: 8.9 KiB |
BIN
mist/graphics_title/book_ground.png
Normal file
After Width: | Height: | Size: 8.8 KiB |
BIN
mist/graphics_title/book_ground_n.png
Normal file
After Width: | Height: | Size: 8.3 KiB |
BIN
mist/graphics_title/book_sparks.png
Normal file
After Width: | Height: | Size: 761 B |
BIN
mist/graphics_title/falling_left.png
Normal file
After Width: | Height: | Size: 759 B |
BIN
mist/graphics_title/falling_right.png
Normal file
After Width: | Height: | Size: 770 B |
BIN
mist/graphics_title/fissure.png
Normal file
After Width: | Height: | Size: 812 B |
BIN
mist/graphics_title/fissure_book_big.png
Normal file
After Width: | Height: | Size: 792 B |
BIN
mist/graphics_title/fissure_book_small.png
Normal file
After Width: | Height: | Size: 807 B |
BIN
mist/graphics_title/m_title.png
Normal file
After Width: | Height: | Size: 6.7 KiB |
BIN
mist/graphics_title/m_title_m.png
Normal file
After Width: | Height: | Size: 678 B |
BIN
mist/graphics_title/m_title_s.png
Normal file
After Width: | Height: | Size: 737 B |
BIN
mist/graphics_title/m_title_t.png
Normal file
After Width: | Height: | Size: 748 B |
BIN
mist/graphics_title/m_title_y.png
Normal file
After Width: | Height: | Size: 709 B |
@@ -1 +0,0 @@
|
||||
m_link_book_lzsa: .incbin "m_link_book.lzsa"
|
@@ -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
|
||||
|
@@ -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
|
||||
|