mist: channelwood: add a missing path location

abrupt, also made it hard to add a valve in the right spot
This commit is contained in:
Vince Weaver 2020-07-26 16:04:36 -04:00
parent 48384448e1
commit 87232719db
6 changed files with 166 additions and 12 deletions

View File

@ -1,30 +1,64 @@
;===========================
;===========================
; handle valve 1 (elevator2)
; handle valve 1-6
;===========================
;===========================
handle_valve1:
lda CHANNEL_VALVES
eor #CHANNEL_VALVE1
jmp common_handle_valves
handle_valve2:
lda CHANNEL_VALVES
eor #CHANNEL_VALVE2
jmp common_handle_valves
handle_valve3:
lda CHANNEL_VALVES
eor #CHANNEL_VALVE3
jmp common_handle_valves
handle_valve4:
lda CHANNEL_VALVES
eor #CHANNEL_VALVE4
jmp common_handle_valves
handle_valve5:
lda CHANNEL_VALVES
eor #CHANNEL_VALVE5
jmp common_handle_valves
handle_valve6:
lda CHANNEL_VALVES
eor #CHANNEL_VALVE6
common_handle_valves:
sta CHANNEL_VALVES
jsr adjust_valve_backgrounds
jmp change_direction ; update background
jsr change_direction ; update background
rts
;===========================
;===========================
; goto valve1
; goto valves
;===========================
;===========================
goto_valve1:
lda #CHANNEL_VALVE1_ELEVATOR2
bne common_goto_valve ; bra
goto_valve2:
lda #CHANNEL_VALVE2_TREE
bne common_goto_valve ; bra
goto_valve3:
lda #CHANNEL_VALVE3_BROKEN
bne common_goto_valve ; bra
goto_valve4:
lda #CHANNEL_VALVE4_ELEVATOR1
bne common_goto_valve ; bra
goto_valve5:
lda #CHANNEL_VALVE5_ENTRY
bne common_goto_valve ; bra
goto_valve6:
lda #CHANNEL_VALVE6_BRIDGE
bne common_goto_valve ; bra
common_goto_valve:
sta LOCATION
jmp change_location

View File

@ -366,7 +366,7 @@ CHANNEL_VALVE3_BROKEN = 40
CHANNEL_VALVE4_ELEVATOR1= 41
CHANNEL_VALVE5_ENTRY = 42
CHANNEL_VALVE6_BRIDGE = 43
CHANNEL_PATH7 = 44
; Cabin lost in woods
CABIN_OUTSIDE = 0

View File

@ -16,6 +16,7 @@ channel_graphics.inc: \
path4_e.lzsa path4_w.lzsa path4_s.lzsa \
path5_e.lzsa path5_s.lzsa path5_n.lzsa \
path6_s.lzsa path6_w.lzsa path6_n.lzsa \
path7_s.lzsa path7_n.lzsa \
fork_n.lzsa fork_s.lzsa fork_w.lzsa fork_gone_w.lzsa \
before_elev1_e.lzsa before_elev1_w.lzsa before_elev1_open_w.lzsa \
before_elev1_gone_w.lzsa \
@ -65,6 +66,8 @@ channel_graphics.inc: \
echo "path6_s_lzsa: .incbin \"path6_s.lzsa\"" >> channel_graphics.inc
echo "path6_w_lzsa: .incbin \"path6_w.lzsa\"" >> channel_graphics.inc
echo "path6_n_lzsa: .incbin \"path6_n.lzsa\"" >> channel_graphics.inc
echo "path7_n_lzsa: .incbin \"path7_n.lzsa\"" >> channel_graphics.inc
echo "path7_s_lzsa: .incbin \"path7_s.lzsa\"" >> channel_graphics.inc
echo "fork_n_lzsa: .incbin \"fork_n.lzsa\"" >> channel_graphics.inc
echo "fork_s_lzsa: .incbin \"fork_s.lzsa\"" >> channel_graphics.inc
echo "fork_w_lzsa: .incbin \"fork_w.lzsa\"" >> channel_graphics.inc

