mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-29 00:31:52 +00:00
mist: meche: can get to the end puzzle from both sides now
This commit is contained in:
parent
b84c8f9011
commit
4b00599b54
@ -33,12 +33,15 @@ For release 1.0
|
|||||||
+ VIEWER
|
+ VIEWER
|
||||||
-- have ship up background if ship up
|
-- have ship up background if ship up
|
||||||
|
|
||||||
|
+ MECHE
|
||||||
|
-- animations for elevator
|
||||||
|
-- way to click on end puzzle from other angle
|
||||||
|
-- way to turn around in basement
|
||||||
|
|
||||||
Done:
|
Done:
|
||||||
+ CABIN
|
+ CABIN
|
||||||
+ DENTIST
|
+ DENTIST
|
||||||
+ DNI
|
+ DNI
|
||||||
+ MECHE
|
|
||||||
+ MIST_TITLE
|
+ MIST_TITLE
|
||||||
+ ARBOR
|
+ ARBOR
|
||||||
+ SHIP
|
+ SHIP
|
||||||
|
@ -1,11 +1,25 @@
|
|||||||
.include "zp.inc"
|
.include "zp.inc"
|
||||||
.include "common_defines.inc"
|
.include "common_defines.inc"
|
||||||
|
|
||||||
|
|
||||||
; want to load this to address $80
|
; want to load this to address $80
|
||||||
|
|
||||||
|
.if 0
|
||||||
|
; ARBOR
|
||||||
.byte LOAD_ARBOR ; WHICH_LOAD = $80
|
.byte LOAD_ARBOR ; WHICH_LOAD = $80
|
||||||
.byte DIRECTION_W ; DIRECTION = $81
|
.byte DIRECTION_W ; DIRECTION = $81
|
||||||
.byte ARBOR_ARRIVAL_CLOSED ; LOCATION = $82
|
.byte ARBOR_ARRIVAL_CLOSED ; LOCATION = $82
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.if 1
|
||||||
|
; MECHE
|
||||||
|
.byte LOAD_MECHE ; WHICH_LOAD = $80
|
||||||
|
.byte DIRECTION_W ; DIRECTION = $81
|
||||||
|
.byte MECHE_ARRIVAL ; LOCATION = $82
|
||||||
|
.endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.byte $00 ; RED_PAGES_TAKEN = $83
|
.byte $00 ; RED_PAGES_TAKEN = $83
|
||||||
.byte $00 ; BLUE_PAGES_TAKEN = $84
|
.byte $00 ; BLUE_PAGES_TAKEN = $84
|
||||||
.byte $00 ; CLOCK_BRIDGE = $85
|
.byte $00 ; CLOCK_BRIDGE = $85
|
||||||
@ -81,3 +95,4 @@
|
|||||||
.byte $00 ; HOLDING_ITEM = $C7
|
.byte $00 ; HOLDING_ITEM = $C7
|
||||||
.byte $00 ; BOILER_VALVE = $C8
|
.byte $00 ; BOILER_VALVE = $C8
|
||||||
.byte $00 ; TRUNK_STATE = $C9
|
.byte $00 ; TRUNK_STATE = $C9
|
||||||
|
|
||||||
|
@ -104,9 +104,9 @@ location4:
|
|||||||
.word entrance_e_lzsa ; east bg
|
.word entrance_e_lzsa ; east bg
|
||||||
.word entrance_w_lzsa ; west bg
|
.word entrance_w_lzsa ; west bg
|
||||||
.byte BG_NORTH|BG_SOUTH|BG_EAST|BG_WEST
|
.byte BG_NORTH|BG_SOUTH|BG_EAST|BG_WEST
|
||||||
.byte DIRECTION_N ; special exit
|
.byte DIRECTION_N|DIRECTION_W ; special exit
|
||||||
.byte 6,22 ; special x
|
.byte 6,36 ; special x
|
||||||
.byte 30,46 ; special y
|
.byte 26,46 ; special y
|
||||||
.word try_exit_puzzle-1 ; special function
|
.word try_exit_puzzle-1 ; special function
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,7 +17,6 @@ mist_link_book:
|
|||||||
|
|
||||||
jsr play_link_noise
|
jsr play_link_noise
|
||||||
|
|
||||||
|
|
||||||
lda #OCTAGON_CEILING
|
lda #OCTAGON_CEILING
|
||||||
sta LOCATION
|
sta LOCATION
|
||||||
lda #DIRECTION_N
|
lda #DIRECTION_N
|
||||||
|
@ -239,17 +239,45 @@ draw_exit_puzzle_sprites:
|
|||||||
|
|
||||||
;=========================================
|
;=========================================
|
||||||
; exit puzzle first
|
; exit puzzle first
|
||||||
; we really have two entrance points but on same node
|
;
|
||||||
; so can't have both??
|
; we have two exits to puzzle, one N and W, try to handle both
|
||||||
|
; not really opitmal
|
||||||
|
|
||||||
; also handle path to book
|
; also handle path to book
|
||||||
|
|
||||||
try_exit_puzzle:
|
try_exit_puzzle:
|
||||||
|
|
||||||
|
lda DIRECTION
|
||||||
|
and #$f
|
||||||
|
cmp #DIRECTION_N
|
||||||
|
beq exit_facing_north
|
||||||
|
|
||||||
|
exit_facing_west:
|
||||||
|
lda CURSOR_X
|
||||||
|
cmp #29
|
||||||
|
bcs go_to_puzzle ; bge
|
||||||
|
|
||||||
|
; didn't click on the puzzle so instead go to MECHE_ARRIVAL
|
||||||
|
|
||||||
|
lda #MECHE_ARRIVAL
|
||||||
|
sta LOCATION
|
||||||
|
jmp change_location
|
||||||
|
|
||||||
|
go_to_puzzle:
|
||||||
|
lda #DIRECTION_N
|
||||||
|
sta DIRECTION
|
||||||
|
jmp do_puzzle
|
||||||
|
|
||||||
|
|
||||||
|
exit_facing_north:
|
||||||
|
|
||||||
lda CURSOR_X
|
lda CURSOR_X
|
||||||
cmp #14
|
cmp #14
|
||||||
bcc do_puzzle
|
bcc do_puzzle ; if less than 14 go to puzzle
|
||||||
|
cmp #23 ; if greater than 22 go to MECHE_FORT_VIEW
|
||||||
|
bcs cant_go_there
|
||||||
|
|
||||||
|
exit_check_for_tunnel:
|
||||||
; not puzzle, instead go down steps if available
|
; not puzzle, instead go down steps if available
|
||||||
|
|
||||||
jsr check_puzzle_solved
|
jsr check_puzzle_solved
|
||||||
@ -257,9 +285,12 @@ try_exit_puzzle:
|
|||||||
|
|
||||||
lda #MECHE_BOOK_STAIRS
|
lda #MECHE_BOOK_STAIRS
|
||||||
sta LOCATION
|
sta LOCATION
|
||||||
jsr change_location
|
jmp change_location
|
||||||
|
|
||||||
cant_go_there:
|
cant_go_there:
|
||||||
rts
|
lda #MECHE_FORT_VIEW
|
||||||
|
sta LOCATION
|
||||||
|
jmp change_location
|
||||||
|
|
||||||
do_puzzle:
|
do_puzzle:
|
||||||
lda #MECHE_EXIT_PUZZLE
|
lda #MECHE_EXIT_PUZZLE
|
||||||
|
Loading…
Reference in New Issue
Block a user