mist: initial fireplace book implementation

going to have to redo how this is done
This commit is contained in:
Vince Weaver
2020-06-23 01:34:20 -04:00
parent a50b151121
commit 7edd09d623
7 changed files with 113 additions and 21 deletions

View File

@@ -1,15 +1,15 @@
For release 1.0 For release 1.0
+ LOADER + LOADER
-- better loader -- save game
-- save/load games -- sound loader (into language card?)
-- sound loader
+ MIST (split off ship-up/ship-down?) + MIST (split off ship-up/ship-down?)
-- fix catherine letter (bg, grab from other side) -- fix catherine letter (bg, grab from other side)
also make it a location/graphic like half messages
-- constellation puzzle/ship raising -- constellation puzzle/ship raising
-- marker switches -- marker switches
+ DENTIST + DENTIST
-- all of it -- all of it
+ CABIN (split off?) + CABIN
-- safe puzzle -- safe puzzle
-- boiler -- boiler
-- up/down in tree -- up/down in tree
@@ -28,10 +28,10 @@ For release 1.0
+ CHANNEL + CHANNEL
-- hook up water valves at least -- hook up water valves at least
-- hook up stairway and elevator1 -- hook up stairway
+ ARBOR + ARBOR
-- all of it -- finish level
Done: Done:
+ MECHE + MECHE

View File

@@ -11,11 +11,14 @@ all: octagon_books.inc
#### ####
octagon_books.inc: \ octagon_books.inc: \
channelwood.lzsa stoneship.lzsa mechanical.lzsa selenitic.lzsa channelwood.lzsa stoneship.lzsa mechanical.lzsa selenitic.lzsa \
fireplace.lzsa
echo "channelwood_book_lzsa: .incbin \"channelwood.lzsa\"" > octagon_books.inc echo "channelwood_book_lzsa: .incbin \"channelwood.lzsa\"" > octagon_books.inc
echo "stoneship_book_lzsa: .incbin \"stoneship.lzsa\"" >> octagon_books.inc echo "stoneship_book_lzsa: .incbin \"stoneship.lzsa\"" >> octagon_books.inc
echo "mechanical_book_lzsa: .incbin \"mechanical.lzsa\"" >> octagon_books.inc echo "mechanical_book_lzsa: .incbin \"mechanical.lzsa\"" >> octagon_books.inc
echo "selenitic_book_lzsa: .incbin \"selenitic.lzsa\"" >> octagon_books.inc echo "selenitic_book_lzsa: .incbin \"selenitic.lzsa\"" >> octagon_books.inc
echo "fireplace_book_lzsa: .incbin \"fireplace.lzsa\"" >> octagon_books.inc
%.gr: %.book %.gr: %.book

26
mist/books/fireplace.book Normal file
View File

@@ -0,0 +1,26 @@
# 300 pages
#0 1 2 3
#123456789012345678901234567890123456789
:
:
:
------------- : -------------
: : : : : : : : : : : : : : :
------------- : -------------
: : : : : : : : : : : : : : :
------------- : -------------
: : : : : : : : : : : : : : :
------------- : -------------
: : : : : : : : : : : : : : :
------------- : -------------
: : : : : : : : : : : : : : :
------------- : -------------
: : : : : : : : : : : : : : :
------------- : -------------
299 : 300
:
:
:
:
:
:

View File

@@ -1,5 +1,5 @@
#0 1 2 3 #0 1 2 3
#12345678901234567890123457890123456789 #123456789012345678901234567890123456789
: :
-- THE SKY IS DARK : /=/ -- THE SKY IS DARK : /=/
GRAY WITH INCESSANT : :: GRAY WITH INCESSANT : ::

View File

@@ -1,5 +1,5 @@
#0 1 2 3 #0 1 2 3
#12345678901234567890123457890123456789 #123456789012345678901234567890123456789
: :
-- I DO NOT FEEL : _______/===\ -- I DO NOT FEEL : _______/===\
ALTOGETHER WELCOME : < : [] > ALTOGETHER WELCOME : < : [] >

View File

@@ -1,5 +1,5 @@
#0 1 2 3 #0 1 2 3
#12345678901234567890123457890123456789 #123456789012345678901234567890123456789
: :
-- EMMIT, BRANCH, : CONSTELLATIONS -- EMMIT, BRANCH, : CONSTELLATIONS
AND WILL LIVE ON : O AND WILL LIVE ON : O

View File

@@ -27,11 +27,11 @@ top_shelf:
middle_shelf: middle_shelf:
cpx #13 cpx #13
bcc read_burnt_book bcc read_burnt_book ; blt
cpx #18 cpx #18
bcc read_selenitic bcc read_selenitic ; blt
cpx #30 cpx #28
bcc read_burnt_book bcc read_burnt_book ; blt
bcs read_fireplace bcs read_fireplace
bottom_shelf: bottom_shelf:
@@ -44,10 +44,6 @@ bottom_shelf:
read_burnt_book: read_burnt_book:
jmp all_done_book jmp all_done_book
read_fireplace:
; FIXME
jmp all_done_book
read_selenitic: read_selenitic:
lda #<selenitic_book_lzsa lda #<selenitic_book_lzsa
sta getsrc_smc+1 ; LZSA_SRC_LO sta getsrc_smc+1 ; LZSA_SRC_LO
@@ -102,6 +98,73 @@ all_done_book:
; draw random patterns
; base them on memory starting at $2000?
; 15 30 45 60 75 90 105 120 135 150 165 180 195 210 225 240 255
; 14
read_fireplace:
lda #<fireplace_book_lzsa
sta getsrc_smc+1 ; LZSA_SRC_LO
iny
lda #>fireplace_book_lzsa
sta getsrc_smc+2 ; LZSA_SRC_HI
lda #$c ; load to page $c00
jsr decompress_lzsa2_fast
jsr gr_copy_to_current
ldy #8
fp_book_outer_loop:
lda gr_offsets,Y
sta fp_book_smc+1
lda gr_offsets+1,Y
clc
adc DRAW_PAGE
sta fp_book_smc+2
lda $2000,Y
sta TEMPY
ldx #5
fp_book_inner_loop:
ror TEMPY
bcc fp_space
lda #' '|$80
jmp fp_book_smc
fp_space:
lda #' '&$3f
fp_book_smc:
sta $400,X
inx
inx
cpx #17
bne fp_book_inner_loop
iny
iny
iny
iny
cpy #32
bne fp_book_outer_loop
jsr page_flip
wait_fireplace_book:
lda KEYPRESS
bpl wait_fireplace_book
bit KEYRESET
jmp all_done_book
;========================= ;=========================
; change rotation ; change rotation
;========================= ;=========================