mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-28 09:30:41 +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
|
||||
-- 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:
|
||||
+ CABIN
|
||||
+ DENTIST
|
||||
+ DNI
|
||||
+ MECHE
|
||||
+ MIST_TITLE
|
||||
+ ARBOR
|
||||
+ SHIP
|
||||
|
@ -1,11 +1,25 @@
|
||||
.include "zp.inc"
|
||||
.include "common_defines.inc"
|
||||
|
||||
|
||||
; want to load this to address $80
|
||||
|
||||
.if 0
|
||||
; ARBOR
|
||||
.byte LOAD_ARBOR ; WHICH_LOAD = $80
|
||||
.byte DIRECTION_W ; DIRECTION = $81
|
||||
.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 ; BLUE_PAGES_TAKEN = $84
|
||||
.byte $00 ; CLOCK_BRIDGE = $85
|
||||
@ -81,3 +95,4 @@
|
||||
.byte $00 ; HOLDING_ITEM = $C7
|
||||
.byte $00 ; BOILER_VALVE = $C8
|
||||
.byte $00 ; TRUNK_STATE = $C9
|
||||
|
||||
|
@ -104,9 +104,9 @@ location4:
|
||||
.word entrance_e_lzsa ; east bg
|
||||
.word entrance_w_lzsa ; west bg
|
||||
.byte BG_NORTH|BG_SOUTH|BG_EAST|BG_WEST
|
||||
.byte DIRECTION_N ; special exit
|
||||
.byte 6,22 ; special x
|
||||
.byte 30,46 ; special y
|
||||
.byte DIRECTION_N|DIRECTION_W ; special exit
|
||||
.byte 6,36 ; special x
|
||||
.byte 26,46 ; special y
|
||||
.word try_exit_puzzle-1 ; special function
|
||||
|
||||
|
||||
|
@ -17,7 +17,6 @@ mist_link_book:
|
||||
|
||||
jsr play_link_noise
|
||||
|
||||
|
||||
lda #OCTAGON_CEILING
|
||||
sta LOCATION
|
||||
lda #DIRECTION_N
|
||||
|
@ -239,17 +239,45 @@ draw_exit_puzzle_sprites:
|
||||
|
||||
;=========================================
|
||||
; 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
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
jsr check_puzzle_solved
|
||||
@ -257,9 +285,12 @@ try_exit_puzzle:
|
||||
|
||||
lda #MECHE_BOOK_STAIRS
|
||||
sta LOCATION
|
||||
jsr change_location
|
||||
jmp change_location
|
||||
|
||||
cant_go_there:
|
||||
rts
|
||||
lda #MECHE_FORT_VIEW
|
||||
sta LOCATION
|
||||
jmp change_location
|
||||
|
||||
do_puzzle:
|
||||
lda #MECHE_EXIT_PUZZLE
|
||||
|
Loading…
Reference in New Issue
Block a user