mist: octagon: work towards final state at end of game

This commit is contained in:
Vince Weaver 2020-07-12 23:17:12 -04:00
parent 0e18f31db1
commit d1342dc7ab
13 changed files with 88 additions and 10 deletions

View File

@ -435,5 +435,5 @@ DENTIST_PANEL = 5
DNI_ARRIVAL = 0
DNI_DESK = 1
DNI_MYST_BOOK = 2
DNI_MYST_BOOK_OPEN = 3
DNI_MIST_BOOK = 2
DNI_MIST_BOOK_OPEN = 3

View File

@ -72,3 +72,5 @@
.byte $00 ; GREEN_BOOK_PROGRESS = $BF
.byte $00 ; DNI_PROGRESS = $C0
.byte $00 ; COMPARTMENT_OPEN = $C1
.byte $00 ; GAME_COMPLETED = $C2

View File

@ -19,7 +19,7 @@ dni_graphics.inc: \
echo "dni_w_lzsa: .incbin \"dni_w.lzsa\"" >> dni_graphics.inc
echo "dni_desk_n_lzsa: .incbin \"dni_desk_n.lzsa\"" >> dni_graphics.inc
echo "dni_desk_book_closed_n_lzsa: .incbin \"dni_desk_book_closed_n.lzsa\"" >> dni_graphics.inc
echo "dni_desk_book_open_n_lzsa: .incbin \"dni_desk_open_n.lzsa\"" >> dni_graphics.inc
echo "dni_desk_book_open_n_lzsa: .incbin \"dni_desk_book_open_n.lzsa\"" >> dni_graphics.inc
echo "dni_desk_s_lzsa: .incbin \"dni_desk_s.lzsa\"" >> dni_graphics.inc
%.gr: %.png

View File

