From 8a861e28a2fcf072e84fd0eeaa54b82235ad19c0 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Thu, 19 Mar 2020 17:25:20 -0400 Subject: [PATCH] mist: give names to all the raw constants for rooms also split off the octagon room probably broke some things :( --- mist/Makefile | 26 +- mist/TODO | 3 + mist/clock_bridge_puzzle.s | 64 +- mist/common_defines.inc | 94 +++ mist/generator_puzzle.s | 26 +- mist/graphics_mist/Makefile | 25 +- mist/graphics_mist/mist_graphics.inc | 15 - mist/graphics_octagon/Makefile | 48 ++ .../fireplace_e.png | Bin .../in_fireplace_door.png | Bin .../in_fireplace_w.png | Bin .../red_book_closed.png | Bin .../red_book_open.png | Bin .../red_book_shelf.png | Bin .../red_book_static.png | Bin .../red_book_static2.png | Bin .../temple_center_e.png | Bin .../temple_center_n.png | Bin .../temple_center_s.png | Bin .../temple_center_up.png | Bin .../temple_center_w.png | Bin .../temple_door_n.png | Bin .../temple_door_s.png | Bin mist/leveldata_meche.inc | 60 +- mist/leveldata_mist.inc | 596 +++++++----------- mist/leveldata_octagon.inc | 115 ++++ mist/leveldata_selena.inc | 110 ++-- mist/link_book_meche.s | 2 +- mist/link_book_mist.s | 4 +- mist/link_book_mist_dock.s | 2 +- mist/loader.s | 4 +- mist/meche.s | 19 +- mist/mist.s | 17 +- mist/mist_title.s | 47 +- mist/octagon.s | 142 +++++ mist/organ_puzzle.s | 2 +- mist/selena.s | 17 +- mist/zp.inc | 5 - 38 files changed, 822 insertions(+), 621 deletions(-) create mode 100644 mist/graphics_octagon/Makefile rename mist/{graphics_mist => graphics_octagon}/fireplace_e.png (100%) rename mist/{graphics_mist => graphics_octagon}/in_fireplace_door.png (100%) rename mist/{graphics_mist => graphics_octagon}/in_fireplace_w.png (100%) rename mist/{graphics_mist => graphics_octagon}/red_book_closed.png (100%) rename mist/{graphics_mist => graphics_octagon}/red_book_open.png (100%) rename mist/{graphics_mist => graphics_octagon}/red_book_shelf.png (100%) rename mist/{graphics_mist => graphics_octagon}/red_book_static.png (100%) rename mist/{graphics_mist => graphics_octagon}/red_book_static2.png (100%) rename mist/{graphics_mist => graphics_octagon}/temple_center_e.png (100%) rename mist/{graphics_mist => graphics_octagon}/temple_center_n.png (100%) rename mist/{graphics_mist => graphics_octagon}/temple_center_s.png (100%) rename mist/{graphics_mist => graphics_octagon}/temple_center_up.png (100%) rename mist/{graphics_mist => graphics_octagon}/temple_center_w.png (100%) rename mist/{graphics_mist => graphics_octagon}/temple_door_n.png (100%) rename mist/{graphics_mist => graphics_octagon}/temple_door_s.png (100%) create mode 100644 mist/leveldata_octagon.inc create mode 100644 mist/octagon.s diff --git a/mist/Makefile b/mist/Makefile index 8ad430c8..1675136f 100644 --- a/mist/Makefile +++ b/mist/Makefile @@ -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 diff --git a/mist/TODO b/mist/TODO index dd6b8277..9dc79940 100644 --- a/mist/TODO +++ b/mist/TODO @@ -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 diff --git a/mist/clock_bridge_puzzle.s b/mist/clock_bridge_puzzle.s index 8fd2e830..16eb17cf 100644 --- a/mist/clock_bridge_puzzle.s +++ b/mist/clock_bridge_puzzle.s @@ -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+1,Y + sta location15+1,Y ; MIST_GEAR ldy #LOCATION_SOUTH_BG 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+1,Y + sta location15+1,Y ; MIST_GEAR ldy #LOCATION_SOUTH_BG - 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+1,Y + sta location21+1,Y ; MIST_CLOCK_PUZZLE ; draw it on other too 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+1,Y + sta location21+1,Y ; MIST_CLOCK_PUZZLE ; lower on other too 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 diff --git a/mist/common_defines.inc b/mist/common_defines.inc index 7f311bbd..34b02a57 100644 --- a/mist/common_defines.inc +++ b/mist/common_defines.inc @@ -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 diff --git a/mist/generator_puzzle.s b/mist/generator_puzzle.s index d052d486..2a0725ba 100644 --- a/mist/generator_puzzle.s +++ b/mist/generator_puzzle.s @@ -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+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+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 diff --git a/mist/graphics_mist/Makefile b/mist/graphics_mist/Makefile index e7bce72a..73ffd408 100644 --- a/mist/graphics_mist/Makefile +++ b/mist/graphics_mist/Makefile @@ -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 diff --git a/mist/graphics_mist/mist_graphics.inc b/mist/graphics_mist/mist_graphics.inc index fabc8a1a..9e77420a 100644 --- a/mist/graphics_mist/mist_graphics.inc +++ b/mist/graphics_mist/mist_graphics.inc @@ -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" diff --git a/mist/graphics_octagon/Makefile b/mist/graphics_octagon/Makefile new file mode 100644 index 00000000..05ff559b --- /dev/null +++ b/mist/graphics_octagon/Makefile @@ -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 diff --git a/mist/graphics_mist/fireplace_e.png b/mist/graphics_octagon/fireplace_e.png similarity index 100% rename from mist/graphics_mist/fireplace_e.png rename to mist/graphics_octagon/fireplace_e.png diff --git a/mist/graphics_mist/in_fireplace_door.png b/mist/graphics_octagon/in_fireplace_door.png similarity index 100% rename from mist/graphics_mist/in_fireplace_door.png rename to mist/graphics_octagon/in_fireplace_door.png diff --git a/mist/graphics_mist/in_fireplace_w.png b/mist/graphics_octagon/in_fireplace_w.png similarity index 100% rename from mist/graphics_mist/in_fireplace_w.png rename to mist/graphics_octagon/in_fireplace_w.png diff --git a/mist/graphics_mist/red_book_closed.png b/mist/graphics_octagon/red_book_closed.png similarity index 100% rename from mist/graphics_mist/red_book_closed.png rename to mist/graphics_octagon/red_book_closed.png diff --git a/mist/graphics_mist/red_book_open.png b/mist/graphics_octagon/red_book_open.png similarity index 100% rename from mist/graphics_mist/red_book_open.png rename to mist/graphics_octagon/red_book_open.png diff --git a/mist/graphics_mist/red_book_shelf.png b/mist/graphics_octagon/red_book_shelf.png similarity index 100% rename from mist/graphics_mist/red_book_shelf.png rename to mist/graphics_octagon/red_book_shelf.png diff --git a/mist/graphics_mist/red_book_static.png b/mist/graphics_octagon/red_book_static.png similarity index 100% rename from mist/graphics_mist/red_book_static.png rename to mist/graphics_octagon/red_book_static.png diff --git a/mist/graphics_mist/red_book_static2.png b/mist/graphics_octagon/red_book_static2.png similarity index 100% rename from mist/graphics_mist/red_book_static2.png rename to mist/graphics_octagon/red_book_static2.png diff --git a/mist/graphics_mist/temple_center_e.png b/mist/graphics_octagon/temple_center_e.png similarity index 100% rename from mist/graphics_mist/temple_center_e.png rename to mist/graphics_octagon/temple_center_e.png diff --git a/mist/graphics_mist/temple_center_n.png b/mist/graphics_octagon/temple_center_n.png similarity index 100% rename from mist/graphics_mist/temple_center_n.png rename to mist/graphics_octagon/temple_center_n.png diff --git a/mist/graphics_mist/temple_center_s.png b/mist/graphics_octagon/temple_center_s.png similarity index 100% rename from mist/graphics_mist/temple_center_s.png rename to mist/graphics_octagon/temple_center_s.png diff --git a/mist/graphics_mist/temple_center_up.png b/mist/graphics_octagon/temple_center_up.png similarity index 100% rename from mist/graphics_mist/temple_center_up.png rename to mist/graphics_octagon/temple_center_up.png diff --git a/mist/graphics_mist/temple_center_w.png b/mist/graphics_octagon/temple_center_w.png similarity index 100% rename from mist/graphics_mist/temple_center_w.png rename to mist/graphics_octagon/temple_center_w.png diff --git a/mist/graphics_mist/temple_door_n.png b/mist/graphics_octagon/temple_door_n.png similarity index 100% rename from mist/graphics_mist/temple_door_n.png rename to mist/graphics_octagon/temple_door_n.png diff --git a/mist/graphics_mist/temple_door_s.png b/mist/graphics_octagon/temple_door_s.png similarity index 100% rename from mist/graphics_mist/temple_door_s.png rename to mist/graphics_octagon/temple_door_s.png diff --git a/mist/leveldata_meche.inc b/mist/leveldata_meche.inc index 54df365e..0971600f 100644 --- a/mist/leveldata_meche.inc +++ b/mist/leveldata_meche.inc @@ -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 diff --git a/mist/leveldata_mist.inc b/mist/leveldata_mist.inc index 5e9978a4..b42a626e 100644 --- a/mist/leveldata_mist.inc +++ b/mist/leveldata_mist.inc @@ -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 - diff --git a/mist/leveldata_octagon.inc b/mist/leveldata_octagon.inc new file mode 100644 index 00000000..574b7696 --- /dev/null +++ b/mist/leveldata_octagon.inc @@ -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 diff --git a/mist/leveldata_selena.inc b/mist/leveldata_selena.inc index 4b66fd8f..5b1ef6a6 100644 --- a/mist/leveldata_selena.inc +++ b/mist/leveldata_selena.inc @@ -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 diff --git a/mist/link_book_meche.s b/mist/link_book_meche.s index 5387d514..d5ebde5b 100644 --- a/mist/link_book_meche.s +++ b/mist/link_book_meche.s @@ -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 diff --git a/mist/link_book_mist.s b/mist/link_book_mist.s index 02db91c4..d99f82b1 100644 --- a/mist/link_book_mist.s +++ b/mist/link_book_mist.s @@ -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 diff --git a/mist/link_book_mist_dock.s b/mist/link_book_mist_dock.s index 57f2830b..134663dd 100644 --- a/mist/link_book_mist_dock.s +++ b/mist/link_book_mist_dock.s @@ -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 diff --git a/mist/loader.s b/mist/loader.s index 6b2aabe0..d5c03558 100644 --- a/mist/loader.s +++ b/mist/loader.s @@ -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 diff --git a/mist/meche.s b/mist/meche.s index 4bacd2ea..c954f755 100644 --- a/mist/meche.s +++ b/mist/meche.s @@ -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 diff --git a/mist/mist.s b/mist/mist.s index 8745d7f5..26d2ac95 100644 --- a/mist/mist.s +++ b/mist/mist.s @@ -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 diff --git a/mist/mist_title.s b/mist/mist_title.s index 3be86bdd..eb1b9443 100644 --- a/mist/mist_title.s +++ b/mist/mist_title.s @@ -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: diff --git a/mist/octagon.s b/mist/octagon.s new file mode 100644 index 00000000..9df3aa8d --- /dev/null +++ b/mist/octagon.s @@ -0,0 +1,142 @@ +; Octagon -- inside the Octagon Temple + +; by deater (Vince Weaver) + +; 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" diff --git a/mist/organ_puzzle.s b/mist/organ_puzzle.s index fccee7ee..32a1e69c 100644 --- a/mist/organ_puzzle.s +++ b/mist/organ_puzzle.s @@ -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 diff --git a/mist/selena.s b/mist/selena.s index c8588926..a67d53be 100644 --- a/mist/selena.s +++ b/mist/selena.s @@ -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 diff --git a/mist/zp.inc b/mist/zp.inc index 2d3ba98f..5ddab64c 100644 --- a/mist/zp.inc +++ b/mist/zp.inc @@ -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