mist: channelwood: fix broken valve5, show windmill switch

TODO: should also animate windmill in various places
This commit is contained in:
Vince Weaver 2020-07-27 13:02:40 -04:00
parent 5eea6c879f
commit cec3baa987
4 changed files with 47 additions and 11 deletions

View File

@ -84,14 +84,22 @@ game_loop:
;====================================
lda LOCATION
cmp #CHANNEL_TANK_CLOSE
beq fg_draw_faucet
cmp #CHANNEL_WINDMILL
beq fg_draw_windmill_handle
cmp #CHANNEL_BOOK_OPEN
beq animate_mist_book
jmp nothing_special
fg_draw_windmill_handle:
jsr draw_windmill_handle
jmp nothing_special
fg_draw_faucet:
jsr draw_water_faucet
jmp nothing_special

View File

@ -1,3 +1,35 @@
;===========================
; draw windmill handle
;===========================
draw_windmill_handle:
lda DIRECTION
and #$f
cmp DIRECTION_N
bne no_draw_windmill_handle
lda CHANNEL_SWITCHES
and #CHANNEL_SW_WINDMILL
beq no_draw_windmill_handle
lda #11
sta XPOS
lda #32
sta YPOS
lda #<windmill_handle_sprite
sta INL
lda #>windmill_handle_sprite
sta INH
jsr put_sprite_crop
no_draw_windmill_handle:
rts
windmill_handle_sprite:
.byte 3,2
.byte $04,$ff,$44
.byte $21,$41,$41
;===========================
; draw water valve
;===========================
@ -97,7 +129,7 @@ path5_south:
lda CURSOR_Y
cmp #32
bcs path5_go_south
jmp goto_valve4
jmp goto_valve5
path5_go_south:
lda #CHANNEL_PATH6 ; didn't hit valve, move instead
@ -168,10 +200,10 @@ goto_valve4:
lda #CHANNEL_VALVE4_ELEVATOR1
bne common_goto_valve ; bra
goto_valve5:
lda #CHANNEL_VALVE5_ENTRY
lda #CHANNEL_VALVE5_FORK
bne common_goto_valve ; bra
goto_valve6:
lda #CHANNEL_VALVE6_BRIDGE
lda #CHANNEL_VALVE6_ENTRY
bne common_goto_valve ; bra
common_goto_valve:
sta LOCATION

View File

@ -364,8 +364,8 @@ CHANNEL_VALVE1_ELEVATOR2= 38
CHANNEL_VALVE2_TREE = 39
CHANNEL_VALVE3_BROKEN = 40
CHANNEL_VALVE4_ELEVATOR1= 41
CHANNEL_VALVE5_ENTRY = 42
CHANNEL_VALVE6_BRIDGE = 43
CHANNEL_VALVE5_FORK = 42
CHANNEL_VALVE6_ENTRY = 43
CHANNEL_PATH7 = 44
; Cabin lost in woods

View File

@ -806,7 +806,7 @@ location41:
.byte 14,34 ; special y
.word handle_valve4-1 ; special function
; CHANNEL_VALVE5_ENTRY -- valve vaguely near entry
; CHANNEL_VALVE5_FORK -- valve at major fork
location42:
.byte CHANNEL_PATH6 ; north exit
.byte CHANNEL_PATH5 ; south exit
@ -826,7 +826,7 @@ location42:
.byte 14,34 ; special y
.word handle_valve5-1 ; special function
; CHANNEL_VALVE6_BRIDGE -- valve for bridge extender
; CHANNEL_VALVE6_ENTRY -- valve at entry
location43:
.byte CHANNEL_PATH2 ; north exit
.byte CHANNEL_PATH6 ; south exit
@ -865,7 +865,3 @@ location44:
.byte 17,21 ; special x
.byte 26,30 ; special y
.word goto_valve2-1 ; special function