Binary file not shown.

After

Width:  |  Height:  |  Size: 1021 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1021 B

View File

@ -12,7 +12,9 @@ locations:
.word location24,location25,location26,location27
.word location28,location29,location30,location31
.word location32,location33,location34,location35
.word location36,location37,location38
.word location36,location37,location38,location39
.word location40,location41,location42,location43
.word location44
; CHANNEL_ARRIVAL -- arrival in channelwood
location0:
@ -104,7 +106,7 @@ location4:
; CHANNEL_PATH5 -- twisty maze of passages all alike
location5:
.byte CHANNEL_STEPS_FORK ; north exit
.byte CHANNEL_PATH7 ; north exit
.byte CHANNEL_PATH6 ; south exit
.byte CHANNEL_PATH4 ; east exit
.byte $ff ; west exit
@ -211,7 +213,7 @@ location10:
; CHANNEL_STEPS_FORK -- fork going to steps
location11:
.byte CHANNEL_WIND_PATH ; north exit
.byte CHANNEL_PATH5 ; south exit
.byte CHANNEL_PATH7 ; south exit
.byte $ff ; east exit
.byte CHANNEL_STEPS_PATH ; west exit
.byte DIRECTION_N ; north exit_dir
@ -727,4 +729,119 @@ location38:
.byte 14,34 ; special y
.word handle_valve1-1 ; special function
; CHANNEL_VALVE2_TREE -- valve by the big tree
location39:
.byte CHANNEL_STEPS_FORK ; north exit
.byte CHANNEL_WIND_PATH ; 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 valve_bottom_off_lzsa ; north bg
.word valve_top_off_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH
.byte DIRECTION_N|DIRECTION_S ; special exit
.byte 15,25 ; special x
.byte 14,34 ; special y
.word handle_valve2-1 ; special function
; CHANNEL_VALVE3_BROKEN -- valve to broken pipe
location40:
.byte CHANNEL_STEPS_FORK ; north exit
.byte CHANNEL_WIND_PATH ; 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 valve_bottom_off_lzsa ; north bg
.word valve_top_off_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH
.byte DIRECTION_N|DIRECTION_S ; special exit
.byte 15,25 ; special x
.byte 14,34 ; special y
.word handle_valve3-1 ; special function
; CHANNEL_VALVE4_ELEVATOR1 -- valve for elevator1/pipe bridge
location41:
.byte CHANNEL_STEPS_FORK ; north exit
.byte CHANNEL_WIND_PATH ; 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 valve_bottom_off_lzsa ; north bg
.word valve_top_off_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH
.byte DIRECTION_N|DIRECTION_S ; special exit
.byte 15,25 ; special x
.byte 14,34 ; special y
.word handle_valve4-1 ; special function
; CHANNEL_VALVE5_ENTRY -- valve that goes to entry tree for some reason
location42:
.byte CHANNEL_STEPS_FORK ; north exit
.byte CHANNEL_WIND_PATH ; 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 valve_bottom_off_lzsa ; north bg
.word valve_top_off_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH
.byte DIRECTION_N|DIRECTION_S ; special exit
.byte 15,25 ; special x
.byte 14,34 ; special y
.word handle_valve5-1 ; special function
; CHANNEL_VALVE6_BRIDGE -- valve for bridge extender
location43:
.byte CHANNEL_STEPS_FORK ; north exit
.byte CHANNEL_WIND_PATH ; 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 valve_bottom_off_lzsa ; north bg
.word valve_top_off_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH
.byte DIRECTION_N|DIRECTION_S ; special exit
.byte 15,25 ; special x
.byte 14,34 ; special y
.word handle_valve6-1 ; special function
; CHANNEL_PATH7 -- filling in a gap
location44:
.byte CHANNEL_STEPS_FORK ; north exit
.byte CHANNEL_PATH5 ; 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 path7_n_lzsa ; north bg
.word path7_s_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH
.byte $ff