mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-02-06 14:30:18 +00:00
mist: stoney: update the umbrella buttons
you can actually turn them all off also previously the way they were shown was a big hack
This commit is contained in:
parent
828e099e7f
commit
5a55fe7a1c
@ -315,8 +315,11 @@ goto_compass_left:
|
||||
jmp change_location
|
||||
|
||||
|
||||
;======================
|
||||
;==============================
|
||||
; handle umbrella pump buttons
|
||||
;==============================
|
||||
; if on and pressed, goes all off
|
||||
; if off and pressed, clear all others and set
|
||||
|
||||
umbrella_buttons:
|
||||
|
||||
@ -327,23 +330,43 @@ umbrella_buttons:
|
||||
bcc center_button_pressed
|
||||
|
||||
right_button_pressed:
|
||||
; drain lighthouse
|
||||
|
||||
lda #2
|
||||
bne done_umbrella
|
||||
; drain lighthouse
|
||||
lda PUMP_STATE
|
||||
and #DRAINED_LIGHTHOUSE
|
||||
bne clear_umbrella
|
||||
|
||||
lda #DRAINED_LIGHTHOUSE
|
||||
bne done_umbrella ; bra
|
||||
|
||||
left_button_pressed:
|
||||
; drain mist tunnel
|
||||
lda #0
|
||||
beq done_umbrella
|
||||
lda PUMP_STATE
|
||||
and #DRAINED_EXIT
|
||||
bne clear_umbrella
|
||||
|
||||
lda #DRAINED_EXIT
|
||||
bne done_umbrella ; bra
|
||||
|
||||
center_button_pressed:
|
||||
; drain room tunnels
|
||||
lda #1
|
||||
lda PUMP_STATE
|
||||
and #DRAINED_TUNNELS
|
||||
bne clear_umbrella
|
||||
|
||||
lda #DRAINED_TUNNELS
|
||||
bne done_umbrella ; bra
|
||||
|
||||
done_umbrella:
|
||||
sta PUMP_STATE
|
||||
rts
|
||||
|
||||
clear_umbrella:
|
||||
lda #0
|
||||
sta PUMP_STATE
|
||||
rts
|
||||
|
||||
|
||||
|
||||
;========================
|
||||
; handle generator crank
|
||||
@ -366,24 +389,38 @@ skip_charge:
|
||||
|
||||
rts
|
||||
|
||||
;=========================================
|
||||
; draw umbrella lights
|
||||
;=========================================
|
||||
|
||||
do_draw_umbrella_light:
|
||||
|
||||
lda DIRECTION
|
||||
cmp #DIRECTION_W
|
||||
bne done_draw_umbrella
|
||||
|
||||
lda PUMP_STATE
|
||||
beq done_draw_umbrella
|
||||
|
||||
lda #5
|
||||
clc
|
||||
adc DRAW_PAGE
|
||||
sta umbrella_smc+2
|
||||
|
||||
lda PUMP_STATE
|
||||
lsr ; convert from 1,2,4 to 0,1,2
|
||||
asl
|
||||
asl ; *4
|
||||
tay
|
||||
|
||||
lda #$99 ; orange
|
||||
|
||||
sta $528+15,Y ; page 0
|
||||
sta $928+15,Y ; page 1
|
||||
lda #$d9 ; orange
|
||||
; 15,20
|
||||
; 19,20
|
||||
; 23,20
|
||||
|
||||
umbrella_smc:
|
||||
sta $528+15,Y
|
||||
|
||||
done_draw_umbrella:
|
||||
rts
|
||||
|
||||
|
@ -171,6 +171,10 @@ TOWER_ROTATION = $AE ; tower rotation: which
|
||||
SHIP_RAISED = $AF ; ship raised or not
|
||||
|
||||
PUMP_STATE = $B0 ; stoneship pump state
|
||||
DRAINED_EXIT = $01
|
||||
DRAINED_TUNNELS = $02
|
||||
DRAINED_LIGHTHOUSE=$04
|
||||
|
||||
BATTERY_CHARGE = $B1 ; stoneship battery charge
|
||||
COMPASS_STATE = $B2 ; stoneship compass state
|
||||
COMPASS_DEFAULT = 0 ; cabin lights off
|
||||
|
Loading…
x
Reference in New Issue
Block a user