mist: working more on books

This commit is contained in:
Vince Weaver 2020-05-17 00:18:27 -04:00
parent 931e55fb5d
commit 8a745b482f
4 changed files with 105 additions and 46 deletions

View File

@ -58,19 +58,13 @@ not_blue_page:
;===========================
; Red book animation
;===========================
red_book_animation:
red_book_loop:
lda #<red_book_static_lzsa
sta LZSA_SRC_LO
lda #>red_book_static_lzsa
sta LZSA_SRC_HI
lda #$c ; load to page $c00
jsr decompress_lzsa2_fast
jsr gr_copy_to_current
jsr page_flip
@ -78,14 +72,6 @@ red_book_loop:
lda #120
jsr WAIT
lda #<red_book_static2_lzsa
sta LZSA_SRC_LO
lda #>red_book_static2_lzsa
sta LZSA_SRC_HI
lda #$c ; load to page $c00
jsr decompress_lzsa2_fast
jsr gr_copy_to_current
jsr page_flip
@ -100,14 +86,6 @@ red_book_loop:
;; annoying brother
lda #<red_book_open_lzsa
sta LZSA_SRC_LO
lda #>red_book_open_lzsa
sta LZSA_SRC_HI
lda #$c ; load to page $c00
jsr decompress_lzsa2_fast
jsr gr_copy_to_current
jsr page_flip
@ -126,26 +104,59 @@ red_book_loop:
done_sir:
lda KEYPRESS
bpl red_book_loop
red_book_done:
bit KEYRESET
; restore bg
lda #<red_book_shelf_lzsa
sta LZSA_SRC_LO
lda #>red_book_shelf_lzsa
sta LZSA_SRC_HI
lda #$c ; load to page $c00
jsr decompress_lzsa2_fast
rts
;==========================
; books sprites
;==========================
red_book_sprite_sequence0:
.word red_book_static1_sprite
.word red_book_static2_sprite
.word red_book_static1_sprite
.word red_book_static2_sprite
red_book_sprite_sequence1:
.word red_book_static1_sprite
.word red_book_static2_sprite
.word red_book_face_sprite
.word red_book_static2_sprite
red_book_face_sprite:
.byte 9,7
.byte $31,$88,$bb,$bb,$bb,$bb,$bb,$88,$13
.byte $31,$bb,$bb,$b0,$bb,$b0,$bb,$11,$13
.byte $31,$bb,$bb,$bb,$33,$bb,$bb,$11,$13
.byte $31,$11,$bb,$8b,$b8,$8b,$bb,$11,$13
.byte $31,$11,$bb,$bb,$b3,$bb,$bb,$11,$13
.byte $11,$01,$01,$8b,$88,$8b,$01,$01,$13
.byte $A0,$A0,$A0,$Af,$Af,$Af,$A0,$A0,$A0
red_book_static1_sprite:
.byte 9,7
.byte $11,$1b,$11,$1f,$1b,$11,$11,$13,$11
.byte $b1,$13,$11,$1b,$11,$13,$11,$1b,$f1
.byte $31,$11,$b1,$13,$11,$1f,$13,$b1,$31
.byte $11,$1f,$11,$11,$13,$11,$1b,$f1,$11
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00
.byte $31,$1b,$f1,$11,$f3,$11,$31,$1b,$11
.byte $A1,$A1,$A3,$A1,$A1,$Ab,$A1,$A1,$A3
red_book_static2_sprite:
.byte 9,7
.byte $01,$01,$01,$0b,$01,$01,$01,$0f,$01
.byte $10,$b0,$10,$10,$30,$10,$10,$b0,$10
.byte $13,$11,$3f,$11,$1f,$b1,$13,$11,$31
.byte $1f,$11,$11,$11,$13,$11,$1b,$11,$f1
.byte $11,$1b,$f1,$1f,$1b,$31,$f1,$1b,$11
.byte $13,$11,$1b,$11,$11,$11,$b1,$13,$b1
.byte $A1,$Af,$A1,$A3,$A1,$A1,$A1,$A1,$A1
;==========================
@ -158,9 +169,38 @@ red_book_done:
; red 0
; only static
; 0123456789012345678901234567890123456789
; red 1
; who are you, bring me a red page, I can't see you
; I am sirrus
; I am Sirrus
; red 2
; You've returned. Thank you for the red page.
; I beg you to find the remaining red pages.
; Don't waste time on my brother, he is guilty.
; red 3
; Free me from my prison. I am called Sirrus.
; I need two more pages. Don't touch the blue
; Don not help my wicked brother Achenar.
; red 4
; With each page I can see you more clearly.
; Achenar is guilty of conquest. He took
; advantage of father. Free me and I will reward you
; red 5
; You've finally returned. You must think Achenar is guilty.
; Find page 158 in the pattern book and retrieve the last page.
; Do not touch the green book you find there.
;
; Achenar became disturbed, conquest.
; Father must be lost
; ending
; I am free! Thank you! You've done the right thing.
; Stupid fool. Let me rip some pages out.
; I hope you're into books. Goodbye!
;==========================
; blue/Achenar
@ -177,5 +217,23 @@ red_book_done:
; egotistical fool and liar, bring the blue pages, not the red ones
; I've been wrongly imprisoned. I will have my retribution.
; blue 3
; you've returned, good. bring blue pages.
; sirrus trapped me here. He is greedy.
; don't touch the red pages.
; blue 4
; my friend, I see you think Sirrus is guilty.
; Have you observed his lust for riches.
; Please bring more blue pages.
; blue 5
; Sirrus is guilty, lied to father and killed him
; Find pattern 158 and use it in the fireplace.
; Don't touch the green book!
; after
; Haha I am free! I fel so alive!
; These pages you worked so hard to find
; what happens if I pull them out?
; Maybe someone will rescue you.

