diff --git a/mist/common_defines.inc b/mist/common_defines.inc index 00c76b59..1c11550a 100644 --- a/mist/common_defines.inc +++ b/mist/common_defines.inc @@ -410,5 +410,6 @@ NIBEL_RED_TABLE = 13 NIBEL_RED_TABLE_OPEN = 14 NIBEL_RED_BED = 15 NIBEL_RED_BED_OPEN = 16 +NIBEL_HALF_LETTER = 17 diff --git a/mist/graphics_nibel/Makefile b/mist/graphics_nibel/Makefile index 3baf178b..7732294f 100644 --- a/mist/graphics_nibel/Makefile +++ b/mist/graphics_nibel/Makefile @@ -19,7 +19,9 @@ nibel_graphics.inc: \ red_path1_e.lzsa red_path1_w.lzsa \ red_room_n.lzsa red_room_s.lzsa red_room_e.lzsa red_room_w.lzsa \ 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_table_s.lzsa red_room_table_open_s.lzsa \ + red_room_bed_w.lzsa red_room_bed_open_w.lzsa \ + right_letter.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 @@ -47,6 +49,10 @@ nibel_graphics.inc: \ echo "red_door_closed_w_lzsa: .incbin \"red_door_closed_w.lzsa\"" >> nibel_graphics.inc echo "red_room_table_s_lzsa: .incbin \"red_room_table_s.lzsa\"" >> nibel_graphics.inc echo "red_room_table_open_s_lzsa: .incbin \"red_room_table_open_s.lzsa\"" >> 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 + %.gr: %.png diff --git a/mist/graphics_nibel/red_room_bed_open_w.png b/mist/graphics_nibel/red_room_bed_open_w.png new file mode 100644 index 00000000..21bea254 Binary files /dev/null and b/mist/graphics_nibel/red_room_bed_open_w.png differ diff --git a/mist/graphics_nibel/red_room_bed_w.png b/mist/graphics_nibel/red_room_bed_w.png new file mode 100644 index 00000000..ab865fa9 Binary files /dev/null and b/mist/graphics_nibel/red_room_bed_w.png differ diff --git a/mist/graphics_nibel/red_room_note_w.png b/mist/graphics_nibel/red_room_note_w.png new file mode 100644 index 00000000..bc72ddb7 Binary files /dev/null and b/mist/graphics_nibel/red_room_note_w.png differ diff --git a/mist/graphics_nibel/right_letter.png b/mist/graphics_nibel/right_letter.png new file mode 100644 index 00000000..92d37dde Binary files /dev/null and b/mist/graphics_nibel/right_letter.png differ diff --git a/mist/graphics_nibel/viewer_pics.png b/mist/graphics_nibel/viewer_pics.png index 3845b448..79ece5c7 100644 Binary files a/mist/graphics_nibel/viewer_pics.png and b/mist/graphics_nibel/viewer_pics.png differ diff --git a/mist/leveldata_nibel.inc b/mist/leveldata_nibel.inc index 23a3ae97..b45cedfd 100644 --- a/mist/leveldata_nibel.inc +++ b/mist/leveldata_nibel.inc @@ -6,7 +6,8 @@ locations: .word location0, location1, location2, location3 .word location4, location5, location6, location7 .word location8, location9, location10,location11 - .word location12,location13,location14 + .word location12,location13,location14,location15 + .word location16,location17 ; NIBEL_IN_ELEV2_TOP_CLOSED -- inside elevator2 at top, door closed location0: @@ -236,11 +237,11 @@ location12: .byte $ff ; north exit .byte NIBEL_RED_TABLE ; south exit .byte NIBEL_RED_DOOR_CLOSED ; east exit - .byte $ff ; west exit + .byte NIBEL_RED_BED ; west exit .byte $ff ; north exit_dir .byte DIRECTION_S ; south exit_dir .byte DIRECTION_E ; east exit_dir - .byte $ff ; west exit_dir + .byte DIRECTION_W ; west exit_dir .word red_room_n_lzsa ; north bg .word red_room_s_lzsa ; south bg .word red_room_e_lzsa ; east bg @@ -288,3 +289,61 @@ location14: .byte 12,20 ; special x .byte 36,46 ; special y .word nibel_take_red_page-1 ; special function + +; NIBEL_RED_BED -- close up of bed +location15: + .byte $ff ; north exit + .byte $ff ; south exit + .byte $ff ; east exit + .byte NIBEL_RED_BED_OPEN ; west exit + .byte $ff ; north exit_dir + .byte $ff ; south exit_dir + .byte $ff ; east exit_dir + .byte DIRECTION_W ; west exit_dir + .word $0000 ; north bg + .word $0000 ; south bg + .word $0000 ; east bg + .word red_room_bed_w_lzsa ; west bg + .byte BG_WEST + .byte $ff ; special exit + +; NIBEL_RED_BED_OPEN -- bed drawer open +location16: + .byte $ff ; north exit + .byte $ff ; south exit + .byte $ff ; east exit + .byte NIBEL_RED_ROOM ; west exit + .byte $ff ; north exit_dir + .byte $ff ; south exit_dir + .byte $ff ; east exit_dir + .byte DIRECTION_W ; west exit_dir + .word $0000 ; north bg + .word $0000 ; south bg + .word $0000 ; east bg + .word red_room_bed_open_w_lzsa ; west bg + .byte BG_WEST + .byte DIRECTION_W ; special exit + .byte 17,24 ; special x + .byte 24,40 ; special y + .word nibel_view_torn_page-1 ; special function + +; NIBEL_HALF_LETTER -- right half of letter +location17: + .byte $ff ; north exit + .byte $ff ; south exit + .byte $ff ; east exit + .byte NIBEL_RED_ROOM ; west exit + .byte $ff ; north exit_dir + .byte $ff ; south exit_dir + .byte $ff ; east exit_dir + .byte DIRECTION_W ; west exit_dir + .word $0000 ; north bg + .word $0000 ; south bg + .word $0000 ; east bg + .word right_letter_lzsa ; west bg + .byte BG_WEST + .byte $ff ; special exit + + + + diff --git a/mist/nibel_switches.s b/mist/nibel_switches.s index 29d2ca40..3c1301a4 100644 --- a/mist/nibel_switches.s +++ b/mist/nibel_switches.s @@ -202,6 +202,17 @@ done_buttons: rts +nibel_view_torn_page: + + lda #NIBEL_HALF_LETTER + sta LOCATION + + jsr change_location + + bit SET_TEXT ; set text mode + + rts + ;============================= ; open the elevator door ;=============================