mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-24 12:29:29 +00:00
mist: stoney: trunk/key puzzle all hooked up?
This commit is contained in:
parent
f0f0140b4a
commit
3c9f42ecd4
Binary file not shown.
Before Width: | Height: | Size: 966 B After Width: | Height: | Size: 8.9 KiB |
Binary file not shown.
Before Width: | Height: | Size: 952 B After Width: | Height: | Size: 8.3 KiB |
Binary file not shown.
Before Width: | Height: | Size: 832 B After Width: | Height: | Size: 5.1 KiB |
|
@ -936,8 +936,8 @@ location50:
|
||||||
.word $0000 ; west bg
|
.word $0000 ; west bg
|
||||||
.byte BG_NORTH
|
.byte BG_NORTH
|
||||||
.byte DIRECTION_N ; special exit
|
.byte DIRECTION_N ; special exit
|
||||||
.byte 8,23 ; special x
|
.byte 8,25 ; special x
|
||||||
.byte 20,46 ; special y
|
.byte 24,46 ; special y
|
||||||
.word goto_trunk-1
|
.word goto_trunk-1
|
||||||
|
|
||||||
; STONEY_LIGHTHOUSE_TRUNK_CLOSE -- closeup of trunk
|
; STONEY_LIGHTHOUSE_TRUNK_CLOSE -- closeup of trunk
|
||||||
|
|
|
@ -204,6 +204,10 @@ not_a_doorway:
|
||||||
beq fg_draw_trunk_close
|
beq fg_draw_trunk_close
|
||||||
cmp #STONEY_LIGHTHOUSE_INSIDE
|
cmp #STONEY_LIGHTHOUSE_INSIDE
|
||||||
beq fg_draw_inside_lighthouse
|
beq fg_draw_inside_lighthouse
|
||||||
|
cmp #STONEY_LIGHTHOUSE_DOOR
|
||||||
|
beq fg_lighthouse_door
|
||||||
|
cmp #STONEY_TRUNK
|
||||||
|
beq fg_draw_trunk
|
||||||
|
|
||||||
jmp nothing_special
|
jmp nothing_special
|
||||||
|
|
||||||
|
@ -278,6 +282,32 @@ fg_draw_inside_lighthouse:
|
||||||
jsr draw_inside_lighthouse
|
jsr draw_inside_lighthouse
|
||||||
jmp nothing_special
|
jmp nothing_special
|
||||||
|
|
||||||
|
fg_draw_trunk:
|
||||||
|
jsr draw_floor_key
|
||||||
|
jmp nothing_special
|
||||||
|
|
||||||
|
fg_lighthouse_door:
|
||||||
|
lda HOLDING_ITEM
|
||||||
|
beq not_holding_key
|
||||||
|
|
||||||
|
; if outside door, drop key and close lid
|
||||||
|
lda #0
|
||||||
|
sta HOLDING_ITEM
|
||||||
|
jsr update_inside_lighthouse_action
|
||||||
|
|
||||||
|
lda TRUNK_STATE
|
||||||
|
ora #TRUNK_KEY_ON_FLOOR ; drop key on floor
|
||||||
|
sta TRUNK_STATE
|
||||||
|
|
||||||
|
not_holding_key:
|
||||||
|
|
||||||
|
; close lid
|
||||||
|
lda TRUNK_STATE
|
||||||
|
and #~(TRUNK_LID_OPEN)
|
||||||
|
sta TRUNK_STATE
|
||||||
|
|
||||||
|
jsr update_pump_state
|
||||||
|
|
||||||
nothing_special:
|
nothing_special:
|
||||||
|
|
||||||
;====================================
|
;====================================
|
||||||
|
|
|
@ -1452,7 +1452,36 @@ doorway2_water_list:
|
||||||
; water raises: FULL OF WATER, PLUG OPEN
|
; water raises: FULL OF WATER, PLUG OPEN
|
||||||
; close plug: EMPTY OF WATER, PLUG CLOSED
|
; close plug: EMPTY OF WATER, PLUG CLOSED
|
||||||
|
|
||||||
|
|
||||||
|
;====================================
|
||||||
|
; goto the trunk close
|
||||||
|
; OR pickup floor key if applicable
|
||||||
|
;====================================
|
||||||
goto_trunk:
|
goto_trunk:
|
||||||
|
lda CURSOR_X
|
||||||
|
cmp #22
|
||||||
|
bcc goto_the_trunk ; blt
|
||||||
|
|
||||||
|
; pickup floor key?
|
||||||
|
lda TRUNK_STATE
|
||||||
|
and #TRUNK_KEY_ON_FLOOR
|
||||||
|
beq no_floor_key
|
||||||
|
|
||||||
|
pickup_floor_key:
|
||||||
|
lda TRUNK_STATE
|
||||||
|
and #~TRUNK_KEY_ON_FLOOR
|
||||||
|
sta TRUNK_STATE
|
||||||
|
|
||||||
|
lda #HOLDING_KEY
|
||||||
|
sta HOLDING_ITEM
|
||||||
|
|
||||||
|
jsr update_inside_lighthouse_action
|
||||||
|
|
||||||
|
no_floor_key:
|
||||||
|
rts
|
||||||
|
|
||||||
|
goto_the_trunk:
|
||||||
|
|
||||||
lda #STONEY_TRUNK_CLOSE
|
lda #STONEY_TRUNK_CLOSE
|
||||||
sta LOCATION
|
sta LOCATION
|
||||||
|
|
||||||
|
@ -1924,8 +1953,33 @@ unlock_hatch:
|
||||||
; unlock the hatch
|
; unlock the hatch
|
||||||
lda TRUNK_STATE
|
lda TRUNK_STATE
|
||||||
ora #TRUNK_HATCH_OPEN
|
ora #TRUNK_HATCH_OPEN
|
||||||
|
ora #TRUNK_KEY_ON_FLOOR ; drop key on floor
|
||||||
sta TRUNK_STATE
|
sta TRUNK_STATE
|
||||||
|
|
||||||
jsr update_hatch_state
|
jsr update_hatch_state
|
||||||
jmp change_direction
|
jmp change_direction
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;========================
|
||||||
|
; draw floor key
|
||||||
|
;========================
|
||||||
|
draw_floor_key:
|
||||||
|
lda TRUNK_STATE
|
||||||
|
and #TRUNK_KEY_ON_FLOOR
|
||||||
|
beq done_draw_floor_key
|
||||||
|
|
||||||
|
lda #23
|
||||||
|
sta XPOS
|
||||||
|
lda #34
|
||||||
|
sta YPOS
|
||||||
|
|
||||||
|
lda #<trunk_key_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>trunk_key_sprite
|
||||||
|
sta INH
|
||||||
|
jsr put_sprite_crop
|
||||||
|
|
||||||
|
done_draw_floor_key:
|
||||||
|
rts
|
||||||
|
|
|
@ -246,6 +246,7 @@ TRUNK_STATE = $C9 ; trunk state in stonsehip
|
||||||
TRUNK_KEY_TAKEN = $04
|
TRUNK_KEY_TAKEN = $04
|
||||||
TRUNK_LID_OPEN = $08
|
TRUNK_LID_OPEN = $08
|
||||||
TRUNK_HATCH_OPEN = $10
|
TRUNK_HATCH_OPEN = $10
|
||||||
|
TRUNK_KEY_ON_FLOOR = $20
|
||||||
|
|
||||||
SELENA_BUTTON_STATUS = $CA
|
SELENA_BUTTON_STATUS = $CA
|
||||||
SELENA_BUTTON1 = $01 ; POOL (water)
|
SELENA_BUTTON1 = $01 ; POOL (water)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user