diff --git a/mist/common_defines.inc b/mist/common_defines.inc index 00ac372a..b49e774a 100644 --- a/mist/common_defines.inc +++ b/mist/common_defines.inc @@ -343,6 +343,9 @@ STONEY_BLUE_HALFMESSAGE = 43 STONEY_CRAWLWAY_RIGHT = 44 STONEY_COMPASS_ROOM_RIGHT= 45 STONEY_COMPASS_ROSE_RIGHT= 46 +STONEY_CRAWLWAY_ENTRANCE_LEFT= 47 +STONEY_CRAWLWAY_ENTRANCE_RIGHT= 48 + ; Channely Wood CHANNEL_ARRIVAL = 0 diff --git a/mist/graphics_stoney/Makefile b/mist/graphics_stoney/Makefile index b58d61fb..6006fdf6 100644 --- a/mist/graphics_stoney/Makefile +++ b/mist/graphics_stoney/Makefile @@ -47,7 +47,8 @@ stoney_graphics.inc: \ right_tunnel1_n.lzsa right_tunnel1_s.lzsa \ right_tunnel2_n.lzsa right_tunnel2_s.lzsa right_tunnel2_w.lzsa \ right_airlock_n.lzsa right_airlock_s.lzsa right_airlock_open_n.lzsa \ - left_letter.lzsa + left_letter.lzsa \ + crawlway_entrance_e.lzsa echo "arrival_n_lzsa: .incbin \"arrival_n.lzsa\"" > stoney_graphics.inc echo "arrival_s_lzsa: .incbin \"arrival_s.lzsa\"" >> stoney_graphics.inc echo "arrival_e_lzsa: .incbin \"arrival_e.lzsa\"" >> stoney_graphics.inc @@ -135,9 +136,7 @@ stoney_graphics.inc: \ echo "right_airlock_s_lzsa: .incbin \"right_airlock_s.lzsa\"" >> stoney_graphics.inc echo "right_airlock_open_n_lzsa: .incbin \"right_airlock_open_n.lzsa\"" >> stoney_graphics.inc echo "left_letter_lzsa: .incbin \"left_letter.lzsa\"" >> stoney_graphics.inc - - - + echo "crawlway_entrance_e_lzsa: .incbin \"crawlway_entrance_e.lzsa\"" >> stoney_graphics.inc %.gr: %.png diff --git a/mist/graphics_stoney/crawlway_entrance_e.png b/mist/graphics_stoney/crawlway_entrance_e.png new file mode 100644 index 00000000..879b92fb Binary files /dev/null and b/mist/graphics_stoney/crawlway_entrance_e.png differ diff --git a/mist/graphics_stoney/right_tunnel2_n.png b/mist/graphics_stoney/right_tunnel2_n.png index 9aa55bf4..a2de526e 100644 Binary files a/mist/graphics_stoney/right_tunnel2_n.png and b/mist/graphics_stoney/right_tunnel2_n.png differ diff --git a/mist/leveldata_stoney.inc b/mist/leveldata_stoney.inc index f2b9aca3..abcfadfd 100644 --- a/mist/leveldata_stoney.inc +++ b/mist/leveldata_stoney.inc @@ -15,7 +15,8 @@ locations: .word location32,location33,location34,location35 .word location36,location37,location38,location39 .word location40,location41,location42,location43 - .word location44,location45,location46 + .word location44,location45,location46,location47 + .word location48 ; STONEY_ARRIVAL -- arrival at stoneship location0: @@ -509,7 +510,11 @@ location27: .word $0000 ; east bg .word left_tunnel2_w_lzsa ; west bg .byte BG_NORTH|BG_SOUTH|BG_WEST - .byte $ff + .byte DIRECTION_N + .byte 11,18 ; special x + .byte 22,44 ; special y + .word enter_crawlway_left-1 ; special function + ; STONEY_LEFT_AIRLOCK -- airlock to red room location28: @@ -603,11 +608,11 @@ location32: location33: .byte $ff ; north exit .byte $ff ; south exit - .byte STONEY_LEFT_TUNNEL2 ; east exit + .byte STONEY_CRAWLWAY_ENTRANCE_LEFT ; east exit .byte STONEY_COMPASS_ROOM_LEFT ; west exit .byte $ff ; north exit_dir .byte $ff ; south exit_dir - .byte DIRECTION_N ; east exit_dir + .byte DIRECTION_E ; east exit_dir .byte DIRECTION_W ; west exit_dir .word $0000 ; north bg .word $0000 ; south bg @@ -688,7 +693,10 @@ location37: .word right_tunnel2_w_lzsa ; east bg .word $0000 ; west bg .byte BG_NORTH|BG_SOUTH|BG_EAST - .byte $ff + .byte DIRECTION_N + .byte 24,30 ; special x + .byte 22,44 ; special y + .word enter_crawlway_right-1 ; special function ; STONEY_RIGHT_AIRLOCK -- airlock to blue room location38: @@ -803,11 +811,11 @@ location44: .byte $ff ; north exit .byte $ff ; south exit .byte STONEY_COMPASS_ROOM_RIGHT ; east exit - .byte STONEY_RIGHT_TUNNEL2 ; west exit + .byte STONEY_CRAWLWAY_ENTRANCE_RIGHT ; west exit .byte $ff ; north exit_dir .byte $ff ; south exit_dir .byte DIRECTION_N ; east exit_dir - .byte DIRECTION_N ; west exit_dir + .byte DIRECTION_W ; west exit_dir .word $0000 ; north bg .word $0000 ; south bg .word crawlway_w_lzsa ; east bg @@ -856,3 +864,37 @@ location46: .byte 0,46 ; special y .word view_compass_right-1 ; special function + +; STONEY_CRAWLWAY_ENTRANCE_LEFT -- left_crawlway_entrance +location47: + .byte STONEY_LEFT_AIRLOCK ; north exit + .byte STONEY_LEFT_TUNNEL1 ; south exit + .byte STONEY_LEFT_TUNNEL2 ; east exit + .byte STONEY_CRAWLWAY_LEFT ; west exit + .byte DIRECTION_N ; north exit_dir + .byte DIRECTION_S ; south exit_dir + .byte DIRECTION_N ; east exit_dir + .byte DIRECTION_W ; west exit_dir + .word left_tunnel2_n_lzsa ; north bg + .word left_tunnel2_s_lzsa ; south bg + .word crawlway_entrance_e_lzsa ; east bg + .word left_tunnel2_w_lzsa ; west bg + .byte BG_NORTH|BG_SOUTH|BG_WEST|BG_EAST + .byte $ff + +; STONEY_CRAWLWAY_ENTRANCE_RIGHT -- right crawlway entrance +location48: + .byte STONEY_RIGHT_AIRLOCK ; north exit + .byte STONEY_RIGHT_TUNNEL1 ; south exit + .byte STONEY_CRAWLWAY_RIGHT ; east exit + .byte STONEY_RIGHT_TUNNEL2 ; west exit + .byte DIRECTION_N ; north exit_dir + .byte DIRECTION_S ; south exit_dir + .byte DIRECTION_E ; east exit_dir + .byte DIRECTION_N ; west exit_dir + .word right_tunnel2_n_lzsa ; north bg + .word right_tunnel2_s_lzsa ; south bg + .word right_tunnel2_w_lzsa ; east bg + .word crawlway_entrance_e_lzsa ; west bg + .byte BG_NORTH|BG_SOUTH|BG_EAST|BG_WEST + .byte $ff diff --git a/mist/stoney_puzzles.s b/mist/stoney_puzzles.s index b1acd0b0..5f35a954 100644 --- a/mist/stoney_puzzles.s +++ b/mist/stoney_puzzles.s @@ -55,6 +55,8 @@ ; draw hatch as sprite + + ;================================== ; compass puzzle ;================================== @@ -62,6 +64,26 @@ compass_puzzle: rts + ;=================================== + ; crawlways + ;=================================== +enter_crawlway_left: + lda #STONEY_CRAWLWAY_ENTRANCE_LEFT + sta LOCATION + + lda #DIRECTION_W + sta DIRECTION + + jmp change_location + +enter_crawlway_right: + lda #STONEY_CRAWLWAY_ENTRANCE_RIGHT + sta LOCATION + + lda #DIRECTION_E + sta DIRECTION + + jmp change_location ;==========================