mist: nibel: can now walk through the shack from both sides

This commit is contained in:
Vince Weaver 2020-08-16 23:18:31 -04:00
parent b5024bf0d0
commit cde11880d1
12 changed files with 92 additions and 15 deletions

View File

@ -480,6 +480,7 @@ NIBEL_SHACK_EXIT = 26
NIBEL_SHACK_CENTER = 27
NIBEL_SHACK_ENTRANCE = 28
NIBEL_SHACK_ENTRANCE_OPEN= 29
NIBEL_SHACK_DOOR_OPEN = 30
DENTIST_OUTSIDE = 0
DENTIST_OUTSIDE_OPEN = 1

View File

@ -15,6 +15,7 @@ nibel_graphics.inc: \
blue_path1_n.lzsa blue_path1_s.lzsa \
blue_path2_n.lzsa blue_path2_s.lzsa \
blue_path_2p25_n.lzsa blue_path_2p25_s.lzsa blue_path_2p25_e.lzsa \
blue_path_2p25_open_e.lzsa \
blue_path_2p5_n.lzsa blue_path_2p5_s.lzsa \
blue_path_2p75_n.lzsa blue_path_2p75_s.lzsa \
blue_path3_n.lzsa blue_path3_s.lzsa \
@ -28,7 +29,10 @@ nibel_graphics.inc: \
red_room_bed_w.lzsa red_room_bed_open_w.lzsa \
right_letter.lzsa \
shack_outside_n.lzsa shack_outside_s.lzsa \
shack_hallway_n.lzsa shack_hallway_s.lzsa
shack_hallway_n.lzsa shack_hallway_s.lzsa \
shack_exit_n.lzsa shack_exit_s.lzsa \
shack_center_n.lzsa shack_center_s.lzsa \
shack_entrance_n.lzsa shack_entrance_s.lzsa shack_entrance_open_n.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
@ -43,6 +47,7 @@ nibel_graphics.inc: \
echo "blue_path_2p25_n_lzsa: .incbin \"blue_path_2p25_n.lzsa\"" >> nibel_graphics.inc
echo "blue_path_2p25_s_lzsa: .incbin \"blue_path_2p25_s.lzsa\"" >> nibel_graphics.inc
echo "blue_path_2p25_e_lzsa: .incbin \"blue_path_2p25_e.lzsa\"" >> nibel_graphics.inc
echo "blue_path_2p25_open_e_lzsa: .incbin \"blue_path_2p25_open_e.lzsa\"" >> nibel_graphics.inc
echo "blue_path_2p5_n_lzsa: .incbin \"blue_path_2p5_n.lzsa\"" >> nibel_graphics.inc
echo "blue_path_2p5_s_lzsa: .incbin \"blue_path_2p5_s.lzsa\"" >> nibel_graphics.inc
echo "blue_path_2p75_n_lzsa: .incbin \"blue_path_2p75_n.lzsa\"" >> nibel_graphics.inc
@ -75,8 +80,13 @@ 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
echo "shack_exit_n_lzsa: .incbin \"shack_exit_n.lzsa\"" >> nibel_graphics.inc
echo "shack_exit_s_lzsa: .incbin \"shack_exit_s.lzsa\"" >> nibel_graphics.inc
echo "shack_center_n_lzsa: .incbin \"shack_center_n.lzsa\"" >> nibel_graphics.inc
echo "shack_center_s_lzsa: .incbin \"shack_center_s.lzsa\"" >> nibel_graphics.inc
echo "shack_entrance_n_lzsa: .incbin \"shack_entrance_n.lzsa\"" >> nibel_graphics.inc
echo "shack_entrance_open_n_lzsa: .incbin \"shack_entrance_open_n.lzsa\"" >> nibel_graphics.inc
echo "shack_entrance_s_lzsa: .incbin \"shack_entrance_s.lzsa\"" >> nibel_graphics.inc
%.gr: %.png
$(PNG2GR) $< $@

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 836 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 916 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 874 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 989 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 992 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 964 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 850 B

View File

@ -10,7 +10,7 @@ locations:
.word location16,location17,location18,location19
.word location20,location21,location22,location23
.word location24,location25,location26,location27
.word location28,location29
.word location28,location29,location30
; NIBEL_IN_ELEV2_TOP_CLOSED -- inside elevator2 at top, door closed
location0:
@ -371,18 +371,21 @@ location18:
location19:
.byte NIBEL_BLUE_PATH2 ; north exit
.byte NIBEL_BLUE_PATH_2P5 ; south exit
.byte $ff ; east exit
.byte NIBEL_SHACK_DOOR_OPEN ; east exit
.byte $ff ; west exit
.byte DIRECTION_N ; north exit_dir
.byte DIRECTION_S ; south exit_dir
.byte $ff ; east exit_dir
.byte DIRECTION_E ; east exit_dir
.byte $ff ; west exit_dir
.word blue_path_2p25_n_lzsa ; north bg
.word blue_path_2p25_s_lzsa ; south bg
.word blue_path_2p25_e_lzsa ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH|BG_EAST
.byte $ff
.byte DIRECTION_S ; special exit
.byte 11,29 ; special x
.byte 4,44 ; special y
.word handle_shack_door-1 ; special function
; NIBEL_BLUE_PATH_2P5 -- path 2.5 along the wall
location20:
@ -503,8 +506,8 @@ location26:
.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 shack_exit_n_lzsa ; north bg
.word shack_exit_s_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH
@ -520,8 +523,8 @@ location27:
.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 shack_center_n_lzsa ; north bg
.word shack_center_s_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH
@ -537,8 +540,8 @@ location28:
.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 shack_entrance_n_lzsa ; north bg
.word shack_entrance_s_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH
@ -554,9 +557,30 @@ location29:
.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 shack_entrance_open_n_lzsa ; north bg
.word shack_entrance_s_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH
.byte $ff
; NIBEL_SHACK_DOOR_OPEN -- open door to conference room
location30:
.byte NIBEL_BLUE_PATH2 ; north exit
.byte NIBEL_BLUE_PATH_2P5 ; 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 blue_path_2p25_n_lzsa ; north bg
.word blue_path_2p25_s_lzsa ; south bg
.word blue_path_2p25_open_e_lzsa ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH|BG_EAST
.byte DIRECTION_E ; special exit
.byte 11,27 ; special x
.byte 4,44 ; special y
.word scary_entrance-1 ; special function

View File

@ -19,6 +19,48 @@ goto_wall:
jmp change_location
scary_entrance:
lda #NIBEL_SHACK_ENTRANCE
sta LOCATION
lda #DIRECTION_S
sta DIRECTION
jsr change_location
lda #1
sta ANIMATE_FRAME
rts
handle_shack_door:
lda CURSOR_X
cmp #17
bcc face_door ; blt
cmp #26
bcc go_straight ; blt
; swing gate (26,27,28,29)
lda #1
sta ANIMATE_FRAME
rts
go_straight:
lda #NIBEL_BLUE_PATH_2P5
sta LOCATION
jmp change_location
face_door:
lda #DIRECTION_E
sta DIRECTION
jmp change_direction
;=============================
;=============================
; elevator2 handle pulled