mist: can raise clock bridge

This commit is contained in:
Vince Weaver 2020-03-07 13:42:04 -05:00
parent ece5581cee
commit 6d0211f1bb
8 changed files with 31 additions and 4 deletions

View File

@ -1,4 +1,25 @@
;======================
; raise bridge
raise_bridge:
ldy #LOCATION_SOUTH_EXIT
lda #26
sta location25,Y
ldy #LOCATION_SOUTH_EXIT_DIR
lda #DIRECTION_S
sta location25,Y
ldy #LOCATION_SOUTH_BG
lda #<clock_puzzle_bridge_lzsa
sta location25,Y
lda #>clock_puzzle_bridge_lzsa
sta location25+1,Y
jsr change_location
rts
;====================== ;======================
; draw the clock face ; draw the clock face
@ -89,6 +110,8 @@ bridge_adjust:
bit $C030 ; click speaker bit $C030 ; click speaker
jsr raise_bridge
clock_puzzle_done: clock_puzzle_done:
rts rts

View File

@ -38,7 +38,7 @@ mist_graphics.inc: \
tree4_n.lzsa tree4_s.lzsa tree4_w.lzsa \ tree4_n.lzsa tree4_s.lzsa tree4_w.lzsa \
tree_cabin_e.lzsa \ tree_cabin_e.lzsa \
clock_island_s.lzsa clock_island_n.lzsa \ clock_island_s.lzsa clock_island_n.lzsa \
clock_puzzle_s.lzsa \ clock_puzzle_s.lzsa clock_puzzle_bridge.lzsa \
clock_inside_s.lzsa \ clock_inside_s.lzsa \
fireplace_e.lzsa \ fireplace_e.lzsa \
in_fireplace_w.lzsa in_fireplace_door.lzsa in_fireplace_w.lzsa in_fireplace_door.lzsa
@ -100,6 +100,7 @@ mist_graphics.inc: \
echo "clock_island_s_lzsa: .incbin \"clock_island_s.lzsa\"" >> mist_graphics.inc echo "clock_island_s_lzsa: .incbin \"clock_island_s.lzsa\"" >> mist_graphics.inc
echo "clock_island_n_lzsa: .incbin \"clock_island_n.lzsa\"" >> mist_graphics.inc echo "clock_island_n_lzsa: .incbin \"clock_island_n.lzsa\"" >> mist_graphics.inc
echo "clock_puzzle_s_lzsa: .incbin \"clock_puzzle_s.lzsa\"" >> mist_graphics.inc echo "clock_puzzle_s_lzsa: .incbin \"clock_puzzle_s.lzsa\"" >> mist_graphics.inc
echo "clock_puzzle_bridge_lzsa: .incbin \"clock_puzzle_bridge.lzsa\"" >> mist_graphics.inc
echo "clock_inside_s_lzsa: .incbin \"clock_inside_s.lzsa\"" >> mist_graphics.inc echo "clock_inside_s_lzsa: .incbin \"clock_inside_s.lzsa\"" >> mist_graphics.inc
echo "fireplace_e_lzsa: .incbin \"fireplace_e.lzsa\"" >> mist_graphics.inc echo "fireplace_e_lzsa: .incbin \"fireplace_e.lzsa\"" >> mist_graphics.inc
echo "in_fireplace_w_lzsa: .incbin \"in_fireplace_w.lzsa\"" >> mist_graphics.inc echo "in_fireplace_w_lzsa: .incbin \"in_fireplace_w.lzsa\"" >> mist_graphics.inc

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 427 B

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 285 B

View File

@ -56,6 +56,7 @@ tree_cabin_e_lzsa: .incbin "tree_cabin_e.lzsa"
clock_island_s_lzsa: .incbin "clock_island_s.lzsa" clock_island_s_lzsa: .incbin "clock_island_s.lzsa"
clock_island_n_lzsa: .incbin "clock_island_n.lzsa" clock_island_n_lzsa: .incbin "clock_island_n.lzsa"
clock_puzzle_s_lzsa: .incbin "clock_puzzle_s.lzsa" clock_puzzle_s_lzsa: .incbin "clock_puzzle_s.lzsa"
clock_puzzle_bridge_lzsa: .incbin "clock_puzzle_bridge.lzsa"
clock_inside_s_lzsa: .incbin "clock_inside_s.lzsa" clock_inside_s_lzsa: .incbin "clock_inside_s.lzsa"
fireplace_e_lzsa: .incbin "fireplace_e.lzsa" fireplace_e_lzsa: .incbin "fireplace_e.lzsa"
in_fireplace_w_lzsa: .incbin "in_fireplace_w.lzsa" in_fireplace_w_lzsa: .incbin "in_fireplace_w.lzsa"

View File

@ -496,11 +496,11 @@ location24:
; clock puzzle ; clock puzzle
location25: location25:
.byte $ff ; north exit .byte $ff ; north exit
.byte 26 ; south exit .byte 18 ; south exit
.byte $ff ; east exit .byte $ff ; east exit
.byte $ff ; west exit .byte $ff ; west exit
.byte $ff ; north exit_dir .byte $ff ; north exit_dir
.byte DIRECTION_S ; south exit_dir .byte DIRECTION_N ; south exit_dir
.byte $ff ; east exit_dir .byte $ff ; east exit_dir
.byte $ff ; west exit_dir .byte $ff ; west exit_dir
.word $0000 ; north bg .word $0000 ; north bg

View File

@ -110,7 +110,9 @@ draw_pointer:
; see if inside special region ; see if inside special region
ldy #LOCATION_SPECIAL_EXIT ldy #LOCATION_SPECIAL_EXIT
lda (LOCATION_STRUCT_L),Y lda (LOCATION_STRUCT_L),Y
bmi finger_not_special bmi finger_not_special ; if $ff not special
cmp DIRECTION
bne finger_not_special ; only special if facing right way
; see if X1 < X < X2 ; see if X1 < X < X2
lda CURSOR_X lda CURSOR_X