1 /*****************************************************************************
2  * Copyright (c) 2014-2020 OpenRCT2 developers
3  *
4  * For a complete list of all authors, please refer to contributors.md
5  * Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
6  *
7  * OpenRCT2 is licensed under the GNU General Public License version 3.
8  *****************************************************************************/
9 
10 #pragma once
11 
12 #include "../common.h"
13 
14 struct source_desc
15 {
16     const utf8* title;
17     uint8_t id;
18     uint8_t source;
19     int32_t index;
20     uint8_t category;
21 };
22 
23 namespace ScenarioSources
24 {
25     bool TryGetByName(const utf8* name, source_desc* outDesc);
26     bool TryGetById(uint8_t id, source_desc* outDesc);
27     void NormaliseName(utf8* buffer, size_t bufferSize, const utf8* name);
28 } // namespace ScenarioSources
29 
30 // RCT1 scenario index map
31 enum
32 {
33     SC_UNIDENTIFIED = 255,
34 
35     // RCT
36     SC_FOREST_FRONTIERS = 0,
37     SC_DYNAMITE_DUNES,
38     SC_LEAFY_LAKE,
39     SC_DIAMOND_HEIGHTS,
40     SC_EVERGREEN_GARDENS,
41     SC_BUMBLY_BEACH,
42     SC_TRINITY_ISLANDS,
43     SC_KATIES_DREAMLAND,
44     SC_POKEY_PARK,
45     SC_WHITE_WATER_PARK,
46     SC_MILLENNIUM_MINES,
47     SC_KARTS_COASTERS,
48     SC_MELS_WORLD,
49     SC_MYSTIC_MOUNTAIN,
50     SC_PACIFIC_PYRAMIDS,
51     SC_CRUMBLY_WOODS,
52     SC_PARADISE_PIER,
53     SC_LIGHTNING_PEAKS,
54     SC_IVORY_TOWERS,
55     SC_RAINBOW_VALLEY,
56     SC_THUNDER_ROCK,
57     SC_MEGA_PARK,
58 
59     // Loopy Landscapes
60     SC_ICEBERG_ISLANDS,
61     SC_VOLCANIA,
62     SC_ARID_HEIGHTS,
63     SC_RAZOR_ROCKS,
64     SC_CRATER_LAKE,
65     SC_VERTIGO_VIEWS,
66     SC_PARADISE_PIER_2,
67     SC_DRAGONS_COVE,
68     SC_GOOD_KNIGHT_PARK,
69     SC_WACKY_WARREN,
70 
71     // Special
72     SC_ALTON_TOWERS,
73     SC_FORT_ANACHRONISM,
74 
75     // Added Attractions
76     SC_WHISPERING_CLIFFS = 40,
77     SC_THREE_MONKEYS_PARK,
78     SC_CANARY_MINES,
79     SC_BARONY_BRIDGE,
80     SC_FUNTOPIA,
81     SC_HAUNTED_HARBOUR,
82     SC_FUN_FORTRESS,
83     SC_FUTURE_WORLD,
84     SC_GENTLE_GLEN,
85     SC_JOLLY_JUNGLE,
86     SC_HYDRO_HILLS,
87     SC_SPRIGHTLY_PARK,
88     SC_MAGIC_QUARTERS,
89     SC_FRUIT_FARM,
90     SC_BUTTERFLY_DAM,
91     SC_COASTER_CANYON,
92     SC_THUNDERSTORM_PARK,
93     SC_HARMONIC_HILLS,
94     SC_ROMAN_VILLAGE,
95     SC_SWAMP_COVE,
96     SC_ADRENALINE_HEIGHTS,
97     SC_UTOPIA_PARK,
98     SC_ROTTING_HEIGHTS,
99     SC_FIASCO_FOREST,
100     SC_PICKLE_PARK,
101     SC_GIGGLE_DOWNS,
102     SC_MINERAL_PARK,
103     SC_COASTER_CRAZY,
104     SC_URBAN_PARK,
105     SC_GEOFFREY_GARDENS,
106 
107     // Special
108     SC_HEIDE_PARK,
109     SC_PCPLAYER,
110     SC_PCGW,
111     SC_GAMEPLAY,
112     SC_BLACKPOOL_PLEASURE_BEACH,
113 
114     // Loopy Landscapes
115     SC_GRAND_GLACIER = 80,
116     SC_CRAZY_CRATERS,
117     SC_DUSTY_DESERT,
118     SC_WOODWORM_PARK,
119     SC_ICARUS_PARK,
120     SC_SUNNY_SWAMPS,
121     SC_FRIGHTMARE_HILLS,
122     SC_THUNDER_ROCKS,
123     SC_OCTAGON_PARK,
124     SC_PLEASURE_ISLAND,
125     SC_ICICLE_WORLDS,
126     SC_SOUTHERN_SANDS,
127     SC_TINY_TOWERS,
128     SC_NEVERMORE_PARK,
129     SC_PACIFICA,
130     SC_URBAN_JUNGLE,
131     SC_TERROR_TOWN,
132     SC_MEGAWORLD_PARK,
133     SC_VENUS_PONDS,
134     SC_MICRO_PARK,
135 
136     // Competition scenarios (Build the best ... you can)
137     SC_STEEL_TWISTER_COMPETITION = 110,
138     SC_GO_KARTS_COMPETITION = 114,
139     SC_STEEL_CORKSCREW_COMPETITION = 116,
140     SC_MINE_TRAIN_COMPETITION = 117,
141     SC_STEEL_ROLLER_COASTER_COMPETITION = 119,
142     SC_BOBSLED_COMPETITION = 120,
143     SC_INVERTED_ROLLER_COASTER_COMPETITION = 123,
144     SC_SUSPENDED_ROLLER_COASTER_COMPETITION = 124,
145     SC_STAND_UP_STEEL_ROLLER_COASTER_COMPETITION = 125,
146     SC_WOODEN_ROLLER_COASTER_COMPETITION = 126,
147     SC_STEEL_MINI_ROLLER_COASTER_COMPETITION = 127,
148 };
149