mist: meche: add achenar's letter

This commit is contained in:
Vince Weaver 2020-08-11 15:17:18 -04:00
parent edf5a70cfe
commit 37431b046a
6 changed files with 46 additions and 14 deletions

View File

@ -59,7 +59,8 @@ meche_graphics.inc: \
blue_secret_room_n.lzsa blue_secret_room_s.lzsa blue_secret_room_e.lzsa blue_secret_room_w.lzsa \
blue_secret_room_jolt_n.lzsa \
red_secret_door_s.lzsa \
red_secret_room_n.lzsa red_secret_room_s.lzsa red_secret_room_e.lzsa red_secret_room_w.lzsa
red_secret_room_n.lzsa red_secret_room_s.lzsa red_secret_room_e.lzsa red_secret_room_w.lzsa \
achenar_letter.lzsa
echo "departure_e_lzsa: .incbin \"departure_e.lzsa\"" > meche_graphics.inc
echo "arrival_w_lzsa: .incbin \"arrival_w.lzsa\"" >> meche_graphics.inc
echo "entrance_e_lzsa: .incbin \"entrance_e.lzsa\"" >> meche_graphics.inc
@ -160,6 +161,8 @@ meche_graphics.inc: \
echo "red_secret_room_s_lzsa: .incbin \"red_secret_room_s.lzsa\"" >> meche_graphics.inc
echo "red_secret_room_e_lzsa: .incbin \"red_secret_room_e.lzsa\"" >> meche_graphics.inc
echo "red_secret_room_w_lzsa: .incbin \"red_secret_room_w.lzsa\"" >> meche_graphics.inc
echo "achenar_letter_lzsa: .incbin \"achenar_letter.lzsa\"" >> meche_graphics.inc
%.gr: %.png
$(PNG2GR) $< $@

Binary file not shown.

After

Width:  |  Height:  |  Size: 977 B

View File

@ -1,5 +1,5 @@
5 HOME
10 PRINT "LOADING MIST V0.99"
10 PRINT "LOADING MIST V0.99.1"
20 PRINT:PRINT
40 PRINT "CONTROLS: "
42 PRINT " MOVE CURSOR : ARROWS OR WASD"

View File

@ -773,9 +773,9 @@ location41:
.word red_secret_room_e_lzsa ; east bg
.word red_secret_room_w_lzsa ; west bg
.byte BG_NORTH | BG_SOUTH | BG_EAST | BG_WEST
.byte DIRECTION_N
.byte 22,29 ; special x
.byte 14,24 ; special y
.byte DIRECTION_N | DIRECTION_S
.byte 22,31 ; special x
.byte 14,32 ; special y
.word meche_take_red_page-1 ; special function
; MECHE_TOP_FLOOR_UP -- looking above elevator
@ -806,11 +806,9 @@ location43:
.byte $ff ; east exit_dir
.byte $ff ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word achenar_letter_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_SOUTH
.byte $ff ; special exit

View File

@ -222,6 +222,10 @@ really_exit:
;=============================
draw_red_page:
lda DIRECTION
cmp #DIRECTION_N
bne done_draw_red_page
lda RED_PAGES_TAKEN
and #MECHE_PAGE
bne no_draw_page
@ -237,7 +241,8 @@ draw_red_page:
sta INH
jmp put_sprite_crop ; tail call
done_draw_red_page:
rts
;========================
; draw blue page
@ -293,10 +298,36 @@ actually_draw_blue_page:
no_draw_page:
rts
;==============================
; Take red page
; or read achenar letter
;==============================
meche_take_red_page:
lda DIRECTION
cmp #DIRECTION_N
beq actually_take_red_page
; otherwise go to read letter
lda #MECHE_ACHENAR_LETTER
sta LOCATION
jsr change_location
bit SET_TEXT
rts
actually_take_red_page:
lda #MECHE_PAGE
jmp take_red_page
;=============================
; Take blue page
; or jolt the chair
;=============================
meche_take_blue_page:
lda DIRECTION
cmp #DIRECTION_W

View File

@ -4,15 +4,15 @@
.byte DIRECTION_S ; DIRECTION = $81
.byte OCTAGON_TEMPLE_CENTER ; LOCATION = $82
.byte (OCTAGON_PAGE|MECHE_PAGE|SELENA_PAGE|CHANNEL_PAGE)
.byte (OCTAGON_PAGE|MECHE_PAGE|SELENA_PAGE|CHANNEL_PAGE|STONEY_PAGE)
; RED_PAGES_TAKEN = $83
.byte (OCTAGON_PAGE|MECHE_PAGE|SELENA_PAGE|CHANNEL_PAGE)
.byte (OCTAGON_PAGE|MECHE_PAGE|SELENA_PAGE|CHANNEL_PAGE|STONEY_PAGE)
; BLUE_PAGES_TAKEN = $84
.byte $1
; CLOCK_BRIDGE = $85
.byte $1
; GEAR_OPEN = $86
.byte (MARKER_DOCK|MARKER_GEARS|MARKER_SPACESHIP|MARKER_GENERATOR|MARKER_CLOCK|MARKER_POOL|MARKER_TREE)
.byte (MARKER_DOCK|MARKER_GEARS|MARKER_SPACESHIP|MARKER_GENERATOR|MARKER_CLOCK|MARKER_POOL|MARKER_TREE|MARKER_DENTIST)
; MARKER_SWITCHES = $87
.byte $2
; CLOCK_HOUR = $88
@ -53,9 +53,9 @@
.byte $00 ; MECHE_LOCK4 = $A8
.byte $00 ; HOLDING_PAGE = $A9
.byte $4
.byte $5
; RED_PAGE_COUNT = $AA
.byte $4
.byte $5
; BLUE_PAGE_COUNT = $AB