mist: channelwood: can raise the pipe
@ -39,8 +39,10 @@ channel_start:
|
|||||||
lda #0
|
lda #0
|
||||||
sta ANIMATE_FRAME
|
sta ANIMATE_FRAME
|
||||||
|
|
||||||
; FIXME
|
; set up bridges
|
||||||
; handle gear visibility
|
|
||||||
|
jsr adjust_after_changes
|
||||||
|
|
||||||
|
|
||||||
game_loop:
|
game_loop:
|
||||||
;=================
|
;=================
|
||||||
|
@ -31,6 +31,36 @@ no_raise_bridge:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;=======================
|
||||||
|
; extend_pipe
|
||||||
|
|
||||||
|
; TODO: can you unextend in game?
|
||||||
|
; TODO: can you unextend if water flowing?
|
||||||
|
|
||||||
|
extend_pipe:
|
||||||
|
|
||||||
|
bit $C030 ; click speaker
|
||||||
|
|
||||||
|
; only extend pipe
|
||||||
|
|
||||||
|
lda CHANNEL_SWITCHES
|
||||||
|
ora #CHANNEL_PIPE_EXTENDED
|
||||||
|
sta CHANNEL_SWITCHES
|
||||||
|
|
||||||
|
jsr adjust_after_changes
|
||||||
|
|
||||||
|
jsr change_location
|
||||||
|
|
||||||
|
no_extend_pipe:
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;======================================
|
||||||
|
; adjust after changes
|
||||||
|
;======================================
|
||||||
|
|
||||||
; should call this when entering level
|
; should call this when entering level
|
||||||
adjust_after_changes:
|
adjust_after_changes:
|
||||||
|
|
||||||
@ -74,8 +104,53 @@ bridge_is_down:
|
|||||||
sta location16,Y ; CHANNEL_BRIDGE
|
sta location16,Y ; CHANNEL_BRIDGE
|
||||||
|
|
||||||
adjust_pipe:
|
adjust_pipe:
|
||||||
|
|
||||||
;=======================
|
;=======================
|
||||||
; extend pipe or not
|
; extend pipe or not
|
||||||
|
|
||||||
|
lda CHANNEL_SWITCHES
|
||||||
|
and #CHANNEL_PIPE_EXTENDED
|
||||||
|
beq pipe_stowed
|
||||||
|
|
||||||
|
pipe_extended:
|
||||||
|
; change to pipe_extend bg
|
||||||
|
ldy #LOCATION_SOUTH_BG
|
||||||
|
|
||||||
|
lda #<pipe_extend_up_s_lzsa
|
||||||
|
sta location40,Y ; CHANNEL_PIPE_EXTEND
|
||||||
|
lda #>pipe_extend_up_s_lzsa
|
||||||
|
sta location40+1,Y ; CHANNEL_PIPE_EXTEND
|
||||||
|
|
||||||
|
; also change for other side of bridge
|
||||||
|
|
||||||
|
ldy #LOCATION_WEST_BG
|
||||||
|
|
||||||
|
lda #<pipe_bridge2_up_w_lzsa
|
||||||
|
sta location23,Y ; CHANNEL_PIPE_BRIDGE2
|
||||||
|
lda #>pipe_bridge2_up_w_lzsa
|
||||||
|
sta location23+1,Y ; CHANNEL_PIPE_BRIDGE2
|
||||||
|
|
||||||
|
jmp done_adjust_changes
|
||||||
|
|
||||||
|
pipe_stowed:
|
||||||
|
|
||||||
|
; change to pipe_extend bg
|
||||||
|
ldy #LOCATION_SOUTH_BG
|
||||||
|
|
||||||
|
lda #<pipe_extend_down_s_lzsa
|
||||||
|
sta location40,Y ; CHANNEL_PIPE_EXTEND
|
||||||
|
lda #>pipe_extend_down_s_lzsa
|
||||||
|
sta location40+1,Y ; CHANNEL_PIPE_EXTEND
|
||||||
|
|
||||||
|
; also change for other side of bridge
|
||||||
|
|
||||||
|
ldy #LOCATION_WEST_BG
|
||||||
|
|
||||||
|
lda #<pipe_bridge2_w_lzsa
|
||||||
|
sta location23,Y ; CHANNEL_PIPE_BRIDGE2
|
||||||
|
lda #>pipe_bridge2_w_lzsa
|
||||||
|
sta location23+1,Y ; CHANNEL_PIPE_BRIDGE2
|
||||||
|
|
||||||
|
done_adjust_changes:
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
@ -349,3 +349,4 @@ CHANNEL_OUT_BACK = 36
|
|||||||
CHANNEL_AFTER_BRIDGE1 = 37
|
CHANNEL_AFTER_BRIDGE1 = 37
|
||||||
CHANNEL_AFTER_BRIDGE2 = 38
|
CHANNEL_AFTER_BRIDGE2 = 38
|
||||||
CHANNEL_BOOK_FORK = 39
|
CHANNEL_BOOK_FORK = 39
|
||||||
|
CHANNEL_PIPE_EXTEND = 40
|
||||||
|
@ -31,7 +31,7 @@ channel_graphics.inc: \
|
|||||||
path6_s.lzsa path6_w.lzsa path6_n.lzsa \
|
path6_s.lzsa path6_w.lzsa path6_n.lzsa \
|
||||||
fork_n.lzsa fork_s.lzsa fork_w.lzsa \
|
fork_n.lzsa fork_s.lzsa fork_w.lzsa \
|
||||||
before_elev1_e.lzsa before_elev1_w.lzsa \
|
before_elev1_e.lzsa before_elev1_w.lzsa \
|
||||||
pipe_bridge2_w.lzsa pipe_bridge2_e.lzsa \
|
pipe_bridge2_up_w.lzsa pipe_bridge2_w.lzsa pipe_bridge2_e.lzsa \
|
||||||
elevator1_open.lzsa \
|
elevator1_open.lzsa \
|
||||||
steps_fork_n.lzsa steps_fork_s.lzsa steps_fork_w.lzsa \
|
steps_fork_n.lzsa steps_fork_s.lzsa steps_fork_w.lzsa \
|
||||||
steps_path_e.lzsa steps_path_w.lzsa \
|
steps_path_e.lzsa steps_path_w.lzsa \
|
||||||
@ -47,7 +47,8 @@ channel_graphics.inc: \
|
|||||||
outback_n.lzsa outback_s.lzsa \
|
outback_n.lzsa outback_s.lzsa \
|
||||||
after_bridge1_e.lzsa after_bridge1_w.lzsa \
|
after_bridge1_e.lzsa after_bridge1_w.lzsa \
|
||||||
after_bridge2_e.lzsa after_bridge2_w.lzsa \
|
after_bridge2_e.lzsa after_bridge2_w.lzsa \
|
||||||
book_fork_n.lzsa book_fork_s.lzsa book_fork_w.lzsa
|
book_fork_n.lzsa book_fork_s.lzsa book_fork_w.lzsa \
|
||||||
|
pipe_extend_n.lzsa pipe_extend_down_s.lzsa pipe_extend_up_s.lzsa
|
||||||
echo "arrival_n_lzsa: .incbin \"arrival_n.lzsa\"" > channel_graphics.inc
|
echo "arrival_n_lzsa: .incbin \"arrival_n.lzsa\"" > channel_graphics.inc
|
||||||
echo "arrival_s_lzsa: .incbin \"arrival_s.lzsa\"" >> channel_graphics.inc
|
echo "arrival_s_lzsa: .incbin \"arrival_s.lzsa\"" >> channel_graphics.inc
|
||||||
echo "clearing_e_lzsa: .incbin \"clearing_e.lzsa\"" >> channel_graphics.inc
|
echo "clearing_e_lzsa: .incbin \"clearing_e.lzsa\"" >> channel_graphics.inc
|
||||||
@ -96,6 +97,7 @@ channel_graphics.inc: \
|
|||||||
echo "before_elev1_w_lzsa: .incbin \"before_elev1_w.lzsa\"" >> channel_graphics.inc
|
echo "before_elev1_w_lzsa: .incbin \"before_elev1_w.lzsa\"" >> channel_graphics.inc
|
||||||
echo "pipe_bridge2_e_lzsa: .incbin \"pipe_bridge2_e.lzsa\"" >> channel_graphics.inc
|
echo "pipe_bridge2_e_lzsa: .incbin \"pipe_bridge2_e.lzsa\"" >> channel_graphics.inc
|
||||||
echo "pipe_bridge2_w_lzsa: .incbin \"pipe_bridge2_w.lzsa\"" >> channel_graphics.inc
|
echo "pipe_bridge2_w_lzsa: .incbin \"pipe_bridge2_w.lzsa\"" >> channel_graphics.inc
|
||||||
|
echo "pipe_bridge2_up_w_lzsa: .incbin \"pipe_bridge2_up_w.lzsa\"" >> channel_graphics.inc
|
||||||
echo "elevator1_open_lzsa: .incbin \"elevator1_open.lzsa\"" >> channel_graphics.inc
|
echo "elevator1_open_lzsa: .incbin \"elevator1_open.lzsa\"" >> channel_graphics.inc
|
||||||
echo "steps_fork_n_lzsa: .incbin \"steps_fork_n.lzsa\"" >> channel_graphics.inc
|
echo "steps_fork_n_lzsa: .incbin \"steps_fork_n.lzsa\"" >> channel_graphics.inc
|
||||||
echo "steps_fork_s_lzsa: .incbin \"steps_fork_s.lzsa\"" >> channel_graphics.inc
|
echo "steps_fork_s_lzsa: .incbin \"steps_fork_s.lzsa\"" >> channel_graphics.inc
|
||||||
@ -130,7 +132,9 @@ channel_graphics.inc: \
|
|||||||
echo "book_fork_n_lzsa: .incbin \"book_fork_n.lzsa\"" >> channel_graphics.inc
|
echo "book_fork_n_lzsa: .incbin \"book_fork_n.lzsa\"" >> channel_graphics.inc
|
||||||
echo "book_fork_s_lzsa: .incbin \"book_fork_s.lzsa\"" >> channel_graphics.inc
|
echo "book_fork_s_lzsa: .incbin \"book_fork_s.lzsa\"" >> channel_graphics.inc
|
||||||
echo "book_fork_w_lzsa: .incbin \"book_fork_w.lzsa\"" >> channel_graphics.inc
|
echo "book_fork_w_lzsa: .incbin \"book_fork_w.lzsa\"" >> channel_graphics.inc
|
||||||
|
echo "pipe_extend_n_lzsa: .incbin \"pipe_extend_n.lzsa\"" >> channel_graphics.inc
|
||||||
|
echo "pipe_extend_up_s_lzsa: .incbin \"pipe_extend_up_s.lzsa\"" >> channel_graphics.inc
|
||||||
|
echo "pipe_extend_down_s_lzsa: .incbin \"pipe_extend_down_s.lzsa\"" >> channel_graphics.inc
|
||||||
|
|
||||||
%.gr: %.png
|
%.gr: %.png
|
||||||
$(PNG2GR) $< $@
|
$(PNG2GR) $< $@
|
||||||
|
Before Width: | Height: | Size: 982 B After Width: | Height: | Size: 9.1 KiB |
BIN
mist/graphics_channel/pipe_bridge2_up_w.png
Normal file
After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 944 B After Width: | Height: | Size: 7.6 KiB |
BIN
mist/graphics_channel/pipe_extend_down_s.png
Normal file
After Width: | Height: | Size: 8.3 KiB |
BIN
mist/graphics_channel/pipe_extend_n.png
Normal file
After Width: | Height: | Size: 9.5 KiB |
BIN
mist/graphics_channel/pipe_extend_up_s.png
Normal file
After Width: | Height: | Size: 8.4 KiB |
@ -13,7 +13,7 @@ locations:
|
|||||||
.word location28,location29,location30,location31
|
.word location28,location29,location30,location31
|
||||||
.word location32,location33,location34,location35
|
.word location32,location33,location34,location35
|
||||||
.word location36,location37,location38,location39
|
.word location36,location37,location38,location39
|
||||||
|
.word location40
|
||||||
|
|
||||||
; CHANNEL_OUTSIDE_CABIN -- outside in clearing
|
; CHANNEL_OUTSIDE_CABIN -- outside in clearing
|
||||||
location0:
|
location0:
|
||||||
@ -708,11 +708,11 @@ location38:
|
|||||||
; CHANNEL_BOOK_FORK -- fork to book elevator
|
; CHANNEL_BOOK_FORK -- fork to book elevator
|
||||||
location39:
|
location39:
|
||||||
.byte $ff ; north exit
|
.byte $ff ; north exit
|
||||||
.byte $ff ; south exit
|
.byte CHANNEL_PIPE_EXTEND ; south exit
|
||||||
.byte $ff ; east exit
|
.byte $ff ; east exit
|
||||||
.byte CHANNEL_AFTER_BRIDGE2 ; west exit
|
.byte CHANNEL_AFTER_BRIDGE2 ; west exit
|
||||||
.byte $ff ; north exit_dir
|
.byte $ff ; north exit_dir
|
||||||
.byte $ff ; south exit_dir
|
.byte DIRECTION_S ; south exit_dir
|
||||||
.byte $ff ; east exit_dir
|
.byte $ff ; east exit_dir
|
||||||
.byte DIRECTION_W ; west exit_dir
|
.byte DIRECTION_W ; west exit_dir
|
||||||
.word book_fork_n_lzsa ; north bg
|
.word book_fork_n_lzsa ; north bg
|
||||||
@ -722,3 +722,24 @@ location39:
|
|||||||
.byte BG_NORTH|BG_SOUTH|BG_WEST
|
.byte BG_NORTH|BG_SOUTH|BG_WEST
|
||||||
.byte $ff
|
.byte $ff
|
||||||
|
|
||||||
|
; CHANNEL_PIPE_EXTEND -- pipe extender
|
||||||
|
location40:
|
||||||
|
.byte CHANNEL_BOOK_FORK ; 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 pipe_extend_n_lzsa ; north bg
|
||||||
|
.word pipe_extend_down_s_lzsa ; south bg
|
||||||
|
.word $0000 ; east bg
|
||||||
|
.word $0000 ; west bg
|
||||||
|
.byte BG_NORTH|BG_SOUTH
|
||||||
|
.byte DIRECTION_S ; special exit
|
||||||
|
.byte 17,24 ; special x
|
||||||
|
.byte 34,40 ; special y
|
||||||
|
.word extend_pipe-1 ; special function
|
||||||
|
|
||||||
|
|
||||||
|