mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-09-28 02:55:03 +00:00
mist: stoneship: can take red page
This commit is contained in:
parent
03b25de904
commit
6bc8eec4d4
@ -115,6 +115,7 @@ meche.o: meche.s zp.inc hardware.inc common_defines.inc \
|
|||||||
link_book_meche.s \
|
link_book_meche.s \
|
||||||
link_book_mist.s \
|
link_book_mist.s \
|
||||||
meche_rotation.s \
|
meche_rotation.s \
|
||||||
|
handle_pages.s \
|
||||||
keyboard.s \
|
keyboard.s \
|
||||||
draw_pointer.s \
|
draw_pointer.s \
|
||||||
gr_copy.s audio.s text_print.s decompress_fast_v2.s
|
gr_copy.s audio.s text_print.s decompress_fast_v2.s
|
||||||
@ -168,6 +169,8 @@ stoney.o: stoney.s zp.inc hardware.inc common_defines.inc \
|
|||||||
keyboard.s \
|
keyboard.s \
|
||||||
draw_pointer.s \
|
draw_pointer.s \
|
||||||
link_book_stoney.s \
|
link_book_stoney.s \
|
||||||
|
link_book_mist.s \
|
||||||
|
handle_pages.s \
|
||||||
gr_copy.s audio.s text_print.s decompress_fast_v2.s
|
gr_copy.s audio.s text_print.s decompress_fast_v2.s
|
||||||
ca65 -o stoney.o stoney.s -l stoney.lst
|
ca65 -o stoney.o stoney.s -l stoney.lst
|
||||||
|
|
||||||
|
47
mist/handle_pages.s
Normal file
47
mist/handle_pages.s
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
; FIXME
|
||||||
|
; handle dropping pages
|
||||||
|
; handle white page
|
||||||
|
|
||||||
|
|
||||||
|
;==============================
|
||||||
|
; Take Blue Page
|
||||||
|
;==============================
|
||||||
|
; A should be page to take (i.e. MECHE_PAGE or similar)
|
||||||
|
|
||||||
|
take_blue_page:
|
||||||
|
jsr drop_current_page
|
||||||
|
|
||||||
|
eor BLUE_PAGES_TAKEN ; toggle the taken flag
|
||||||
|
sta BLUE_PAGES_TAKEN
|
||||||
|
|
||||||
|
lda #HOLDING_BLUE_PAGE ; put it in hand
|
||||||
|
sta HOLDING_PAGE
|
||||||
|
rts
|
||||||
|
|
||||||
|
take_red_page:
|
||||||
|
|
||||||
|
jsr drop_current_page
|
||||||
|
|
||||||
|
eor RED_PAGES_TAKEN
|
||||||
|
sta RED_PAGES_TAKEN
|
||||||
|
|
||||||
|
lda #HOLDING_RED_PAGE
|
||||||
|
sta HOLDING_PAGE
|
||||||
|
rts
|
||||||
|
|
||||||
|
take_white_page:
|
||||||
|
|
||||||
|
jsr drop_current_page
|
||||||
|
|
||||||
|
; lda #1
|
||||||
|
; sta WHITE_PAGE_TAKEN
|
||||||
|
|
||||||
|
lda #HOLDING_WHITE_PAGE
|
||||||
|
sta HOLDING_PAGE
|
||||||
|
rts
|
||||||
|
|
||||||
|
drop_current_page:
|
||||||
|
; FIXME
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
@ -709,7 +709,10 @@ location39:
|
|||||||
.word $0000 ; east bg
|
.word $0000 ; east bg
|
||||||
.word dresser_open_e_lzsa ; west bg
|
.word dresser_open_e_lzsa ; west bg
|
||||||
.byte BG_WEST
|
.byte BG_WEST
|
||||||
.byte $ff
|
.byte DIRECTION_W
|
||||||
|
.byte 14,21 ; special x
|
||||||
|
.byte 36,46 ; special y
|
||||||
|
.word stoney_take_red_page-1 ; special function
|
||||||
|
|
||||||
; STONEY_CRAWLWAY_LEFT -- left crawlway
|
; STONEY_CRAWLWAY_LEFT -- left crawlway
|
||||||
location40:
|
location40:
|
||||||
|
@ -28,14 +28,6 @@ dropped_blue_page:
|
|||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
enter_blue_secret:
|
|
||||||
|
|
||||||
lda #MECHE_BLUE_SECRET_DOOR
|
|
||||||
sta LOCATION
|
|
||||||
jsr change_location
|
|
||||||
|
|
||||||
rts
|
|
||||||
|
|
||||||
take_red_page:
|
take_red_page:
|
||||||
|
|
||||||
; FIXME: if we came back we could return page
|
; FIXME: if we came back we could return page
|
||||||
@ -61,6 +53,17 @@ dropped_red_page:
|
|||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
enter_blue_secret:
|
||||||
|
|
||||||
|
lda #MECHE_BLUE_SECRET_DOOR
|
||||||
|
sta LOCATION
|
||||||
|
jsr change_location
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
enter_red_secret:
|
enter_red_secret:
|
||||||
|
|
||||||
lda #MECHE_RED_SECRET_DOOR
|
lda #MECHE_RED_SECRET_DOOR
|
||||||
|
@ -204,6 +204,16 @@ back_to_mist:
|
|||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
stoney_take_red_page:
|
||||||
|
lda #STONEY_PAGE
|
||||||
|
jmp take_red_page
|
||||||
|
|
||||||
|
stoney_take_blue_page:
|
||||||
|
lda #STONEY_PAGE
|
||||||
|
jmp take_blue_page
|
||||||
|
|
||||||
|
|
||||||
;=============================
|
;=============================
|
||||||
draw_red_page:
|
draw_red_page:
|
||||||
|
|
||||||
@ -274,6 +284,8 @@ no_draw_page:
|
|||||||
|
|
||||||
; puzzles
|
; puzzles
|
||||||
|
|
||||||
|
.include "handle_pages.s"
|
||||||
|
|
||||||
.include "common_sprites.inc"
|
.include "common_sprites.inc"
|
||||||
|
|
||||||
.include "page_sprites.inc"
|
.include "page_sprites.inc"
|
||||||
|
Loading…
Reference in New Issue
Block a user