diff --git a/mist/common_defines.inc b/mist/common_defines.inc index 8f3ffb81..f5593efc 100644 --- a/mist/common_defines.inc +++ b/mist/common_defines.inc @@ -473,7 +473,13 @@ NIBEL_BLUE_PATH_2P25 = 19 NIBEL_BLUE_PATH_2P5 = 20 NIBEL_BLUE_PATH_2P75 = 21 NIBEL_BLUE_HOUSE_DOOR = 22 -NIBEL_BLUE_HOUSE_DOOR_OPEN = 23 +NIBEL_BLUE_HOUSE_DOOR_OPEN= 23 +NIBEL_SHACK_OUTSIDE = 24 +NIBEL_SHACK_HALLWAY = 25 +NIBEL_SHACK_EXIT = 26 +NIBEL_SHACK_CENTER = 27 +NIBEL_SHACK_ENTRANCE = 28 +NIBEL_SHACK_ENTRANCE_OPEN= 29 DENTIST_OUTSIDE = 0 DENTIST_OUTSIDE_OPEN = 1 diff --git a/mist/graphics_nibel/Makefile b/mist/graphics_nibel/Makefile index a2900ce3..aae5bce9 100644 --- a/mist/graphics_nibel/Makefile +++ b/mist/graphics_nibel/Makefile @@ -26,7 +26,9 @@ nibel_graphics.inc: \ red_door_e.lzsa red_door_closed_w.lzsa red_door_open_w.lzsa \ red_room_table_s.lzsa red_room_table_open_s.lzsa \ red_room_bed_w.lzsa red_room_bed_open_w.lzsa \ - right_letter.lzsa + right_letter.lzsa \ + shack_outside_n.lzsa shack_outside_s.lzsa \ + shack_hallway_n.lzsa shack_hallway_s.lzsa echo "elevator2_open_top_lzsa: .incbin \"elevator2_open_top.lzsa\"" > nibel_graphics.inc echo "elevator2_closed_top_lzsa: .incbin \"elevator2_closed_top.lzsa\"" >> nibel_graphics.inc echo "outside_elevator2_e_lzsa: .incbin \"outside_elevator2_e.lzsa\"" >> nibel_graphics.inc @@ -69,6 +71,10 @@ nibel_graphics.inc: \ echo "red_room_bed_w_lzsa: .incbin \"red_room_bed_w.lzsa\"" >> nibel_graphics.inc echo "red_room_bed_open_w_lzsa: .incbin \"red_room_bed_open_w.lzsa\"" >> nibel_graphics.inc echo "right_letter_lzsa: .incbin \"right_letter.lzsa\"" >> nibel_graphics.inc + echo "shack_outside_n_lzsa: .incbin \"shack_outside_n.lzsa\"" >> nibel_graphics.inc + echo "shack_outside_s_lzsa: .incbin \"shack_outside_s.lzsa\"" >> nibel_graphics.inc + echo "shack_hallway_n_lzsa: .incbin \"shack_hallway_n.lzsa\"" >> nibel_graphics.inc + echo "shack_hallway_s_lzsa: .incbin \"shack_hallway_s.lzsa\"" >> nibel_graphics.inc diff --git a/mist/graphics_nibel/blue_house_door_open_s.png b/mist/graphics_nibel/blue_house_door_open_s.png index f948b2fd..3c971f15 100644 Binary files a/mist/graphics_nibel/blue_house_door_open_s.png and b/mist/graphics_nibel/blue_house_door_open_s.png differ diff --git a/mist/graphics_nibel/blue_house_door_s.png b/mist/graphics_nibel/blue_house_door_s.png index 5bacdaf7..b96a73b8 100644 Binary files a/mist/graphics_nibel/blue_house_door_s.png and b/mist/graphics_nibel/blue_house_door_s.png differ diff --git a/mist/graphics_nibel/shack_hallway_n.png b/mist/graphics_nibel/shack_hallway_n.png new file mode 100644 index 00000000..7947946a Binary files /dev/null and b/mist/graphics_nibel/shack_hallway_n.png differ diff --git a/mist/graphics_nibel/shack_hallway_s.png b/mist/graphics_nibel/shack_hallway_s.png new file mode 100644 index 00000000..043e8db3 Binary files /dev/null and b/mist/graphics_nibel/shack_hallway_s.png differ diff --git a/mist/graphics_nibel/shack_outside_n.png b/mist/graphics_nibel/shack_outside_n.png new file mode 100644 index 00000000..98fb4298 Binary files /dev/null and b/mist/graphics_nibel/shack_outside_n.png differ diff --git a/mist/graphics_nibel/shack_outside_s.png b/mist/graphics_nibel/shack_outside_s.png new file mode 100644 index 00000000..cf446ce0 Binary files /dev/null and b/mist/graphics_nibel/shack_outside_s.png differ diff --git a/mist/leveldata_nibel.inc b/mist/leveldata_nibel.inc index 56566eec..55f760d7 100644 --- a/mist/leveldata_nibel.inc +++ b/mist/leveldata_nibel.inc @@ -9,6 +9,8 @@ locations: .word location12,location13,location14,location15 .word location16,location17,location18,location19 .word location20,location21,location22,location23 + .word location24,location25,location26,location27 + .word location28,location29 ; NIBEL_IN_ELEV2_TOP_CLOSED -- inside elevator2 at top, door closed location0: @@ -140,7 +142,10 @@ location6: .word $0000 ; east bg .word $0000 ; west bg .byte BG_NORTH|BG_SOUTH - .byte $ff + .byte DIRECTION_N ; special exit + .byte 23,35 ; special x + .byte 6,42 ; special y + .word goto_shack_outside-1 ; special function ; NIBEL_BLUE_ROOM -- blue house location7: @@ -411,7 +416,10 @@ location21: .word $0000 ; east bg .word $0000 ; west bg .byte BG_NORTH|BG_SOUTH - .byte $ff + .byte DIRECTION_S ; special exit + .byte 5,16 ; special x + .byte 6,42 ; special y + .word goto_shack_outside-1 ; special function ; NIBEL_BLUE_HOUSE_DOOR -- door outside blue house location22: @@ -430,7 +438,7 @@ location22: .byte BG_NORTH|BG_SOUTH .byte $ff -; NIBEL_BLUE_PATH_2P75 -- blue house door, open +; NIBEL_BLUE_HOUSE_DOOR_OPEN -- blue house door, open location23: .byte NIBEL_BLUE_PATH3 ; north exit .byte NIBEL_BLUE_ROOM ; south exit @@ -444,10 +452,111 @@ location23: .word blue_house_door_open_s_lzsa ; south bg .word $0000 ; east bg .word $0000 ; west bg + .byte BG_NORTH|BG_SOUTH + .byte $ff ; special function + +; NIBEL_SHACK_OUTSIDE -- outside the weird shack +location24: + .byte NIBEL_SHACK_HALLWAY ; north exit + .byte NIBEL_BLUE_PATH3 ; south exit + .byte $ff ; east exit + .byte $ff ; west exit + .byte DIRECTION_N ; north exit_dir + .byte DIRECTION_S ; south exit_dir + .byte $ff ; east exit_dir + .byte $ff ; west exit_dir + .word shack_outside_n_lzsa ; north bg + .word shack_outside_s_lzsa ; south bg + .word $0000 ; east bg + .word $0000 ; west bg + .byte BG_NORTH|BG_SOUTH + .byte DIRECTION_S ; special exit + .byte 23,35 ; special x + .byte 6,42 ; special y + .word goto_wall-1 ; special function + + +; NIBEL_SHACK_HALLWAY -- outside the weird shack, in the hallway +location25: + .byte NIBEL_SHACK_EXIT ; north exit + .byte NIBEL_SHACK_OUTSIDE ; south exit + .byte $ff ; east exit + .byte $ff ; west exit + .byte DIRECTION_N ; north exit_dir + .byte DIRECTION_S ; south exit_dir + .byte $ff ; east exit_dir + .byte $ff ; west exit_dir + .word shack_hallway_n_lzsa ; north bg + .word shack_hallway_s_lzsa ; south bg + .word $0000 ; east bg + .word $0000 ; west bg .byte BG_NORTH|BG_SOUTH .byte $ff +; NIBEL_SHACK_EXIT -- exit of the weird shack +location26: + .byte NIBEL_SHACK_CENTER ; north exit + .byte NIBEL_SHACK_HALLWAY ; south exit + .byte $ff ; east exit + .byte $ff ; west exit + .byte DIRECTION_N ; north exit_dir + .byte DIRECTION_S ; south exit_dir + .byte $ff ; east exit_dir + .byte $ff ; west exit_dir + .word shack_hallway_n_lzsa ; north bg + .word shack_hallway_s_lzsa ; south bg + .word $0000 ; east bg + .word $0000 ; west bg + .byte BG_NORTH|BG_SOUTH + .byte $ff +; NIBEL_SHACK_CENTER -- center of the weird shack +location27: + .byte NIBEL_SHACK_ENTRANCE ; north exit + .byte NIBEL_SHACK_EXIT ; south exit + .byte $ff ; east exit + .byte $ff ; west exit + .byte DIRECTION_N ; north exit_dir + .byte DIRECTION_S ; south exit_dir + .byte $ff ; east exit_dir + .byte $ff ; west exit_dir + .word shack_hallway_n_lzsa ; north bg + .word shack_hallway_s_lzsa ; south bg + .word $0000 ; east bg + .word $0000 ; west bg + .byte BG_NORTH|BG_SOUTH + .byte $ff +; NIBEL_SHACK_ENTRANCE -- entranceway of the weird shack +location28: + .byte NIBEL_SHACK_ENTRANCE_OPEN ; north exit + .byte NIBEL_SHACK_CENTER ; south exit + .byte $ff ; east exit + .byte $ff ; west exit + .byte DIRECTION_N ; north exit_dir + .byte DIRECTION_S ; south exit_dir + .byte $ff ; east exit_dir + .byte $ff ; west exit_dir + .word shack_hallway_n_lzsa ; north bg + .word shack_hallway_s_lzsa ; south bg + .word $0000 ; east bg + .word $0000 ; west bg + .byte BG_NORTH|BG_SOUTH + .byte $ff - +; NIBEL_SHACK_ENTRANCE_OPEN -- entranceway of the weird shack, door open +location29: + .byte NIBEL_BLUE_PATH_2P25 ; north exit + .byte NIBEL_SHACK_CENTER ; south exit + .byte $ff ; east exit + .byte $ff ; west exit + .byte DIRECTION_N ; north exit_dir + .byte DIRECTION_S ; south exit_dir + .byte $ff ; east exit_dir + .byte $ff ; west exit_dir + .word shack_hallway_n_lzsa ; north bg + .word shack_hallway_s_lzsa ; south bg + .word $0000 ; east bg + .word $0000 ; west bg + .byte BG_NORTH|BG_SOUTH + .byte $ff diff --git a/mist/nibel_switches.s b/mist/nibel_switches.s index e34d7b0e..ad6d82d4 100644 --- a/mist/nibel_switches.s +++ b/mist/nibel_switches.s @@ -1,20 +1,39 @@ +goto_shack_outside: + lda #NIBEL_SHACK_OUTSIDE + sta LOCATION + + lda #DIRECTION_N + sta DIRECTION + + jmp change_location + +goto_wall: + lda #NIBEL_BLUE_PATH_2P75 + sta LOCATION + + lda #DIRECTION_N + sta DIRECTION + + jmp change_location + + ;============================= ;============================= ; elevator2 handle pulled ;============================= ;============================= - -; FIXME: check for water power ; FIXME: animate elevator2_handle: ; click speaker bit SPEAKER - ; check for water power + ; check for water power? + ; in theory can't get here unless there is water power + ; so assume it is still active lda #ARBOR_INSIDE_ELEV2_CLOSED sta LOCATION