mist: can get to the blue page in selenetic now
|
@ -207,7 +207,9 @@ SELENA_SUB_ROOM = 7
|
||||||
SELENA_BOOK_ROOM = 8
|
SELENA_BOOK_ROOM = 8
|
||||||
SELENA_BOOK_CLOSED = 9
|
SELENA_BOOK_CLOSED = 9
|
||||||
SELENA_BOOK_OPEN = 10
|
SELENA_BOOK_OPEN = 10
|
||||||
|
SELENA_WATER_TURN = 11
|
||||||
|
SELENA_WATER_PATH = 12
|
||||||
|
SELENA_WATER = 13
|
||||||
|
|
||||||
; Viewer Room
|
; Viewer Room
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,10 @@ selena_graphics.inc: \
|
||||||
bunker_n.lzsa bunker_s.lzsa bunker_e.lzsa \
|
bunker_n.lzsa bunker_s.lzsa bunker_e.lzsa \
|
||||||
subroom_s.lzsa \
|
subroom_s.lzsa \
|
||||||
book_table_s.lzsa \
|
book_table_s.lzsa \
|
||||||
book_mist_open_s.lzsa book_mist_closed_s.lzsa
|
book_mist_open_s.lzsa book_mist_closed_s.lzsa \
|
||||||
|
water_turn_n.lzsa water_turn_s.lzsa water_turn_w.lzsa \
|
||||||
|
water_path_e.lzsa water_path_w.lzsa \
|
||||||
|
water_note_e.lzsa water_note_w.lzsa water_note_s.lzsa
|
||||||
echo "controls_e_lzsa: .incbin \"controls_e.lzsa\"" > selena_graphics.inc
|
echo "controls_e_lzsa: .incbin \"controls_e.lzsa\"" > selena_graphics.inc
|
||||||
echo "organ_w_lzsa: .incbin \"organ_w.lzsa\"" >> selena_graphics.inc
|
echo "organ_w_lzsa: .incbin \"organ_w.lzsa\"" >> selena_graphics.inc
|
||||||
echo "spaceship_inside_w_lzsa: .incbin \"spaceship_inside_w.lzsa\"" >> selena_graphics.inc
|
echo "spaceship_inside_w_lzsa: .incbin \"spaceship_inside_w.lzsa\"" >> selena_graphics.inc
|
||||||
|
@ -39,7 +42,14 @@ selena_graphics.inc: \
|
||||||
echo "book_table_s_lzsa: .incbin \"book_table_s.lzsa\"" >> selena_graphics.inc
|
echo "book_table_s_lzsa: .incbin \"book_table_s.lzsa\"" >> selena_graphics.inc
|
||||||
echo "book_mist_open_s_lzsa: .incbin \"book_mist_open_s.lzsa\"" >> selena_graphics.inc
|
echo "book_mist_open_s_lzsa: .incbin \"book_mist_open_s.lzsa\"" >> selena_graphics.inc
|
||||||
echo "book_mist_closed_s_lzsa: .incbin \"book_mist_closed_s.lzsa\"" >> selena_graphics.inc
|
echo "book_mist_closed_s_lzsa: .incbin \"book_mist_closed_s.lzsa\"" >> selena_graphics.inc
|
||||||
|
echo "water_turn_n_lzsa: .incbin \"water_turn_n.lzsa\"" >> selena_graphics.inc
|
||||||
|
echo "water_turn_s_lzsa: .incbin \"water_turn_s.lzsa\"" >> selena_graphics.inc
|
||||||
|
echo "water_turn_w_lzsa: .incbin \"water_turn_w.lzsa\"" >> selena_graphics.inc
|
||||||
|
echo "water_path_w_lzsa: .incbin \"water_path_w.lzsa\"" >> selena_graphics.inc
|
||||||
|
echo "water_path_e_lzsa: .incbin \"water_path_e.lzsa\"" >> selena_graphics.inc
|
||||||
|
echo "water_note_e_lzsa: .incbin \"water_note_e.lzsa\"" >> selena_graphics.inc
|
||||||
|
echo "water_note_w_lzsa: .incbin \"water_note_w.lzsa\"" >> selena_graphics.inc
|
||||||
|
echo "water_note_s_lzsa: .incbin \"water_note_s.lzsa\"" >> selena_graphics.inc
|
||||||
|
|
||||||
%.gr: %.png
|
%.gr: %.png
|
||||||
$(PNG2GR) $< $@
|
$(PNG2GR) $< $@
|
||||||
|
|
BIN
mist/graphics_selena/water_note_e.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
mist/graphics_selena/water_note_s.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
mist/graphics_selena/water_note_w.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
mist/graphics_selena/water_path_e.png
Normal file
After Width: | Height: | Size: 996 B |
BIN
mist/graphics_selena/water_path_w.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
mist/graphics_selena/water_turn_n.png
Normal file
After Width: | Height: | Size: 937 B |
BIN
mist/graphics_selena/water_turn_s.png
Normal file
After Width: | Height: | Size: 907 B |
BIN
mist/graphics_selena/water_turn_w.png
Normal file
After Width: | Height: | Size: 928 B |
|
@ -6,7 +6,8 @@
|
||||||
locations:
|
locations:
|
||||||
.word location0, location1, location2, location3
|
.word location0, location1, location2, location3
|
||||||
.word location4, location5, location6, location7
|
.word location4, location5, location6, location7
|
||||||
.word location8, location9, location10
|
.word location8, location9, location10,location11
|
||||||
|
.word location12,location13
|
||||||
|
|
||||||
; SELENA_INSIDE_SHIP -- Inside Ship
|
; SELENA_INSIDE_SHIP -- Inside Ship
|
||||||
location0:
|
location0:
|
||||||
|
@ -123,11 +124,11 @@ location5:
|
||||||
|
|
||||||
; SELENA_BUNKER -- bunker
|
; SELENA_BUNKER -- bunker
|
||||||
location6:
|
location6:
|
||||||
.byte $ff ; north exit
|
.byte SELENA_WATER_TURN ; north exit
|
||||||
.byte SELENA_WALKWAY4 ; south exit
|
.byte SELENA_WALKWAY4 ; south exit
|
||||||
.byte SELENA_SUB_ROOM ; east exit
|
.byte SELENA_SUB_ROOM ; east exit
|
||||||
.byte $ff ; west exit
|
.byte $ff ; west exit
|
||||||
.byte $ff ; north exit_dir
|
.byte DIRECTION_N ; north exit_dir
|
||||||
.byte DIRECTION_S ; south exit_dir
|
.byte DIRECTION_S ; south exit_dir
|
||||||
.byte DIRECTION_S ; east exit_dir
|
.byte DIRECTION_S ; east exit_dir
|
||||||
.byte $ff ; west exit_dir
|
.byte $ff ; west exit_dir
|
||||||
|
@ -209,3 +210,59 @@ location10:
|
||||||
.byte 12,22 ; special y
|
.byte 12,22 ; special y
|
||||||
.word mist_link_book-1 ; special function
|
.word mist_link_book-1 ; special function
|
||||||
|
|
||||||
|
; SELENA_WATER_TURN -- turnoff for water
|
||||||
|
location11:
|
||||||
|
.byte $ff ; north exit
|
||||||
|
.byte SELENA_BUNKER ; south exit
|
||||||
|
.byte $ff ; east exit
|
||||||
|
.byte SELENA_WATER_PATH ; west exit
|
||||||
|
.byte $ff ; north exit_dir
|
||||||
|
.byte DIRECTION_S ; south exit_dir
|
||||||
|
.byte $ff ; east exit_dir
|
||||||
|
.byte DIRECTION_W ; west exit_dir
|
||||||
|
.word water_turn_n_lzsa ; north bg
|
||||||
|
.word water_turn_s_lzsa ; south bg
|
||||||
|
.word $0000 ; east bg
|
||||||
|
.word water_turn_w_lzsa ; west bg
|
||||||
|
.byte BG_SOUTH|BG_NORTH|BG_WEST
|
||||||
|
.byte $ff
|
||||||
|
|
||||||
|
; SELENA_WATER_PATH -- path to water
|
||||||
|
location12:
|
||||||
|
.byte $ff ; north exit
|
||||||
|
.byte $ff ; south exit
|
||||||
|
.byte SELENA_WATER_TURN ; east exit
|
||||||
|
.byte SELENA_WATER ; west exit
|
||||||
|
.byte $ff ; north exit_dir
|
||||||
|
.byte $ff ; south exit_dir
|
||||||
|
.byte DIRECTION_S ; east exit_dir
|
||||||
|
.byte DIRECTION_W ; west exit_dir
|
||||||
|
.word $0000 ; north bg
|
||||||
|
.word $0000 ; south bg
|
||||||
|
.word water_path_e_lzsa ; east bg
|
||||||
|
.word water_path_w_lzsa ; west bg
|
||||||
|
.byte BG_EAST|BG_WEST
|
||||||
|
.byte $ff
|
||||||
|
|
||||||
|
; SELENA_WATER -- water
|
||||||
|
location13:
|
||||||
|
.byte $ff ; north exit
|
||||||
|
.byte $ff ; south exit
|
||||||
|
.byte SELENA_WATER_PATH ; east exit
|
||||||
|
.byte $ff ; west exit
|
||||||
|
.byte $ff ; north exit_dir
|
||||||
|
.byte $ff ; south exit_dir
|
||||||
|
.byte DIRECTION_E ; east exit_dir
|
||||||
|
.byte $ff ; west exit_dir
|
||||||
|
.word $0000 ; north bg
|
||||||
|
.word water_note_s_lzsa ; south bg
|
||||||
|
.word water_note_e_lzsa ; east bg
|
||||||
|
.word water_note_w_lzsa ; west bg
|
||||||
|
.byte BG_SOUTH|BG_EAST|BG_WEST
|
||||||
|
.byte DIRECTION_S ; special exit
|
||||||
|
.byte 20,27 ; special x
|
||||||
|
.byte 26,36 ; special y
|
||||||
|
.word selena_take_blue_page-1 ; special function
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -53,14 +53,24 @@ selena_start:
|
||||||
lda #DIRECTION_N
|
lda #DIRECTION_N
|
||||||
sta location0,Y ; enable mist exit
|
sta location0,Y ; enable mist exit
|
||||||
|
|
||||||
lda #SELENA_INSIDE_SHIP
|
|
||||||
sta LOCATION
|
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sta LEVEL_OVER
|
sta LEVEL_OVER
|
||||||
|
|
||||||
|
.if 0
|
||||||
|
lda #SELENA_INSIDE_SHIP
|
||||||
|
sta LOCATION
|
||||||
|
|
||||||
lda #DIRECTION_E
|
lda #DIRECTION_E
|
||||||
sta DIRECTION
|
sta DIRECTION
|
||||||
|
.else
|
||||||
|
|
||||||
|
lda #SELENA_WALKWAY1
|
||||||
|
sta LOCATION
|
||||||
|
|
||||||
|
lda #DIRECTION_N
|
||||||
|
sta DIRECTION
|
||||||
|
|
||||||
|
.endif
|
||||||
|
|
||||||
; set up initial location
|
; set up initial location
|
||||||
|
|
||||||
|
@ -98,6 +108,9 @@ game_loop:
|
||||||
beq controls_animation
|
beq controls_animation
|
||||||
cmp #SELENA_BOOK_OPEN
|
cmp #SELENA_BOOK_OPEN
|
||||||
beq mist_book_animation
|
beq mist_book_animation
|
||||||
|
cmp #SELENA_WATER
|
||||||
|
beq fg_draw_blue_page
|
||||||
|
|
||||||
jmp nothing_special
|
jmp nothing_special
|
||||||
|
|
||||||
mist_book_animation:
|
mist_book_animation:
|
||||||
|
@ -189,6 +202,11 @@ animate_check_low:
|
||||||
sta ANIMATE_FRAME
|
sta ANIMATE_FRAME
|
||||||
|
|
||||||
done_animate_book:
|
done_animate_book:
|
||||||
|
jmp nothing_special
|
||||||
|
|
||||||
|
fg_draw_blue_page:
|
||||||
|
jsr draw_blue_page
|
||||||
|
jmp nothing_special
|
||||||
|
|
||||||
nothing_special:
|
nothing_special:
|
||||||
|
|
||||||
|
@ -262,6 +280,62 @@ save_rocket_state:
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
selena_take_red_page:
|
||||||
|
lda #SELENA_PAGE
|
||||||
|
jmp take_red_page
|
||||||
|
|
||||||
|
selena_take_blue_page:
|
||||||
|
lda #SELENA_PAGE
|
||||||
|
jmp take_blue_page
|
||||||
|
|
||||||
|
|
||||||
|
;=============================
|
||||||
|
draw_red_page:
|
||||||
|
|
||||||
|
lda RED_PAGES_TAKEN
|
||||||
|
and #SELENA_PAGE
|
||||||
|
bne no_draw_page
|
||||||
|
|
||||||
|
lda #14
|
||||||
|
sta XPOS
|
||||||
|
lda #36
|
||||||
|
sta YPOS
|
||||||
|
|
||||||
|
lda #<red_page_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>red_page_sprite
|
||||||
|
sta INH
|
||||||
|
|
||||||
|
jmp put_sprite_crop ; tail call
|
||||||
|
|
||||||
|
|
||||||
|
draw_blue_page:
|
||||||
|
|
||||||
|
lda DIRECTION
|
||||||
|
cmp #DIRECTION_S
|
||||||
|
bne no_draw_page
|
||||||
|
|
||||||
|
lda BLUE_PAGES_TAKEN
|
||||||
|
and #SELENA_PAGE
|
||||||
|
bne no_draw_page
|
||||||
|
|
||||||
|
lda #20
|
||||||
|
sta XPOS
|
||||||
|
lda #26
|
||||||
|
sta YPOS
|
||||||
|
|
||||||
|
lda #<blue_page_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>blue_page_sprite
|
||||||
|
sta INH
|
||||||
|
|
||||||
|
jmp put_sprite_crop ; tail call
|
||||||
|
|
||||||
|
no_draw_page:
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;==========================
|
;==========================
|
||||||
; includes
|
; includes
|
||||||
;==========================
|
;==========================
|
||||||
|
@ -290,7 +364,10 @@ save_rocket_state:
|
||||||
|
|
||||||
.include "link_book_mist.s"
|
.include "link_book_mist.s"
|
||||||
|
|
||||||
|
.include "handle_pages.s"
|
||||||
|
|
||||||
.include "common_sprites.inc"
|
.include "common_sprites.inc"
|
||||||
|
.include "page_sprites.inc"
|
||||||
|
|
||||||
.include "leveldata_selena.inc"
|
.include "leveldata_selena.inc"
|
||||||
|
|
||||||
|
|