;============================= ; common stuff ;=============================================== ; level data structure definitions ;=============================================== ; 24 bytes each location ; we put special at end as it's ignored if not set LOCATION_NORTH_EXIT=0 ; new room when heading north LOCATION_SOUTH_EXIT=1 ; new room when heading south LOCATION_EAST_EXIT=2 ; new room when heading east LOCATION_WEST_EXIT=3 ; new room when heading west LOCATION_NORTH_EXIT_DIR=4 ; direction faced in new room when N LOCATION_SOUTH_EXIT_DIR=5 ; direction faced in new room when S LOCATION_EAST_EXIT_DIR=6 ; direction faced in new room when E LOCATION_WEST_EXIT_DIR=7 ; direction faced in new room when W LOCATION_NORTH_BG=8 ; pointer to north background image LOCATION_SOUTH_BG=10 ; pointer to south background image LOCATION_EAST_BG=12 ; pointer to east background image LOCATION_WEST_BG=14 ; pointer to west background image LOCATION_BGS = 16 ; bitmap saying which backgrounds valid BG_NORTH = 1 BG_SOUTH = 2 BG_WEST = 4 BG_EAST = 8 LOCATION_SPECIAL_EXIT=17 ; if we have something clickable ; $FF if not, direction if so LOCATION_SPECIAL_X1=18 ; collision box for the thing to click LOCATION_SPECIAL_X2=19 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 LOAD_VIEWER = 5 LOAD_STONEY = 6 LOAD_CHANNEL = 7 LOAD_CABIN = 8 LOAD_DENTIST = 9 LOAD_ARBOR = 10 LOAD_NIBEL = 11 LOAD_SHIP = 12 LOAD_GENERATOR = 13 LOAD_DNI = 14 LOAD_SUB = 15 LOAD_TEXT_TITLE = 16 LOAD_SAVE1 = 17 LOAD_SAVE2 = 18 LOAD_SAVE3 = 19 LOAD_SAVE4 = 20 LOAD_SAVE5 = 21 LOAD_FIRST_SECTOR= 22 ;================================ ; Level definitions ; Title TITLE_BOOK_GROUND = 0 TITLE_BOOK_CLOSED = 1 TITLE_BOOK_OPEN = 2 ; 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_CAT_LETTER = 17 MIST_SPACESHIP_SWITCH = 18 MIST_TREE_CORRIDOR_4 = 19 MIST_TREE_CORRIDOR_1 = 20 MIST_CLOCK_PUZZLE = 21 MIST_CLOCK_ISLAND = 22 MIST_CLOCK_INSIDE = 23 MIST_OPEN_GEAR = 24 MIST_ROCKET_PATH_PAD = 25 MIST_ROCKET_CLOSE = 26 MIST_TOWER2_PATH = 27 MIST_TOWER2_BASE = 28 MIST_TOWER2_TOP = 29 MIST_VIEWER_DOOR = 30 MIST_PILLAR_EYE = 31 MIST_PILLAR_SNAKE = 32 MIST_PILLAR_BUG = 33 MIST_PILLAR_ANCHOR = 34 MIST_PILLAR_ARROW = 35 MIST_PILLAR_LEAF = 36 MIST_PILLAR_CROSS = 37 MIST_PILLAR_EMU = 38 MIST_SPACESHIP_PATH = 39 ; Mist Generator Building GEN_GREEN_SHACK = 0 GEN_GREEN_STEPS1 = 1 GEN_GREEN_STEPS6 = 2 GEN_GENERATOR_DOOR = 3 GEN_GENERATOR_ROOM = 4 GEN_TOWER1_TRAIL = 5 GEN_TOWER1_TRAIL2 = 6 GEN_TOWER1_BOTTOM = 7 GEN_TOWER1_TOP = 8 GEN_GREEN_STEPS3 = 9 GEN_SIGN = 10 ; 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 OCTAGON_MAP = 6 OCTAGON_FRAME_SHELF = 7 OCTAGON_BOOKSHELF = 8 OCTAGON_FRAME_DOOR = 9 OCTAGON_BLUE_BOOKSHELF = 10 OCTAGON_TOWER_ROTATION = 11 OCTAGON_BOOKSHELF_CLOSE = 12 OCTAGON_TOWER_HALL1 = 13 OCTAGON_TOWER_HALL2 = 14 OCTAGON_ELEVATOR_VIEW = 15 OCTAGON_ELEVATOR_OUT = 16 OCTAGON_ELEVATOR_OPEN = 17 OCTAGON_ELEVATOR_IN = 18 OCTAGON_TOWER_BOOK = 19 OCTAGON_BOOK_LADDER = 20 OCTAGON_BOOK_VIEW = 21 OCTAGON_TOWER_KEY = 22 OCTAGON_TOWER_LEFT = 23 OCTAGON_TOWER_RIGHT = 24 OCTAGON_KEY_LADDER = 25 OCTAGON_KEY_VIEW = 26 OCTAGON_RED_BOOK_CLOSED = 27 OCTAGON_RED_BOOK_OPEN = 28 OCTAGON_BLUE_BOOK_CLOSED= 29 OCTAGON_BLUE_BOOK_OPEN = 30 OCTAGON_RED_END = 31 OCTAGON_BLUE_END = 32 OCTAGON_GRID_BOOK = 33 OCTAGON_IN_FIREPLACE_CLOSED = 34 OCTAGON_FIREPLACE_SHELF = 35 OCTAGON_GREEN_BOOK = 36 OCTAGON_GREEN_BOOK_OPEN = 37 ; Mechanical Engineering MECHE_INSIDE_GEAR = 0 MECHE_CLOSED_BOOK = 1 MECHE_OPEN_BOOK = 2 MECHE_ARRIVAL = 3 MECHE_ENTRANCE = 4 MECHE_FORT_VIEW = 5 MECHE_BRIDGE2 = 6 MECHE_FORT_DOOR = 7 MECHE_FORT_ENTRY = 8 MECHE_WEST_PLATFORM = 9 MECHE_NORTH_PLATFORM = 10 MECHE_NORTH_HINT = 11 MECHE_NORTH_TOP = 12 MECHE_NORTH_DIP = 13 MECHE_LEFT_HALL2 = 14 MECHE_LEFT_HALL_CORNER = 15 MECHE_RED_ROOM_CENTER = 16 MECHE_CENTER_HALL = 17 MECHE_RED_BUTTON = 18 MECHE_BASEMENT = 19 MECHE_ELEVATOR_ROTATE = 20 MECHE_RIGHT_HALL2 = 21 MECHE_RIGHT_HALL_CORNER = 22 MECHE_BLUE_ROOM_CENTER = 23 MECHE_CENTER_HALL2 = 24 MECHE_ELEVATOR_PATH = 25 MECHE_IN_ELEVATOR = 26 MECHE_TOP_FLOOR = 27 MECHE_ROTATE_CONTROLS = 28 MECHE_EAST_PLATFORM = 29 MECHE_EAST_ARCH = 30 MECHE_EAST_TOP = 31 MECHE_EAST_HINT = 32 MECHE_EXIT_PUZZLE = 33 MECHE_BOOK_STAIRS = 34 MECHE_MIST_BOOK = 35 MECHE_MIST_CLOSED = 36 MECHE_MIST_OPEN = 37 MECHE_BLUE_SECRET_DOOR = 38 MECHE_BLUE_SECRET_ROOM = 39 MECHE_RED_SECRET_DOOR = 40 MECHE_RED_SECRET_ROOM = 41 MECHE_TOP_FLOOR_UP = 42 MECHE_ACHENAR_LETTER = 43 MECHE_EAST_PATH = 44 MECHE_EAST_STEPS = 45 MECHE_EAST_LANDING = 46 MECHE_NORTH_CLOSE = 47 MECHE_RED_THRONE = 48 MECHE_RED_ROOM_EAST = 49 MECHE_TELESCOPE_SKELETON= 50 MECHE_TELESCOPE_PLAIN = 51 MECHE_BLUE_THRONE = 52 MECHE_BLUE_THRONE_OPEN = 53 MECHE_BLUE_ROOM_SOUTH = 54 ; 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_WATER_TURN = 7 SELENA_WATER_PATH = 8 SELENA_WATER = 9 SELENA_TOWER_VIEW = 10 SELENA_CHASM_PATH = 11 SELENA_CHASM = 12 SELENA_CLOCK_PATH = 13 SELENA_CLOCK = 14 SELENA_CLOCK_CLOSE = 15 SELENA_CLOCK_BEFORE = 16 SELENA_CRYSTAL_TURN = 17 SELENA_CRYSTAL_STEPS = 18 SELENA_CRYSTAL_PATH = 19 SELENA_CRYSTALS = 20 SELENA_CRYSTAL_CLOSE = 21 SELENA_WALKWAY3 = 22 SELENA_BEFORE_CRYSTALS = 23 SELENA_TUNNEL_STEPS = 24 SELENA_TUNNEL_PATH = 25 SELENA_TUNNEL_MAINLAND = 26 SELENA_TUNNEL_MAIN_CLOSE= 27 SELENA_TUNNEL_MAIN_TOP = 28 SELENA_TUNNEL_MAIN_MID = 29 SELENA_TUNNEL_BASEMENT = 30 SELENA_TUNNEL = 31 SELENA_ANTENNA_BASEMENT = 32 SELENA_ANTENNA_MID = 33 SELENA_ANTENNA_TOP = 34 SELENA_ANTENNA_TUNNEL = 35 SELENA_ANTENNA_STEPS = 36 SELENA_ANTENNA = 37 SELENA_ANTENNA_OPEN = 38 SELENA_ANTENNA_CLOSE = 39 SELENA_BUNKER_OPEN = 40 SELENA_BUNKER_KEYPAD = 41 SELENA_WALKWAY2 = 42 SELENA_WATER_PATH2 = 43 SELENA_WATER_PATH3 = 44 SELENA_CHASM_PATH2 = 45 SELENA_CRYSTAL_PATH2 = 46 ; Submarine on Selena SUB_BUNKER_ENTRY = 0 SUB_HALLWAY = 1 SUB_HALLWAY2 = 2 SUB_ROOM = 3 SUB_CLOSE = 4 SUB_CLOSE_OPEN = 5 SUB_INSIDE_BACK = 6 SUB_INSIDE_BACK_OPEN = 7 SUB_INSIDE_FRONT_SELENA = 8 SUB_INSIDE_FRONT_MOVING = 9 SUB_INSIDE_FRONT_BOOK = 10 SUB_OUTSIDE_BOOK = 11 SUB_BOOK_HALLWAY = 12 SUB_BOOK_HALLWAY2 = 13 SUB_BOOK_ROOM = 14 SUB_BOOK_CLOSED = 15 SUB_BOOK_OPEN = 16 SUB_MEDIUM = 17 SUB_WALK_LEFT = 18 SUB_WALK_RIGHT = 19 SUB_BOTTOM_STAIRS = 20 ; Viewer Room VIEWER_ENTRANCE = 0 VIEWER_STEPS = 1 VIEWER_POOL = 2 VIEWER_POOL_CLOSE = 3 VIEWER_CONTROL_PANEL = 4 ; Ship SHIP_STERN = 0 SHIP_BOW = 1 SHIP_DOOR_CLOSED = 2 SHIP_DOOR_OPEN = 3 SHIP_CHAIR = 4 SHIP_BOOK_CLOSED = 5 SHIP_BOOK_OPEN = 6 ; Stoney Ship Age STONEY_ARRIVAL = 0 STONEY_UMBRELLA_PATH = 1 STONEY_UMBRELLA = 2 STONEY_LIGHTHOUSE_PATH = 3 STONEY_LIGHTHOUSE_DOOR = 4 STONEY_LIGHTHOUSE_INSIDE= 5 STONEY_LIGHTHOUSE_UPSTAIRS= 6 STONEY_LIGHTHOUSE_BATTERY= 7 STONEY_LIGHTHOUSE_DOWNLADDER= 8 STONEY_DOORWAY1 = 9 STONEY_BRIDGE = 10 STONEY_EXIT = 11 STONEY_EXIT_AIRLOCK = 12 STONEY_EXIT_AIRLOCK_OPEN= 13 STONEY_BOOK_STAIRS1 = 14 STONEY_BOOK_STAIRS2 = 15 STONEY_BOOK_ROOM = 16 STONEY_BOOK_TABLE = 17 STONEY_BOOK_TABLE_CLOSED= 18 STONEY_BOOK_TABLE_OPEN = 19 STONEY_DOORWAY2 = 20 STONEY_TELESCOPE_PATH1 = 21 STONEY_TELESCOPE_PATH2 = 22 STONEY_TELESCOPE_PATH3 = 23 STONEY_TELESCOPE = 24 STONEY_TELESCOPE_VIEW = 25 STONEY_LEFT_TUNNEL1 = 26 STONEY_LEFT_TUNNEL2 = 27 STONEY_LEFT_AIRLOCK = 28 STONEY_LEFT_AIRLOCK_OPEN= 29 STONEY_RED_ROOM = 30 STONEY_RED_ROOM_DRESSER = 31 STONEY_RED_DRESSER_OPEN = 32 STONEY_CRAWLWAY_LEFT = 33 STONEY_COMPASS_ROOM_LEFT= 34 STONEY_COMPASS_ROSE_LEFT= 35 STONEY_RIGHT_TUNNEL1 = 36 STONEY_RIGHT_TUNNEL2 = 37 STONEY_RIGHT_AIRLOCK = 38 STONEY_RIGHT_AIRLOCK_OPEN= 39 STONEY_BLUE_ROOM = 40 STONEY_BLUE_MAPCASE = 41 STONEY_BLUE_MAPCASE_OPEN= 42 STONEY_BLUE_HALFMESSAGE = 43 STONEY_CRAWLWAY_RIGHT = 44 STONEY_COMPASS_ROOM_RIGHT= 45 STONEY_COMPASS_ROSE_RIGHT= 46 STONEY_CRAWLWAY_ENTRANCE_LEFT= 47 STONEY_CRAWLWAY_ENTRANCE_RIGHT= 48 STONEY_LIGHTHOUSE_SPIRAL= 49 STONEY_TRUNK = 50 STONEY_TRUNK_CLOSE = 51 ; Channely Wood CHANNEL_ARRIVAL = 0 CHANNEL_PATH2 = 1 CHANNEL_PATH3 = 2 CHANNEL_BRIDGE = 3 CHANNEL_PATH4 = 4 CHANNEL_PATH5 = 5 CHANNEL_PATH6 = 6 CHANNEL_FORK = 7 CHANNEL_BEFORE_ELEV1 = 8 CHANNEL_IN_ELEV1_OPEN = 9 CHANNEL_PIPE_BRIDGE2 = 10 CHANNEL_STEPS_FORK = 11 CHANNEL_STEPS_PATH = 12 CHANNEL_STEPS_DOOR = 13 CHANNEL_WIND_PATH = 14 CHANNEL_WIND_PATH2 = 15 CHANNEL_ISLAND1 = 16 CHANNEL_ISLAND2 = 17 CHANNEL_ISLAND3 = 18 CHANNEL_SHACK = 19 CHANNEL_TANK = 20 CHANNEL_TANK_CLOSE = 21 CHANNEL_WINDMILL = 22 CHANNEL_OUT_BACK = 23 CHANNEL_AFTER_BRIDGE1 = 24 CHANNEL_AFTER_BRIDGE2 = 25 CHANNEL_BOOK_FORK = 26 CHANNEL_PIPE_EXTEND = 27 CHANNEL_BOOK_ELEVATOR = 28 CHANNEL_BOOK_E_OPEN = 29 CHANNEL_BOOK_E_INSIDE_GND= 30 CHANNEL_BOOK_E_IN_CLOSED= 31 CHANNEL_BOOK_E_INSIDE_TOP= 32 CHANNEL_BOOK_ROOM = 33 CHANNEL_BOOK_CLOSED = 34 CHANNEL_BOOK_OPEN = 35 CHANNEL_ELEV1_OPEN = 36 CHANNEL_IN_ELEV1_CLOSED = 37 CHANNEL_VALVE1_ELEVATOR2= 38 CHANNEL_VALVE2_TREE = 39 CHANNEL_VALVE3_BROKEN = 40 CHANNEL_VALVE4_ELEVATOR1= 41 CHANNEL_VALVE5_FORK = 42 CHANNEL_VALVE6_ENTRY = 43 CHANNEL_PATH7 = 44 ; Cabin lost in woods CABIN_OUTSIDE = 0 CABIN_OPEN = 1 CABIN_ENTRANCE = 2 CABIN_INSIDE = 3 CABIN_SAFE = 4 CABIN_CLOCK_PATH = 5 CABIN_TREE_PATH = 6 CABIN_BIG_TREE = 7 CABIN_TREE_ELEVATOR = 8 CABIN_TREE_BASEMENT = 9 CABIN_TREE_BOOK = 10 CABIN_TREE_BOOK_CLOSED = 11 CABIN_TREE_BOOK_OPEN = 12 CABIN_OPEN_SAFE = 13 CABIN_TREE_LOOK_UP = 14 CABIN_TREE_LOOK_DOWN = 15 ; Arbor, up in the trees ARBOR_INSIDE_ELEV1 = 0 ARBOR_INSIDE_ELEV1_OPEN = 1 ARBOR_ARRIVAL_CLOSED = 2 ARBOR_ARRIVAL_OPEN = 3 ARBOR_BRIDGE1 = 4 ARBOR_HUT1 = 5 ARBOR_BRIDGE2 = 6 ARBOR_SHACK1 = 7 ARBOR_BRIDGE3 = 8 ARBOR_LONGSHACK1 = 9 ARBOR_LONGSHACK2 = 10 ARBOR_SWITCH_BRIDGE1 = 11 ARBOR_SWITCH_HUT1 = 12 ARBOR_SWITCH_BRIDGE2 = 13 ARBOR_SWITCH_HUT = 14 ARBOR_BRIDGE4 = 15 ARBOR_HUT2 = 16 ARBOR_HUT2_INSIDE = 17 ARBOR_BRIDGE5 = 18 ARBOR_LONGSHACK3 = 19 ARBOR_BRIDGE6 = 20 ARBOR_SHACK2 = 21 ARBOR_BRIDGE7 = 22 ARBOR_DOORS = 23 ARBOR_DOORS_ELEV2_OPEN = 24 ARBOR_INSIDE_ELEV2_OPEN = 25 ARBOR_INSIDE_ELEV2_CLOSED= 26 ARBOR_STEPS_TOP = 27 ARBOR_STEPS2 = 28 ARBOR_STEPS1 = 29 ARBOR_STEPS_BOTTOM = 30 ARBOR_ARRIVAL_NOELEV = 31 ARBOR_IN_LONGSHACK3 = 32 ARBOR_HUT6 = 33 ARBOR_HUT5 = 34 ARBOR_HUT4 = 35 ARBOR_HUT7 = 36 ARBOR_HUT3 = 37 ; NIBEL, up in the clouds NIBEL_IN_ELEV2_TOP_CLOSED= 0 NIBEL_IN_ELEV2_TOP_OPEN= 1 NIBEL_OUTSIDE_ELEV2_OPEN= 2 NIBEL_OUTSIDE_ELEV2_CLOSED= 3 NIBEL_BLUE_PATH1 = 4 NIBEL_BLUE_PATH2 = 5 NIBEL_BLUE_PATH3 = 6 NIBEL_BLUE_ROOM = 7 NIBEL_BLUE_HOUSE_VIEWER = 8 NIBEL_RED_PATH1 = 9 NIBEL_RED_DOOR_CLOSED = 10 NIBEL_RED_DOOR_OPEN = 11 NIBEL_RED_ROOM = 12 NIBEL_RED_TABLE = 13 NIBEL_RED_TABLE_OPEN = 14 NIBEL_RED_BED = 15 NIBEL_RED_BED_OPEN = 16 NIBEL_HALF_LETTER = 17 NIBEL_BLUE_PATH_0P5 = 18 NIBEL_BLUE_PATH_2P25 = 19 NIBEL_BLUE_PATH_2P5 = 20 NIBEL_BLUE_PATH_2P75 = 21 NIBEL_BLUE_HOUSE_DOOR = 22 NIBEL_BLUE_HOUSE_DOOR_OPEN= 23 NIBEL_SHACK_OUTSIDE = 24 NIBEL_SHACK_HALLWAY = 25 NIBEL_SHACK_EXIT = 26 NIBEL_SHACK_CENTER = 27 NIBEL_SHACK_ENTRANCE = 28 NIBEL_SHACK_ENTRANCE_OPEN= 29 NIBEL_SHACK_DOOR_OPEN = 30 DENTIST_OUTSIDE = 0 DENTIST_OUTSIDE_OPEN = 1 DENTIST_INSIDE_DOOR = 2 DENTIST_CHAIR_CLOSE = 3 DENTIST_PANEL_UP = 4 DENTIST_PANEL = 5 DNI_ARRIVAL = 0 DNI_DESK = 1 DNI_MIST_BOOK = 2 DNI_MIST_BOOK_OPEN = 3