mist: selenetic: can get to the antenna island and back

This commit is contained in:
Vince Weaver 2020-05-29 14:35:13 -04:00
parent b038fdf685
commit 01bee14480
22 changed files with 341 additions and 11 deletions

View File

@ -6,9 +6,7 @@ main:
+ allow opening/grabbing white page
octagon_room:
+ blue book
+ full text on brothers
+ books
+ fireplace book
+ in tower could have extra window open/closed far backgrounds
+ turning when looking at hint loses the text mode
+ final puzzle in fireplace
@ -36,9 +34,10 @@ SELENA age:
+ optional mockingboard sound for keyboard?
+ Complicated age with sounds
+ That whole rediculous underground cart sequence
+ turn around and look back in tunnel
+ whole way to tower thing
+ implement enough to get pages
+ turn around and look back inside bunker
+ light switch in tunnel
+ antenna compartment should open/close when you click on it
+ better colors
Channelwood:
+ Implement safe

View File

@ -226,6 +226,23 @@ SELENA_SPACESHIP_PATH = 26
SELENA_BEFORE_CRYSTALS = 27
SELENA_TUNNEL_STEPS = 28
SELENA_TUNNEL_PATH = 29
SELENA_TUNNEL_MAINLAND = 30
SELENA_TUNNEL_MAIN_CLOSE= 31
SELENA_TUNNEL_MAIN_TOP = 32
SELENA_TUNNEL_MAIN_MID = 33
SELENA_TUNNEL_BASEMENT = 34
SELENA_TUNNEL = 35
SELENA_ANTENNA_BASEMENT = 36
SELENA_ANTENNA_MID = 37
SELENA_ANTENNA_TOP = 38
SELENA_ANTENNA_TUNNEL = 39
SELENA_ANTENNA_STEPS = 40
SELENA_ANTENNA = 41
SELENA_ANTENNA_OPEN = 42
SELENA_ANTENNA_CLOSE = 43
; Viewer Room

View File

@ -39,7 +39,15 @@ selena_graphics.inc: \
spaceship_path_n.lzsa spaceship_path_s.lzsa \
before_crystals_w.lzsa before_crystals_e.lzsa \
tunnel_steps_e.lzsa tunnel_steps_w.lzsa \
tunnel_path_s.lzsa tunnel_path_n.lzsa tunnel_path_w.lzsa
tunnel_path_s.lzsa tunnel_path_n.lzsa tunnel_path_w.lzsa \
antenna_close_w.lzsa antenna_open_w.lzsa \
antenna_w.lzsa antenna_e.lzsa \
antenna_steps_n.lzsa antenna_steps_s.lzsa \
antenna_tunnel_w.lzsa antenna_tunnel_e.lzsa \
ladder_top.lzsa ladder_middle.lzsa ladder_bottom.lzsa \
tunnel_e.lzsa tunnel_w.lzsa tunnel_basement.lzsa \
tunnel_note_n.lzsa \
tunnel_main_n.lzsa tunnel_main_s.lzsa
echo "controls_e_lzsa: .incbin \"controls_e.lzsa\"" > selena_graphics.inc
echo "organ_w_lzsa: .incbin \"organ_w.lzsa\"" >> selena_graphics.inc
echo "spaceship_inside_w_lzsa: .incbin \"spaceship_inside_w.lzsa\"" >> selena_graphics.inc
@ -102,6 +110,23 @@ selena_graphics.inc: \
echo "tunnel_path_n_lzsa: .incbin \"tunnel_path_n.lzsa\"" >> selena_graphics.inc
echo "tunnel_path_s_lzsa: .incbin \"tunnel_path_s.lzsa\"" >> selena_graphics.inc
echo "tunnel_path_w_lzsa: .incbin \"tunnel_path_w.lzsa\"" >> selena_graphics.inc
echo "antenna_open_w_lzsa: .incbin \"antenna_open_w.lzsa\"" >> selena_graphics.inc
echo "antenna_close_w_lzsa: .incbin \"antenna_close_w.lzsa\"" >> selena_graphics.inc
echo "antenna_w_lzsa: .incbin \"antenna_w.lzsa\"" >> selena_graphics.inc
echo "antenna_e_lzsa: .incbin \"antenna_e.lzsa\"" >> selena_graphics.inc
echo "antenna_steps_n_lzsa: .incbin \"antenna_steps_n.lzsa\"" >> selena_graphics.inc
echo "antenna_steps_s_lzsa: .incbin \"antenna_steps_s.lzsa\"" >> selena_graphics.inc
echo "antenna_tunnel_w_lzsa: .incbin \"antenna_tunnel_w.lzsa\"" >> selena_graphics.inc
echo "antenna_tunnel_e_lzsa: .incbin \"antenna_tunnel_e.lzsa\"" >> selena_graphics.inc
echo "ladder_middle_lzsa: .incbin \"ladder_middle.lzsa\"" >> selena_graphics.inc
echo "ladder_top_lzsa: .incbin \"ladder_top.lzsa\"" >> selena_graphics.inc
echo "ladder_bottom_lzsa: .incbin \"ladder_bottom.lzsa\"" >> selena_graphics.inc
echo "tunnel_e_lzsa: .incbin \"tunnel_e.lzsa\"" >> selena_graphics.inc
echo "tunnel_w_lzsa: .incbin \"tunnel_w.lzsa\"" >> selena_graphics.inc
echo "tunnel_basement_lzsa: .incbin \"tunnel_basement.lzsa\"" >> selena_graphics.inc
echo "tunnel_note_n_lzsa: .incbin \"tunnel_note_n.lzsa\"" >> selena_graphics.inc
echo "tunnel_main_n_lzsa: .incbin \"tunnel_main_n.lzsa\"" >> selena_graphics.inc
echo "tunnel_main_s_lzsa: .incbin \"tunnel_main_s.lzsa\"" >> selena_graphics.inc
%.gr: %.png
$(PNG2GR) $< $@
@ -112,4 +137,4 @@ selena_graphics.inc: \
####
clean:
rm -f *~ *.o *.lst *.gr selena_graphics.inc
rm -f *~ *.o *.lst *.gr *.lzsa selena_graphics.inc

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 863 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 886 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 847 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1017 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1014 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 873 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 838 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 809 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 675 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 996 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 893 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 929 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 657 B

