diff --git a/src/scenario.c b/src/scenario.c index 9bc0f7e262..1ec19dc646 100644 --- a/src/scenario.c +++ b/src/scenario.c @@ -36,6 +36,7 @@ #include "platform/platform.h" #include "ride/ride.h" #include "scenario.h" +#include "scenario_sources.h" #include "title.h" #include "util/sawyercoding.h" #include "util/util.h" diff --git a/src/scenario.h b/src/scenario.h index 6f34f904a6..1da4609a82 100644 --- a/src/scenario.h +++ b/src/scenario.h @@ -72,6 +72,17 @@ typedef struct { uint32 scenario_count; // 0x0C } rct_scenario_scores_header; +typedef enum { + SCENARIO_SOURCE_RCT1_CLASSIC, + SCENARIO_SOURCE_RCT1_CORKSCREW, + SCENARIO_SOURCE_RCT1_LOOPY, + SCENARIO_SOURCE_RCT2_VANILLA, + SCENARIO_SOURCE_RCT2_WACKY, + SCENARIO_SOURCE_RCT2_TIME, + SCENARIO_SOURCE_REAL, + SCENARIO_SOURCE_OTHER +} scenario_source; + /** * Scenario basic structure, mainly for scenario select * size: 0x02B0 @@ -89,6 +100,8 @@ typedef struct { sint32 flags; // 0x0268 uint32 company_value; // 0x026C char completed_by[64]; // 0x0270 + scenario_source source_game;// new in OpenRCT2 + sint16 source_index; // new in OpenRCT2 } rct_scenario_basic; typedef struct { diff --git a/src/scenario_sources.h b/src/scenario_sources.h new file mode 100644 index 0000000000..248669d7bf --- /dev/null +++ b/src/scenario_sources.h @@ -0,0 +1,170 @@ +#define NUM_ORIGINAL_SCENARIOS 136 +#define NUM_ALIASES 5 + +#define SCENARIO_SOURCE_RCT1_CLASSIC_INDEX 0 +#define SCENARIO_SOURCE_RCT1_CORKSCREW_INDEX 22 +#define SCENARIO_SOURCE_RCT1_LOOPY_INDEX 52 +#define SCENARIO_SOURCE_RCT2_VANILLA_INDEX 82 +#define SCENARIO_SOURCE_RCT2_WACKY_INDEX 97 +#define SCENARIO_SOURCE_RCT2_TIME_INDEX 114 +#define SCENARIO_SOURCE_REAL_INDEX 128 + +const char * const scenario_aliases[NUM_ALIASES * 2] = { + "Katie's World", "Katie's Dreamland", + "Dinky Park", "Pokey Park", + "Aqua Park", "White Water Park", + "Mothball Mountain","Mystic Mountain", + "Big Pier", "Paradise Pier" +}; + +const char * const original_scenario_names[NUM_ORIGINAL_SCENARIOS] = { + // RCT Classic + "Forest Frontiers", + "Dynamite Dunes", + "Leafy Lake", + "Diamond Heights", + "Evergreen Gardens", + "Bumbly Beach", + "Trinity Islands", + "Katie's Dreamland", + "Pokey Park", + "White Water Park", + "Millennium Mines", + "Karts & Coasters", + "Mel's World", + "Mystic Mountain", + "Pacific Pyramids", + "Crumbly Woods", + "Paradise Pier", + "Lightning Peaks", + "Ivory Towers", + "Rainbow Valley", + "Thunder Rock", + "Mega Park", + + // RCT: Corkscrew Follies + "Whispering Cliffs", + "Three Monkeys Park", + "Canary Mines", + "Barony Bridge", + "Funtopia", + "Haunted Harbor", + "Fun Fortress", + "Future World", + "Gentle Glen", + "Jolly Jungle", + "Hydro Hills", + "Sprightly Park", + "Magic Quarters", + "Fruit Farm", + "Butterfly Dam", + "Coaster Canyon", + "Thunderstorm Park", + "Harmonic Hills", + "Roman Village", + "Swamp Cove", + "Adrenaline Heights", + "Utopia Park", + "Rotting Heights", + "Fiasco Forest", + "Pickle Park", + "Giggle Downs", + "Mineral Park", + "Coaster Crazy", + "Urban Park", + "Geoffrey Gardens", + + // RCT: Loopy Landscapes + "Iceberg Islands", + "Volcania", + "Arid Heights", + "Razor Rocks", + "Crater Lake", + "Vertigo Views", + "Big Pier 2", + "Dragon's Cove", + "Good Knight Park", + "Wacky Warren", + "Grand Glacier", + "Crazy Craters", + "Dusty Desert", + "Woodworm Park", + "Icarus Park", + "Sunny Swamps", + "Frightmare Hills", + "Thunder Rocks", + "Octagon Park", + "Pleasure Island", + "Icicle Worlds", + "Tiny Towers", + "Southern Sands", + "Nevermore Park", + "Pacifica", + "Urban Jungle", + "Terror Town", + "Megaworld Park", + "Venus Ponds", + "Micro Park", + + // RCT2 Vanilla + "Crazy Castle", + "Electric Fields", + "Factory Capers", + "Amity Airfield", + "Botany Breakers", + "Bumbly Bazaar", + "Dusty Greens", + "Fungus Woods", + "Gravity Gardens", + "Infernal Views", + "Alpine Adventures", + "Extreme Heights", + "Ghost Town", + "Lucky Lake", + "Rainbow Summit", + + // RCT2 Wacky Worlds + "Africa - Victoria Falls", + "Asia - Great Wall of China Tourism Enhancement", + "North America - Grand Canyon", + "South America - Rio Carnival", + "Africa - African Diamond Mine", + "Asia - Maharaja Palace", + "Australasia - Ayers Rock", + "Europe - European Cultural Festival", + "North America - Rollercoaster Heaven", + "South America - Inca Lost City", + "Africa - Oasis", + "Antarctic - Ecological Salvage", + "Asia - Japanese Coastal Reclaim", + "Australasia - Fun at the Beach", + "Europe - Renovation", + "N. America - Extreme Hawaiian Island", + "South America - Rain Forest Plateau", + + // RCT2 Time Twister + "Dark Age - Robin Hood", + "Prehistoric - After the Asteroid", + "Roaring Twenties - Prison Island", + "Rock 'n' Roll - Flower Power", + "Dark Age - Castle", + "Future - First Encounters", + "Mythological - Animatronic Film Set", + "Prehistoric - Jurassic Safari", + "Roaring Twenties - Schneider Cup", + "Future - Future World", + "Mythological - Cradle of Civilisation", + "Prehistoric - Stone Age", + "Roaring Twenties - Skyscrapers", + "Rock 'n' Roll - Rock 'n' Roll", + + // Real parks + "Alton Towers", + "Heide-Park", + "Blackpool Pleasure Beach", + "Six Flags Belgium", + "Six Flags Great Adventure", + "Six Flags Holland", + "Six Flags Magic Mountain", + "Six Flags over Texas" +};