mist: stoney: can raise and lower the trunk

can't open it yet though
This commit is contained in:
Vince Weaver 2020-08-10 01:21:32 -04:00
parent c71b6e009d
commit c298d7c6ae
7 changed files with 68 additions and 9 deletions

View File

@ -24,9 +24,13 @@ For release 1.0
-- allow coming at steps from an angle
-- if space allows, lighten floor of compass rose when
right button pressed
-- hook up pump
-- have the bottom blank out and print PUMPING NOISES
-- hook up key/trunk puzzle
-- outside looking in can see trunk if up
(either add support or remove graphic)
-- if click on steps when looking N, move to look at steps
-- stop holding key if leave the two rooms where matters
[actual game it drops to floor of basement?]
-- rotate plug when open/closed
+ CHANNEL
-- from path can still see down elev1 even if up
@ -37,6 +41,7 @@ For release 1.0
+ NIBEL
-- turn on sprite crop in the viewer part
[harder to do this than you might think]
+ MECHE
-- animations for elevator

View File

@ -14,7 +14,9 @@ stoney_graphics.inc: \
umbrella_path_e.lzsa umbrella_path_w.lzsa \
lighthouse_path_e.lzsa lighthouse_path_w.lzsa \
lighthouse_door_e.lzsa lighthouse_door_w.lzsa \
lighthouse_inside_e.lzsa lighthouse_inside_w.lzsa lighthouse_inside_n.lzsa \
lighthouse_inside_e.lzsa lighthouse_inside_w.lzsa \
lighthouse_inside_n.lzsa \
lighthouse_inside_nowater_n.lzsa lighthouse_inside_notrunk_n.lzsa \
lighthouse_upstairs_e.lzsa lighthouse_upstairs_w.lzsa \
lighthouse_battery_w.lzsa \
lighthouse_downladder_e.lzsa \
@ -66,6 +68,8 @@ stoney_graphics.inc: \
echo "lighthouse_inside_e_lzsa: .incbin \"lighthouse_inside_e.lzsa\"" >> stoney_graphics.inc
echo "lighthouse_inside_w_lzsa: .incbin \"lighthouse_inside_w.lzsa\"" >> stoney_graphics.inc
echo "lighthouse_inside_n_lzsa: .incbin \"lighthouse_inside_n.lzsa\"" >> stoney_graphics.inc
echo "lighthouse_inside_nowater_n_lzsa: .incbin \"lighthouse_inside_nowater_n.lzsa\"" >> stoney_graphics.inc
echo "lighthouse_inside_notrunk_n_lzsa: .incbin \"lighthouse_inside_notrunk_n.lzsa\"" >> stoney_graphics.inc
echo "lighthouse_upstairs_e_lzsa: .incbin \"lighthouse_upstairs_e.lzsa\"" >> stoney_graphics.inc
echo "lighthouse_upstairs_w_lzsa: .incbin \"lighthouse_upstairs_w.lzsa\"" >> stoney_graphics.inc
echo "lighthouse_battery_w_lzsa: .incbin \"lighthouse_battery_w.lzsa\"" >> stoney_graphics.inc

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -951,6 +951,7 @@ location51:
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH
.byte $ff
.byte DIRECTION_N ; special exit
.byte 7,13 ; special x
.byte 36,46 ; special y
.word trunk_open_plug-1

View File

@ -35,9 +35,7 @@ stoney_start:
sta DRAW_PAGE
sta LEVEL_OVER
; resets if you leave
; FIXME: temp debug
lda #$7
; resets if you leave and come back
sta BATTERY_CHARGE
; init cursor

View File

@ -411,6 +411,32 @@ update_pump_state:
; flood lighthouse
sta location5,Y ; STONEY_LIGHTHOUSE_INSIDE
ldy #LOCATION_NORTH_BG
; if TRUNK_WATER_DRAINED=1 and TRUNK_VALVE_OPEN=0 then show trunk
lda TRUNK_STATE
and #(TRUNK_WATER_DRAINED|TRUNK_VALVE_OPEN)
cmp #(TRUNK_WATER_DRAINED)
beq draw_trunk
draw_notrunk:
lda #<lighthouse_inside_notrunk_n_lzsa
sta location5,Y ; STONEY_LIGHTHOUSE_INSIDE
lda #>lighthouse_inside_notrunk_n_lzsa
sta location5+1,Y ; STONEY_LIGHTHOUSE_INSIDE
bne done_draw_trunk ; bra
draw_trunk:
lda #<lighthouse_inside_n_lzsa
sta location5,Y ; STONEY_LIGHTHOUSE_INSIDE
lda #>lighthouse_inside_n_lzsa
sta location5+1,Y ; STONEY_LIGHTHOUSE_INSIDE
done_draw_trunk:
lda PUMP_STATE
beq done_update_pump_state
cmp #DRAINED_EXIT
@ -435,6 +461,13 @@ drain_tunnels:
jmp done_update_pump_state
drain_lighthouse:
ldy #LOCATION_NORTH_BG
lda #<lighthouse_inside_nowater_n_lzsa
sta location5,Y ; STONEY_LIGHTHOUSE_INSIDE
lda #>lighthouse_inside_nowater_n_lzsa
sta location5+1,Y ; STONEY_LIGHTHOUSE_INSIDE
ldy #LOCATION_NORTH_EXIT
lda #STONEY_LIGHTHOUSE_SPIRAL
sta location5,Y ; STONEY_LIGHTHOUSE_INSIDE
@ -1403,8 +1436,26 @@ doorway2_water_list:
; trunk
;======================================
; States: originally FULL OF WATER, PLUG CLOSED
; open plug: EMPTY OF WATER, PLUG OPEN
; water raises: FULL OF WATER, PLUG OPEN
; close plug: EMPTY OF WATER, PLUG CLOSED
goto_trunk:
lda #STONEY_TRUNK_CLOSE
sta LOCATION
jmp change_location
trunk_open_plug:
; TOGGLE TRUNK_VALVE_OPEN
; CLEAR FULL_OF_WATER
; FIXME: start animation?
lda TRUNK_STATE
eor #TRUNK_VALVE_OPEN
ora #TRUNK_WATER_DRAINED
sta TRUNK_STATE
rts