mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-01 05:31:52 +00:00
mist: stoney: hook up crawlways properly
you shouldn't be able to crash things anymore
This commit is contained in:
parent
27ed0fd181
commit
40a8993cc3
@ -17,8 +17,12 @@ For release 1.0
|
||||
-- load 1s clip of sounds (4k each) into language card?
|
||||
|
||||
+ STONEY
|
||||
-- proper crawlway exits if we have space
|
||||
|
||||
-- have lights off mean darken the levels
|
||||
-- have lights come on in telescope view
|
||||
-- allow coming at steps from an angle
|
||||
-- allow clicking on tunnel to get there
|
||||
-- hook up compass rose
|
||||
-- hook up pump
|
||||
-- hook up key/trunk puzzle
|
||||
|
@ -330,8 +330,8 @@ STONEY_RED_ROOM = 30
|
||||
STONEY_RED_ROOM_DRESSER = 31
|
||||
STONEY_RED_DRESSER_OPEN = 32
|
||||
STONEY_CRAWLWAY_LEFT = 33
|
||||
STONEY_COMPASS_ROOM = 34
|
||||
STONEY_COMPASS_ROSE = 35
|
||||
STONEY_COMPASS_ROOM_LEFT= 34
|
||||
STONEY_COMPASS_ROSE_LEFT= 35
|
||||
STONEY_RIGHT_TUNNEL1 = 36
|
||||
STONEY_RIGHT_TUNNEL2 = 37
|
||||
STONEY_RIGHT_AIRLOCK = 38
|
||||
@ -341,6 +341,8 @@ STONEY_BLUE_MAPCASE = 41
|
||||
STONEY_BLUE_MAPCASE_OPEN= 42
|
||||
STONEY_BLUE_HALFMESSAGE = 43
|
||||
STONEY_CRAWLWAY_RIGHT = 44
|
||||
STONEY_COMPASS_ROOM_RIGHT= 45
|
||||
STONEY_COMPASS_ROSE_RIGHT= 46
|
||||
|
||||
; Channely Wood
|
||||
CHANNEL_ARRIVAL = 0
|
||||
|
@ -39,7 +39,7 @@ stoney_graphics.inc: \
|
||||
left_airlock_n.lzsa left_airlock_s.lzsa left_airlock_open_n.lzsa \
|
||||
red_room_n.lzsa red_room_s.lzsa red_room_e.lzsa red_room_w.lzsa \
|
||||
dresser_e.lzsa dresser_open_e.lzsa \
|
||||
compass_room_w.lzsa compass_room_e.lzsa \
|
||||
compass_room_n.lzsa compass_room_w.lzsa compass_room_e.lzsa \
|
||||
compass_rose_w.lzsa \
|
||||
crawlway_e.lzsa crawlway_w.lzsa \
|
||||
blue_room_n.lzsa blue_room_s.lzsa blue_room_e.lzsa blue_room_w.lzsa \
|
||||
@ -116,6 +116,7 @@ stoney_graphics.inc: \
|
||||
echo "dresser_open_e_lzsa: .incbin \"dresser_open_e.lzsa\"" >> stoney_graphics.inc
|
||||
echo "compass_room_e_lzsa: .incbin \"compass_room_e.lzsa\"" >> stoney_graphics.inc
|
||||
echo "compass_room_w_lzsa: .incbin \"compass_room_w.lzsa\"" >> stoney_graphics.inc
|
||||
echo "compass_room_n_lzsa: .incbin \"compass_room_n.lzsa\"" >> stoney_graphics.inc
|
||||
echo "compass_rose_w_lzsa: .incbin \"compass_rose_w.lzsa\"" >> stoney_graphics.inc
|
||||
echo "crawlway_e_lzsa: .incbin \"crawlway_e.lzsa\"" >> stoney_graphics.inc
|
||||
echo "crawlway_w_lzsa: .incbin \"crawlway_w.lzsa\"" >> stoney_graphics.inc
|
||||
|
@ -15,7 +15,7 @@ locations:
|
||||
.word location32,location33,location34,location35
|
||||
.word location36,location37,location38,location39
|
||||
.word location40,location41,location42,location43
|
||||
.word location44
|
||||
.word location44,location45,location46
|
||||
|
||||
; STONEY_ARRIVAL -- arrival at stoneship
|
||||
location0:
|
||||
@ -604,7 +604,7 @@ location33:
|
||||
.byte $ff ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte STONEY_LEFT_TUNNEL2 ; east exit
|
||||
.byte STONEY_COMPASS_ROOM ; west exit
|
||||
.byte STONEY_COMPASS_ROOM_LEFT ; west exit
|
||||
.byte $ff ; north exit_dir
|
||||
.byte $ff ; south exit_dir
|
||||
.byte DIRECTION_N ; east exit_dir
|
||||
@ -616,29 +616,32 @@ location33:
|
||||
.byte BG_EAST|BG_WEST
|
||||
.byte $ff
|
||||
|
||||
; STONEY_COMPASS_ROOM -- compass room
|
||||
; STONEY_COMPASS_ROOM_LEFT -- compass room from left
|
||||
location34:
|
||||
.byte $ff ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte STONEY_CRAWLWAY_LEFT ; east exit
|
||||
.byte STONEY_COMPASS_ROSE ; west exit
|
||||
.byte $ff ; west exit
|
||||
.byte $ff ; north exit_dir
|
||||
.byte $ff ; south exit_dir
|
||||
.byte DIRECTION_E ; east exit_dir
|
||||
.byte DIRECTION_W ; west exit_dir
|
||||
.byte $ff ; west exit_dir
|
||||
.word $0000 ; north bg
|
||||
.word $0000 ; south bg
|
||||
.word compass_room_e_lzsa ; east bg
|
||||
.word compass_room_w_lzsa ; west bg
|
||||
.byte BG_EAST|BG_WEST
|
||||
.byte $ff
|
||||
.byte DIRECTION_W
|
||||
.byte 12,40 ; special x
|
||||
.byte 0,46 ; special y
|
||||
.word view_compass_left-1 ; special function
|
||||
|
||||
; STONEY_COMPASS_ROSE -- compass rose
|
||||
; STONEY_COMPASS_ROSE_LEFT -- compass rose
|
||||
location35:
|
||||
.byte $ff ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte $ff ; east exit
|
||||
.byte STONEY_COMPASS_ROOM ; west exit
|
||||
.byte STONEY_COMPASS_ROOM_LEFT ; west exit
|
||||
.byte $ff ; north exit_dir
|
||||
.byte $ff ; south exit_dir
|
||||
.byte $ff ; east exit_dir
|
||||
@ -648,7 +651,10 @@ location35:
|
||||
.word $0000 ; east bg
|
||||
.word compass_rose_w_lzsa ; west bg
|
||||
.byte BG_WEST
|
||||
.byte $ff
|
||||
.byte DIRECTION_W
|
||||
.byte 6,35 ; special x
|
||||
.byte 0,46 ; special y
|
||||
.word view_compass_right-1 ; special function
|
||||
|
||||
; STONEY_RIGHT_TUNNEL1 -- right tunnel to blue room
|
||||
location36:
|
||||
@ -676,7 +682,7 @@ location37:
|
||||
.byte DIRECTION_N ; north exit_dir
|
||||
.byte DIRECTION_S ; south exit_dir
|
||||
.byte DIRECTION_E ; east exit_dir
|
||||
.byte DIRECTION_W ; west exit_dir
|
||||
.byte $ff ; west exit_dir
|
||||
.word right_tunnel2_n_lzsa ; north bg
|
||||
.word right_tunnel2_s_lzsa ; south bg
|
||||
.word right_tunnel2_w_lzsa ; east bg
|
||||
@ -796,16 +802,57 @@ location43:
|
||||
location44:
|
||||
.byte $ff ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte STONEY_COMPASS_ROOM ; east exit
|
||||
.byte STONEY_COMPASS_ROOM_RIGHT ; east exit
|
||||
.byte STONEY_RIGHT_TUNNEL2 ; west exit
|
||||
.byte $ff ; north exit_dir
|
||||
.byte $ff ; south exit_dir
|
||||
.byte DIRECTION_N ; east exit_dir
|
||||
.byte DIRECTION_W ; west exit_dir
|
||||
.byte DIRECTION_N ; west exit_dir
|
||||
.word $0000 ; north bg
|
||||
.word $0000 ; south bg
|
||||
.word crawlway_e_lzsa ; east bg
|
||||
.word crawlway_w_lzsa ; west bg
|
||||
.word crawlway_w_lzsa ; east bg
|
||||
.word crawlway_e_lzsa ; west bg
|
||||
.byte BG_EAST|BG_WEST
|
||||
.byte $ff
|
||||
|
||||
; STONEY_COMPASS_ROOM_RIGHT -- compass room from right
|
||||
location45:
|
||||
.byte $ff ; north exit
|
||||
.byte STONEY_CRAWLWAY_RIGHT ; south exit
|
||||
.byte $ff ; east exit
|
||||
.byte $ff ; west exit
|
||||
.byte $ff ; north exit_dir
|
||||
.byte DIRECTION_W ; south exit_dir
|
||||
.byte $ff ; east exit_dir
|
||||
.byte $ff ; west exit_dir
|
||||
.word compass_room_n_lzsa ; north bg
|
||||
.word compass_room_e_lzsa ; south bg
|
||||
.word $0000 ; east bg
|
||||
.word $0000 ; west bg
|
||||
.byte BG_NORTH|BG_SOUTH
|
||||
.byte DIRECTION_N
|
||||
.byte 0,28 ; special x
|
||||
.byte 0,46 ; special y
|
||||
.word view_compass_right-1 ; special function
|
||||
|
||||
|
||||
; STONEY_COMPASS_ROSE_RIGHT -- compass rose approached from right
|
||||
location46:
|
||||
.byte $ff ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte $ff ; east exit
|
||||
.byte STONEY_COMPASS_ROOM_RIGHT ; west exit
|
||||
.byte $ff ; north exit_dir
|
||||
.byte $ff ; south exit_dir
|
||||
.byte $ff ; east exit_dir
|
||||
.byte DIRECTION_N ; west exit_dir
|
||||
.word $0000 ; north bg
|
||||
.word $0000 ; south bg
|
||||
.word $0000 ; east bg
|
||||
.word compass_rose_w_lzsa ; west bg
|
||||
.byte BG_WEST
|
||||
.byte DIRECTION_W
|
||||
.byte 6,35 ; special x
|
||||
.byte 0,46 ; special y
|
||||
.word view_compass_right-1 ; special function
|
||||
|
||||
|
@ -34,8 +34,11 @@
|
||||
; charge runs down over time
|
||||
|
||||
; compass rose puzzle
|
||||
; press wrong one and lights go out?
|
||||
; press wrong one and lights go out (all energy to zero)
|
||||
; also siren plays
|
||||
; blue light at end of corridor
|
||||
; press right one, lights in the cabin go on
|
||||
; also light outside the compass window
|
||||
|
||||
|
||||
|
||||
@ -52,6 +55,68 @@
|
||||
; draw hatch as sprite
|
||||
|
||||
|
||||
;==================================
|
||||
; compass puzzle
|
||||
;==================================
|
||||
compass_puzzle:
|
||||
rts
|
||||
|
||||
|
||||
|
||||
|
||||
;==========================
|
||||
; handle compass room right
|
||||
|
||||
view_compass_right:
|
||||
lda CURSOR_X
|
||||
cmp #12
|
||||
bcs goto_compass_right ; blt
|
||||
|
||||
goto_left_tunnel:
|
||||
|
||||
lda #DIRECTION_E
|
||||
sta DIRECTION
|
||||
|
||||
lda #STONEY_COMPASS_ROOM_LEFT
|
||||
sta LOCATION
|
||||
jmp change_location
|
||||
|
||||
goto_compass_right:
|
||||
|
||||
lda #DIRECTION_W
|
||||
sta DIRECTION
|
||||
|
||||
lda #STONEY_COMPASS_ROSE_RIGHT
|
||||
sta LOCATION
|
||||
|
||||
jmp change_location
|
||||
|
||||
|
||||
|
||||
;==========================
|
||||
; handle compass room left
|
||||
|
||||
view_compass_left:
|
||||
lda CURSOR_X
|
||||
cmp #28
|
||||
bcc goto_compass_left ; blt
|
||||
|
||||
goto_right_tunnel:
|
||||
|
||||
lda #DIRECTION_S
|
||||
sta DIRECTION
|
||||
|
||||
lda #STONEY_COMPASS_ROOM_RIGHT
|
||||
sta LOCATION
|
||||
jmp change_location
|
||||
|
||||
goto_compass_left:
|
||||
|
||||
lda #STONEY_COMPASS_ROSE_LEFT
|
||||
sta LOCATION
|
||||
|
||||
jmp change_location
|
||||
|
||||
|
||||
;======================
|
||||
; handle umbrella pump buttons
|
||||
|
Loading…
Reference in New Issue
Block a user