-
Notifications
You must be signed in to change notification settings - Fork 0
/
levels.h
276 lines (259 loc) · 13.9 KB
/
levels.h
1
/****************************************************************************************//* LEVELS.H *//****************************************************************************************//* (c) 1995 by Magnet Interactive Studios, inc. All rights reserved. *//****************************************************************************************//* Revision History: *//* 9/27/94 File first created. By Andrew Looney. *//* v2.4 10/19/94 Fifty level version. By Andrew Looney. *//* v2.5 10/31/94 Sixty level version burned onto CD-ROM. By Andrew Looney. *//* v3.0 10/31/94 Began switching over to real artwork. By Andrew Looney. *//* v3.1 11/11/94 COMDEX version. By Andrew Looney. *//* v3.2 12/2/94 Seventy-five level version. By Andrew Looney. *//* v3.3 12/14/94 Ack! Zombies! By Andrew Looney. *//* v3.4 12/23/94 Orange Meanies! By Andrew Looney. *//* v3.5 1/3/95 100 Levels! By Andrew Looney. *//* v3.6 1/5/95 101 Levels. By Andrew Looney. *//* v3.7 1/16/95 New, improved Brainy Seeker logic! By Andrew Looney. *//* v3.8 1/27/95 114 level version burned onto CD-ROM. By Andrew Looney. *//* v3.9 2/3/95 New CD-ROM burned for shipment to 3DO. By Andrew Looney. *//* v4.0 2/9/95 New CD-ROM featuring the big level grid. By Andrew Looney. *//* v4.1 2/22/95 New CD-ROM with rough draft of full interface. By Andrew Looney. *//* v4.2 3/17/95 The St. Patrick's Day Version. By Andrew Looney. *//* v4.3 3/20/95 The last version before the movies get added. By Andrew Looney. *//* v4.4 3/21/95 First version with movies integrated. By Andrew Looney. *//* v4.5 3/22/95 Second version with movies integrated. By Andrew Looney. *//* v4.6 3/27/95 Third version with movies integrated. By Andrew Looney. *//* v5.0 3/28/95 Newest version sent to QA. By Andrew Looney. *//* v5.1 3/28/95 Now, with Easter Eggs! By Andrew Looney. *//* v5.2 3/29/95 Could this be the final version? By Andrew Looney. *//* v5.3 3/30/95 OK, now maybe THIS is the final version! By Andrew Looney. *//* v5.4 4/3/95 Made a couple more minor changes. By Andrew Looney. *//****************************************************************************************/#define MAX_RANDOM_SEEKERS 50#define MAX_RANDOM_SEEKER_FLAVORS 3typedef struct random_level{ char tiles [ROWS_IN_LANDSCAPE][COLUMNS_IN_LANDSCAPE]; char pyramids [ROWS_IN_LANDSCAPE][COLUMNS_IN_LANDSCAPE]; int32 wasteland; int32 seeker_type [MAX_RANDOM_SEEKERS]; int32 row [MAX_RANDOM_SEEKERS]; int32 column [MAX_RANDOM_SEEKERS]; int32 direction [MAX_RANDOM_SEEKERS]; int32 total_flavors; int32 featured_flavors [MAX_RANDOM_SEEKER_FLAVORS]; int32 easy_seeker_count [MAX_RANDOM_SEEKER_FLAVORS]; int32 medium_seeker_count [MAX_RANDOM_SEEKER_FLAVORS]; int32 hard_seeker_count [MAX_RANDOM_SEEKER_FLAVORS]; int32 insane_seeker_count [MAX_RANDOM_SEEKER_FLAVORS];};/****************************************************************************************//***** level names *****/#define LESSON_1_BLUE -3 /* Andy */#define LESSON_2_RED -2 /* Andy */#define LESSON_3_GREEN -1 /* Andy */#define LESSON_4_RANDOM_CHANGES 0 /* Andy */#define ROLSTON_LEVEL 1 /* Ken/Andy */#define EYE_OF_THE_PYRAMID 2 /* Ken */#define TRIANGLE_MAN 3 /* Ken */#define ORIGINAL_LEVEL 4 /* Andy */#define GOPHER_HOLES 5 /* Ken */#define YRAMIDSPAY_USTMAY_IEDAY 6 /* Ken */#define DIG_YOUR_OWN_GRAVE 7 /* Andy */#define PINK_OR_SWIM 8 /* Ken */#define TIE_DIE 9 /* Ken */#define ONE_MID_TWO_MID 10 /* Ken */#define PURPLE_DAZE 11 /* Ken */#define MALTEESE_PYRAMID 12 /* Ken */#define ICE_SCREAM 13 /* Ken */#define GUNNER_SABOT_LIMEY 14 /* Ken */#define PAUL_IS_DEAD 15 /* Ken */#define ENGLISH_COUNTRY_ROCK_GARDEN 16 /* Ken */#define VALLEY_OF_THE_14TH_PART 17 /* Ken */#define PYRAMID_HENGE 18 /* Ken */#define PYRAMIDS_BEFORE_SWINE 19 /* Ken */#define DOUBLE_DOUBLE_BOIL_AND_BUBBLE 20 /* Ken */#define THE_CRACKS_OF_DOOM 21 /* Ken */#define OF_ICE_AND_PYRAMIDS 22 /* Ken */#define A_LEVEL_FOR_CHAMELEON 23 /* Ken */#define GREEN_SLIME 24 /* Ken */#define PYRAMIDS_IN_A_STRANGE_LAND 25 /* Ken */#define SWAMPWALK 26 /* Ken */#define HARD_ROCK_ZOMBIE_PYRAMIDS 27 /* Ken */#define PYRAMIDS_IN_THE_MIST 28 /* Ken */#define PATHWAYS_IN_THE_SAND 29 /* Andy */#define LEVEL_OF_GOLD_AND_LEAD 30 /* Andy */#define BOX_CANYON 31 /* Ken */#define CROSSFIRE 32 /* Mike Young */#define FIRE_IS_COOL 33 /* Ken */#define LAUGH_WHILE_YOU_CAN 34 /* Ken */#define THE_FIRE_PIT 35 /* Ken */#define CEREAL_KILLERS 36 /* Ken */#define DONT_FALL_IN_THE_MOAT 37 /* Andy */#define FIRES_OF_HECK 38 /* Ken */#define GRAVEYARD 39 /* Ken */#define WONDERFUL_WORLD_OF_ALVEOLI 40 /* Mike Young */#define FOUR_TRAPS 41 /* Kristin Looney */#define KITCHEN_SINK 42 /* Andy */#define RIGHT_WING_EXTREMISTS 43 /* Paul */#define NO_PYRAMID_ZONE 44 /* Ken */#define BLUE_AND_GREY 45 /* Ken */#define RED_HOT_MAMMA 46 /* Paul Murphy */#define ALL_THE_PYRAMIDS_MEN 47 /* Ken */#define TWELVE_DUDES_A_CREEPING 48 /* Ken */#define RANDOM_ACCESS 49 /* Mike Young */#define STONESHOOTER_BLUES 50 /* Ken */#define KING_ME 51 /* Mike Young */#define ICY_U 52 /* Mike Young */#define MOUNT_ST_MONDAY 53 /* Ken */#define BREAKFAST_AT_PHILLIES 54 /* Ken */#define THE_POOL_OF_FIRE 55 /* Andy */#define REALM_OF_THE_STONECUTTERS 56 /* Ken */#define NORTH_POLE 57 /* Mike Young */#define CASTLE_OF_DR_MID 58 /* Ken */#define MOLTARS_OVENS 59 /* Keith */#define THEY_LIVE 60 /* Andy/Keith */#define X_MARKS_THE_SPOT 61 /* Mike Young */#define ITS_NOT_EASY 62 /* Mike Young */#define ELEVEN_TRAPS 63 /* Kristin Looney */#define SLIPPERY_ICE 64 /* Andy */#define SEA_OF_GREEN 65 /* Ken */#define COLORADO 66 /* Zeb */#define FIRE_AND_ICE 67 /* Andy */#define DIVIDE_AND_CONQUER 68 /* Ken */#define BURN_YOUR_BRIDGES 69 /* Keith */#define SHATTERED_ZONES 70 /* Mike Young */#define ADVANCED_PITS 71 /* Andy/Keith */#define ARE_YOU_THE_KEYMASTER 72 /* Ken */#define ARCTIC_COUNTRY_ROCK_GARDEN 73 /* Ken */#define NEW_XI_CITY 74 /* Andy */#define WOODSTOCK 75 /* Andy */#define PIT_OF_ICHOR 76 /* Mike Young */#define PASCALS_TRIANGLES 77 /* Andy */#define CYANIDE_SANDWICH 78 /* Ken */#define KEY_LIME_DIE 79 /* Ken */#define ONCE_AND_FUTURE_PYRAMID 80 /* Mike Young */#define BWAHAHAHAHAHA 81 /* Mike Young */#define RINGWORLD 82 /* Ken */#define ZOMBIE_FOUNTAIN 83 /* Ken */#define DONT_PANIC 84 /* Ken */#define PINKZILLA 85 /* Lisa Woronicz */#define DRUMS_OVER_MALTA 86 /* Mike Young */#define THE_HOT_SEAT 87 /* Andy */#define BLUE_ICE 88 /* Ken */#define BARRIER_REEF 89 /* Mike Young */#define HAVE_FUN_STORMING_THE_CASTLE 90 /* Ken */#define GATEWAY 91 /* Mike Young */#define IN_DEEP 92 /* Mike Young */#define SPIRAL_DEATH_TRAP 93 /* Andy */#define SLIMEY_PINKNESS 94 /* Mike Young */#define YOULL_LAVA_IT 95 /* Mike Young */#define LIVE_AND_LET_SLIDE 96 /* Ken */#define HOW_THE_WEST_WAS_WON 97 /* Paul Murphy */#define SLIME_TIME 98 /* Mike Young */#define DANCE_OF_THE_DEAD 99 /* Andy */#define MORAINE 100 /* Ken */#define THE_OASIS 101 /* Andy */#define UNDERGROUND_SEA 102 /* Keith */#define TREAD_CAREFULLY 103 /* Mike Young */#define DESERT_MAZE 104 /* Keith */#define BLARNEY_LEVEL 105 /* Mike Young */#define FIVE_PYRAMIDS_IN_SEARCH 106 /* Andy */#define HOPSCOTCH 107 /* Mike Young */#define ANDYS_WORKSHOP 108 /* Andy */#define PIT_FIENDS 109 /* Mike Young */#define THE_BAD_PLACE 110 /* Ken */#define MELTDOWN 111 /* Mike Young */#define LEMMINGS 112 /* Andy */#define SEND_IN_THE_LURKERS 113 /* Mike Young */#define SEA_OF_HOLES 114 /* Andy */#define THE_CATACOMBS 115 /* Keith */#define IN_THE_ICEHOUSE 116 /* Andy */#define CATWALKS 117 /* Keith */#define HOUSE_OF_PAIN 118 /* Ken */#define ICEBERG 119 /* Ken */#define NOT_A_NICE_NEIGHBORHOOD 120 /* Paul Murphy */#define BUNKERS 121 /* Mike Young */#define THE_VALLEY_OF_DEATH 122 /* Ken */#define MONSTER_ISLAND 123 /* Ken */#define THE_CHEESE_SHOP 124 /* Ken */#define THE_FIRE_SWAMP 125 /* Mike Young */#define GROTTO 126 /* Ken */#define RADICAL_LEFTIES 127 /* Paul */#define VOLCANO 128 /* Ken */#define BATHROOM_SINK 129 /* Andy */#define CURSE_OF_PELE 130 /* Ken */#define STOP_N_GO 131 /* Ken */#define MOLTARS_FREEZER 132 /* Ken */#define NINTH_CIRCLE 133 /* Ken */#define LURKERS_ABOVE 134 /* Ken */#define BRIDE_OF_SLIME 135 /* Ken */#define DIE_DIE_ALL_DIE 136 /* Ken */#define THE_TOMB 137 /* Keith */#define THE_QUICK_AND_THE_DEAD 138 /* Ken */#define ZORAKS_LEVEL 139 /* Keith */#define THE_PYRAMIDS_OF_DR_MOREAU 140 /* Ken */#define LURKERS_ON_ICE 141 /* Mike Young */#define NO_NAME 142 /* Ken */#define NOWHERE_TO_RUN 143 /* Ken */#define SLIDE_AND_CONQUER 144 /* Ken */#define MEANYVILLE 145 /* Ken */#define ZOMBIE_GEYSER 146 /* Ken */#define COMPUTER_IS_YOUR_FRIEND 147 /* Ken */#define WELL_YOU_ARE_DEAD 148 /* Keith */#define GREEN_AND_PLEASANT 149 /* Ken */#define LEVEL_THAT_TIME_FORGOT 150 /* Ken */#define ITS_TOTALLY_RANDOM 151 /* Computer generated */#define SLOT1 153 /* test level: remove before burning CD */#define SLOT2 154 /* test level: remove before burning CD */#define SLOT3 155 /* test level: remove before burning CD */#define SLOT4 156 /* test level: remove before burning CD */#define SLOT5 157 /* test level: remove before burning CD */#define SLOT6 158 /* test level: remove before burning CD */#define SLOT7 159 /* test level: remove before burning CD */#define SLOT8 160 /* test level: remove before burning CD */#define SLOT9 161 /* test level: remove before burning CD */#define MAXIMUM_LEVELS 150#define FIRST_LEVEL LESSON_1_BLUE#define LAST_LEVEL ITS_TOTALLY_RANDOM/***** special codes used in checking to see if a randomly generated level is possible. */#define UNREACHABLE 0#define REACHABLE 1#define IMPASSABLE 2/***** tile classifications (used in random level generation) *****/#define PLAINS 1#define FROZEN 2#define MARSH 3#define TOXIC 4#define MOLTEN 5#define CHASM 6#define ROCKY 7/***** environment classifications (used in random level generation) *****/#define HAZARDLESS 0#define PITS_ONLY 1#define ROCKS_ONLY 2#define ROCKS_AND_PITS 3#define SWAMPLESS 0#define SWAMPY_BASE 1#define PLAIN_WITH_SWAMPS 2#define ICY_WITH_SWAMPS 3#define SWAMPY_WITH_SWAMPS 4/****************************************************************************************/extern void FetchLevelName (char *msg, int32 level);extern int32 FetchMusicTrackFromFile (void); extern int32 TranslateTileCode (int16 tile_code);extern void LoadLevel (int32 level); extern char* ExtractSeekerData (char *input_index, int32 &seeker_type, int32 &row, int32 &column, int32 &direction);extern void PlaceHazardsRandomly (int32 total, int32 type, int32 base);extern void PlaceHazardsInLines (int32 total, int32 type, int32 base);extern void PlaceHazardsInBunches(int32 total, int32 type, int32 base);extern bool ThisTileIsHazardous (int32 tile_type);extern void CheckForAndRemoveImpossibilites (int32 base_tile);extern void GenerateRandomLevel (void);extern void PrintObjectCode(int32 object_id);extern void PrintTileCode(int32 tile_id);extern void PrintRandomSeekersForGivenSetting(int32 setting);extern void DumpRandomlyGeneratedLevel();/***************************************** EOF ******************************************/