mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-20 17:29:28 +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
|
; set up initial location
|
||||||
|
|
||||||
|
jsr cabin_update_state
|
||||||
|
|
||||||
jsr change_location
|
jsr change_location
|
||||||
|
|
||||||
lda #1
|
lda #1
|
||||||
|
|
|
@ -5,7 +5,8 @@
|
||||||
; the match will flicker and burn out if you go outside
|
; the match will flicker and burn out if you go outside
|
||||||
|
|
||||||
; light the pilot, it will turn red
|
; 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 clockwise, fire starts, nothing else?
|
||||||
; turn once counter-clockwise fire turns off
|
; turn once counter-clockwise fire turns off
|
||||||
; turn twice CW -> ?
|
; turn twice CW -> ?
|
||||||
|
@ -32,6 +33,10 @@
|
||||||
; button does nothing in basement
|
; button does nothing in basement
|
||||||
; dial in basement does same as one upstairs
|
; dial in basement does same as one upstairs
|
||||||
|
|
||||||
|
; \ \ \ \ \ : / / / / /
|
||||||
|
; P S I
|
||||||
|
; \
|
||||||
|
|
||||||
|
|
||||||
tree_base_backgrounds:
|
tree_base_backgrounds:
|
||||||
.word tree_base_n_lzsa ; 0 basement
|
.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 ; 5 L10
|
||||||
.word tree_base_n_lzsa ; 6 TOP
|
.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
|
; update backgrounds based on state
|
||||||
;===================================
|
;===================================
|
||||||
cabin_update_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
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -373,6 +373,8 @@ CABIN_TREE_BOOK = 10
|
||||||
CABIN_TREE_BOOK_CLOSED = 11
|
CABIN_TREE_BOOK_CLOSED = 11
|
||||||
CABIN_TREE_BOOK_OPEN = 12
|
CABIN_TREE_BOOK_OPEN = 12
|
||||||
CABIN_OPEN_SAFE = 13
|
CABIN_OPEN_SAFE = 13
|
||||||
|
CABIN_TREE_LOOK_UP = 14
|
||||||
|
CABIN_TREE_LOOK_DOWN = 15
|
||||||
|
|
||||||
; Arbor, up in the trees
|
; Arbor, up in the trees
|
||||||
ARBOR_INSIDE_ELEV1 = 0
|
ARBOR_INSIDE_ELEV1 = 0
|
||||||
|
|
|
@ -78,3 +78,5 @@
|
||||||
.byte $00 ; SAFE_TENS = $C4
|
.byte $00 ; SAFE_TENS = $C4
|
||||||
.byte $00 ; SAFE_ONES = $C5
|
.byte $00 ; SAFE_ONES = $C5
|
||||||
.byte $00 ; TREE_LEVEL = $C6
|
.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 location0, location1, location2, location3
|
||||||
.word location4, location5, location6, location7
|
.word location4, location5, location6, location7
|
||||||
.word location8, location9, location10,location11
|
.word location8, location9, location10,location11
|
||||||
.word location12,location13
|
.word location12,location13,location14,location15
|
||||||
|
|
||||||
; CABIN_OUTSIDE -- outside in clearing
|
; CABIN_OUTSIDE -- outside in clearing
|
||||||
location0:
|
location0:
|
||||||
|
@ -172,7 +172,7 @@ location8:
|
||||||
.byte $ff ; east exit
|
.byte $ff ; east exit
|
||||||
.byte $ff ; west exit
|
.byte $ff ; west exit
|
||||||
.byte $ff ; north exit_dir
|
.byte $ff ; north exit_dir
|
||||||
.byte DIRECTION_S ; south exit_dir
|
.byte DIRECTION_N ; south exit_dir
|
||||||
.byte $ff ; east exit_dir
|
.byte $ff ; east exit_dir
|
||||||
.byte $ff ; west exit_dir
|
.byte $ff ; west exit_dir
|
||||||
.word $0000 ; north bg
|
.word $0000 ; north bg
|
||||||
|
@ -272,3 +272,39 @@ location13:
|
||||||
.byte 14,34 ; special x
|
.byte 14,34 ; special x
|
||||||
.byte 0,44 ; special y
|
.byte 0,44 ; special y
|
||||||
.word touch_open_safe-1
|
.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_HOUR = $88 ; hour on the mist clock
|
||||||
CLOCK_MINUTE = $89 ; minute 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_GRID0 = $8B ; fireplace grid puzzle state
|
||||||
FIREPLACE_GRID1 = $8C
|
FIREPLACE_GRID1 = $8C
|
||||||
FIREPLACE_GRID2 = $8D
|
FIREPLACE_GRID2 = $8D
|
||||||
|
@ -202,13 +204,14 @@ SAFE_ONES = $C5 ; safe combination, ones
|
||||||
|
|
||||||
TREE_LEVEL = $C6 ; how high is the tree hole
|
TREE_LEVEL = $C6 ; how high is the tree hole
|
||||||
|
|
||||||
|
|
||||||
HOLDING_ITEM = $C7
|
HOLDING_ITEM = $C7
|
||||||
HOLDING_KEY = $04
|
HOLDING_KEY = $04
|
||||||
HOLDING_LIT_MATCH = $02
|
HOLDING_LIT_MATCH = $02
|
||||||
HOLDING_MATCH = $01
|
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
|
; done game puzzle state
|
||||||
|
|
Loading…
Reference in New Issue
Block a user