mist: give names to all the raw constants for rooms

also split off the octagon room

probably broke some things :(
This commit is contained in:
Vince Weaver 2020-03-19 17:25:20 -04:00
parent 7659956927
commit 8a861e28a2
38 changed files with 822 additions and 621 deletions

View File

@ -8,12 +8,13 @@ B2D = ../bmp2dhr/b2d
all: mist.dsk
mist.dsk: HELLO LOADER MIST_TITLE MIST MECHE SELENA
mist.dsk: HELLO LOADER MIST_TITLE MIST OCTAGON MECHE SELENA
cp empty.dsk mist.dsk
$(DOS33) -y mist.dsk SAVE A HELLO
$(DOS33) -y mist.dsk BSAVE -a 0x1000 LOADER
$(DOS33) -y mist.dsk BSAVE -a 0x4000 MIST_TITLE
$(DOS33) -y mist.dsk BSAVE -a 0x1400 MIST
$(DOS33) -y mist.dsk BSAVE -a 0x1400 OCTAGON
$(DOS33) -y mist.dsk BSAVE -a 0x1400 MECHE
$(DOS33) -y mist.dsk BSAVE -a 0x1400 SELENA
$(DOS33) -y mist.dsk BSAVE -a 0x9000 ./audio/link_noise.btc LINK_NOISE.BTC
@ -55,10 +56,8 @@ mist.o: mist.s zp.inc hardware.inc common_defines.inc \
common_sprites.inc \
leveldata_mist.inc \
clock_bridge_puzzle.s clock_sprites.inc \
link_book_mist_dock.s \
letter_cat.s \
marker_switch.s \
brother_books.s \
keyboard.s \
draw_pointer.s \
end_level.s \
@ -68,6 +67,25 @@ mist.o: mist.s zp.inc hardware.inc common_defines.inc \
####
OCTAGON: octagon.o
ld65 -o OCTAGON octagon.o -C ../linker_scripts/apple2_1400.inc
octagon.o: octagon.s zp.inc hardware.inc common_defines.inc \
graphics_octagon/octagon_graphics.inc \
common_sprites.inc \
leveldata_octagon.inc \
letter_cat.s \
marker_switch.s \
brother_books.s \
keyboard.s \
draw_pointer.s \
end_level.s \
gr_copy.s audio.s text_print.s decompress_fast_v2.s
ca65 -o octagon.o octagon.s -l octagon.lst
####
MECHE: meche.o
ld65 -o MECHE meche.o -C ../linker_scripts/apple2_1400.inc
@ -110,4 +128,4 @@ graphics_island/mist_graphics.inc:
####
clean:
rm -f *~ *.o *.lst HELLO LOADER MIST_TITLE MIST MECHE SELENA
rm -f *~ *.o *.lst HELLO LOADER MIST_TITLE MIST OCTAGON MECHE SELENA

View File

@ -1,3 +1,6 @@
put settining init values into TITLE? This would allow save/load
if we ever got to that point
Selena:
+ turn around?
+ whole way to tower thing

View File

@ -193,24 +193,24 @@ open_the_gear:
yes_gear_open:
ldy #LOCATION_NORTH_EXIT
lda #30
sta location19,Y
lda #MIST_OPEN_GEAR
sta location15,Y ; MIST_GEAR
ldy #LOCATION_NORTH_EXIT_DIR
lda #DIRECTION_E
sta location19,Y
sta location15,Y ; MIST_GEAR
ldy #LOCATION_NORTH_BG
lda #<gear_open_n_lzsa
sta location19,Y
sta location15,Y ; MIST_GEAR
lda #>gear_open_n_lzsa
sta location19+1,Y
sta location15+1,Y ; MIST_GEAR
ldy #LOCATION_SOUTH_BG
lda #<clock_inside_open_lzsa
sta location27,Y
sta location23,Y ; MIST_CLOCK_INSIDE
lda #>clock_inside_open_lzsa
sta location27+1,Y
sta location23+1,Y ; MIST_CLOCK_INSIDE
jmp done_open_the_gear
@ -219,23 +219,23 @@ no_gear_open:
ldy #LOCATION_NORTH_EXIT
lda #$FF
sta location19,Y
sta location15,Y ; MIST_GEAR
; ldy #LOCATION_NORTH_EXIT_DIR
; lda #DIRECTION_E
; sta location19,Y
; sta location15,Y
ldy #LOCATION_NORTH_BG
lda #<gear_n_lzsa
sta location19,Y
sta location15,Y ; MIST_GEAR
lda #>gear_n_lzsa
sta location19+1,Y
sta location15+1,Y ; MIST_GEAR
ldy #LOCATION_SOUTH_BG
lda #<clock_inside_s_lzsa
sta location27,Y
lda #<clock_inside_s_lzsa ; MIST_CLOCK_INSIDE
sta location23,Y
lda #>clock_inside_s_lzsa
sta location27+1,Y
sta location23+1,Y
done_open_the_gear:
@ -254,49 +254,49 @@ raise_bridge:
beq lower_bridge
ldy #LOCATION_SOUTH_EXIT
lda #26
sta location25,Y
lda #MIST_CLOCK_ISLAND
sta location21,Y ; MIST_CLOCK_PUZZLE
ldy #LOCATION_SOUTH_EXIT_DIR
lda #DIRECTION_S
sta location25,Y
sta location21,Y ; MIST_CLOCK_PUZZLE
ldy #LOCATION_SOUTH_BG
lda #<clock_puzzle_bridge_lzsa
sta location25,Y
sta location21,Y ; MIST_CLOCK_PUZZLE
lda #>clock_puzzle_bridge_lzsa
sta location25+1,Y
sta location21+1,Y ; MIST_CLOCK_PUZZLE
; draw it on other too
lda #<clock_bridge_lzsa
sta location15,Y
sta location11,Y ; MIST_CLOCK
lda #>clock_bridge_lzsa
sta location15+1,Y
sta location11+1,Y ; MIST_CLOCK
jmp done_clock_bridge
lower_bridge:
ldy #LOCATION_SOUTH_EXIT
lda #18
sta location25,Y
lda #MIST_TREE_CORRIDOR_5
sta location21,Y ; MIST_CLOCK_PUZZLE
ldy #LOCATION_SOUTH_EXIT_DIR
lda #DIRECTION_N
sta location25,Y
sta location21,Y ; MIST_CLOCK_PUZZLE
ldy #LOCATION_SOUTH_BG
lda #<clock_puzzle_s_lzsa
sta location25,Y
sta location21,Y ; MIST_CLOCK_PUZZLE
lda #>clock_puzzle_s_lzsa
sta location25+1,Y
sta location21+1,Y ; MIST_CLOCK_PUZZLE
; lower on other too
lda #<clock_s_lzsa
sta location15,Y
sta location11,Y ; MIST_CLOCK
lda #>clock_s_lzsa
sta location15+1,Y
sta location11+1,Y ; MIST_CLOCK
done_clock_bridge:
jsr change_location
@ -430,13 +430,13 @@ check_gear_delete:
bne done_gear_delete
lda LOCATION
cmp #4
cmp #MIST_ABOVE_DOCK
beq gear_look1
cmp #3
cmp #MIST_DOCK_STEPS
beq gear_look2
cmp #20
cmp #MIST_GEAR_BASE
beq gear_look2
cmp #5
cmp #MIST_BASE_STEPS
beq gear_look3
bne done_gear_delete

View File

@ -42,3 +42,97 @@ LOCATION_SPECIAL_Y1=20
LOCATION_SPECIAL_Y2=21
LOCATION_SPECIAL_FUNC=22 ; pointer-1 of function to call on click
;================================
; Loader definitions
LOAD_TITLE = $0
LOAD_MIST = $1
LOAD_MECHE = $2
LOAD_SELENA = $3
LOAD_OCTAGON = $4
;================================
; Level definitions
; Title
TITLE_MIST_LINKING_DOCK = 0
; Mist
MIST_ARRIVAL_DOCK = 0
MIST_DOCK_SWITCH = 1
MIST_DOCK_STEPS = 2
MIST_ABOVE_DOCK = 3
MIST_BASE_STEPS = 4
MIST_STEPS_1ST_LANDING = 5
MIST_STEPS_2ND_LANDING = 6
MIST_STEPS_DENTIST = 7
MIST_STEPS_4TH_LANDING = 8
MIST_OUTSIDE_TEMPLE = 9
MIST_POOL = 10
MIST_CLOCK = 11
MIST_SPACESHIP_FAR = 12
MIST_TREE_CORRIDOR_2 = 13
MIST_TREE_CORRIDOR_5 = 14
MIST_GEAR = 15
MIST_GEAR_BASE = 16
MIST_DENTIST_DOOR = 17
MIST_SPACESHIP_SWITCH = 18
MIST_TREE_CORRIDOR_4 = 19
MIST_TREE_CABIN = 20
MIST_CLOCK_PUZZLE = 21
MIST_CLOCK_ISLAND = 22
MIST_CLOCK_INSIDE = 23
MIST_OPEN_GEAR = 24
MIST_CHAIR_VIEW = 25
MIST_GREEN_SHACK = 26
MIST_GREEN_STEPS1 = 27
MIST_GREEN_STEPS6 = 28
MIST_GENERATOR_DOOR = 29
MIST_GENERATOR_ROOM = 30
MIST_ROCKET_PATH_PAD = 31
MIST_ROCKET_CLOSE = 32
MIST_TOWER2_PATH = 33
MIST_TOWER2_BASE = 34
MIST_TOWER2_TOP = 35
MIST_TOWER1_TRAIL = 36
MIST_TOWER1_TRAIL2 = 37
MIST_TOWER1_BOTTOM = 38
MIST_TOWER1_TOP = 39
; Mist Octagon Building
OCTAGON_TEMPLE_DOORWAY = 0
OCTAGON_TEMPLE_CENTER = 1
OCTAGON_RED_BOOKSHELF = 2
OCTAGON_FIREPLACE = 3
OCTAGON_IN_FIREPLACE = 4
OCTAGON_CEILING = 5
; Mechanical Engineering
MECHE_INSIDE_GEAR = 0
MECHE_CLOSED_BOOK = 1
MECHE_OPEN_BOOK = 2
MECHE_ARRIVAL = 3
MECHE_ENTRANCE = 4
MECHE_FORT_VIEW = 5
; Selena Age
SELENA_INSIDE_SHIP = 0
SELENA_CONTROLS = 1
SELENA_ELECTRIC_ORGAN = 2
SELENA_WALKWAY1 = 3
SELENA_SPACESHIP_DOOR = 4
SELENA_WALKWAY4 = 5
SELENA_BUNKER = 6
SELENA_SUB_ROOM = 7
SELENA_BOOK_ROOM = 8
SELENA_BOOK_CLOSED = 9
SELENA_BOOK_OPEN = 10

View File

@ -1,15 +1,15 @@
;=======================
; flip circuit breaker
; if room==42, and with #$fe
; if room==??, and with #$fd
; if room==MIST_TOWER2_TOP, and with #$fe
; if room==MIST_TOWER1_TOP, and with #$fd
circuit_breaker:
bit $C030 ; click speaker
lda LOCATION
cmp #42
cmp #MIST_TOWER2_TOP
bne other_circuit_breaker
lda BREAKER_TRIPPED
@ -53,16 +53,16 @@ open_ss_door:
; change to open door image
ldy #LOCATION_NORTH_BG
lda #<spaceship_door_open_n_lzsa
sta location38,Y
sta location32,Y ; MIST_ROCKET_CLOSE
lda #>spaceship_door_open_n_lzsa
sta location38+1,Y
sta location32+1,Y ; MIST_ROCKET_CLOSE
; change to load new level if through
ldy #LOCATION_SPECIAL_FUNC
lda #<(go_to_selena-1)
sta location38,Y
sta location32,Y ; MIST_ROCKET_CLOSE
lda #>(go_to_selena-1)
sta location38+1,Y
sta location32+1,Y ; MIST_ROCKET_CLOSE
jsr change_location
@ -91,18 +91,18 @@ go_to_selena:
open_gen_door:
ldy #LOCATION_NORTH_EXIT
lda #36
sta location35,Y
lda #MIST_GENERATOR_ROOM
sta location29,Y ; MIST_GENERATOR_DOOR
ldy #LOCATION_NORTH_EXIT_DIR
lda #(DIRECTION_N | DIRECTION_SPLIT | DIRECTION_ONLY_POINT)
sta location35,Y
sta location29,Y ; MIST_GENERATOR_DOOR
ldy #LOCATION_NORTH_BG
lda #<gen_door_open_n_lzsa
sta location35,Y
sta location29,Y ; MIST_GENERATOR_DOOR
lda #>gen_door_open_n_lzsa
sta location35+1,Y
sta location29+1,Y ; MIST_GENERATOR_DOOR
jsr change_location
@ -129,7 +129,7 @@ needle_strings:
generator_button_press:
lda YPOS
lda CURSOR_Y
cmp #38
bcs button_bottom_row ; bge

View File

@ -20,15 +20,9 @@ mist_graphics.inc: \
step_dentist_n.lzsa step_dentist_e.lzsa step_dentist_w.lzsa \
step_land3_w.lzsa step_land3_e.lzsa \
step_top_e.lzsa step_top_w.lzsa step_top_n.lzsa step_top_s.lzsa \
temple_door_n.lzsa temple_door_s.lzsa \
temple_center_n.lzsa temple_center_s.lzsa temple_center_e.lzsa \
temple_center_w.lzsa temple_center_up.lzsa \
red_book_shelf.lzsa \
red_book_closed.lzsa \
pool_s.lzsa \
clock_s.lzsa clock_bridge.lzsa \
spaceship_far_e.lzsa spaceship_far_n.lzsa \
red_book_open.lzsa red_book_static.lzsa red_book_static2.lzsa \
tree2_n.lzsa \
tree5_n.lzsa tree5_e.lzsa \
gear_n.lzsa gear_w.lzsa gear_s.lzsa gear_open_n.lzsa\
@ -40,8 +34,6 @@ mist_graphics.inc: \
clock_island_s.lzsa clock_island_n.lzsa \
clock_puzzle_s.lzsa clock_puzzle_bridge.lzsa \
clock_inside_s.lzsa clock_inside_open.lzsa \
fireplace_e.lzsa \
in_fireplace_w.lzsa in_fireplace_door.lzsa \
gear_open_e.lzsa \
chair_view_s.lzsa chair_view_n.lzsa \
generator_n.lzsa generator_s.lzsa \
@ -82,23 +74,11 @@ mist_graphics.inc: \
echo "step_top_w_lzsa: .incbin \"step_top_w.lzsa\"" >> mist_graphics.inc
echo "step_top_n_lzsa: .incbin \"step_top_n.lzsa\"" >> mist_graphics.inc
echo "step_top_s_lzsa: .incbin \"step_top_s.lzsa\"" >> mist_graphics.inc
echo "temple_door_n_lzsa: .incbin \"temple_door_n.lzsa\"" >> mist_graphics.inc
echo "temple_door_s_lzsa: .incbin \"temple_door_s.lzsa\"" >> mist_graphics.inc
echo "temple_center_n_lzsa: .incbin \"temple_center_n.lzsa\"" >> mist_graphics.inc
echo "temple_center_s_lzsa: .incbin \"temple_center_s.lzsa\"" >> mist_graphics.inc
echo "temple_center_e_lzsa: .incbin \"temple_center_e.lzsa\"" >> mist_graphics.inc
echo "temple_center_w_lzsa: .incbin \"temple_center_w.lzsa\"" >> mist_graphics.inc
echo "temple_center_up_lzsa: .incbin \"temple_center_up.lzsa\"" >> mist_graphics.inc
echo "red_book_closed_lzsa: .incbin \"red_book_closed.lzsa\"" >> mist_graphics.inc
echo "red_book_shelf_lzsa: .incbin \"red_book_shelf.lzsa\"" >> mist_graphics.inc
echo "pool_s_lzsa: .incbin \"pool_s.lzsa\"" >> mist_graphics.inc
echo "clock_s_lzsa: .incbin \"clock_s.lzsa\"" >> mist_graphics.inc
echo "clock_bridge_lzsa: .incbin \"clock_bridge.lzsa\"" >> mist_graphics.inc
echo "spaceship_far_n_lzsa: .incbin \"spaceship_far_n.lzsa\"" >> mist_graphics.inc
echo "spaceship_far_e_lzsa: .incbin \"spaceship_far_e.lzsa\"" >> mist_graphics.inc
echo "red_book_open_lzsa: .incbin \"red_book_open.lzsa\"" >> mist_graphics.inc
echo "red_book_static_lzsa: .incbin \"red_book_static.lzsa\"" >> mist_graphics.inc
echo "red_book_static2_lzsa: .incbin \"red_book_static2.lzsa\"" >> mist_graphics.inc
echo "tree2_n_lzsa: .incbin \"tree2_n.lzsa\"" >> mist_graphics.inc
echo "tree5_n_lzsa: .incbin \"tree5_n.lzsa\"" >> mist_graphics.inc
echo "tree5_e_lzsa: .incbin \"tree5_e.lzsa\"" >> mist_graphics.inc
@ -121,9 +101,6 @@ mist_graphics.inc: \
echo "clock_puzzle_bridge_lzsa: .incbin \"clock_puzzle_bridge.lzsa\"" >> mist_graphics.inc
echo "clock_inside_s_lzsa: .incbin \"clock_inside_s.lzsa\"" >> mist_graphics.inc
echo "clock_inside_open_lzsa: .incbin \"clock_inside_open.lzsa\"" >> mist_graphics.inc
echo "fireplace_e_lzsa: .incbin \"fireplace_e.lzsa\"" >> mist_graphics.inc
echo "in_fireplace_w_lzsa: .incbin \"in_fireplace_w.lzsa\"" >> mist_graphics.inc
echo "in_fireplace_door_lzsa: .incbin \"in_fireplace_door.lzsa\"" >> mist_graphics.inc
echo "gear_open_e_lzsa: .incbin \"gear_open_e.lzsa\"" >> mist_graphics.inc
echo "chair_view_s_lzsa: .incbin \"chair_view_s.lzsa\"" >> mist_graphics.inc
echo "chair_view_n_lzsa: .incbin \"chair_view_n.lzsa\"" >> mist_graphics.inc
@ -164,4 +141,4 @@ mist_graphics.inc: \
####
clean:
rm -f *~ *.o *.lst *.gr mist_graphics.inc
rm -f *~ *.o *.lst *.gr *.lzsa mist_graphics.inc

View File

@ -23,23 +23,11 @@ step_top_e_lzsa: .incbin "step_top_e.lzsa"
step_top_w_lzsa: .incbin "step_top_w.lzsa"
step_top_n_lzsa: .incbin "step_top_n.lzsa"
step_top_s_lzsa: .incbin "step_top_s.lzsa"
temple_door_n_lzsa: .incbin "temple_door_n.lzsa"
temple_door_s_lzsa: .incbin "temple_door_s.lzsa"
temple_center_n_lzsa: .incbin "temple_center_n.lzsa"
temple_center_s_lzsa: .incbin "temple_center_s.lzsa"
temple_center_e_lzsa: .incbin "temple_center_e.lzsa"
temple_center_w_lzsa: .incbin "temple_center_w.lzsa"
temple_center_up_lzsa: .incbin "temple_center_up.lzsa"
red_book_closed_lzsa: .incbin "red_book_closed.lzsa"
red_book_shelf_lzsa: .incbin "red_book_shelf.lzsa"
pool_s_lzsa: .incbin "pool_s.lzsa"
clock_s_lzsa: .incbin "clock_s.lzsa"
clock_bridge_lzsa: .incbin "clock_bridge.lzsa"
spaceship_far_n_lzsa: .incbin "spaceship_far_n.lzsa"
spaceship_far_e_lzsa: .incbin "spaceship_far_e.lzsa"
red_book_open_lzsa: .incbin "red_book_open.lzsa"
red_book_static_lzsa: .incbin "red_book_static.lzsa"
red_book_static2_lzsa: .incbin "red_book_static2.lzsa"
tree2_n_lzsa: .incbin "tree2_n.lzsa"
tree5_n_lzsa: .incbin "tree5_n.lzsa"
tree5_e_lzsa: .incbin "tree5_e.lzsa"
@ -62,9 +50,6 @@ clock_puzzle_s_lzsa: .incbin "clock_puzzle_s.lzsa"
clock_puzzle_bridge_lzsa: .incbin "clock_puzzle_bridge.lzsa"
clock_inside_s_lzsa: .incbin "clock_inside_s.lzsa"
clock_inside_open_lzsa: .incbin "clock_inside_open.lzsa"
fireplace_e_lzsa: .incbin "fireplace_e.lzsa"
in_fireplace_w_lzsa: .incbin "in_fireplace_w.lzsa"
in_fireplace_door_lzsa: .incbin "in_fireplace_door.lzsa"
gear_open_e_lzsa: .incbin "gear_open_e.lzsa"
chair_view_s_lzsa: .incbin "chair_view_s.lzsa"
chair_view_n_lzsa: .incbin "chair_view_n.lzsa"

View File

@ -0,0 +1,48 @@
#include ../Makefile.inc
PNG2RLE = ../../gr-utils/png2rle
PNG2GR = ../../gr-utils/png2gr
LZSA = ~/research/lzsa/lzsa/lzsa
all: octagon_graphics.inc
####
octagon_graphics.inc: \
temple_door_n.lzsa temple_door_s.lzsa \
temple_center_n.lzsa temple_center_s.lzsa temple_center_e.lzsa \
temple_center_w.lzsa temple_center_up.lzsa \
red_book_shelf.lzsa \
red_book_open.lzsa red_book_closed.lzsa \
red_book_static.lzsa red_book_static2.lzsa \
fireplace_e.lzsa \
in_fireplace_w.lzsa in_fireplace_door.lzsa
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_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_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_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_static_lzsa: .incbin \"red_book_static.lzsa\"" >> octagon_graphics.inc
echo "red_book_static2_lzsa: .incbin \"red_book_static2.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_door_lzsa: .incbin \"in_fireplace_door.lzsa\"" >> octagon_graphics.inc
%.gr: %.png
$(PNG2GR) $< $@
%.lzsa: %.gr
$(LZSA) -r -f2 $< $@
####
clean:
rm -f *~ *.o *.lst *.gr octagon_graphics.inc

View File

Before

Width:  |  Height:  |  Size: 897 B

After

Width:  |  Height:  |  Size: 897 B

View File

Before

Width:  |  Height:  |  Size: 918 B

After

Width:  |  Height:  |  Size: 918 B

View File

Before

Width:  |  Height:  |  Size: 1000 B

After

Width:  |  Height:  |  Size: 1000 B

View File

Before

Width:  |  Height:  |  Size: 771 B

After

Width:  |  Height:  |  Size: 771 B

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 979 B

After

Width:  |  Height:  |  Size: 979 B

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 831 B

After

Width:  |  Height:  |  Size: 831 B

View File

@ -7,12 +7,12 @@ locations:
.word location0, location1, location2, location3
.word location4, location5
; Inside gear on Mist
; MECHE_INSIDE_GEAR -- Inside gear on Mist
location0:
.byte $ff ; north exit
.byte $ff ; south exit
.byte 1 ; east exit
.byte $ff ; west exit
.byte $ff ; north exit
.byte $ff ; south exit
.byte MECHE_CLOSED_BOOK ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
@ -25,12 +25,12 @@ location0:
.byte $ff ; special exit
; closed book
; MECHE_CLOSED_BOOK -- closed book
location1:
.byte $ff ; north exit
.byte $ff ; south exit
.byte 2 ; east exit
.byte $ff ; west exit
.byte $ff ; north exit
.byte $ff ; south exit
.byte MECHE_OPEN_BOOK ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
@ -42,12 +42,12 @@ location1:
.byte BG_EAST
.byte $ff ; special exit
; open book
; MECHE_OPEN_BOOK -- open book
location2:
.byte $ff ; north exit
.byte $ff ; south exit
.byte 0 ; east exit
.byte $ff ; west exit
.byte $ff ; north exit
.byte $ff ; south exit
.byte MECHE_INSIDE_GEAR ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
@ -63,12 +63,12 @@ location2:
.word meche_link_book-1 ; special function
; arrival
; MECHE_ARRIVAL -- arrival
location3:
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte 4 ; west exit
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte MECHE_ENTRANCE ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
@ -80,12 +80,12 @@ location3:
.byte BG_WEST
.byte $ff ; special exit
; entrance
; MECHE_ENTRANCE -- entrance
location4:
.byte 5 ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte 3 ; west exit
.byte MECHE_FORT_VIEW ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte MECHE_ARRIVAL ; west exit
.byte DIRECTION_N ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
@ -97,12 +97,12 @@ location4:
.byte BG_NORTH|BG_SOUTH|BG_EAST|BG_WEST
.byte $ff ; special exit
; fort view
; MECHE_FORT_VIEW -- fort view
location5:
.byte 5 ; north exit
.byte 4 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte MECHE_FORT_VIEW ; north exit
.byte MECHE_ENTRANCE ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_S ; north exit_dir
.byte DIRECTION_S ; south exit_dir
.byte $ff ; east exit_dir

View File

@ -4,7 +4,7 @@
;===============================================
locations:
.word location1, location1, location2, location3
.word location0, location1, location2, location3
.word location4, location5, location6, location7
.word location8, location9, location10,location11
.word location12,location13,location14,location15
@ -14,36 +14,13 @@ locations:
.word location28,location29,location30,location31
.word location32,location33,location34,location35
.word location36,location37,location38,location39
.word location40,location41,location42,location43
.word location44,location45,location46
; myst linking book
;location0:
; .byte $ff ; north exit
; .byte $ff ; south exit
; .byte $ff ; east exit
; .byte $ff ; west exit
; .byte $ff ; north exit_dir
; .byte $ff ; south exit_dir
; .byte $ff ; east exit_dir
; .byte $ff ; west exit_dir
; .word m_link_book_lzsa ; north bg
; .word $0000 ; south bg
; .word $0000 ; east bg
; .word $0000 ; west bg
; .byte BG_NORTH ; only north bg
; .byte DIRECTION_N ; special exit
; .byte 21,31 ; special x
; .byte 10,24 ; special y
; .word mist_link_book-1 ; special function
; dock
location1:
.byte $2 ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
; MIST_ARRIVAL_DOCK -- dock
location0:
.byte MIST_DOCK_SWITCH ; north exit
.byte $ff ; 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
@ -55,12 +32,12 @@ location1:
.byte BG_EAST|BG_NORTH|BG_SOUTH|BG_WEST ; all bgs
.byte $ff ; special exit
; by dock switch
location2:
.byte 3 ; north exit
.byte 1 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
; MIST_DOCK_SWITCH -- by dock switch
location1:
.byte MIST_DOCK_STEPS ; north exit
.byte MIST_DOCK_SWITCH ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_W ; north exit_dir
.byte DIRECTION_S ; south exit_dir
.byte $ff ; east exit_dir
@ -75,14 +52,12 @@ location2:
.byte 25,32 ; special y
.word click_switch-1 ; special function
; dock steps
location3:
.byte 19 ; north exit
.byte $ff ; south exit
.byte 2 ; east exit
.byte 4 ; west exit
; MIST_DOCK_STEPS -- dock steps
location2:
.byte MIST_GEAR ; north exit
.byte $ff ; south exit
.byte MIST_DOCK_SWITCH ; east exit
.byte MIST_ABOVE_DOCK ; west exit
.byte DIRECTION_N ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_S ; east exit_dir
@ -96,12 +71,12 @@ location3:
; above dock path
location4:
.byte 20 ; north exit
.byte 5 ; south exit
.byte 2 ; east exit
.byte $ff ; west exit
; MIST_ABOVE_DOCK -- above dock path
location3:
.byte MIST_GEAR_BASE ; north exit
.byte MIST_BASE_STEPS ; south exit
.byte MIST_DOCK_SWITCH ; east exit
.byte $ff ; west exit
.byte DIRECTION_N ; north exit_dir
.byte DIRECTION_S ; south exit_dir
.byte DIRECTION_S ; east exit_dir
@ -114,11 +89,11 @@ location4:
.byte $ff ; special exit
; base of steps
location5:
.byte 4 ; north exit
.byte 6 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
location4:
.byte MIST_ABOVE_DOCK ; north exit
.byte MIST_STEPS_1ST_LANDING ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_N ; north exit_dir
.byte DIRECTION_W ; south exit_dir
.byte $ff ; east exit_dir
@ -130,12 +105,12 @@ location5:
.byte BG_SOUTH|BG_NORTH
.byte $ff ; special exit
; steps 1st landing
location6:
.byte $ff ; north exit
.byte $ff ; south exit
.byte 5 ; east exit
.byte 7 ; west exit
; MIST_STEPS_1ST_LANDING -- steps 1st landing
location5:
.byte $ff ; north exit
.byte $ff ; south exit
.byte MIST_BASE_STEPS ; east exit
.byte MIST_STEPS_2ND_LANDING ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_N ; east exit_dir
@ -147,12 +122,12 @@ location6:
.byte BG_WEST | BG_EAST
.byte $ff ; special exit
; steps 2nd landing
location7:
.byte $ff ; north exit
.byte $ff ; south exit
.byte 6 ; east exit
.byte 8 ; west exit
; MIST_STEPS_2ND_LANDING -- steps 2nd landing
location6:
.byte $ff ; north exit
.byte $ff ; south exit
.byte MIST_STEPS_1ST_LANDING ; east exit
.byte MIST_STEPS_DENTIST ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
@ -168,12 +143,12 @@ location7:
.word read_letter-1
; steps outside dentist chair branch
location8:
.byte 21 ; north exit
.byte $ff ; south exit
.byte 7 ; east exit
.byte 9 ; west exit
; MIST_STEPS_DENTIST -- steps outside dentist chair branch
location7:
.byte MIST_DENTIST_DOOR ; north exit
.byte $ff ; south exit
.byte MIST_STEPS_2ND_LANDING ; east exit
.byte 8 ; west exit
.byte DIRECTION_N ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
@ -185,12 +160,12 @@ location8:
.byte BG_EAST|BG_WEST|BG_NORTH
.byte $ff ; special exit
; steps one more time up
location9:
.byte $ff ; north exit
.byte $ff ; south exit
.byte 8 ; east exit
.byte 10 ; west exit
; MIST_STEPS_4TH_LANDING -- steps one more time up
location8:
.byte $ff ; north exit
.byte $ff ; south exit
.byte MIST_STEPS_DENTIST ; east exit
.byte MIST_OUTSIDE_TEMPLE ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
@ -202,12 +177,13 @@ location9:
.byte BG_WEST | BG_EAST ; west and eastl
.byte $ff ; special exit
; at the top outside temple
location10:
.byte 11 ; north exit
.byte 14 ; south exit
.byte 9 ; east exit
.byte 37 ; west exit
; MIST_OUTSIDE_TEMPLE -- at the top outside temple
location9:
; .byte 10 ; north exit
.byte $ff ; north exit
.byte MIST_POOL ; south exit
.byte MIST_STEPS_4TH_LANDING ; east exit
.byte MIST_ROCKET_PATH_PAD ; west exit
.byte DIRECTION_N ; north exit_dir
.byte DIRECTION_S ; south exit_dir
.byte DIRECTION_E ; east exit_dir
@ -219,67 +195,13 @@ location10:
.byte BG_EAST|BG_WEST|BG_NORTH|BG_SOUTH ; all dirs
.byte $ff ; special exit
; temple doorway
location11:
.byte 12 ; north exit
.byte 10 ; 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 temple_door_n_lzsa ; north bg
.word temple_door_s_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH ; north and south
.byte $ff ; special exit
; temple inside
location12:
.byte $ff ; north exit
.byte 11 ; south exit
.byte 28 ; east exit
.byte 13 ; west exit
.byte $ff ; north exit_dir
.byte DIRECTION_S ; south exit_dir
.byte DIRECTION_E ; east exit_dir
.byte DIRECTION_W ; west exit_dir
.word temple_center_n_lzsa ; north bg
.word temple_center_s_lzsa ; south bg
.word temple_center_e_lzsa ; east bg
.word temple_center_w_lzsa ; west bg
.byte BG_NORTH|BG_WEST|BG_SOUTH|BG_EAST ; all directions
.byte $ff ; special exit
; red book shelf
location13:
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte 12 ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
.byte DIRECTION_W ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word $0000 ; east bg
.word red_book_shelf_lzsa ; west bg
.byte BG_WEST ; west
.byte DIRECTION_N ; special exit
.byte 16,25 ; special x
.byte 16,32 ; special y
.word red_book-1 ; special function
; pool
location14:
.byte $ff ; north exit
.byte 23 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
; MIST_POOL -- pool
location10:
.byte $ff ; north exit
.byte MIST_TREE_CORRIDOR_4 ; 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
@ -291,12 +213,12 @@ location14:
.byte BG_SOUTH
.byte $ff ; special exit
; clock
location15:
.byte $ff ; north exit
.byte 25 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
; MIST_CLOCK -- clock
location11:
.byte $ff ; north exit
.byte MIST_CLOCK_PUZZLE ; 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
@ -308,12 +230,12 @@ location15:
.byte BG_SOUTH
.byte $ff ; special exit
; spaceship far
location16:
.byte 22 ; north exit
.byte $ff ; south exit
.byte 37 ; east exit
.byte $ff ; west exit
; MIST_SPACESHIP_FAR -- spaceship far
location12:
.byte MIST_SPACESHIP_SWITCH ; north exit
.byte $ff ; south exit
.byte MIST_ROCKET_PATH_PAD ; east exit
.byte $ff ; west exit
.byte DIRECTION_N ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
@ -325,12 +247,12 @@ location16:
.byte BG_NORTH|BG_EAST
.byte $ff ; special exit
; tree corridor #2
location17:
.byte 10 ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
; MIST_TREE_CORRIDOR_2 -- tree corridor #2
location13:
.byte MIST_OUTSIDE_TEMPLE ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_N ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
@ -345,12 +267,12 @@ location17:
.byte 19,23 ; special y
.word click_switch-1 ; special function
; tree corridor #5
location18:
.byte 23 ; north exit
.byte $ff ; south exit
.byte 24 ; east exit
.byte $ff ; west exit
; MIST_TREE_CORRIDOR_5 -- tree corridor #5
location14:
.byte MIST_TREE_CORRIDOR_4 ; north exit
.byte $ff ; south exit
.byte MIST_TREE_CABIN ; east exit
.byte $ff ; west exit
.byte DIRECTION_N ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
@ -362,12 +284,12 @@ location18:
.byte BG_NORTH | BG_EAST
.byte $ff ; special exit
; gear
location19:
.byte $ff ; north exit
.byte 4 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
; MIST_GEAR -- gear
location15:
.byte $ff ; north exit
.byte MIST_ABOVE_DOCK ; 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
@ -383,12 +305,12 @@ location19:
.word click_switch-1 ; special function
; gear base
location20:
.byte 19 ; north exit
.byte $ff ; south exit
.byte 2 ; east exit
.byte $ff ; west exit
; MIST_GEAR_BASE -- gear base
location16:
.byte MIST_GEAR ; north exit
.byte $ff ; south exit
.byte MIST_DOCK_SWITCH ; east exit
.byte $ff ; west exit
.byte DIRECTION_N ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_S ; east exit_dir
@ -400,12 +322,12 @@ location20:
.byte BG_NORTH | BG_EAST
.byte $ff ; special exit
; dentist door
location21:
.byte 31 ; north exit
.byte 9 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
; MIST_DENTIST_DOOR -- dentist door
location17:
.byte MIST_CHAIR_VIEW ; north exit
.byte MIST_STEPS_4TH_LANDING ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_N ; north exit_dir
.byte DIRECTION_W ; south exit_dir
.byte $ff ; east exit_dir
@ -417,12 +339,12 @@ location21:
.byte BG_NORTH | BG_SOUTH
.byte $ff ; special exit
; spaceship switch
location22:
.byte 38 ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
; MIST_SPACESHIP_SWITCH -- spaceship switch
location18:
.byte MIST_ROCKET_CLOSE ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_N ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
@ -434,12 +356,12 @@ location22:
.byte BG_NORTH
.byte $ff ; special exit
; tree corridor4 (with generator switch)
location23:
.byte 17 ; north exit
.byte 15 ; south exit
.byte $ff ; east exit
.byte 43 ; west exit
; MIST_TREE_CORRIDOR_4 -- tree corridor4 (with generator switch)
location19:
.byte MIST_TREE_CORRIDOR_2 ; north exit
.byte MIST_CLOCK ; south exit
.byte $ff ; east exit
.byte MIST_TOWER1_TRAIL ; west exit
.byte DIRECTION_N ; north exit_dir
.byte DIRECTION_S ; south exit_dir
.byte $ff ; east exit_dir
@ -454,12 +376,12 @@ location23:
.byte 0,46 ; special y
.word green_house-1 ; special function
; tree cabin
location24:
.byte $ff ; north exit
.byte $ff ; south exit
.byte 18 ; east exit
.byte $ff ; west exit
; MIST_TREE_CABIN -- tree cabin
location20:
.byte $ff ; north exit
.byte $ff ; south exit
.byte MIST_TREE_CORRIDOR_5 ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
@ -471,12 +393,12 @@ location24:
.byte BG_EAST
.byte $ff ; special exit
; clock puzzle
location25:
.byte $ff ; north exit
.byte 18 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
; MIST_CLOCK_PUZZLE -- clock puzzle
location21:
.byte $ff ; north exit
.byte MIST_TREE_CORRIDOR_5 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte DIRECTION_N ; south exit_dir
.byte $ff ; east exit_dir
@ -491,10 +413,10 @@ location25:
.byte 38,48 ; special y
.word clock_puzzle-1 ; special function
; clock island
location26:
.byte 18 ; north exit
.byte 27 ; south exit
; MIST_CLOCK_ISLAND -- clock island
location22:
.byte MIST_TREE_CORRIDOR_5 ; north exit
.byte MIST_CLOCK_INSIDE ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_N ; north exit_dir
@ -508,12 +430,12 @@ location26:
.byte BG_SOUTH|BG_NORTH
.byte $ff ; special exit
; clock inside
location27:
.byte $ff ; north exit
.byte 26 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
; MYST_CLOCK_INSIDE -- clock inside
location23:
.byte $ff ; north exit
.byte MIST_CLOCK_ISLAND ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte DIRECTION_N ; south exit_dir
.byte $ff ; east exit_dir
@ -528,45 +450,12 @@ location27:
.byte 8,32 ; special y
.word clock_inside_puzzle-1 ; special function
; fireplace
location28:
.byte $ff ; north exit
.byte $ff ; south exit
.byte 29 ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_W ; east exit_dir
.byte $ff ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word fireplace_e_lzsa ; east bg
.word $0000 ; west bg
.byte BG_EAST
.byte $ff ; special exit
; in fireplace
location29:
; MIST_OPEN_GEAR -- open_gear (?)
location24:
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte 12 ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
.byte DIRECTION_W ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word $0000 ; east bg
.word in_fireplace_w_lzsa ; west bg
.byte BG_WEST ; west
.byte $ff ; special exit
; open_gear
location30:
.byte $ff ; north exit
.byte $ff ; south exit
.byte 19 ; east exit
.byte MIST_GEAR ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
@ -582,12 +471,12 @@ location30:
.byte 14,24 ; special y
.word go_to_meche-1 ; special function
; chair view
location31:
.byte 31 ; north exit
.byte 21 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
; MIST_CHAIR_VIEW -- chair view
location25:
.byte MIST_CHAIR_VIEW ; north exit
.byte MIST_DENTIST_DOOR ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_S ; north exit_dir
.byte DIRECTION_S ; south exit_dir
.byte $ff ; east exit_dir
@ -599,12 +488,12 @@ location31:
.byte BG_NORTH | BG_SOUTH
.byte $ff ; TODO: lightswitch
; green shack
location32:
.byte $ff ; north exit
.byte $ff ; south exit
.byte 23 ; east exit
.byte 33 ; west exit
; MIST_GREEN_SHACK
location26:
.byte $ff ; north exit
.byte $ff ; south exit
.byte MIST_TREE_CORRIDOR_4 ; east exit
.byte MIST_GREEN_STEPS1 ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
@ -616,12 +505,12 @@ location32:
.byte BG_EAST | BG_WEST
.byte $ff
; green shack steps 1
location33:
.byte 34 ; north exit
.byte 32 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
; MIST_GREEN_STEPS1 -- green shack steps 1
location27:
.byte MIST_GREEN_STEPS6 ; north exit
.byte MIST_GREEN_SHACK ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_N ; north exit_dir
.byte DIRECTION_E ; south exit_dir
.byte $ff ; east exit_dir
@ -633,12 +522,12 @@ location33:
.byte BG_NORTH | BG_SOUTH
.byte $ff
; green shack steps 6
location34:
.byte 35 ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte 33 ; west exit
; MIST_GREEN_STEPS6 -- green shack steps 6
location28:
.byte MIST_GENERATOR_DOOR ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte MIST_GREEN_STEPS1 ; west exit
.byte DIRECTION_N ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
@ -650,12 +539,12 @@ location34:
.byte BG_NORTH | BG_WEST
.byte $ff
; generator room door
location35:
.byte 35 ; north exit
.byte 34 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
; MIST_GENERATOR_DOOR -- generator room door
location29:
.byte MIST_GENERATOR_DOOR ; north exit
.byte MIST_GREEN_STEPS6 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_S ; north exit_dir
.byte DIRECTION_W ; south exit_dir
.byte $ff ; east exit_dir
@ -671,10 +560,10 @@ location35:
.word open_gen_door-1 ; special function
; generator room
location36:
.byte 36 ; north exit
.byte 35 ; south exit
; MIST_GENERATOR_ROOM -- generator room
location30:
.byte MIST_GENERATOR_ROOM ; north exit
.byte MIST_GENERATOR_DOOR ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_S ; north exit_dir
@ -691,12 +580,12 @@ location36:
.byte 34,40 ; special y
.word generator_button_press-1 ; special function
; pad on way to rocket
location37:
.byte 16 ; north exit
.byte $ff ; south exit
.byte 10 ; east exit
.byte $ff ; west exit
; MIST_ROCKET_PATH_PAD -- pad on way to rocket
location31:
.byte MIST_SPACESHIP_FAR ; north exit
.byte $ff ; south exit
.byte MIST_OUTSIDE_TEMPLE ; east exit
.byte $ff ; west exit
.byte DIRECTION_N ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
@ -711,12 +600,12 @@ location37:
.byte 0,48 ; special y
.word pad_special-1 ; special function
; rocket close in
location38:
.byte 16 ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
; MIST_ROCKET_CLOSE -- rocket close in
location32:
.byte MIST_SPACESHIP_FAR ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_E ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
@ -731,29 +620,13 @@ location38:
.byte 8,46 ; special y
.word open_ss_door-1 ; special function
; ceiling of temple
location39:
.byte 12 ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_N ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
.byte $ff ; west exit_dir
.word temple_center_up_lzsa ; north bg
.word $0000 ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH
.byte $ff
; tower2 path
location40:
.byte 41 ; north exit
.byte $ff ; south exit
.byte 37 ; east exit
.byte $ff ; west exit
; MIST_TOWER2_PATH -- tower2 path
location33:
.byte MIST_TOWER2_BASE ; north exit
.byte $ff ; south exit
.byte MIST_ROCKET_PATH_PAD ; east exit
.byte $ff ; west exit
.byte DIRECTION_W|DIRECTION_ONLY_POINT ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
@ -765,12 +638,12 @@ location40:
.byte BG_NORTH|BG_EAST
.byte $ff
; tower2 base
location41:
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte 40 ; west exit
; MIST_TOWER2_BASE -- tower2 base
location34:
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte MIST_TOWER2_PATH ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
@ -785,12 +658,12 @@ location41:
.byte 0,46 ; special y
.word leave_tower2-1 ; special function
; tower2 top
location42:
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte 41 ; west exit
; MIST_TOWER2_TOP -- tower2 top
location35:
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte MIST_TOWER2_BASE ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
@ -805,12 +678,12 @@ location42:
.byte 10,18 ; special y
.word circuit_breaker-1 ; special function
; tower1 trail
location43:
.byte $ff ; north exit
.byte $ff ; south exit
.byte 23 ; east exit
.byte 44 ; west exit
; MIST_TOWER1_TRAIL -- tower1 trail
location36:
.byte $ff ; north exit
.byte $ff ; south exit
.byte MIST_TREE_CORRIDOR_4 ; east exit
.byte MIST_TOWER1_TRAIL2 ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
@ -822,12 +695,12 @@ location43:
.byte BG_WEST|BG_EAST
.byte $ff
; tower1 trail2
location44:
.byte 45 ; north exit
.byte 43 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
; MIST_TOWER1_TRAIL2 -- tower1 trail2
location37:
.byte MIST_TOWER1_BOTTOM ; north exit
.byte MIST_TOWER1_TRAIL ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_E|DIRECTION_ONLY_POINT ; north exit_dir
.byte DIRECTION_E ; south exit_dir
.byte $ff ; east exit_dir
@ -839,12 +712,12 @@ location44:
.byte BG_NORTH|BG_SOUTH|BG_WEST
.byte $ff
; tower1 bottom
location45:
.byte $ff ; north exit
.byte $ff ; south exit
.byte 44 ; east exit
.byte $ff ; west exit
; MIST_TOWER1_BOTTOM -- tower1 bottom
location38:
.byte $ff ; north exit
.byte $ff ; south exit
.byte MIST_TOWER1_TRAIL2 ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_N ; east exit_dir
@ -860,12 +733,12 @@ location45:
.word leave_tower1-1 ; special function
; tower1 top
location46:
.byte $ff ; north exit
.byte $ff ; south exit
.byte 45 ; east exit
.byte $ff ; west exit
; MIST_TOWER1_TOP -- tower1 top
location39:
.byte $ff ; north exit
.byte $ff ; south exit
.byte MIST_TOWER1_BOTTOM ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E|DIRECTION_ONLY_POINT ; east exit_dir
@ -880,4 +753,3 @@ location46:
.byte 10,18 ; special y
.word circuit_breaker-1 ; special function

115
mist/leveldata_octagon.inc Normal file
View File

@ -0,0 +1,115 @@
;===============================================
; level data for the Octagon Temple on Mist
;===============================================
locations:
.word location0, location1, location2, location3
.word location4, location5
; OCTAGON_TEMPLE_DOORWAY -- temple doorway
location0:
.byte OCTAGON_TEMPLE_CENTER ; north exit
; .byte 9 ; south exit
.byte $ff ; 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 temple_door_n_lzsa ; north bg
.word temple_door_s_lzsa ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH|BG_SOUTH ; north and south
.byte $ff ; special exit
; OCTAGON_TEMPLE_CENTER -- temple inside
location1:
.byte $ff ; north exit
.byte OCTAGON_TEMPLE_DOORWAY ; south exit
.byte OCTAGON_FIREPLACE ; east exit
.byte OCTAGON_RED_BOOKSHELF ; west exit
.byte $ff ; north exit_dir
.byte DIRECTION_S ; south exit_dir
.byte DIRECTION_E ; east exit_dir
.byte DIRECTION_W ; west exit_dir
.word temple_center_n_lzsa ; north bg
.word temple_center_s_lzsa ; south bg
.word temple_center_e_lzsa ; east bg
.word temple_center_w_lzsa ; west bg
.byte BG_NORTH|BG_WEST|BG_SOUTH|BG_EAST ; all directions
.byte $ff ; special exit
; OCTAGON_RED_BOOK_SHELF -- red book shelf
location2:
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte OCTAGON_TEMPLE_CENTER ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
.byte DIRECTION_W ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word $0000 ; east bg
.word red_book_shelf_lzsa ; west bg
.byte BG_WEST ; west
.byte DIRECTION_N ; special exit
.byte 16,25 ; special x
.byte 16,32 ; special y
.word red_book-1 ; special function
; OCTAGON_FIREPLACE -- fireplace
location3:
.byte $ff ; north exit
.byte $ff ; south exit
.byte OCTAGON_IN_FIREPLACE ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_W ; east exit_dir
.byte $ff ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word fireplace_e_lzsa ; east bg
.word $0000 ; west bg
.byte BG_EAST
.byte $ff ; special exit
; OCTAGON_IN_FIREPLACE -- in fireplace
location4:
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte OCTAGON_TEMPLE_CENTER ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
.byte DIRECTION_W ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word $0000 ; east bg
.word in_fireplace_w_lzsa ; west bg
.byte BG_WEST ; west
.byte $ff ; special exit
; OCTAGON_CEILING -- ceiling of temple
location5:
.byte OCTAGON_TEMPLE_CENTER ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte DIRECTION_N ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
.byte $ff ; west exit_dir
.word temple_center_up_lzsa ; north bg
.word $0000 ; south bg
.word $0000 ; east bg
.word $0000 ; west bg
.byte BG_NORTH
.byte $ff

View File

@ -8,12 +8,12 @@ locations:
.word location4, location5, location6, location7
.word location8, location9, location10
; Inside Ship
; SELENA_INSIDE_SHIP -- Inside Ship
location0:
.byte $ff ; north exit
.byte $ff ; south exit
.byte 1 ; east exit
.byte 2 ; west exit
.byte $ff ; north exit
.byte $ff ; south exit
.byte SELENA_CONTROLS ; east exit
.byte SELENA_ELECTRIC_ORGAN ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte (DIRECTION_E|DIRECTION_ONLY_POINT) ; east exit_dir
@ -28,12 +28,12 @@ location0:
.byte 2,46 ; special y
.word back_to_mist-1 ; special function
; controls
; SELENA_CONTROLS -- controls
location1:
.byte $ff ; north exit
.byte $ff ; south exit
.byte 0 ; east exit
.byte $ff ; west exit
.byte $ff ; north exit
.byte $ff ; south exit
.byte SELENA_INSIDE_SHIP ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte DIRECTION_E ; east exit_dir
@ -49,12 +49,12 @@ location1:
.word controls_pressed-1 ; special function
; electric organ
; SELENA_ELECTRIC_ORGAN -- electric organ
location2:
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte 0 ; west exit
.byte $ff ; north exit
.byte $ff ; south exit
.byte $ff ; east exit
.byte SELENA_INSIDE_SHIP ; west exit
.byte $ff ; north exit_dir
.byte $ff ; south exit_dir
.byte $ff ; east exit_dir
@ -70,12 +70,12 @@ location2:
.word organ_pressed-1 ; special function
; walkway1
; SELENA_WALKWAY1 -- walkway1
location3:
.byte 5 ; north exit
.byte 4 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte SELENA_WALKWAY4 ; north exit
.byte SELENA_SPACESHIP_DOOR ; 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
@ -87,12 +87,12 @@ location3:
.byte BG_NORTH
.byte $ff
; spaceship door
; SELENA_SPACESHIP_DOOR -- spaceship door
location4:
.byte $ff ; north exit
.byte 3 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte $ff ; north exit
.byte SELENA_WALKWAY1 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte DIRECTION_N ; south exit_dir
.byte $ff ; east exit_dir
@ -104,12 +104,12 @@ location4:
.byte BG_SOUTH
.byte $ff
; walkway4
; SELENA_WALKWAY4 -- walkway4
location5:
.byte 6 ; north exit
.byte 3 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte SELENA_BUNKER ; north exit
.byte SELENA_WALKWAY1 ; 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
@ -121,12 +121,12 @@ location5:
.byte BG_NORTH|BG_SOUTH
.byte $ff
; bunker
; SELENA_BUNKER -- bunker
location6:
.byte $ff ; north exit
.byte 5 ; south exit
.byte 7 ; east exit
.byte $ff ; west exit
.byte $ff ; north exit
.byte SELENA_WALKWAY4 ; south exit
.byte SELENA_SUB_ROOM ; east exit
.byte $ff ; west exit
.byte $ff ; north exit_dir
.byte DIRECTION_S ; south exit_dir
.byte DIRECTION_S ; east exit_dir
@ -138,12 +138,12 @@ location6:
.byte BG_NORTH|BG_SOUTH|BG_EAST
.byte $ff
; sub room
; SELENA_SUB_ROOM -- sub room
location7:
.byte $ff ; north exit
.byte 8 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte $ff ; north exit
.byte SELENA_BOOK_ROOM ; 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
@ -155,12 +155,12 @@ location7:
.byte BG_SOUTH
.byte $ff
; book room
; SELENA_BOOK_ROOM -- book room
location8:
.byte $ff ; north exit
.byte 9 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte $ff ; north exit
.byte SELENA_BOOK_CLOSED ; 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
@ -172,12 +172,12 @@ location8:
.byte BG_SOUTH
.byte $ff
; book
; SELENA_BOOK_CLOSED -- book
location9:
.byte $ff ; north exit
.byte 10 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte $ff ; north exit
.byte SELENA_BOOK_OPEN ; 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
@ -189,12 +189,12 @@ location9:
.byte BG_SOUTH
.byte $ff
; mist book open
; SELENA_BOOK_OPEN -- mist book open
location10:
.byte $ff ; north exit
.byte 8 ; south exit
.byte $ff ; east exit
.byte $ff ; west exit
.byte $ff ; north exit
.byte SELENA_BOOK_ROOM ; 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

View File

@ -33,7 +33,7 @@ meche_link_book:
ldx #LINKING_NOISE_LENGTH ; 45 pages long???
jsr play_audio
lda #3
lda #MECHE_ARRIVAL
sta LOCATION
lda #DIRECTION_W
sta DIRECTION

View File

@ -22,12 +22,12 @@ mist_link_book:
ldx #LINKING_NOISE_LENGTH ; 45 pages long???
jsr play_audio
lda #39
lda #OCTAGON_CEILING
sta LOCATION
lda #DIRECTION_N
sta DIRECTION
lda #LOAD_MIST ; return to MIST
lda #LOAD_OCTAGON ; return to OCTAGON on MIST
sta WHICH_LOAD
lda #$ff

View File

@ -23,7 +23,7 @@ mist_link_book:
ldx #LINKING_NOISE_LENGTH ; 45 pages long???
jsr play_audio
lda #1
lda #MIST_ARRIVAL_DOCK
sta LOCATION
lda #LOAD_MIST ; start at Mist

View File

@ -145,7 +145,7 @@ copy_filename_done:
filenames:
.word intro_filename
.word mist_filename,meche_filename,selena_filename
.word mist_filename,meche_filename,selena_filename,octagon_filename
.word ending_filename
intro_filename:
@ -156,6 +156,8 @@ meche_filename:
.byte "MECHE",0
selena_filename:
.byte "SELENA",0
octagon_filename:
.byte "OCTAGON",0
ending_filename:
.byte "ENDING",0

View File

@ -29,23 +29,6 @@ meche_start:
sta CURSOR_X
sta CURSOR_Y
;=================
; init vars
; FIXME: we could be re-called from other books
; so don't set location here
lda #0
sta LOCATION
lda #DIRECTION_E
sta DIRECTION
lda LOCATION
bne not_first_time
not_first_time:
; set up initial location
jsr change_location
@ -78,7 +61,7 @@ game_loop:
;====================================
lda LOCATION
cmp #2
cmp #MECHE_OPEN_BOOK
bne nothing_special
; handle animated linking book

View File

@ -33,7 +33,7 @@ mist_start:
sta CURSOR_Y
lda LOCATION
cmp #1 ; FIXME
cmp #MIST_ARRIVAL_DOCK
bne not_first_time
; first time init
@ -111,9 +111,9 @@ not_gear_related:
; handle clock puzzles
lda LOCATION
cmp #25 ; clock puzzle
cmp #MIST_CLOCK_PUZZLE ; clock puzzle
beq location_clock
cmp #27
cmp #MIST_CLOCK_INSIDE
beq location_inside_clock
bne location_generator
@ -126,7 +126,7 @@ location_inside_clock:
; handle generator puzzle
location_generator:
cmp #36
cmp #MIST_GENERATOR_ROOM
bne nothing_special
lda DIRECTION
and #$f
@ -192,14 +192,14 @@ go_to_meche:
pad_special:
lda #40
lda #MIST_TOWER2_PATH
sta LOCATION
jsr change_location
rts
leave_tower2:
lda #42
lda #MIST_TOWER2_TOP
sta LOCATION
lda #DIRECTION_W
@ -210,7 +210,7 @@ leave_tower2:
rts
leave_tower1:
lda #46
lda #MIST_TOWER1_TOP
sta LOCATION
lda #DIRECTION_E
@ -225,7 +225,7 @@ green_house:
; FIXME: handle switch separately
lda #32
lda #MIST_GREEN_SHACK
sta LOCATION
jsr change_location
@ -258,7 +258,6 @@ green_house:
.include "clock_bridge_puzzle.s"
.include "marker_switch.s"
.include "brother_books.s"
.include "generator_puzzle.s"
; linking books

View File

@ -70,10 +70,6 @@ done_keyloop:
bit KEYRESET
lda #0
sta LOCATION ; start at first room
lda #LOAD_MIST ; load mist
sta WHICH_LOAD
;===================
@ -97,12 +93,19 @@ done_keyloop:
sta CURSOR_Y
lda #0
sta LOCATION
sta LEVEL_OVER
; set up initial location
lda #TITLE_MIST_LINKING_DOCK
sta LOCATION ; start at first room
lda #DIRECTION_N
sta DIRECTION
; set up initial location
lda #LOAD_MIST ; load mist
sta WHICH_LOAD
jsr change_location
@ -133,39 +136,9 @@ game_loop:
; handle special-case forground logic
;====================================
lda LOCATION
cmp #2
bne nothing_special
; handle animated linking book
; lda ANIMATE_FRAME
; asl
; tay
; lda meche_movie,Y
; sta INL
; lda meche_movie+1,Y
; sta INH
; lda #22
; sta XPOS
; lda #12
; sta YPOS
; jsr put_sprite_crop
; lda FRAMEL
; and #$f
; bne done_animate_book
; inc ANIMATE_FRAME
; lda ANIMATE_FRAME
; cmp #11
; bne done_animate_book
; lda #0
; sta ANIMATE_FRAME
;done_animate_book:
; note: the linking book to the dock doesn't have much action
nothing_special:

142
mist/octagon.s Normal file
View File

@ -0,0 +1,142 @@
; Octagon -- inside the Octagon Temple
; by deater (Vince Weaver) <vince@deater.net>
; Zero Page
.include "zp.inc"
.include "hardware.inc"
.include "common_defines.inc"
octagon_start:
;===================
; init screen
jsr TEXT
jsr HOME
bit KEYRESET
bit SET_GR
bit PAGE0
bit LORES
bit FULLGR
lda #0
sta DRAW_PAGE
sta LEVEL_OVER
; init cursor
lda #20
sta CURSOR_X
sta CURSOR_Y
; set up initial location
jsr change_location
lda #1
sta CURSOR_VISIBLE ; visible at first
game_loop:
;=================
; reset things
;=================
lda #0
sta IN_SPECIAL
sta IN_RIGHT
sta IN_LEFT
;====================================
; copy background to current page
;====================================
jsr gr_copy_to_current
;====================================
; handle special-case forground logic
;====================================
nothing_special:
;====================================
; draw pointer
;====================================
jsr draw_pointer
;====================================
; page flip
;====================================
jsr page_flip
;====================================
; handle keypress/joystick
;====================================
jsr handle_keypress
;====================================
; inc frame count
;====================================
inc FRAMEL
bne room_frame_no_oflo
inc FRAMEH
room_frame_no_oflo:
;====================================
; check level over
;====================================
lda LEVEL_OVER
bne really_exit
jmp game_loop
really_exit:
jmp end_level
;==========================
; includes
;==========================
.include "gr_copy.s"
.include "gr_offsets.s"
.include "gr_pageflip.s"
.include "gr_putsprite_crop.s"
.include "text_print.s"
.include "gr_fast_clear.s"
.include "decompress_fast_v2.s"
.include "keyboard.s"
.include "draw_pointer.s"
.include "audio.s"
.include "graphics_octagon/octagon_graphics.inc"
.include "end_level.s"
; puzzles
.include "brother_books.s"
; linking books
; letters
.include "common_sprites.inc"
.include "leveldata_octagon.inc"
;.align $100
;audio_red_page:
;.incbin "audio/red_page.btc"

View File

@ -33,7 +33,7 @@ dome_press_second:
; re-route door to selena
ldy #LOCATION_NORTH_EXIT
lda #3
lda #SELENA_WALKWAY1
sta location0,Y
ldy #LOCATION_NORTH_EXIT_DIR
lda #DIRECTION_N

View File

@ -53,20 +53,15 @@ selena_start:
lda #DIRECTION_N
sta location0,Y ; enable mist exit
lda #0
lda #SELENA_INSIDE_SHIP
sta LOCATION
lda #0
sta LEVEL_OVER
lda #DIRECTION_E
sta DIRECTION
lda LOCATION
bne not_first_time
not_first_time:
; set up initial location
jsr change_location
@ -99,9 +94,9 @@ game_loop:
;====================================
lda LOCATION
cmp #1
cmp #SELENA_CONTROLS
beq controls_animation
cmp #10
cmp #SELENA_BOOK_OPEN
beq mist_book_animation
jmp nothing_special
@ -241,7 +236,7 @@ back_to_mist:
lda #$ff
sta LEVEL_OVER
lda #16 ; pathway outside rocket
lda #MIST_SPACESHIP_FAR ; pathway outside rocket
sta LOCATION
lda #DIRECTION_E
sta DIRECTION

View File

@ -4,11 +4,6 @@
NIBCOUNT = $00
WHICH_LOAD = $05
LOAD_TITLE = $0
LOAD_MIST = $1
LOAD_MECHE = $2
LOAD_SELENA = $3
;; Zero page monitor routines addresses
WNDLFT = $20