dos33fsprogs/mist/common_defines.inc
2020-09-06 09:52:00 -04:00

521 lines
12 KiB
HTML

;=============================
; 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