View File

@ -139,6 +139,10 @@ OCTAGON_TOWER_LEFT = 23
OCTAGON_TOWER_RIGHT = 24
OCTAGON_KEY_LADDER = 25
OCTAGON_KEY_VIEW = 26
OCTAGON_RED_BOOK_CLOSED = 27
OCTAGON_RED_BOOK_OPEN = 28
OCTAGON_BLUE_BOOK_CLOSED= 29
OCTAGON_BLUE_BOOK_OPEN = 30
; Mechanical Engineering

View File

@ -18,7 +18,6 @@ octagon_graphics.inc: \
red_book_shelf.lzsa \
red_book_open.lzsa red_book_closed.lzsa \
blue_book_open.lzsa blue_book_closed.lzsa \
red_book_static.lzsa red_book_static2.lzsa \
fireplace_e.lzsa \
in_fireplace_w.lzsa in_fireplace_door.lzsa \
frame_door_open.lzsa \
@ -64,8 +63,6 @@ octagon_graphics.inc: \
echo "red_book_open_lzsa: .incbin \"red_book_open.lzsa\"" >> octagon_graphics.inc
echo "red_book_closed_lzsa: .incbin \"red_book_closed.lzsa\"" >> octagon_graphics.inc
echo "red_book_shelf_lzsa: .incbin \"red_book_shelf.lzsa\"" >> octagon_graphics.inc
echo "red_book_static_lzsa: .incbin \"red_book_static.lzsa\"" >> octagon_graphics.inc
echo "red_book_static2_lzsa: .incbin \"red_book_static2.lzsa\"" >> octagon_graphics.inc
echo "fireplace_e_lzsa: .incbin \"fireplace_e.lzsa\"" >> octagon_graphics.inc
echo "in_fireplace_w_lzsa: .incbin \"in_fireplace_w.lzsa\"" >> octagon_graphics.inc
echo "in_fireplace_door_lzsa: .incbin \"in_fireplace_door.lzsa\"" >> octagon_graphics.inc

View File

@ -513,7 +513,7 @@ location27:
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
.byte DIRECTION_W|DIRECTION_ONLY_POINT ; west exit_dir
.byte DIRECTION_W|DIRECTION_SPLIT ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word $0000 ; east bg
@ -546,7 +546,7 @@ location29:
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
.byte DIRECTION_E|DIRECTION_SPLIT ; east exit_dir
.byte $ff ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg