diff --git a/mist/common_defines.inc b/mist/common_defines.inc index b49e774a..7afb7e79 100644 --- a/mist/common_defines.inc +++ b/mist/common_defines.inc @@ -345,7 +345,9 @@ STONEY_COMPASS_ROOM_RIGHT= 45 STONEY_COMPASS_ROSE_RIGHT= 46 STONEY_CRAWLWAY_ENTRANCE_LEFT= 47 STONEY_CRAWLWAY_ENTRANCE_RIGHT= 48 - +STONEY_LIGHTHOUSE_SPIRAL= 49 +STONEY_TRUNK = 50 +STONEY_TRUNK_CLOSE = 51 ; Channely Wood CHANNEL_ARRIVAL = 0 diff --git a/mist/graphics_stoney/Makefile b/mist/graphics_stoney/Makefile index 6006fdf6..bc6e505f 100644 --- a/mist/graphics_stoney/Makefile +++ b/mist/graphics_stoney/Makefile @@ -48,7 +48,8 @@ stoney_graphics.inc: \ 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 \ - crawlway_entrance_e.lzsa + crawlway_entrance_e.lzsa \ + trunk_n.lzsa trunk_close_n.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 @@ -137,6 +138,9 @@ 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 + echo "trunk_n_lzsa: .incbin \"trunk_n.lzsa\"" >> stoney_graphics.inc + echo "trunk_close_n_lzsa: .incbin \"trunk_close_n.lzsa\"" >> stoney_graphics.inc + %.gr: %.png diff --git a/mist/leveldata_stoney.inc b/mist/leveldata_stoney.inc index a3b8ecc8..2a880a46 100644 --- a/mist/leveldata_stoney.inc +++ b/mist/leveldata_stoney.inc @@ -16,7 +16,7 @@ locations: .word location36,location37,location38,location39 .word location40,location41,location42,location43 .word location44,location45,location46,location47 - .word location48 + .word location48,location49,location50,location51 ; STONEY_ARRIVAL -- arrival at stoneship location0: @@ -109,11 +109,11 @@ location4: ; STONEY_LIGHTHOUSE_INSIDE -- lighthouse inside location5: - .byte $ff ; north exit - .byte $ff ; south exit - .byte STONEY_LIGHTHOUSE_UPSTAIRS; east exit - .byte STONEY_LIGHTHOUSE_DOOR ; west exit - .byte $ff ; north exit_dir + .byte STONEY_LIGHTHOUSE_SPIRAL ; north exit + .byte $ff ; south exit + .byte STONEY_LIGHTHOUSE_UPSTAIRS ; east exit + .byte STONEY_LIGHTHOUSE_DOOR ; west exit + .byte DIRECTION_N ; north exit_dir .byte $ff ; south exit_dir .byte DIRECTION_E ; east exit_dir .byte DIRECTION_W ; west exit_dir @@ -898,3 +898,59 @@ location48: .word crawlway_entrance_e_lzsa ; west bg .byte BG_NORTH|BG_SOUTH|BG_EAST|BG_WEST .byte $ff + +; STONEY_LIGHTHOUSE_SPIRAL -- stairs down to trunk +location49: + .byte STONEY_TRUNK ; north exit + .byte STONEY_LIGHTHOUSE_INSIDE ; south exit + .byte $ff ; east exit + .byte $ff ; west exit + .byte DIRECTION_N ; north exit_dir + .byte DIRECTION_N ; south exit_dir + .byte $ff ; east exit_dir + .byte $ff ; west exit_dir + .word lighthouse_inside_n_lzsa ; north bg + .word lighthouse_inside_n_lzsa ; south bg + .word $0000 ; east bg + .word $0000 ; west bg + .byte BG_NORTH|BG_SOUTH + .byte $ff + +; STONEY_LIGHTHOUSE_TRUNK -- trunk at bottom +location50: + .byte STONEY_LIGHTHOUSE_SPIRAL ; north exit + .byte $ff ; south exit + .byte $ff ; east exit + .byte $ff ; west exit + .byte DIRECTION_S ; north exit_dir + .byte $ff ; south exit_dir + .byte $ff ; east exit_dir + .byte $ff ; west exit_dir + .word trunk_n_lzsa ; north bg + .word $0000 ; south bg + .word $0000 ; east bg + .word $0000 ; west bg + .byte BG_NORTH + .byte DIRECTION_N ; special exit + .byte 8,23 ; special x + .byte 20,46 ; special y + .word goto_trunk-1 + +; STONEY_LIGHTHOUSE_TRUNK_CLOSE -- closeup of trunk +location51: + .byte STONEY_TRUNK ; north exit + .byte $ff ; south exit + .byte $ff ; east exit + .byte $ff ; west exit + .byte DIRECTION_N ; north exit_dir + .byte $ff ; south exit_dir + .byte $ff ; east exit_dir + .byte $ff ; west exit_dir + .word trunk_close_n_lzsa ; north bg + .word $0000 ; south bg + .word $0000 ; east bg + .word $0000 ; west bg + .byte BG_NORTH + .byte $ff + + diff --git a/mist/stoney_puzzles.s b/mist/stoney_puzzles.s index 90c961e2..2cec53b1 100644 --- a/mist/stoney_puzzles.s +++ b/mist/stoney_puzzles.s @@ -436,7 +436,7 @@ drain_tunnels: drain_lighthouse: ldy #LOCATION_NORTH_EXIT - lda #$ff ; FIXME + lda #STONEY_LIGHTHOUSE_SPIRAL sta location5,Y ; STONEY_LIGHTHOUSE_INSIDE jmp done_update_pump_state @@ -1396,3 +1396,15 @@ doorway2_water_list: .byte $62,18,5 .byte $62,17,6 .byte $ff,$ff,$ff + + + +;====================================== +; trunk +;====================================== + +goto_trunk: + lda #STONEY_TRUNK_CLOSE + sta LOCATION + + jmp change_location