dos33fsprogs/mist/common_defines.inc
Vince Weaver 450384e09c mist: make catherine letter a background like other letters in the game
this actually makes the code about 100 bytes smaller

should make it possible to grab from other direction but that gets
complicated with the dentist door code
2020-07-03 23:06:11 -04:00

422 lines
9.5 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_SHIPUP = 11
LOAD_NIBEL = 12
LOAD_ENDING = 13
;================================
; 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_CAT_LETTER = 17
MIST_SPACESHIP_SWITCH = 18
MIST_TREE_CORRIDOR_4 = 19
MIST_UNUSED = 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_VIEWER_DOOR = 40
; re-use 20,25
; 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
; 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
; 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
SELENA_WATER_TURN = 11
SELENA_WATER_PATH = 12
SELENA_WATER = 13
SELENA_TOWER_VIEW = 14
SELENA_CHASM_PATH = 15
SELENA_CHASM = 16
SELENA_CLOCK_PATH = 17
SELENA_CLOCK = 18
SELENA_CLOCK_CLOSE = 19
SELENA_CLOCK_BEFORE = 20
SELENA_CRYSTAL_TURN = 21
SELENA_CRYSTAL_STEPS = 22
SELENA_CRYSTAL_PATH = 23
SELENA_CRYSTALS = 24
SELENA_CRYSTAL_CLOSE = 25
SELENA_SPACESHIP_PATH = 26
SELENA_BEFORE_CRYSTALS = 27
SELENA_TUNNEL_STEPS = 28
SELENA_TUNNEL_PATH = 29
SELENA_TUNNEL_MAINLAND = 30
SELENA_TUNNEL_MAIN_CLOSE= 31
SELENA_TUNNEL_MAIN_TOP = 32
SELENA_TUNNEL_MAIN_MID = 33
SELENA_TUNNEL_BASEMENT = 34
SELENA_TUNNEL = 35
SELENA_ANTENNA_BASEMENT = 36
SELENA_ANTENNA_MID = 37
SELENA_ANTENNA_TOP = 38
SELENA_ANTENNA_TUNNEL = 39
SELENA_ANTENNA_STEPS = 40
SELENA_ANTENNA = 41
SELENA_ANTENNA_OPEN = 42
SELENA_ANTENNA_CLOSE = 43
SELENA_BOOK_HALLWAY = 44
SELENA_INSIDE_SUB = 45
SELENA_SUB_HALLWAY = 46
SELENA_BUNKER_ENTRY = 47
SELENA_BUNKER_OPEN = 48
SELENA_BUNKER_KEYPAD = 49
; Viewer Room
VIEWER_STEPS = 0
VIEWER_POOL = 1
VIEWER_POOL_CLOSE = 2
VIEWER_CONTROL_PANEL = 3
; Stoney Ship
STONEY_SHIP_STERN = 0
STONEY_SHIP_BOW = 1
STONEY_SHIP_DOOR_CLOSED = 2
STONEY_SHIP_DOOR_OPEN = 3
STONEY_SHIP_CHAIR = 4
STONEY_SHIP_BOOK_CLOSED = 5
STONEY_SHIP_BOOK_OPEN = 6
STONEY_ARRIVAL = 7
STONEY_UMBRELLA_PATH = 8
STONEY_UMBRELLA = 9
STONEY_LIGHTHOUSE_PATH = 10
STONEY_LIGHTHOUSE_DOOR = 11
STONEY_LIGHTHOUSE_INSIDE= 12
STONEY_LIGHTHOUSE_UPSTAIRS= 13
STONEY_LIGHTHOUSE_BATTERY= 14
STONEY_LIGHTHOUSE_DOWNLADDER= 15
STONEY_DOORWAY1 = 16
STONEY_BRIDGE = 17
STONEY_EXIT = 18
STONEY_EXIT_AIRLOCK = 19
STONEY_EXIT_AIRLOCK_OPEN= 20
STONEY_BOOK_STAIRS1 = 21
STONEY_BOOK_STAIRS2 = 22
STONEY_BOOK_ROOM = 23
STONEY_BOOK_TABLE = 24
STONEY_BOOK_TABLE_CLOSED= 25
STONEY_BOOK_TABLE_OPEN = 26
STONEY_DOORWAY2 = 27
STONEY_TELESCOPE_PATH1 = 28
STONEY_TELESCOPE_PATH2 = 29
STONEY_TELESCOPE_PATH3 = 30
STONEY_TELESCOPE = 31
STONEY_TELESCOPE_VIEW = 32
STONEY_LEFT_TUNNEL1 = 33
STONEY_LEFT_TUNNEL2 = 34
STONEY_LEFT_AIRLOCK = 35
STONEY_LEFT_AIRLOCK_OPEN= 36
STONEY_RED_ROOM = 37
STONEY_RED_ROOM_DRESSER = 38
STONEY_RED_DRESSER_OPEN = 39
STONEY_CRAWLWAY_LEFT = 40
STONEY_COMPASS_ROOM = 41
STONEY_COMPASS_ROSE = 42
STONEY_RIGHT_TUNNEL1 = 43
STONEY_RIGHT_TUNNEL2 = 44
STONEY_RIGHT_AIRLOCK = 45
STONEY_RIGHT_AIRLOCK_OPEN= 46
STONEY_BLUE_ROOM = 47
STONEY_BLUE_MAPCASE = 48
STONEY_BLUE_MAPCASE_OPEN= 49
STONEY_BLUE_HALFMESSAGE = 50
STONEY_CRAWLWAY_RIGHT = 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
; 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
; 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
; 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
DENTIST_OUTSIDE = 0
DENTIST_OUTSIDE_OPEN = 1
DENTIST_INSIDE_DOOR = 2
DENTIST_CHAIR_CLOSE = 3
DENTIST_PANEL_UP = 4
DENTIST_PANEL = 5