mist: can open bookshelf and go down hallway
@ -82,6 +82,7 @@ octagon.o: octagon.s zp.inc hardware.inc common_defines.inc \
|
|||||||
keyboard.s \
|
keyboard.s \
|
||||||
draw_pointer.s \
|
draw_pointer.s \
|
||||||
end_level.s \
|
end_level.s \
|
||||||
|
octagon_bookshelf.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 octagon.o octagon.s -l octagon.lst
|
ca65 -o octagon.o octagon.s -l octagon.lst
|
||||||
|
|
||||||
|
@ -124,6 +124,8 @@ OCTAGON_FRAME_DOOR = 9
|
|||||||
OCTAGON_BLUE_BOOKSHELF = 10
|
OCTAGON_BLUE_BOOKSHELF = 10
|
||||||
OCTAGON_TOWER_ROTATION = 11
|
OCTAGON_TOWER_ROTATION = 11
|
||||||
OCTAGON_BOOKSHELF_CLOSE = 12
|
OCTAGON_BOOKSHELF_CLOSE = 12
|
||||||
|
OCTAGON_TOWER_HALL1 = 13
|
||||||
|
OCTAGON_TOWER_HALL2 = 14
|
||||||
|
|
||||||
; Mechanical Engineering
|
; Mechanical Engineering
|
||||||
|
|
||||||
|
@ -11,8 +11,10 @@ all: octagon_graphics.inc
|
|||||||
|
|
||||||
octagon_graphics.inc: \
|
octagon_graphics.inc: \
|
||||||
temple_door_n.lzsa temple_door_s.lzsa \
|
temple_door_n.lzsa temple_door_s.lzsa \
|
||||||
|
temple_door_closed_s.lzsa temple_door_closed_n.lzsa \
|
||||||
temple_center_n.lzsa temple_center_s.lzsa temple_center_e.lzsa \
|
temple_center_n.lzsa temple_center_s.lzsa temple_center_e.lzsa \
|
||||||
temple_center_w.lzsa temple_center_up.lzsa \
|
temple_center_w.lzsa temple_center_up.lzsa \
|
||||||
|
temple_center_open_n.lzsa temple_center_closed_s.lzsa \
|
||||||
red_book_shelf.lzsa \
|
red_book_shelf.lzsa \
|
||||||
red_book_open.lzsa red_book_closed.lzsa \
|
red_book_open.lzsa red_book_closed.lzsa \
|
||||||
red_book_static.lzsa red_book_static2.lzsa \
|
red_book_static.lzsa red_book_static2.lzsa \
|
||||||
@ -21,14 +23,21 @@ octagon_graphics.inc: \
|
|||||||
frame_door_open.lzsa \
|
frame_door_open.lzsa \
|
||||||
frame_bookcase_open.lzsa \
|
frame_bookcase_open.lzsa \
|
||||||
blue_book_shelf.lzsa \
|
blue_book_shelf.lzsa \
|
||||||
bookshelf_n.lzsa bookshelf_close_n.lzsa \
|
bookshelf_n.lzsa bookshelf_open_n.lzsa \
|
||||||
map.lzsa tower_rotation.lzsa
|
bookshelf_close_n.lzsa \
|
||||||
|
map.lzsa tower_rotation.lzsa \
|
||||||
|
tower_hall1_n.lzsa tower_hall1_s.lzsa \
|
||||||
|
tower_hall2_n.lzsa tower_hall2_s.lzsa
|
||||||
echo "temple_door_n_lzsa: .incbin \"temple_door_n.lzsa\"" > octagon_graphics.inc
|
echo "temple_door_n_lzsa: .incbin \"temple_door_n.lzsa\"" > octagon_graphics.inc
|
||||||
echo "temple_door_s_lzsa: .incbin \"temple_door_s.lzsa\"" >> octagon_graphics.inc
|
echo "temple_door_s_lzsa: .incbin \"temple_door_s.lzsa\"" >> octagon_graphics.inc
|
||||||
|
echo "temple_door_closed_s_lzsa: .incbin \"temple_door_closed_s.lzsa\"" >> octagon_graphics.inc
|
||||||
|
echo "temple_door_closed_n_lzsa: .incbin \"temple_door_closed_n.lzsa\"" >> octagon_graphics.inc
|
||||||
echo "temple_center_n_lzsa: .incbin \"temple_center_n.lzsa\"" >> octagon_graphics.inc
|
echo "temple_center_n_lzsa: .incbin \"temple_center_n.lzsa\"" >> octagon_graphics.inc
|
||||||
echo "temple_center_s_lzsa: .incbin \"temple_center_s.lzsa\"" >> 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_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_w_lzsa: .incbin \"temple_center_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 "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_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_closed_lzsa: .incbin \"red_book_closed.lzsa\"" >> octagon_graphics.inc
|
||||||
@ -42,9 +51,16 @@ octagon_graphics.inc: \
|
|||||||
echo "frame_bookcase_open_lzsa: .incbin \"frame_bookcase_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_lzsa: .incbin \"blue_book_shelf.lzsa\"" >> octagon_graphics.inc
|
||||||
echo "bookshelf_n_lzsa: .incbin \"bookshelf_n.lzsa\"" >> octagon_graphics.inc
|
echo "bookshelf_n_lzsa: .incbin \"bookshelf_n.lzsa\"" >> octagon_graphics.inc
|
||||||
|
echo "bookshelf_open_n_lzsa: .incbin \"bookshelf_open_n.lzsa\"" >> octagon_graphics.inc
|
||||||
echo "bookshelf_close_n_lzsa: .incbin \"bookshelf_close_n.lzsa\"" >> octagon_graphics.inc
|
echo "bookshelf_close_n_lzsa: .incbin \"bookshelf_close_n.lzsa\"" >> octagon_graphics.inc
|
||||||
echo "map_lzsa: .incbin \"map.lzsa\"" >> octagon_graphics.inc
|
echo "map_lzsa: .incbin \"map.lzsa\"" >> octagon_graphics.inc
|
||||||
echo "tower_rotation_lzsa: .incbin \"tower_rotation.lzsa\"" >> octagon_graphics.inc
|
echo "tower_rotation_lzsa: .incbin \"tower_rotation.lzsa\"" >> octagon_graphics.inc
|
||||||
|
echo "tower_hall1_n_lzsa: .incbin \"tower_hall1_n.lzsa\"" >> octagon_graphics.inc
|
||||||
|
echo "tower_hall1_s_lzsa: .incbin \"tower_hall1_s.lzsa\"" >> octagon_graphics.inc
|
||||||
|
echo "tower_hall2_n_lzsa: .incbin \"tower_hall2_n.lzsa\"" >> octagon_graphics.inc
|
||||||
|
echo "tower_hall2_s_lzsa: .incbin \"tower_hall2_s.lzsa\"" >> octagon_graphics.inc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%.gr: %.png
|
%.gr: %.png
|
||||||
$(PNG2GR) $< $@
|
$(PNG2GR) $< $@
|
||||||
|
BIN
mist/graphics_octagon/bookshelf_open_n.png
Normal file
After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 842 B After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 887 B After Width: | Height: | Size: 13 KiB |
BIN
mist/graphics_octagon/temple_center_closed_s.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
mist/graphics_octagon/temple_center_open_n.png
Normal file
After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 16 KiB |
BIN
mist/graphics_octagon/temple_door_closed_n.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
mist/graphics_octagon/temple_door_closed_s.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
BIN
mist/graphics_octagon/tower_hall1_n.png
Normal file
After Width: | Height: | Size: 896 B |
BIN
mist/graphics_octagon/tower_hall1_s.png
Normal file
After Width: | Height: | Size: 908 B |
BIN
mist/graphics_octagon/tower_hall2_n.png
Normal file
After Width: | Height: | Size: 836 B |
BIN
mist/graphics_octagon/tower_hall2_s.png
Normal file
After Width: | Height: | Size: 881 B |
@ -7,7 +7,7 @@ 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,location11
|
.word location8, location9, location10,location11
|
||||||
.word location12
|
.word location12,location13,location14
|
||||||
|
|
||||||
; OCTAGON_TEMPLE_DOORWAY -- temple doorway
|
; OCTAGON_TEMPLE_DOORWAY -- temple doorway
|
||||||
location0:
|
location0:
|
||||||
@ -154,7 +154,10 @@ location7:
|
|||||||
.word $0000 ; east bg
|
.word $0000 ; east bg
|
||||||
.word $0000 ; west bg
|
.word $0000 ; west bg
|
||||||
.byte BG_NORTH
|
.byte BG_NORTH
|
||||||
.byte $ff
|
.byte DIRECTION_N ; special exit
|
||||||
|
.byte 15,25 ; special x
|
||||||
|
.byte 12,28 ; special y
|
||||||
|
.word open_bookshelf-1 ; special function
|
||||||
|
|
||||||
|
|
||||||
; OCTAGON_BOOKSHELF -- the bookcase
|
; OCTAGON_BOOKSHELF -- the bookcase
|
||||||
@ -189,7 +192,11 @@ location9:
|
|||||||
.word $0000 ; east bg
|
.word $0000 ; east bg
|
||||||
.word $0000 ; west bg
|
.word $0000 ; west bg
|
||||||
.byte BG_NORTH
|
.byte BG_NORTH
|
||||||
.byte $ff
|
.byte DIRECTION_N ; special exit
|
||||||
|
.byte 15,25 ; special x
|
||||||
|
.byte 12,28 ; special y
|
||||||
|
.word close_bookshelf-1 ; special function
|
||||||
|
|
||||||
|
|
||||||
; OCTAGON_BLUE_BOOKSHELF -- the blue bookshelf
|
; OCTAGON_BLUE_BOOKSHELF -- the blue bookshelf
|
||||||
location10:
|
location10:
|
||||||
@ -241,3 +248,38 @@ location12:
|
|||||||
.word $0000 ; west bg
|
.word $0000 ; west bg
|
||||||
.byte BG_NORTH
|
.byte BG_NORTH
|
||||||
.byte $ff
|
.byte $ff
|
||||||
|
|
||||||
|
; OCTAGON_TOWER_HALL1 -- hallway to tower
|
||||||
|
location13:
|
||||||
|
.byte OCTAGON_TOWER_HALL2 ; north exit
|
||||||
|
.byte OCTAGON_TEMPLE_CENTER ; south exit
|
||||||
|
.byte $ff ; east exit
|
||||||
|
.byte $ff ; west exit
|
||||||
|
.byte DIRECTION_N ; north exit_dir
|
||||||
|
.byte DIRECTION_S ; south exit_dir
|
||||||
|
.byte $ff ; east exit_dir
|
||||||
|
.byte $ff ; west exit_dir
|
||||||
|
.word tower_hall1_n_lzsa ; north bg
|
||||||
|
.word tower_hall1_s_lzsa ; south bg
|
||||||
|
.word $0000 ; east bg
|
||||||
|
.word $0000 ; west bg
|
||||||
|
.byte BG_NORTH|BG_SOUTH
|
||||||
|
.byte $ff
|
||||||
|
|
||||||
|
; OCTAGON_TOWER_HALL2 -- hallway to tower
|
||||||
|
location14:
|
||||||
|
.byte $ff ; north exit
|
||||||
|
.byte OCTAGON_TOWER_HALL1 ; south exit
|
||||||
|
.byte $ff ; east exit
|
||||||
|
.byte $ff ; west exit
|
||||||
|
.byte $ff ; north exit_dir
|
||||||
|
.byte DIRECTION_S ; south exit_dir
|
||||||
|
.byte $ff ; east exit_dir
|
||||||
|
.byte $ff ; west exit_dir
|
||||||
|
.word tower_hall2_n_lzsa ; north bg
|
||||||
|
.word tower_hall2_s_lzsa ; south bg
|
||||||
|
.word $0000 ; east bg
|
||||||
|
.word $0000 ; west bg
|
||||||
|
.byte BG_NORTH|BG_SOUTH
|
||||||
|
.byte $ff
|
||||||
|
|
||||||
|
@ -230,6 +230,8 @@ done_goto:
|
|||||||
|
|
||||||
.include "brother_books.s"
|
.include "brother_books.s"
|
||||||
|
|
||||||
|
.include "octagon_bookshelf.s"
|
||||||
|
|
||||||
; linking books
|
; linking books
|
||||||
|
|
||||||
; letters
|
; letters
|
||||||
|
111
mist/octagon_bookshelf.s
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
|
||||||
|
open_bookshelf:
|
||||||
|
|
||||||
|
; change background of center room N
|
||||||
|
|
||||||
|
ldy #LOCATION_NORTH_BG
|
||||||
|
lda #<temple_center_open_n_lzsa
|
||||||
|
sta location1,Y
|
||||||
|
lda #>temple_center_open_n_lzsa
|
||||||
|
sta location1+1,Y
|
||||||
|
|
||||||
|
; change background of bookshelf N
|
||||||
|
|
||||||
|
lda #<bookshelf_open_n_lzsa
|
||||||
|
sta location8,Y
|
||||||
|
lda #>bookshelf_open_n_lzsa
|
||||||
|
sta location8+1,Y
|
||||||
|
|
||||||
|
; change background of door N
|
||||||
|
|
||||||
|
lda #<temple_door_closed_n_lzsa
|
||||||
|
sta location0,Y
|
||||||
|
lda #>temple_door_closed_n_lzsa
|
||||||
|
sta location0+1,Y
|
||||||
|
|
||||||
|
; change background of center room S
|
||||||
|
|
||||||
|
ldy #LOCATION_SOUTH_BG
|
||||||
|
lda #<temple_center_closed_s_lzsa
|
||||||
|
sta location1,Y
|
||||||
|
lda #>temple_center_closed_s_lzsa
|
||||||
|
sta location1+1,Y
|
||||||
|
|
||||||
|
; change background of door S
|
||||||
|
|
||||||
|
lda #<temple_door_closed_s_lzsa
|
||||||
|
sta location0,Y
|
||||||
|
lda #>temple_door_closed_s_lzsa
|
||||||
|
sta location0+1,Y
|
||||||
|
|
||||||
|
; disable exit to S
|
||||||
|
ldy #LOCATION_SPECIAL_EXIT
|
||||||
|
lda #$ff
|
||||||
|
sta location0,Y
|
||||||
|
|
||||||
|
; enable exit to N
|
||||||
|
|
||||||
|
ldy #LOCATION_NORTH_EXIT
|
||||||
|
lda #OCTAGON_TOWER_HALL1
|
||||||
|
sta location8,Y
|
||||||
|
|
||||||
|
; start animation
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
close_bookshelf:
|
||||||
|
|
||||||
|
; change background of center room N
|
||||||
|
|
||||||
|
ldy #LOCATION_NORTH_BG
|
||||||
|
lda #<temple_center_n_lzsa
|
||||||
|
sta location1,Y
|
||||||
|
lda #>temple_center_n_lzsa
|
||||||
|
sta location1+1,Y
|
||||||
|
|
||||||
|
; change background of bookshelf N
|
||||||
|
|
||||||
|
lda #<bookshelf_n_lzsa
|
||||||
|
sta location8,Y
|
||||||
|
lda #>bookshelf_n_lzsa
|
||||||
|
sta location8+1,Y
|
||||||
|
|
||||||
|
; change background of door N
|
||||||
|
|
||||||
|
lda #<temple_door_n_lzsa
|
||||||
|
sta location0,Y
|
||||||
|
lda #>temple_door_n_lzsa
|
||||||
|
sta location0+1,Y
|
||||||
|
|
||||||
|
; change background of center room S
|
||||||
|
|
||||||
|
ldy #LOCATION_SOUTH_BG
|
||||||
|
lda #<temple_center_s_lzsa
|
||||||
|
sta location1,Y
|
||||||
|
lda #>temple_center_s_lzsa
|
||||||
|
sta location1+1,Y
|
||||||
|
|
||||||
|
; change background of door S
|
||||||
|
|
||||||
|
lda #<temple_door_s_lzsa
|
||||||
|
sta location0,Y
|
||||||
|
lda #>temple_door_s_lzsa
|
||||||
|
sta location0+1,Y
|
||||||
|
|
||||||
|
; re-enable exit to S
|
||||||
|
ldy #LOCATION_SPECIAL_EXIT
|
||||||
|
lda #DIRECTION_S
|
||||||
|
sta location0,Y
|
||||||
|
|
||||||
|
; disable exit to N
|
||||||
|
|
||||||
|
ldy #LOCATION_NORTH_EXIT
|
||||||
|
lda #OCTAGON_BOOKSHELF_CLOSE
|
||||||
|
sta location8,Y
|
||||||
|
|
||||||
|
; start animation
|
||||||
|
|
||||||
|
rts
|
||||||
|
|