mist: sub: can get into sub again

This commit is contained in:
Vince Weaver 2020-08-01 23:44:46 -04:00
parent 0a0c4d31a4
commit d3e784d979
10 changed files with 232 additions and 55 deletions

View File

@ -260,14 +260,23 @@ SELENA_CRYSTAL_PATH2 = 46
; Submarine on Selena ; Submarine on Selena
SUB_BUNKER_ENTRY = 0 SUB_BUNKER_ENTRY = 0
SUB_HALLWAY = 1 SUB_HALLWAY = 1
SUB_ROOM = 2 SUB_HALLWAY2 = 2
SUB_INSIDE_SUB = 3 SUB_ROOM = 3
SUB_BOOK_HALLWAY = 4 SUB_CLOSE = 4
SUB_BOOK_ROOM = 5 SUB_CLOSE_OPEN = 5
SUB_BOOK_CLOSED = 6 SUB_INSIDE_BACK = 6
SUB_BOOK_OPEN = 7 SUB_INSIDE_BACK_OPEN = 7
SUB_HALLWAY2 = 8 SUB_INSIDE_FRONT_SELENA = 8
SUB_CLOSE = 9 SUB_INSIDE_FRONT_MOVING = 9
SUB_INSIDE_FRONT_BOOK = 10
SUB_OUTSIDE_BOOK = 11
SUB_OUTSIDE_BOOK_OPEN = 12
SUB_BOOK_HALLWAY = 13
SUB_BOOK_ROOM = 14
SUB_BOOK_CLOSED = 15
SUB_BOOK_OPEN = 16
; Viewer Room ; Viewer Room

View File

@ -18,7 +18,11 @@ sub_graphics.inc: \
bunker_entry_e.lzsa bunker_entry_w.lzsa \ bunker_entry_e.lzsa bunker_entry_w.lzsa \
sub_hallway_e.lzsa sub_hallway_w.lzsa \ sub_hallway_e.lzsa sub_hallway_w.lzsa \
sub_hallway2_e.lzsa sub_hallway2_w.lzsa \ sub_hallway2_e.lzsa sub_hallway2_w.lzsa \
sub_close_n.lzsa sub_close_s.lzsa sub_close_n.lzsa sub_close_s.lzsa \
sub_close_open_s.lzsa \
inside_sub_back_e.lzsa inside_sub_back_closed_s.lzsa \
inside_sub_back_selena_s.lzsa \
inside_sub_selena_e.lzsa
echo "subroom_s_lzsa: .incbin \"subroom_s.lzsa\"" > sub_graphics.inc echo "subroom_s_lzsa: .incbin \"subroom_s.lzsa\"" > sub_graphics.inc
echo "subroom_n_lzsa: .incbin \"subroom_n.lzsa\"" >> sub_graphics.inc echo "subroom_n_lzsa: .incbin \"subroom_n.lzsa\"" >> sub_graphics.inc
echo "book_table_s_lzsa: .incbin \"book_table_s.lzsa\"" >> sub_graphics.inc echo "book_table_s_lzsa: .incbin \"book_table_s.lzsa\"" >> sub_graphics.inc
@ -37,7 +41,11 @@ sub_graphics.inc: \
echo "book_hallway_s_lzsa: .incbin \"book_hallway_s.lzsa\"" >> sub_graphics.inc echo "book_hallway_s_lzsa: .incbin \"book_hallway_s.lzsa\"" >> sub_graphics.inc
echo "sub_close_n_lzsa: .incbin \"sub_close_n.lzsa\"" >> sub_graphics.inc echo "sub_close_n_lzsa: .incbin \"sub_close_n.lzsa\"" >> sub_graphics.inc
echo "sub_close_s_lzsa: .incbin \"sub_close_s.lzsa\"" >> sub_graphics.inc echo "sub_close_s_lzsa: .incbin \"sub_close_s.lzsa\"" >> sub_graphics.inc
echo "sub_close_open_s_lzsa: .incbin \"sub_close_open_s.lzsa\"" >> sub_graphics.inc
echo "inside_sub_back_e_lzsa: .incbin \"inside_sub_back_e.lzsa\"" >> sub_graphics.inc
echo "inside_sub_back_closed_s_lzsa: .incbin \"inside_sub_back_closed_s.lzsa\"" >> sub_graphics.inc
echo "inside_sub_back_selena_s_lzsa: .incbin \"inside_sub_back_selena_s.lzsa\"" >> sub_graphics.inc
echo "inside_sub_selena_e_lzsa: .incbin \"inside_sub_selena_e.lzsa\"" >> sub_graphics.inc
%.gr: %.png %.gr: %.png
$(PNG2GR) $< $@ $(PNG2GR) $< $@

