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

View File

@ -11,11 +11,14 @@ all: 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 "stoneship_book_lzsa: .incbin \"stoneship.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 "fireplace_book_lzsa: .incbin \"fireplace.lzsa\"" >> octagon_books.inc
%.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
#12345678901234567890123457890123456789
#0 1 2 3
#123456789012345678901234567890123456789
:
-- THE SKY IS DARK : /=/
GRAY WITH INCESSANT : ::

View File

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

View File

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

View File

@ -27,11 +27,11 @@ top_shelf:
middle_shelf:
cpx #13
bcc read_burnt_book
bcc read_burnt_book ; blt
cpx #18
bcc read_selenitic
cpx #30
bcc read_burnt_book
bcc read_selenitic ; blt
cpx #28
bcc read_burnt_book ; blt
bcs read_fireplace
bottom_shelf:
@ -44,10 +44,6 @@ bottom_shelf:
read_burnt_book:
jmp all_done_book
read_fireplace:
; FIXME
jmp all_done_book
read_selenitic:
lda #<selenitic_book_lzsa
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
;=========================