@ -14,15 +14,16 @@ octagon_graphics.inc: \
temple_door_closed_s.lzsa temple_door_closed_n.lzsa \
temple_center_n.lzsa temple_center_s.lzsa temple_center_e.lzsa \
temple_center_w.lzsa temple_center_up.lzsa \
temple_center_exploded_e.lzsa temple_center_exploded_w.lzsa \
temple_center_open_n.lzsa temple_center_closed_s.lzsa \
red_book_shelf.lzsa \
red_book_shelf.lzsa red_book_shelf_exploded.lzsa \
red_book_open.lzsa red_book_closed.lzsa \
blue_book_open.lzsa blue_book_closed.lzsa \
fireplace_e.lzsa \
in_fireplace_w.lzsa in_fireplace_door.lzsa \
in_fireplace_w.lzsa in_fireplace_door.lzsa in_fireplace_exploded_w.lzsa \
frame_door_open.lzsa \
frame_bookcase_open.lzsa \
blue_book_shelf.lzsa \
blue_book_shelf.lzsa blue_book_shelf_exploded.lzsa \
bookshelf_n.lzsa bookshelf_open_n.lzsa \
bookshelf_close_n.lzsa \
map.lzsa tower_rotation.lzsa \
@ -60,18 +61,23 @@ octagon_graphics.inc: \
echo "temple_center_s_lzsa: .incbin \"temple_center_s.lzsa\"" >> octagon_graphics.inc
echo "temple_center_e_lzsa: .incbin \"temple_center_e.lzsa\"" >> octagon_graphics.inc
echo "temple_center_w_lzsa: .incbin \"temple_center_w.lzsa\"" >> octagon_graphics.inc
echo "temple_center_exploded_e_lzsa: .incbin \"temple_center_exploded_e.lzsa\"" >> octagon_graphics.inc
echo "temple_center_exploded_w_lzsa: .incbin \"temple_center_exploded_w.lzsa\"" >> octagon_graphics.inc
echo "temple_center_open_n_lzsa: .incbin \"temple_center_open_n.lzsa\"" >> octagon_graphics.inc
echo "temple_center_closed_s_lzsa: .incbin \"temple_center_closed_s.lzsa\"" >> octagon_graphics.inc
echo "temple_center_up_lzsa: .incbin \"temple_center_up.lzsa\"" >> octagon_graphics.inc
echo "red_book_open_lzsa: .incbin \"red_book_open.lzsa\"" >> octagon_graphics.inc
echo "red_book_closed_lzsa: .incbin \"red_book_closed.lzsa\"" >> octagon_graphics.inc
echo "red_book_shelf_lzsa: .incbin \"red_book_shelf.lzsa\"" >> octagon_graphics.inc
echo "red_book_shelf_exploded_lzsa: .incbin \"red_book_shelf_exploded.lzsa\"" >> octagon_graphics.inc
echo "fireplace_e_lzsa: .incbin \"fireplace_e.lzsa\"" >> octagon_graphics.inc
echo "in_fireplace_w_lzsa: .incbin \"in_fireplace_w.lzsa\"" >> octagon_graphics.inc
echo "in_fireplace_exploded_w_lzsa: .incbin \"in_fireplace_exploded_w.lzsa\"" >> octagon_graphics.inc
echo "in_fireplace_door_lzsa: .incbin \"in_fireplace_door.lzsa\"" >> octagon_graphics.inc
echo "frame_door_open_lzsa: .incbin \"frame_door_open.lzsa\"" >> octagon_graphics.inc
echo "frame_bookcase_open_lzsa: .incbin \"frame_bookcase_open.lzsa\"" >> octagon_graphics.inc
echo "blue_book_shelf_lzsa: .incbin \"blue_book_shelf.lzsa\"" >> octagon_graphics.inc
echo "blue_book_shelf_exploded_lzsa: .incbin \"blue_book_shelf_exploded.lzsa\"" >> octagon_graphics.inc
echo "blue_book_open_lzsa: .incbin \"blue_book_open.lzsa\"" >> octagon_graphics.inc
echo "blue_book_closed_lzsa: .incbin \"blue_book_closed.lzsa\"" >> octagon_graphics.inc
echo "bookshelf_n_lzsa: .incbin \"bookshelf_n.lzsa\"" >> octagon_graphics.inc

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -3,7 +3,7 @@
;===============================================
locations:
.word location0, location1
.word location0, location1, location2, location3
; DNI_ARRIVAL -- deep underneath New Mexico
location0:
@ -11,7 +11,7 @@ location0:
.byte $ff ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
.byte $ff ; west exit_dir
@ -25,7 +25,6 @@ location0:
.byte 18,38 ; special y
.word visit_atrus-1 ; special function
; DNI_DESK -- Atrus' desk
location1:
.byte $ff ; north exit
@ -46,3 +45,43 @@ location1:
.byte 6,40 ; special y
.word skip_text-1 ; special function
; DNI_MIST_BOOK -- mist book closed
location2:
.byte $ff ; north exit
.byte DNI_ARRIVAL ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte DIRECTION_E ; south exit_dir
.byte $ff ; east exit_dir
.byte $ff ; west exit_dir
.word dni_desk_book_closed_n_lzsa ; north bg
.word dni_desk_s_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_SOUTH|BG_NORTH
.byte DIRECTION_N ; special exit
.byte 13,27 ; special x
.byte 6,40 ; special y
; .word skip_text-1 ; special function
; DNI_MIST_BOOK_OPEN -- mist book open
location3:
.byte $ff ; north exit
.byte DNI_ARRIVAL ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte DIRECTION_E ; south exit_dir
.byte $ff ; east exit_dir
.byte $ff ; west exit_dir
.word dni_desk_book_open_n_lzsa ; north bg
.word dni_desk_s_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_SOUTH|BG_NORTH
.byte DIRECTION_N ; special exit
.byte 13,27 ; special x
.byte 6,40 ; special y
; .word skip_text-1 ; special function

View File

@ -41,6 +41,10 @@ octagon_start:
sta CURSOR_Y
; set up game over status
jsr update_game_over
; set up initial location
jsr change_location

View File

@ -375,3 +375,28 @@ actually_open_book:
jmp change_location
update_game_over:
lda GAME_COMPLETE
beq done_update
; update background for red
; update background for blue
; update exit of red
; update exit of blue
; clear red pages
lda #$ff
sta RED_PAGES_TAKEN
sta BLUE_PAGES_TAKEN
; clear blue pages
; update green book so atrus doesn't talk
lda #8
sta GREEN_BOOK_PROGRESS
done_update:
rts

View File

@ -187,7 +187,9 @@ DNI_PROGRESS = $C0 ; dni: atrus status
COMPARTMENT_OPEN = $C1 ; dock marker switch compartment
END_OF_SAVE = $C2
GAME_COMPLETE = $C2 ; game has been completed
END_OF_SAVE = $C3
; done game puzzle state