mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-11-15 17:07:53 +00:00
mist: cabin: now properly hooks up tree
temporarily you can't get to Channelwood
This commit is contained in:
parent
f4638d82da
commit
0e00cf94ca
@ -42,6 +42,8 @@ cabin_start:
|
||||
|
||||
; set up initial location
|
||||
|
||||
jsr cabin_update_state
|
||||
|
||||
jsr change_location
|
||||
|
||||
lda #1
|
||||
|
@ -5,7 +5,8 @@
|
||||
; the match will flicker and burn out if you go outside
|
||||
|
||||
; light the pilot, it will turn red
|
||||
; PSI starts at zero
|
||||
|
||||
; boiler PSI starts at zero
|
||||
; turn once clockwise, fire starts, nothing else?
|
||||
; turn once counter-clockwise fire turns off
|
||||
; turn twice CW -> ?
|
||||
@ -32,6 +33,10 @@
|
||||
; button does nothing in basement
|
||||
; dial in basement does same as one upstairs
|
||||
|
||||
; \ \ \ \ \ : / / / / /
|
||||
; P S I
|
||||
; \
|
||||
|
||||
|
||||
tree_base_backgrounds:
|
||||
.word tree_base_n_lzsa ; 0 basement
|
||||
@ -60,17 +65,81 @@ tree_elevator_backgrounds:
|
||||
.word tree_base_n_lzsa ; 5 L10
|
||||
.word tree_base_n_lzsa ; 6 TOP
|
||||
|
||||
tree_elevator_exits:
|
||||
.byte CABIN_TREE_BASEMENT ; 0 basement
|
||||
.byte $ff ; 1 underground
|
||||
.byte CABIN_BIG_TREE ; 2 ground
|
||||
.byte $ff ; 3 L6
|
||||
.byte $ff ; 4 L8
|
||||
.byte $ff ; 5 L10
|
||||
.byte CABIN_TREE_LOOK_DOWN ; 6 TOP
|
||||
|
||||
tree_entrance:
|
||||
.byte CABIN_TREE_LOOK_UP ; 0 basement
|
||||
.byte CABIN_TREE_LOOK_UP ; 1 underground
|
||||
.byte CABIN_TREE_ELEVATOR ; 2 ground
|
||||
.byte CABIN_TREE_LOOK_UP ; 3 L6
|
||||
.byte CABIN_TREE_LOOK_UP ; 4 L8
|
||||
.byte CABIN_TREE_LOOK_UP ; 5 L10
|
||||
.byte CABIN_TREE_LOOK_UP ; 6 TOP
|
||||
|
||||
tree_entrance_dir:
|
||||
.byte DIRECTION_N ; 0 basement
|
||||
.byte DIRECTION_N ; 1 underground
|
||||
.byte DIRECTION_S ; 2 ground
|
||||
.byte DIRECTION_N ; 3 L6
|
||||
.byte DIRECTION_N ; 4 L8
|
||||
.byte DIRECTION_N ; 5 L10
|
||||
.byte DIRECTION_N ; 6 TOP
|
||||
|
||||
|
||||
; \ \ \ \ \ : / / / / /
|
||||
; P S I
|
||||
; \
|
||||
|
||||
;===================================
|
||||
; update backgrounds based on state
|
||||
;===================================
|
||||
cabin_update_state:
|
||||
|
||||
; update tree base background
|
||||
|
||||
ldy #LOCATION_NORTH_BG
|
||||
lda TREE_LEVEL
|
||||
asl
|
||||
tax
|
||||
lda tree_base_backgrounds,X
|
||||
sta location7,Y ; CABIN_BIG_TREE
|
||||
lda tree_base_backgrounds+1,X
|
||||
sta location7+1,Y ; CABIN_BIG_TREE
|
||||
|
||||
; update tree up background
|
||||
lda tree_base_up_backgrounds,X
|
||||
sta location14,Y ; CABIN_TREE_LOOK_UP
|
||||
lda tree_base_up_backgrounds+1,X
|
||||
sta location14+1,Y ; CABIN_TREE_LOOK_UP
|
||||
|
||||
; update tree elevator background
|
||||
|
||||
ldy #LOCATION_SOUTH_BG
|
||||
lda tree_elevator_backgrounds,X
|
||||
sta location8,Y ; CABIN_TREE_ELEVATOR
|
||||
lda tree_elevator_backgrounds+1,X
|
||||
sta location8+1,Y ; CABIN_TREE_ELEVATOR
|
||||
|
||||
; update if you can get into tree
|
||||
lda TREE_LEVEL
|
||||
tax
|
||||
ldy #LOCATION_NORTH_EXIT
|
||||
lda tree_entrance,X
|
||||
sta location7,Y ; CABIN_BIG_TREE
|
||||
ldy #LOCATION_NORTH_EXIT_DIR
|
||||
lda tree_entrance_dir,X
|
||||
sta location7,Y ; CABIN_BIG_TREE
|
||||
|
||||
; update elevator exit
|
||||
|
||||
ldy #LOCATION_SOUTH_EXIT
|
||||
lda tree_elevator_exits,X
|
||||
sta location8,Y ; CABIN_TREE_ELEVATOR
|
||||
|
||||
rts
|
||||
|
||||
|
||||
|
@ -373,6 +373,8 @@ CABIN_TREE_BOOK = 10
|
||||
CABIN_TREE_BOOK_CLOSED = 11
|
||||
CABIN_TREE_BOOK_OPEN = 12
|
||||
CABIN_OPEN_SAFE = 13
|
||||
CABIN_TREE_LOOK_UP = 14
|
||||
CABIN_TREE_LOOK_DOWN = 15
|
||||
|
||||
; Arbor, up in the trees
|
||||
ARBOR_INSIDE_ELEV1 = 0
|
||||
|
@ -78,3 +78,5 @@
|
||||
.byte $00 ; SAFE_TENS = $C4
|
||||
.byte $00 ; SAFE_ONES = $C5
|
||||
.byte $00 ; TREE_LEVEL = $C6
|
||||
.byte $00 ; HOLDING_ITEM = $C7
|
||||
.byte $00 ; BOILER_VALVE = $C8
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
@ -6,7 +6,7 @@ locations:
|
||||
.word location0, location1, location2, location3
|
||||
.word location4, location5, location6, location7
|
||||
.word location8, location9, location10,location11
|
||||
.word location12,location13
|
||||
.word location12,location13,location14,location15
|
||||
|
||||
; CABIN_OUTSIDE -- outside in clearing
|
||||
location0:
|
||||
@ -172,7 +172,7 @@ location8:
|
||||
.byte $ff ; east exit
|
||||
.byte $ff ; west exit
|
||||
.byte $ff ; north exit_dir
|
||||
.byte DIRECTION_S ; south exit_dir
|
||||
.byte DIRECTION_N ; south exit_dir
|
||||
.byte $ff ; east exit_dir
|
||||
.byte $ff ; west exit_dir
|
||||
.word $0000 ; north bg
|
||||
@ -272,3 +272,39 @@ location13:
|
||||
.byte 14,34 ; special x
|
||||
.byte 0,44 ; special y
|
||||
.word touch_open_safe-1
|
||||
|
||||
; CABIN_TREE_LOOK_UP -- looking up from base of tree
|
||||
location14:
|
||||
.byte CABIN_BIG_TREE ; 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 tree_base_up_lzsa ; north bg
|
||||
.word $0000 ; south bg
|
||||
.word $0000 ; east bg
|
||||
.word $0000 ; west bg
|
||||
.byte BG_NORTH
|
||||
.byte $ff ; special exit
|
||||
|
||||
; CABIN_TREE_LOOK_DOWN -- looking down from top of tree
|
||||
location15:
|
||||
.byte $ff ; north exit
|
||||
.byte CABIN_TREE_ELEVATOR ; south exit
|
||||
.byte $ff ; east exit
|
||||
.byte $ff ; west exit
|
||||
.byte $ff ; north exit_dir
|
||||
.byte DIRECTION_S ; south exit_dir
|
||||
.byte $ff ; east exit_dir
|
||||
.byte $ff ; west exit_dir
|
||||
.word $0000 ; north bg
|
||||
.word tree_elevator_top_down_lzsa ; south bg
|
||||
.word $0000 ; east bg
|
||||
.word $0000 ; west bg
|
||||
.byte BG_SOUTH
|
||||
.byte $ff ; special exit
|
||||
|
||||
|
||||
|
@ -82,7 +82,9 @@ MARKER_SWITCHES = $87 ; state of the marker switches
|
||||
|
||||
CLOCK_HOUR = $88 ; hour on the mist clock
|
||||
CLOCK_MINUTE = $89 ; minute on the mist clock
|
||||
TREE_FURNACE_ON = $8A ; furnace in the cabin on
|
||||
|
||||
BOILER_LEVEL = $8A ; furnace in the cabin level
|
||||
|
||||
FIREPLACE_GRID0 = $8B ; fireplace grid puzzle state
|
||||
FIREPLACE_GRID1 = $8C
|
||||
FIREPLACE_GRID2 = $8D
|
||||
@ -202,13 +204,14 @@ SAFE_ONES = $C5 ; safe combination, ones
|
||||
|
||||
TREE_LEVEL = $C6 ; how high is the tree hole
|
||||
|
||||
|
||||
HOLDING_ITEM = $C7
|
||||
HOLDING_KEY = $04
|
||||
HOLDING_LIT_MATCH = $02
|
||||
HOLDING_MATCH = $01
|
||||
|
||||
END_OF_SAVE = $C8
|
||||
BOILER_VALVE = $C8 ; how many turns of the boiler valve
|
||||
|
||||
END_OF_SAVE = $C9
|
||||
|
||||
|
||||
; done game puzzle state
|
||||
|
Loading…
Reference in New Issue
Block a user