Binary file not shown.

After

Width:  |  Height:  |  Size: 855 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 913 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -6,7 +6,9 @@
locations: locations:
.word location0, location1, location2, location3 .word location0, location1, location2, location3
.word location4, location5, location6, location7 .word location4, location5, location6, location7
.word location8, location9 .word location8, location9, location10,location11
.word location12,location13,location14,location15
.word location16
; SUB_BUNKER_ENTRY -- entryway inside bunker ; SUB_BUNKER_ENTRY -- entryway inside bunker
location0: location0:
@ -45,8 +47,25 @@ location1:
.byte BG_EAST|BG_WEST .byte BG_EAST|BG_WEST
.byte $ff .byte $ff
; SUB_ROOM -- sub room ; SUB_HALLWAY2 -- another hallway to the sub room
location2: location2:
.byte $ff ; north exit
.byte $ff ; south exit
.byte SUB_ROOM ; east exit
.byte SUB_HALLWAY ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_S ; east exit_dir
.byte DIRECTION_W ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word sub_hallway2_e_lzsa ; east bg
.word sub_hallway2_w_lzsa ; west bg
.byte BG_EAST|BG_WEST
.byte $ff
; SUB_ROOM -- sub room
location3:
.byte SUB_HALLWAY2 ; north exit .byte SUB_HALLWAY2 ; north exit
.byte SUB_CLOSE ; south exit .byte SUB_CLOSE ; south exit
.byte $ff ; east exit .byte $ff ; east exit
@ -62,8 +81,106 @@ location2:
.byte BG_SOUTH|BG_NORTH .byte BG_SOUTH|BG_NORTH
.byte $ff .byte $ff
; SUB_INSIDE_SUB -- inside the submarine ; SUB_CLOSE -- standing close to the sub
location3: location4:
.byte SUB_ROOM ; 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 sub_close_n_lzsa ; north bg
.word sub_close_s_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH
.byte DIRECTION_S
.byte 24,30 ; special x
.byte 10,18 ; special y
.word sub_selena_open-1 ; special function
; SUB_CLOSE_OPEN -- standing close to the sub, door open
location5:
.byte SUB_ROOM ; north exit
.byte SUB_INSIDE_BACK ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_N ; north exit_dir
.byte DIRECTION_E ; south exit_dir
.byte $ff ; east exit_dir
.byte $ff ; west exit_dir
.word sub_close_n_lzsa ; north bg
.word sub_close_open_s_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH
.byte DIRECTION_S
.byte 24,30 ; special x
.byte 10,18 ; special y
.word sub_selena_close-1 ; special function
; SUB_INSIDE_BACK -- inside the submarine, in the back
location6:
.byte $ff ; north exit
.byte $ff ; south exit
.byte SUB_INSIDE_FRONT_SELENA ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
.byte $ff ; west exit_dir
.word $0000 ; north bg
.word inside_sub_back_closed_s_lzsa ; south bg
.word inside_sub_back_e_lzsa ; east bg
.word $0000 ; west bg
.byte BG_SOUTH|BG_EAST
.byte DIRECTION_S
.byte 9,12 ; special x
.byte 18,26 ; special y
.word sub_door_selena_open-1 ; special function
; SUB_INSIDE_BACK_OPEN -- inside the submarine, in the back, door open
location7:
.byte $ff ; north exit
.byte SUB_CLOSE_OPEN ; south exit
.byte SUB_INSIDE_FRONT_SELENA ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte DIRECTION_N ; south exit_dir
.byte DIRECTION_E ; east exit_dir
.byte $ff ; west exit_dir
.word $0000 ; north bg
.word inside_sub_back_selena_s_lzsa ; south bg
.word inside_sub_back_e_lzsa ; east bg
.word $0000 ; west bg
.byte BG_SOUTH|BG_EAST
.byte DIRECTION_S
.byte 9,12 ; special x
.byte 18,26 ; special y
.word sub_door_close-1 ; special function
; SUB_INSIDE_FRONT_SELENA -- inside the submarine front, at selena side
location8:
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte SUB_INSIDE_BACK ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
.byte DIRECTION_S ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word inside_sub_selena_e_lzsa ; east bg
.word inside_sub_w_lzsa ; west bg
.byte BG_EAST|BG_WEST
.byte $ff
; SUB_INSIDE_FRONT_MOVING -- inside the submarine front, when "moving"
location9:
.byte $ff ; north exit .byte $ff ; north exit
.byte $ff ; south exit .byte $ff ; south exit
.byte $ff ; east exit .byte $ff ; east exit
@ -79,9 +196,61 @@ location3:
.byte BG_EAST|BG_WEST .byte BG_EAST|BG_WEST
.byte $ff .byte $ff
; SUB_INSIDE_FRONT_BOOK -- inside the submarine front, at book area
location10:
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte SUB_BOOK_HALLWAY ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
.byte DIRECTION_S ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word inside_sub_e_lzsa ; east bg
.word inside_sub_w_lzsa ; west bg
.byte BG_EAST|BG_WEST
.byte $ff
; SUB_OUTSIDE_BOOK -- outside sub in book area
location11:
.byte $ff ; north exit
.byte SUB_BOOK_ROOM ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_E ; north exit_dir
.byte DIRECTION_S ; south exit_dir
.byte $ff ; east exit_dir
.byte $ff ; west exit_dir
.word book_hallway_n_lzsa ; north bg
.word book_hallway_s_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH
.byte $ff
; SUB_OUTSIDE_BOOK_OPEN -- outside sub in book area, door open
location12:
.byte $ff ; north exit
.byte SUB_BOOK_ROOM ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_E ; north exit_dir
.byte DIRECTION_S ; south exit_dir
.byte $ff ; east exit_dir
.byte $ff ; west exit_dir
.word book_hallway_n_lzsa ; north bg
.word book_hallway_s_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH
.byte $ff
; SUB_BOOK_HALLWAY -- hallway to the book room ; SUB_BOOK_HALLWAY -- hallway to the book room
location4: location13:
.byte SUB_INSIDE_SUB ; north exit .byte $ff ; north exit
.byte SUB_BOOK_ROOM ; south exit .byte SUB_BOOK_ROOM ; south exit
.byte $ff ; east exit .byte $ff ; east exit
.byte $ff ; west exit .byte $ff ; west exit
@ -97,7 +266,7 @@ location4:
.byte $ff .byte $ff
; SELENA_BOOK_ROOM -- book room ; SELENA_BOOK_ROOM -- book room
location5: location14:
.byte SUB_BOOK_HALLWAY ; north exit .byte SUB_BOOK_HALLWAY ; north exit
.byte SUB_BOOK_CLOSED ; south exit .byte SUB_BOOK_CLOSED ; south exit
.byte $ff ; east exit .byte $ff ; east exit
@ -114,7 +283,7 @@ location5:
.byte $ff .byte $ff
; SUB_BOOK_CLOSED -- book ; SUB_BOOK_CLOSED -- book
location6: location15:
.byte $ff ; north exit .byte $ff ; north exit
.byte SUB_BOOK_OPEN ; south exit .byte SUB_BOOK_OPEN ; south exit
.byte $ff ; east exit .byte $ff ; east exit
@ -131,7 +300,7 @@ location6:
.byte $ff .byte $ff
; SUB_BOOK_OPEN -- mist book open ; SUB_BOOK_OPEN -- mist book open
location7: location16:
.byte $ff ; north exit .byte $ff ; north exit
.byte SUB_BOOK_ROOM ; south exit .byte SUB_BOOK_ROOM ; south exit
.byte $ff ; east exit .byte $ff ; east exit
@ -149,39 +318,3 @@ location7:
.byte 24,32 ; special x .byte 24,32 ; special x
.byte 12,22 ; special y .byte 12,22 ; special y
.word mist_link_book-1 ; special function .word mist_link_book-1 ; special function
; SUB_HALLWAY2 -- another hallway to the sub room
location8:
.byte $ff ; north exit
.byte $ff ; south exit
.byte SUB_ROOM ; east exit
.byte SUB_HALLWAY ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_S ; east exit_dir
.byte DIRECTION_W ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word sub_hallway2_e_lzsa ; east bg
.word sub_hallway2_w_lzsa ; west bg
.byte BG_EAST|BG_WEST
.byte $ff
; SUB_CLOSE -- standing close to the sub
location9:
.byte SUB_ROOM ; 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 sub_close_n_lzsa ; north bg
.word sub_close_s_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH
.byte $ff

View File

@ -193,6 +193,33 @@ mist_book_good:
done_animate_mist_book: done_animate_mist_book:
jmp nothing_special jmp nothing_special
sub_selena_open:
lda #SUB_CLOSE_OPEN
sta LOCATION
jmp change_location
sub_selena_close:
lda #SUB_CLOSE
sta LOCATION
jmp change_location
sub_door_selena_open:
lda #SUB_INSIDE_BACK_OPEN
sta LOCATION
jmp change_location
sub_door_close:
lda #SUB_INSIDE_BACK
sta LOCATION
jmp change_location
;========================== ;==========================
; includes ; includes
;========================== ;==========================