View File

@ -11,7 +11,11 @@ locations:
.word location16,location17,location18,location19
.word location20,location21,location22,location23
.word location24,location25,location26,location27
.word location28,location29
.word location28,location29,location30,location31
.word location32,location33,location34,location35
.word location36,location37,location38,location39
.word location40,location41,location42,location43
; SELENA_INSIDE_SHIP -- Inside Ship
location0:
@ -529,11 +533,11 @@ location28:
; SELENA_TUNNEL_PATH -- path near tunnel
location29:
.byte $ff ; north exit
.byte SELENA_TUNNEL_MAINLAND ; north exit
.byte SELENA_TUNNEL_STEPS ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte DIRECTION_N ; north exit_dir
.byte DIRECTION_W ; south exit_dir
.byte $ff ; east exit_dir
.byte $ff ; west exit_dir
@ -543,3 +547,261 @@ location29:
.word tunnel_path_w_lzsa ; west bg
.byte BG_NORTH|BG_SOUTH|BG_WEST
.byte $ff
; SELENA_TUNNEL_MAINLAND -- mainland tunnel entrance
location30:
.byte SELENA_TUNNEL_MAIN_CLOSE; north exit
.byte SELENA_TUNNEL_STEPS ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_N ; north exit_dir
.byte DIRECTION_W ; south exit_dir
.byte $ff ; east exit_dir
.byte $ff ; west exit_dir
.word tunnel_main_n_lzsa ; north bg
.word tunnel_main_s_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH
.byte DIRECTION_N ; special exit
.byte 12,28 ; special x
.byte 24,46 ; special y
.word tunnel_main_down-1 ; special function
; SELENA_TUNNEL_MAIN_CLOSE -- note panel on the tunnel
location31:
.byte SELENA_TUNNEL_MAINLAND ; 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 tunnel_note_n_lzsa ; north bg
.word $0000 ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH
.byte $ff
; SELENA_TUNNEL_MAIN_TOP -- top of the ladder
location32:
.byte $ff ; north exit
.byte $ff ; south exit
.byte SELENA_TUNNEL_MAINLAND ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_N ; east exit_dir
.byte $ff ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word ladder_top_lzsa ; east bg
.word $0000 ; west bg
.byte BG_EAST
.byte DIRECTION_E ; special exit
.byte 12,28 ; special x
.byte 24,46 ; special y
.word tunnel_main_top_down-1 ; special function
; SELENA_TUNNEL_MAIN_MID -- middle of ladder
location33:
.byte $ff ; north exit
.byte $ff ; south exit
.byte SELENA_TUNNEL_MAIN_TOP ; 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 $0000 ; south bg
.word ladder_middle_lzsa ; east bg
.word $0000 ; west bg
.byte BG_EAST
.byte DIRECTION_E ; special exit
.byte 12,28 ; special x
.byte 24,46 ; special y
.word tunnel_main_mid_down-1 ; special function
; SELENA_TUNNEL_BASEMENT -- bottom of ladder
location34:
.byte $ff ; north exit
.byte $ff ; south exit
.byte SELENA_TUNNEL_MAIN_MID ; east exit
.byte SELENA_TUNNEL ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
.byte DIRECTION_W ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word ladder_bottom_lzsa ; east bg
.word tunnel_basement_lzsa ; west bg
.byte BG_EAST|BG_WEST
.byte $ff
; SELENA_TUNNEL -- middle of tunnel (dark for now)
location35:
.byte $ff ; north exit
.byte $ff ; south exit
.byte SELENA_TUNNEL_BASEMENT ; east exit
.byte SELENA_ANTENNA_BASEMENT ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
.byte DIRECTION_W ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word tunnel_e_lzsa ; east bg
.word tunnel_w_lzsa ; west bg
.byte BG_EAST|BG_WEST
.byte $ff
; SELENA_ANTENNA_BASEMENT -- basement near antenna
location36:
.byte $ff ; north exit
.byte $ff ; south exit
.byte SELENA_TUNNEL ; east exit
.byte SELENA_ANTENNA_MID ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
.byte DIRECTION_E ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word tunnel_basement_lzsa ; east bg
.word ladder_bottom_lzsa ; west bg
.byte BG_EAST|BG_WEST
.byte $ff
; SELENA_ANTENNA_MID -- antenna ladder, mid
location37:
.byte $ff ; north exit
.byte $ff ; south exit
.byte SELENA_ANTENNA_TOP ; 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 $0000 ; south bg
.word ladder_middle_lzsa ; east bg
.word $0000 ; west bg
.byte BG_EAST
.byte DIRECTION_E ; special exit
.byte 12,28 ; special x
.byte 24,46 ; special y
.word antenna_mid_down-1 ; special function
; SELENA_ANTENNA_TOP -- staring down ladder near antenna
location38:
.byte $ff ; north exit
.byte $ff ; south exit
.byte SELENA_ANTENNA_TUNNEL ; 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 $0000 ; south bg
.word ladder_top_lzsa ; east bg
.word $0000 ; west bg
.byte BG_EAST
.byte DIRECTION_E ; special exit
.byte 12,28 ; special x
.byte 24,46 ; special y
.word antenna_mid_down-1 ; special function
; SELENA_ANTENNA_TUNNEL -- top of ladder near antenna
location39:
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte SELENA_ANTENNA_STEPS ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
.byte DIRECTION_N ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word antenna_tunnel_e_lzsa ; east bg
.word antenna_tunnel_w_lzsa ; west bg
.byte BG_EAST|BG_WEST
.byte DIRECTION_E ; special exit
.byte 12,28 ; special x
.byte 24,46 ; special y
.word antenna_down-1 ; special function
; SELENA_ANTENNA_STEPS -- steps near antenna
location40:
.byte SELENA_ANTENNA ; north exit
.byte SELENA_ANTENNA_TUNNEL ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_W ; north exit_dir
.byte DIRECTION_E ; south exit_dir
.byte $ff ; east exit_dir
.byte $ff ; west exit_dir
.word antenna_steps_n_lzsa ; north bg
.word antenna_steps_s_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH
.byte $ff
; SELENA_ANTENNA -- base of antenna
location41:
.byte $ff ; north exit
.byte $ff ; south exit
.byte SELENA_ANTENNA_STEPS ; east exit
.byte SELENA_ANTENNA_OPEN ; 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 antenna_e_lzsa ; east bg
.word antenna_w_lzsa ; west bg
.byte BG_EAST|BG_WEST
.byte $ff
; SELENA_ANTENNA_OPEN -- antenna panel open
location42:
.byte $ff ; north exit
.byte $ff ; south exit
.byte SELENA_ANTENNA_STEPS ; east exit
.byte SELENA_ANTENNA_CLOSE ; 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 antenna_e_lzsa ; east bg
.word antenna_open_w_lzsa ; west bg
.byte BG_WEST|BG_EAST
.byte $ff
; SELENA_ANTENNA_CLOSE -- antenna panel
location43:
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte SELENA_ANTENNA ; 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 antenna_close_w_lzsa ; west bg
.byte BG_WEST
.byte $ff

View File

@ -341,6 +341,33 @@ no_draw_page:
rts
;==============================
; tunnel actions
tunnel_main_down:
lda #SELENA_TUNNEL_MAIN_TOP
bne update_tunnel_e
tunnel_main_top_down:
lda #SELENA_TUNNEL_MAIN_MID
bne update_tunnel_e
tunnel_main_mid_down:
lda #SELENA_TUNNEL_BASEMENT
; bne update_tunnel_e
update_tunnel_e:
sta LOCATION
lda #DIRECTION_E
sta DIRECTION
jmp change_location
antenna_down:
lda #SELENA_ANTENNA_TOP
bne update_tunnel_e
antenna_top_down:
lda #SELENA_ANTENNA_MID
bne update_tunnel_e
antenna_mid_down:
lda #SELENA_ANTENNA_BASEMENT
bne update_tunnel_e
;==========================
; includes