mist: can now flip circuit breakers to reset generator

This commit is contained in:
Vince Weaver 2020-03-19 11:43:59 -04:00
parent 8bfd4c26a7
commit b1a8a9cb36
4 changed files with 65 additions and 10 deletions

View File

@ -1,12 +1,12 @@
Selena:
+ turn around?
+ whole way to tower thing
+ save/restore rocket switch positions to zero page on entry/exit?
main:
+ leave at angle
+ re-set levers
+ re-set levers (?)
+ close door on ss
+ some sort of switch animation on circuit breakers?
Images left:

View File

@ -22,6 +22,21 @@ other_circuit_breaker:
done_circuit_breaker:
sta BREAKER_TRIPPED
bne done_turn_on_breaker
turn_on_breaker:
lda GENERATOR_VOLTS
cmp #$60
bcs done_turn_on_breaker
sta ROCKET_VOLTS
sta ROCKET_VOLTS_DISP
done_turn_on_breaker:
rts

View File

@ -468,7 +468,7 @@ location23:
.byte 17 ; north exit
.byte 15 ; south exit
.byte $ff ; east exit
.byte 32 ; west exit
.byte 43 ; west exit
.byte DIRECTION_N ; north exit_dir
.byte DIRECTION_S ; south exit_dir
.byte $ff ; east exit_dir
@ -478,7 +478,10 @@ location23:
.word tree4_e_lzsa ; east bg
.word tree4_w_lzsa ; west bg
.byte BG_NORTH|BG_SOUTH|BG_WEST|BG_EAST
.byte $ff ; special exit
.byte DIRECTION_W ; special exit
.byte 6,28 ; special x
.byte 0,46 ; special y
.word green_house-1 ; special function
; tree cabin
location24:
@ -854,7 +857,7 @@ location44:
.byte 43 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_E ; north exit_dir
.byte DIRECTION_E|DIRECTION_ONLY_POINT ; north exit_dir
.byte DIRECTION_E ; south exit_dir
.byte $ff ; east exit_dir
.byte $ff ; west exit_dir
@ -869,18 +872,22 @@ location44:
location45:
.byte $ff ; north exit
.byte $ff ; south exit
.byte 46 ; east exit
.byte 44 ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
.byte DIRECTION_N ; east exit_dir
.byte $ff ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word tower1_base_e_lzsa ; east bg
.word $0000 ; west bg
.byte BG_EAST
.byte $ff
.byte DIRECTION_E ; special exit
.byte 10,26 ; special x
.byte 0,46 ; special y
.word leave_tower1-1 ; special function
; tower1 top
location46:
@ -890,11 +897,16 @@ location46:
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
.byte DIRECTION_E|DIRECTION_ONLY_POINT ; east exit_dir
.byte $ff ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word tower1_top_e_lzsa ; east bg
.word $0000 ; west bg
.byte BG_EAST
.byte $ff
.byte DIRECTION_E ; special exit
.byte 16,22 ; special x
.byte 10,18 ; special y
.word circuit_breaker-1 ; special function

View File

@ -200,10 +200,38 @@ pad_special:
leave_tower2:
lda #42
sta LOCATION
lda #DIRECTION_W
sta DIRECTION
jsr change_location
rts
leave_tower1:
lda #46
sta LOCATION
lda #DIRECTION_E
sta DIRECTION
jsr change_location
rts
green_house:
; FIXME: handle switch separately
lda #32
sta LOCATION
jsr change_location
rts
;==========================
; includes