mirror of https://github.com/OpenRCT2/OpenRCT2.git
add RCT1 title sequence
This commit is contained in:
parent
f2c5ce32f2
commit
82b05950ff
|
@ -0,0 +1,98 @@
|
|||
# RollerCoaster Tycoon 1 Title Sequence
|
||||
|
||||
##############################
|
||||
# RollerCoaster Tycoon 1 #
|
||||
##############################
|
||||
# SC_DIAMOND_HEIGHTS
|
||||
LOADRCT1 3
|
||||
ROTATE 2
|
||||
LOCATION 47, 99
|
||||
WAIT 15
|
||||
ROTATE 2
|
||||
LOCATION 90, 48
|
||||
WAIT 15
|
||||
ROTATE 1
|
||||
LOCATION 86, 43
|
||||
WAIT 15
|
||||
ROTATE 3
|
||||
LOCATION 57, 50
|
||||
WAIT 15
|
||||
ROTATE 2
|
||||
LOCATION 86, 64
|
||||
WAIT 15
|
||||
|
||||
# SC_KATIES_DREAMLAND
|
||||
LOADRCT1 7
|
||||
LOCATION 48, 44
|
||||
WAIT 15
|
||||
LOCATION 64, 41
|
||||
WAIT 15
|
||||
|
||||
# SC_POKEY_PARK,
|
||||
LOADRCT1 8
|
||||
ROTATE 2
|
||||
LOCATION 56, 64
|
||||
WAIT 15
|
||||
|
||||
# SC_WHITE_WATER_PARK
|
||||
LOADRCT1 9
|
||||
ROTATE 3
|
||||
LOCATION 96, 88
|
||||
WAIT 15
|
||||
LOCATION 84, 95
|
||||
WAIT 15
|
||||
|
||||
# SC_MILLENNIUM_MINES
|
||||
LOADRCT1 10
|
||||
ROTATE 1
|
||||
ROTATE 1
|
||||
LOCATION 64, 37
|
||||
WAIT 15
|
||||
|
||||
# SC_KARTS_COASTERS
|
||||
LOADRCT1 11
|
||||
LOCATION 84, 56
|
||||
WAIT 15
|
||||
LOCATION 34, 36
|
||||
WAIT 15
|
||||
LOCATION 33, 65
|
||||
WAIT 15
|
||||
|
||||
# SC_MELS_WORLD
|
||||
LOADRCT1 12
|
||||
ROTATE 3
|
||||
LOCATION 50, 50
|
||||
WAIT 15
|
||||
LOCATION 35, 39
|
||||
WAIT 15
|
||||
ROTATE 3
|
||||
LOCATION 62, 39
|
||||
WAIT 15
|
||||
|
||||
# SC_CRUMBLY_WOODS
|
||||
LOADRCT1 15
|
||||
ROTATE 3
|
||||
LOCATION 57, 94
|
||||
WAIT 15
|
||||
LOCATION 44, 84
|
||||
WAIT 15
|
||||
ROTATE 1
|
||||
LOCATION 76, 59
|
||||
WAIT 15
|
||||
LOCATION 76, 48
|
||||
WAIT 15
|
||||
|
||||
# SC_LIGHTNING_PEAKS
|
||||
LOADRCT1 17
|
||||
LOCATION 80, 49
|
||||
WAIT 15
|
||||
LOCATION 60, 62
|
||||
WAIT 15
|
||||
|
||||
# SC_IVORY_TOWERS
|
||||
LOADRCT1 18
|
||||
ROTATE 3
|
||||
LOCATION 50, 77
|
||||
WAIT 15
|
||||
|
||||
RESTART
|
|
@ -0,0 +1,187 @@
|
|||
# RollerCoaster Tycoon 1 Title Sequence
|
||||
|
||||
##############################
|
||||
# Added Attractions #
|
||||
##############################
|
||||
# SC_HAUNTED_HARBOR
|
||||
LOADRCT1 45
|
||||
LOCATION 62, 53
|
||||
WAIT 11
|
||||
ROTATE 3
|
||||
LOCATION 78, 45
|
||||
WAIT 16
|
||||
|
||||
# SC_CANARY_MINES
|
||||
LOADRCT1 42
|
||||
LOCATION 52, 28
|
||||
WAIT 15
|
||||
|
||||
# SC_GENTLE_GLEN
|
||||
LOADRCT1 48
|
||||
LOCATION 68, 45
|
||||
WAIT 11
|
||||
|
||||
# SC_FUNTOPIA
|
||||
LOADRCT1 44
|
||||
LOCATION 69, 93
|
||||
WAIT 17
|
||||
|
||||
# SC_SPRIGHTLY_PARK
|
||||
LOADRCT1 51
|
||||
ROTATE 3
|
||||
LOCATION 97, 72
|
||||
WAIT 12
|
||||
ROTATE 2
|
||||
LOCATION 74, 71
|
||||
WAIT 12
|
||||
ROTATE 2
|
||||
LOCATION 67, 90
|
||||
WAIT 12
|
||||
|
||||
# SC_GIGGLE_DOWNS
|
||||
LOADRCT1 65
|
||||
LOCATION 94, 64
|
||||
WAIT 10
|
||||
|
||||
# SC_SWAMP_COVE
|
||||
LOADRCT1 59
|
||||
LOCATION 96, 22
|
||||
WAIT 10
|
||||
ROTATE 3
|
||||
LOCATION 90, 29
|
||||
WAIT 10
|
||||
|
||||
# SC_FRUIT_FARM
|
||||
LOADRCT1 53
|
||||
LOCATION 47, 52
|
||||
WAIT 12
|
||||
|
||||
# SC_FUTURE_WORLD
|
||||
LOADRCT1 47
|
||||
LOCATION 67, 59
|
||||
WAIT 19
|
||||
|
||||
# SC_THREE_MONKEYS_PARK
|
||||
LOADRCT1 41
|
||||
ROTATE 2
|
||||
LOCATION 72, 61
|
||||
WAIT 8
|
||||
ROTATE 2
|
||||
LOCATION 68, 70
|
||||
WAIT 8
|
||||
LOCATION 58, 56
|
||||
WAIT 8
|
||||
ROTATE 1
|
||||
LOCATION 44, 70
|
||||
WAIT 8
|
||||
ROTATE 3
|
||||
LOCATION 43, 90
|
||||
WAIT 10
|
||||
|
||||
# SC_ROMAN_VILLAGE
|
||||
LOADRCT1 58
|
||||
LOCATION 49, 46
|
||||
WAIT 15
|
||||
|
||||
# SC_ADRENALINE_HEIGHTS
|
||||
LOADRCT1 60
|
||||
ROTATE 3
|
||||
LOCATION 38, 57
|
||||
WAIT 15
|
||||
|
||||
##############################
|
||||
# RollerCoaster Tycoon 1 #
|
||||
##############################
|
||||
# SC_DIAMOND_HEIGHTS
|
||||
LOADRCT1 3
|
||||
ROTATE 2
|
||||
LOCATION 47, 99
|
||||
WAIT 15
|
||||
ROTATE 2
|
||||
LOCATION 90, 48
|
||||
WAIT 15
|
||||
ROTATE 1
|
||||
LOCATION 86, 43
|
||||
WAIT 15
|
||||
ROTATE 3
|
||||
LOCATION 57, 50
|
||||
WAIT 15
|
||||
ROTATE 2
|
||||
LOCATION 86, 64
|
||||
WAIT 15
|
||||
|
||||
# SC_KATIES_DREAMLAND
|
||||
LOADRCT1 7
|
||||
LOCATION 48, 44
|
||||
WAIT 15
|
||||
LOCATION 64, 41
|
||||
WAIT 15
|
||||
|
||||
# SC_POKEY_PARK,
|
||||
LOADRCT1 8
|
||||
ROTATE 2
|
||||
LOCATION 56, 64
|
||||
WAIT 15
|
||||
|
||||
# SC_WHITE_WATER_PARK
|
||||
LOADRCT1 9
|
||||
ROTATE 3
|
||||
LOCATION 96, 88
|
||||
WAIT 15
|
||||
LOCATION 84, 95
|
||||
WAIT 15
|
||||
|
||||
# SC_MILLENNIUM_MINES
|
||||
LOADRCT1 10
|
||||
ROTATE 1
|
||||
ROTATE 1
|
||||
LOCATION 64, 37
|
||||
WAIT 15
|
||||
|
||||
# SC_KARTS_COASTERS
|
||||
LOADRCT1 11
|
||||
LOCATION 84, 56
|
||||
WAIT 15
|
||||
LOCATION 34, 36
|
||||
WAIT 15
|
||||
LOCATION 33, 65
|
||||
WAIT 15
|
||||
|
||||
# SC_MELS_WORLD
|
||||
LOADRCT1 12
|
||||
ROTATE 3
|
||||
LOCATION 50, 50
|
||||
WAIT 15
|
||||
LOCATION 35, 39
|
||||
WAIT 15
|
||||
ROTATE 3
|
||||
LOCATION 62, 39
|
||||
WAIT 15
|
||||
|
||||
# SC_CRUMBLY_WOODS
|
||||
LOADRCT1 15
|
||||
ROTATE 3
|
||||
LOCATION 57, 94
|
||||
WAIT 15
|
||||
LOCATION 44, 84
|
||||
WAIT 15
|
||||
ROTATE 1
|
||||
LOCATION 76, 59
|
||||
WAIT 15
|
||||
LOCATION 76, 48
|
||||
WAIT 15
|
||||
|
||||
# SC_LIGHTNING_PEAKS
|
||||
LOADRCT1 17
|
||||
LOCATION 80, 49
|
||||
WAIT 15
|
||||
LOCATION 60, 62
|
||||
WAIT 15
|
||||
|
||||
# SC_IVORY_TOWERS
|
||||
LOADRCT1 18
|
||||
ROTATE 3
|
||||
LOCATION 50, 77
|
||||
WAIT 15
|
||||
|
||||
RESTART
|
|
@ -0,0 +1,233 @@
|
|||
# RollerCoaster Tycoon 1 Title Sequence
|
||||
|
||||
##############################
|
||||
# Added Attractions (part 1) #
|
||||
##############################
|
||||
# SC_HAUNTED_HARBOR
|
||||
LOADRCT1 45
|
||||
LOCATION 62, 53
|
||||
WAIT 11
|
||||
ROTATE 3
|
||||
LOCATION 78, 45
|
||||
WAIT 16
|
||||
|
||||
# SC_CANARY_MINES
|
||||
LOADRCT1 42
|
||||
LOCATION 52, 28
|
||||
WAIT 15
|
||||
|
||||
# SC_GENTLE_GLEN
|
||||
LOADRCT1 48
|
||||
LOCATION 68, 45
|
||||
WAIT 11
|
||||
|
||||
# SC_FUNTOPIA
|
||||
LOADRCT1 44
|
||||
LOCATION 69, 93
|
||||
WAIT 17
|
||||
|
||||
##############################
|
||||
# Loopy Landscapes #
|
||||
##############################
|
||||
# SC_FRIGHTMARE_HILLS
|
||||
LOADRCT1 86
|
||||
LOCATION 46, 47
|
||||
WAIT 5
|
||||
|
||||
# SC_GOOD_KNIGHT_PARK
|
||||
LOADRCT1 30
|
||||
ROTATE 2
|
||||
LOCATION 60, 62
|
||||
WAIT 5
|
||||
|
||||
# SC_ICEBERG_ISLANDS
|
||||
LOADRCT1 22
|
||||
ROTATE 3
|
||||
LOCATION 36, 52
|
||||
WAIT 4
|
||||
|
||||
# SC_SOUTHERN_SANDS
|
||||
LOADRCT1 91
|
||||
ROTATE 2
|
||||
LOCATION 51, 47
|
||||
WAIT 4
|
||||
|
||||
# SC_SUNNY_SWAMPS
|
||||
LOADRCT1 85
|
||||
ROTATE 3
|
||||
LOCATION 77, 82
|
||||
WAIT 4
|
||||
|
||||
# SC_VERTIGO_VIEWS
|
||||
LOADRCT1 27
|
||||
LOCATION 22, 56
|
||||
WAIT 3
|
||||
|
||||
# SC_WACKY_WARREN
|
||||
LOADRCT1 31
|
||||
ROTATE 3
|
||||
LOCATION 72, 80
|
||||
WAIT 4
|
||||
|
||||
##############################
|
||||
# Added Attractions (part 2) #
|
||||
##############################
|
||||
# SC_SPRIGHTLY_PARK
|
||||
LOADRCT1 51
|
||||
ROTATE 3
|
||||
LOCATION 97, 72
|
||||
WAIT 12
|
||||
ROTATE 2
|
||||
LOCATION 74, 71
|
||||
WAIT 12
|
||||
ROTATE 2
|
||||
LOCATION 67, 90
|
||||
WAIT 12
|
||||
|
||||
# SC_GIGGLE_DOWNS
|
||||
LOADRCT1 65
|
||||
LOCATION 94, 64
|
||||
WAIT 10
|
||||
|
||||
# SC_SWAMP_COVE
|
||||
LOADRCT1 59
|
||||
LOCATION 96, 22
|
||||
WAIT 10
|
||||
ROTATE 3
|
||||
LOCATION 90, 29
|
||||
WAIT 10
|
||||
|
||||
# SC_FRUIT_FARM
|
||||
LOADRCT1 53
|
||||
LOCATION 47, 52
|
||||
WAIT 12
|
||||
|
||||
# SC_FUTURE_WORLD
|
||||
LOADRCT1 47
|
||||
LOCATION 67, 59
|
||||
WAIT 19
|
||||
|
||||
# SC_THREE_MONKEYS_PARK
|
||||
LOADRCT1 41
|
||||
ROTATE 2
|
||||
LOCATION 72, 61
|
||||
WAIT 8
|
||||
ROTATE 2
|
||||
LOCATION 68, 70
|
||||
WAIT 8
|
||||
LOCATION 58, 56
|
||||
WAIT 8
|
||||
ROTATE 1
|
||||
LOCATION 44, 70
|
||||
WAIT 8
|
||||
ROTATE 3
|
||||
LOCATION 43, 90
|
||||
WAIT 10
|
||||
|
||||
# SC_ROMAN_VILLAGE
|
||||
LOADRCT1 58
|
||||
LOCATION 49, 46
|
||||
WAIT 15
|
||||
|
||||
# SC_ADRENALINE_HEIGHTS
|
||||
LOADRCT1 60
|
||||
ROTATE 3
|
||||
LOCATION 38, 57
|
||||
WAIT 15
|
||||
|
||||
##############################
|
||||
# RollerCoaster Tycoon 1 #
|
||||
##############################
|
||||
# SC_DIAMOND_HEIGHTS
|
||||
LOADRCT1 3
|
||||
ROTATE 2
|
||||
LOCATION 47, 99
|
||||
WAIT 15
|
||||
ROTATE 2
|
||||
LOCATION 90, 48
|
||||
WAIT 15
|
||||
ROTATE 1
|
||||
LOCATION 86, 43
|
||||
WAIT 15
|
||||
ROTATE 3
|
||||
LOCATION 57, 50
|
||||
WAIT 15
|
||||
ROTATE 2
|
||||
LOCATION 86, 64
|
||||
WAIT 15
|
||||
|
||||
# SC_KATIES_DREAMLAND
|
||||
LOADRCT1 7
|
||||
LOCATION 48, 44
|
||||
WAIT 15
|
||||
LOCATION 64, 41
|
||||
WAIT 15
|
||||
|
||||
# SC_POKEY_PARK,
|
||||
LOADRCT1 8
|
||||
ROTATE 2
|
||||
LOCATION 56, 64
|
||||
WAIT 15
|
||||
|
||||
# SC_WHITE_WATER_PARK
|
||||
LOADRCT1 9
|
||||
ROTATE 3
|
||||
LOCATION 96, 88
|
||||
WAIT 15
|
||||
LOCATION 84, 95
|
||||
WAIT 15
|
||||
|
||||
# SC_MILLENNIUM_MINES
|
||||
LOADRCT1 10
|
||||
ROTATE 1
|
||||
ROTATE 1
|
||||
LOCATION 64, 37
|
||||
WAIT 15
|
||||
|
||||
# SC_KARTS_COASTERS
|
||||
LOADRCT1 11
|
||||
LOCATION 84, 56
|
||||
WAIT 15
|
||||
LOCATION 34, 36
|
||||
WAIT 15
|
||||
LOCATION 33, 65
|
||||
WAIT 15
|
||||
|
||||
# SC_MELS_WORLD
|
||||
LOADRCT1 12
|
||||
ROTATE 3
|
||||
LOCATION 50, 50
|
||||
WAIT 15
|
||||
LOCATION 35, 39
|
||||
WAIT 15
|
||||
ROTATE 3
|
||||
LOCATION 62, 39
|
||||
WAIT 15
|
||||
|
||||
# SC_CRUMBLY_WOODS
|
||||
LOADRCT1 15
|
||||
ROTATE 3
|
||||
LOCATION 57, 94
|
||||
WAIT 15
|
||||
LOCATION 44, 84
|
||||
WAIT 15
|
||||
ROTATE 1
|
||||
LOCATION 76, 59
|
||||
WAIT 15
|
||||
LOCATION 76, 48
|
||||
WAIT 15
|
||||
|
||||
# SC_LIGHTNING_PEAKS
|
||||
LOADRCT1 17
|
||||
LOCATION 80, 49
|
||||
WAIT 15
|
||||
LOCATION 60, 62
|
||||
WAIT 15
|
||||
|
||||
# SC_IVORY_TOWERS
|
||||
LOADRCT1 18
|
||||
ROTATE 3
|
||||
LOCATION 50, 77
|
||||
WAIT 15
|
||||
|
||||
RESTART
|
32
src/config.c
32
src/config.c
|
@ -1407,11 +1407,23 @@ void title_sequences_set_default()
|
|||
|
||||
platform_get_openrct_data_path(dataPath);
|
||||
|
||||
// Load OpenRCT2 title sequence
|
||||
// RCT1 title sequence
|
||||
sprintf(path, "%s%c%s%c%s%c", dataPath, sep, "title", sep, "rct1", sep);
|
||||
title_sequence_open(path, language_get_string(5305));
|
||||
|
||||
// RCT1 (AA) title sequence
|
||||
sprintf(path, "%s%c%s%c%s%c", dataPath, sep, "title", sep, "rct1aa", sep);
|
||||
title_sequence_open(path, language_get_string(5306));
|
||||
|
||||
// RCT1 (AA + LL) title sequence
|
||||
sprintf(path, "%s%c%s%c%s%c", dataPath, sep, "title", sep, "rct1aall", sep);
|
||||
title_sequence_open(path, language_get_string(5307));
|
||||
|
||||
// RCT2 title sequence
|
||||
sprintf(path, "%s%c%s%c%s%c", dataPath, sep, "title", sep, "rct2", sep);
|
||||
title_sequence_open(path, language_get_string(5308));
|
||||
|
||||
// Load OpenRCT2 title sequence
|
||||
// OpenRCT2 title sequence
|
||||
sprintf(path, "%s%c%s%c%s%c", dataPath, sep, "title", sep, "openrct2", sep);
|
||||
title_sequence_open(path, language_get_string(5309));
|
||||
}
|
||||
|
@ -1432,12 +1444,21 @@ void title_sequences_load_presets()
|
|||
platform_enumerate_directories_end(dirEnumHandle);
|
||||
|
||||
// Check which title sequence is the current one
|
||||
if (_stricmp(gConfigInterface.current_title_sequence_preset, "*RCT2") == 0) {
|
||||
if (_stricmp(gConfigInterface.current_title_sequence_preset, "*RCT1") == 0) {
|
||||
gCurrentTitleSequence = 0;
|
||||
}
|
||||
else if (_stricmp(gConfigInterface.current_title_sequence_preset, "*OPENRCT2") == 0) {
|
||||
else if (_stricmp(gConfigInterface.current_title_sequence_preset, "*RCT1AA") == 0) {
|
||||
gCurrentTitleSequence = 1;
|
||||
}
|
||||
else if (_stricmp(gConfigInterface.current_title_sequence_preset, "*RCT1AALL") == 0) {
|
||||
gCurrentTitleSequence = 2;
|
||||
}
|
||||
else if (_stricmp(gConfigInterface.current_title_sequence_preset, "*RCT2") == 0) {
|
||||
gCurrentTitleSequence = 3;
|
||||
}
|
||||
else if (_stricmp(gConfigInterface.current_title_sequence_preset, "*OPENRCT2") == 0) {
|
||||
gCurrentTitleSequence = 4;
|
||||
}
|
||||
else {
|
||||
for (i = TITLE_SEQUENCE_DEFAULT_PRESETS; i < gConfigTitleSequences.num_presets; i++) {
|
||||
if (_stricmp(gConfigInterface.current_title_sequence_preset, gConfigTitleSequences.presets[i].name) == 0) {
|
||||
|
@ -1567,6 +1588,9 @@ static void title_sequence_open(const char *path, const char *customName)
|
|||
command.command = TITLE_SCRIPT_END;
|
||||
} else if (_stricmp(token, "LOADMM") == 0) {
|
||||
command.command = TITLE_SCRIPT_LOADMM;
|
||||
} else if (_stricmp(token, "LOADRCT1") == 0) {
|
||||
command.command = TITLE_SCRIPT_LOADRCT1;
|
||||
command.saveIndex = atoi(part1) & 0xFF;
|
||||
}
|
||||
}
|
||||
if (command.command != 0xFF) {
|
||||
|
|
|
@ -63,9 +63,18 @@ void title_sequence_change_preset(int preset)
|
|||
if (preset >= 0 && preset < gConfigTitleSequences.num_presets) {
|
||||
switch (preset) {
|
||||
case 0:
|
||||
gConfigInterface.current_title_sequence_preset = "*RCT2";
|
||||
gConfigInterface.current_title_sequence_preset = "*RCT1";
|
||||
break;
|
||||
case 1:
|
||||
gConfigInterface.current_title_sequence_preset = "*RCT1AA";
|
||||
break;
|
||||
case 2:
|
||||
gConfigInterface.current_title_sequence_preset = "*RCT1AALL";
|
||||
break;
|
||||
case 3:
|
||||
gConfigInterface.current_title_sequence_preset = "*RCT2";
|
||||
break;
|
||||
case 4:
|
||||
gConfigInterface.current_title_sequence_preset = "*OPENRCT2";
|
||||
break;
|
||||
default:
|
||||
|
|
108
src/scenario.h
108
src/scenario.h
|
@ -447,6 +447,7 @@ typedef struct {
|
|||
} scenario_index_entry;
|
||||
|
||||
typedef struct {
|
||||
const utf8 *title;
|
||||
uint8 source;
|
||||
sint32 index;
|
||||
uint8 category;
|
||||
|
@ -485,6 +486,113 @@ void scenario_success_submit_name(const char *name);
|
|||
void scenario_autosave_check();
|
||||
|
||||
bool scenario_get_source_desc(const utf8 *name, source_desc *outDesc);
|
||||
bool scenario_get_source_desc_by_id(uint8 id, source_desc *outDesc);
|
||||
void scenario_normalise_name(utf8 *name);
|
||||
|
||||
// RCT1 scenario index map
|
||||
enum {
|
||||
SC_UNIDENTIFIED = 255,
|
||||
|
||||
// RCT
|
||||
SC_FOREST_FRONTIERS = 0,
|
||||
SC_DYNAMITE_DUNES,
|
||||
SC_LEAFY_LAKES,
|
||||
SC_DIAMOND_HEIGHTS,
|
||||
SC_EVERGREEN_GARDENS,
|
||||
SC_BUMBLY_BEACH,
|
||||
SC_TRINITY_ISLANDS,
|
||||
SC_KATIES_DREAMLAND,
|
||||
SC_POKEY_PARK,
|
||||
SC_WHITE_WATER_PARK,
|
||||
SC_MILLENNIUM_MINES,
|
||||
SC_KARTS_COASTERS,
|
||||
SC_MELS_WORLD,
|
||||
SC_MYSTIC_MOUNTAIN,
|
||||
SC_PACIFIC_PYRAMIDS,
|
||||
SC_CRUMBLY_WOODS,
|
||||
SC_PARADISE_PIER,
|
||||
SC_LIGHTNING_PEAKS,
|
||||
SC_IVORY_TOWERS,
|
||||
SC_RAINBOW_VALLEY,
|
||||
SC_THUNDER_ROCK,
|
||||
SC_MEGA_PARK,
|
||||
|
||||
// Loopy Landscapes
|
||||
SC_ICEBERG_ISLANDS,
|
||||
SC_VOLCANIA,
|
||||
SC_ARID_HEIGHTS,
|
||||
SC_RAZOR_ROCKS,
|
||||
SC_CRATER_LAKE,
|
||||
SC_VERTIGO_VIEWS,
|
||||
SC_PARADISE_PIER_2,
|
||||
SC_DRAGONS_COVE,
|
||||
SC_GOOD_KNIGHT_PARK,
|
||||
SC_WACKY_WARREN,
|
||||
|
||||
// Special
|
||||
ALTON_TOWERS,
|
||||
FORT_ANACHRONISM,
|
||||
|
||||
// Added Attractions
|
||||
SC_WHISPERING_CLIFFS = 40,
|
||||
SC_THREE_MONKEYS_PARK,
|
||||
SC_CANARY_MINES,
|
||||
SC_BARONY_BRIDGE,
|
||||
SC_FUNTOPIA,
|
||||
SC_HAUNTED_HARBOR,
|
||||
SC_FUN_FORTRESS,
|
||||
SC_FUTURE_WORLD,
|
||||
SC_GENTLE_GLEN,
|
||||
SC_JOLLY_JUNGLE,
|
||||
SC_HYDRO_HILLS,
|
||||
SC_SPRIGHTLY_PARK,
|
||||
SC_MAGIC_QUARTERS,
|
||||
SC_FRUIT_FARM,
|
||||
SC_BUTTERFLY_DAM,
|
||||
SC_COASTER_CANYON,
|
||||
SC_THUNDERSTORM_PARK,
|
||||
SC_HARMONIC_HILLS,
|
||||
SC_ROMAN_VILLAGE,
|
||||
SC_SWAMP_COVE,
|
||||
SC_ADRENALINE_HEIGHTS,
|
||||
SC_UTOPIA,
|
||||
SC_ROTTING_HEIGHTS,
|
||||
SC_FIASCO_FOREST,
|
||||
SC_PICKLE_PARK,
|
||||
SC_GIGGLE_DOWNS,
|
||||
SC_MINERAL_PARK,
|
||||
SC_COASTER_CRAZY,
|
||||
SC_URBAN_PARK,
|
||||
SC_GEOFFREY_GARDENS,
|
||||
|
||||
// Special
|
||||
SC_HEIDE_PARK,
|
||||
SC_PCPLAYER,
|
||||
SC_PCGW,
|
||||
SC_GAMEPLAY,
|
||||
SC_BLACKPOOL_PLEASURE_BEACH,
|
||||
|
||||
// Loopy Landscapes
|
||||
SC_GRAND_GLACIER = 80,
|
||||
SC_CRAZY_CRATERS,
|
||||
SC_DUSTY_DESERT,
|
||||
SC_WOODWORM_PARK,
|
||||
SC_ICARUS_PARK,
|
||||
SC_SUNNY_SWAMPS,
|
||||
SC_FRIGHTMARE_HILLS,
|
||||
SC_THUNDER_ROCKS,
|
||||
SC_OCTAGON_PARK,
|
||||
SC_PLEASURE_ISLAND,
|
||||
SC_ICICLE_WORLDS,
|
||||
SC_SOUTHERN_SANDS,
|
||||
SC_TINY_TOWERS,
|
||||
SC_NEVERMORE_PARK,
|
||||
SC_PACIFICA,
|
||||
SC_URBAN_JUNGLE,
|
||||
SC_TERROR_TOWN,
|
||||
SC_MEGAWORLD_PARK,
|
||||
SC_VENUS_PONDS,
|
||||
SC_MICRO_PARK,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -16,182 +16,183 @@ const scenario_alias ScenarioAliases[] = {
|
|||
};
|
||||
|
||||
typedef struct {
|
||||
const uint8 id;
|
||||
const utf8 *title;
|
||||
const uint8 category;
|
||||
} scenario_title_desc;
|
||||
|
||||
// RCT
|
||||
const scenario_title_desc ScenarioTitlesRCT1[] = {
|
||||
{ "Forest Frontiers", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Dynamite Dunes", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Leafy Lake", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Diamond Heights", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Evergreen Gardens", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Bumbly Beach", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Trinity Islands", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Katie's Dreamland", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Pokey Park", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "White Water Park", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Millennium Mines", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Karts & Coasters", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Mel's World", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Mystic Mountain", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Pacific Pyramids", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Crumbly Woods", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Paradise Pier", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Lightning Peaks", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Ivory Towers", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Rainbow Valley", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Thunder Rock", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Mega Park", SCENARIO_CATEGORY_OTHER },
|
||||
{ SC_FOREST_FRONTIERS, "Forest Frontiers", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_DYNAMITE_DUNES, "Dynamite Dunes", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_LEAFY_LAKES, "Leafy Lake", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_DIAMOND_HEIGHTS, "Diamond Heights", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_EVERGREEN_GARDENS, "Evergreen Gardens", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_BUMBLY_BEACH, "Bumbly Beach", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_TRINITY_ISLANDS, "Trinity Islands", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_KATIES_DREAMLAND, "Katie's Dreamland", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_POKEY_PARK, "Pokey Park", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_WHITE_WATER_PARK, "White Water Park", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_MILLENNIUM_MINES, "Millennium Mines", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_KARTS_COASTERS, "Karts & Coasters", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_MELS_WORLD, "Mel's World", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_MYSTIC_MOUNTAIN, "Mystic Mountain", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_PACIFIC_PYRAMIDS, "Pacific Pyramids", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_CRUMBLY_WOODS, "Crumbly Woods", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_PARADISE_PIER, "Paradise Pier", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_LIGHTNING_PEAKS, "Lightning Peaks", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_IVORY_TOWERS, "Ivory Towers", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_RAINBOW_VALLEY, "Rainbow Valley", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_THUNDER_ROCK, "Thunder Rock", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_MEGA_PARK, "Mega Park", SCENARIO_CATEGORY_OTHER },
|
||||
};
|
||||
|
||||
// RCT: Added Attractions
|
||||
const scenario_title_desc ScenarioTitlesRCT1AA[] = {
|
||||
{ "Whispering Cliffs", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Three Monkeys Park", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Canary Mines", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Barony Bridge", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Funtopia", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Haunted Harbor", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Fun Fortress", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Future World", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Gentle Glen", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Jolly Jungle", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Hydro Hills", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Sprightly Park", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Magic Quarters", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Fruit Farm", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Butterfly Dam", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Coaster Canyon", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Thunderstorm Park", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Harmonic Hills", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Roman Village", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Swamp Cove", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Adrenaline Heights", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Utopia", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Rotting Heights", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Fiasco Forest", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Pickle Park", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Giggle Downs", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Mineral Park", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Coaster Crazy", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Urban Park", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Geoffrey Gardens", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_WHISPERING_CLIFFS, "Whispering Cliffs", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_THREE_MONKEYS_PARK, "Three Monkeys Park", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_CANARY_MINES, "Canary Mines", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_BARONY_BRIDGE, "Barony Bridge", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_FUNTOPIA, "Funtopia", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_HAUNTED_HARBOR, "Haunted Harbor", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_FUN_FORTRESS, "Fun Fortress", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_FUTURE_WORLD, "Future World", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_GENTLE_GLEN, "Gentle Glen", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_JOLLY_JUNGLE, "Jolly Jungle", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_HYDRO_HILLS, "Hydro Hills", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_SPRIGHTLY_PARK, "Sprightly Park", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_MAGIC_QUARTERS, "Magic Quarters", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_FRUIT_FARM, "Fruit Farm", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_BUTTERFLY_DAM, "Butterfly Dam", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_COASTER_CANYON, "Coaster Canyon", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_THUNDERSTORM_PARK, "Thunderstorm Park", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_HARMONIC_HILLS, "Harmonic Hills", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_ROMAN_VILLAGE, "Roman Village", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_SWAMP_COVE, "Swamp Cove", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_ADRENALINE_HEIGHTS, "Adrenaline Heights", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UTOPIA, "Utopia", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_ROTTING_HEIGHTS, "Rotting Heights", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_FIASCO_FOREST, "Fiasco Forest", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_PICKLE_PARK, "Pickle Park", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_GIGGLE_DOWNS, "Giggle Downs", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_MINERAL_PARK, "Mineral Park", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_COASTER_CRAZY, "Coaster Crazy", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_URBAN_PARK, "Urban Park", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_GEOFFREY_GARDENS, "Geoffrey Gardens", SCENARIO_CATEGORY_EXPERT },
|
||||
};
|
||||
|
||||
// RCT: Loopy Landscapes
|
||||
const scenario_title_desc ScenarioTitlesRCT1LL[] = {
|
||||
{ "Iceberg Islands", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Volcania", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Arid Heights", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Razor Rocks", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Crater Lake", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Vertigo Views", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Paradise Pier 2", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Dragon's Cove", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Good Knight Park", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Wacky Warren", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Grand Glacier", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Crazy Craters", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Dusty Desert", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Woodworm Park", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Icarus Park", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Sunny Swamps", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Frightmare Hills", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Thunder Rocks", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Octagon Park", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Pleasure Island", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Icicle Worlds", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Tiny Towers", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Southern Sands", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Nevermore Park", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Pacifica", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Urban Jungle", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Terror Town", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Megaworld Park", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Venus Ponds", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Micro Park", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_ICEBERG_ISLANDS, "Iceberg Islands", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_VOLCANIA, "Volcania", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_ARID_HEIGHTS, "Arid Heights", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_RAZOR_ROCKS, "Razor Rocks", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_CRATER_LAKE, "Crater Lake", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_VERTIGO_VIEWS, "Vertigo Views", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_PARADISE_PIER_2, "Paradise Pier 2", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_DRAGONS_COVE, "Dragon's Cove", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_GOOD_KNIGHT_PARK, "Good Knight Park", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_WACKY_WARREN, "Wacky Warren", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_GRAND_GLACIER, "Grand Glacier", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_CRAZY_CRATERS, "Crazy Craters", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_DUSTY_DESERT, "Dusty Desert", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_WOODWORM_PARK, "Woodworm Park", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_ICARUS_PARK, "Icarus Park", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_SUNNY_SWAMPS, "Sunny Swamps", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_FRIGHTMARE_HILLS, "Frightmare Hills", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_THUNDER_ROCKS, "Thunder Rocks", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_OCTAGON_PARK, "Octagon Park", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_PLEASURE_ISLAND, "Pleasure Island", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_ICICLE_WORLDS, "Icicle Worlds", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_SOUTHERN_SANDS, "Tiny Towers", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_TINY_TOWERS, "Southern Sands", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_NEVERMORE_PARK, "Nevermore Park", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_PACIFICA, "Pacifica", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_URBAN_JUNGLE, "Urban Jungle", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_TERROR_TOWN, "Terror Town", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_MEGAWORLD_PARK, "Megaworld Park", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_VENUS_PONDS, "Venus Ponds", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_MICRO_PARK, "Micro Park", SCENARIO_CATEGORY_EXPERT },
|
||||
};
|
||||
|
||||
// RCT2
|
||||
const scenario_title_desc ScenarioTitlesRCT2[] = {
|
||||
{ "Crazy Castle", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Electric Fields", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Factory Capers", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Amity Airfield", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Botany Breakers", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Bumbly Bazaar", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Dusty Greens", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Fungus Woods", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Gravity Gardens", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Infernal Views", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Alpine Adventures", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Extreme Heights", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Ghost Town", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Lucky Lake", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Rainbow Summit", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_UNIDENTIFIED, "Crazy Castle", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_UNIDENTIFIED, "Electric Fields", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_UNIDENTIFIED, "Factory Capers", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_UNIDENTIFIED, "Amity Airfield", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UNIDENTIFIED, "Botany Breakers", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UNIDENTIFIED, "Bumbly Bazaar", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UNIDENTIFIED, "Dusty Greens", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UNIDENTIFIED, "Fungus Woods", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UNIDENTIFIED, "Gravity Gardens", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UNIDENTIFIED, "Infernal Views", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UNIDENTIFIED, "Alpine Adventures", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_UNIDENTIFIED, "Extreme Heights", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_UNIDENTIFIED, "Ghost Town", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_UNIDENTIFIED, "Lucky Lake", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_UNIDENTIFIED, "Rainbow Summit", SCENARIO_CATEGORY_EXPERT },
|
||||
};
|
||||
|
||||
// RCT2: Wacky Worlds
|
||||
const scenario_title_desc ScenarioTitlesRCT2WW[] = {
|
||||
{ "Africa - Victoria Falls", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Asia - Great Wall of China Tourism Enhancement", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "North America - Grand Canyon", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "South America - Rio Carnival", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Africa - African Diamond Mine", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Asia - Maharaja Palace", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Australasia - Ayers Rock", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Europe - European Cultural Festival", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "North America - Rollercoaster Heaven", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "South America - Inca Lost City", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Africa - Oasis", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Antarctic - Ecological Salvage", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Asia - Japanese Coastal Reclaim", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Australasia - Fun at the Beach", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Europe - Renovation", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "N. America - Extreme Hawaiian Island", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "South America - Rain Forest Plateau", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_UNIDENTIFIED, "Africa - Victoria Falls", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_UNIDENTIFIED, "Asia - Great Wall of China Tourism Enhancement", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_UNIDENTIFIED, "North America - Grand Canyon", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_UNIDENTIFIED, "South America - Rio Carnival", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_UNIDENTIFIED, "Africa - African Diamond Mine", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UNIDENTIFIED, "Asia - Maharaja Palace", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UNIDENTIFIED, "Australasia - Ayers Rock", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UNIDENTIFIED, "Europe - European Cultural Festival", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UNIDENTIFIED, "North America - Rollercoaster Heaven", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UNIDENTIFIED, "South America - Inca Lost City", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UNIDENTIFIED, "Africa - Oasis", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_UNIDENTIFIED, "Antarctic - Ecological Salvage", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_UNIDENTIFIED, "Asia - Japanese Coastal Reclaim", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_UNIDENTIFIED, "Australasia - Fun at the Beach", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_UNIDENTIFIED, "Europe - Renovation", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_UNIDENTIFIED, "N. America - Extreme Hawaiian Island", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_UNIDENTIFIED, "South America - Rain Forest Plateau", SCENARIO_CATEGORY_EXPERT },
|
||||
};
|
||||
|
||||
// RCT2: Time Twister
|
||||
const scenario_title_desc ScenarioTitlesRCT2TT[] = {
|
||||
{ "Dark Age - Robin Hood", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Prehistoric - After the Asteroid", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Roaring Twenties - Prison Island", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Rock 'n' Roll - Flower Power", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ "Dark Age - Castle", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Future - First Encounters", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Mythological - Animatronic Film Set", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Prehistoric - Jurassic Safari", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Roaring Twenties - Schneider Cup", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ "Future - Future World", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Mythological - Cradle of Civilisation", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Prehistoric - Stone Age", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Roaring Twenties - Skyscrapers", SCENARIO_CATEGORY_EXPERT },
|
||||
{ "Rock 'n' Roll - Rock 'n' Roll", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_UNIDENTIFIED, "Dark Age - Robin Hood", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_UNIDENTIFIED, "Prehistoric - After the Asteroid", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_UNIDENTIFIED, "Roaring Twenties - Prison Island", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_UNIDENTIFIED, "Rock 'n' Roll - Flower Power", SCENARIO_CATEGORY_BEGINNER },
|
||||
{ SC_UNIDENTIFIED, "Dark Age - Castle", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UNIDENTIFIED, "Future - First Encounters", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UNIDENTIFIED, "Mythological - Animatronic Film Set", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UNIDENTIFIED, "Prehistoric - Jurassic Safari", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UNIDENTIFIED, "Roaring Twenties - Schneider Cup", SCENARIO_CATEGORY_CHALLENGING },
|
||||
{ SC_UNIDENTIFIED, "Future - Future World", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_UNIDENTIFIED, "Mythological - Cradle of Civilisation", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_UNIDENTIFIED, "Prehistoric - Stone Age", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_UNIDENTIFIED, "Roaring Twenties - Skyscrapers", SCENARIO_CATEGORY_EXPERT },
|
||||
{ SC_UNIDENTIFIED, "Rock 'n' Roll - Rock 'n' Roll", SCENARIO_CATEGORY_EXPERT },
|
||||
};
|
||||
|
||||
// Real parks
|
||||
const scenario_title_desc ScenarioTitlesRealParks[] = {
|
||||
{ "Alton Towers", SCENARIO_CATEGORY_REAL },
|
||||
{ "Heide-Park", SCENARIO_CATEGORY_REAL },
|
||||
{ "Blackpool Pleasure Beach", SCENARIO_CATEGORY_REAL },
|
||||
{ "Six Flags Belgium", SCENARIO_CATEGORY_REAL },
|
||||
{ "Six Flags Great Adventure", SCENARIO_CATEGORY_REAL },
|
||||
{ "Six Flags Holland", SCENARIO_CATEGORY_REAL },
|
||||
{ "Six Flags Magic Mountain", SCENARIO_CATEGORY_REAL },
|
||||
{ "Six Flags over Texas", SCENARIO_CATEGORY_REAL },
|
||||
{ SC_UNIDENTIFIED, "Alton Towers", SCENARIO_CATEGORY_REAL },
|
||||
{ SC_UNIDENTIFIED, "Heide-Park", SCENARIO_CATEGORY_REAL },
|
||||
{ SC_UNIDENTIFIED, "Blackpool Pleasure Beach", SCENARIO_CATEGORY_REAL },
|
||||
{ SC_UNIDENTIFIED, "Six Flags Belgium", SCENARIO_CATEGORY_REAL },
|
||||
{ SC_UNIDENTIFIED, "Six Flags Great Adventure", SCENARIO_CATEGORY_REAL },
|
||||
{ SC_UNIDENTIFIED, "Six Flags Holland", SCENARIO_CATEGORY_REAL },
|
||||
{ SC_UNIDENTIFIED, "Six Flags Magic Mountain", SCENARIO_CATEGORY_REAL },
|
||||
{ SC_UNIDENTIFIED, "Six Flags over Texas", SCENARIO_CATEGORY_REAL },
|
||||
};
|
||||
|
||||
// Other parks
|
||||
const scenario_title_desc ScenarioTitlesRCT2BuildYourOwnParks[] = {
|
||||
{ "Build your own Six Flags Belgium", SCENARIO_CATEGORY_OTHER },
|
||||
{ "Build your own Six Flags Great Adventure", SCENARIO_CATEGORY_OTHER },
|
||||
{ "Build your own Six Flags Holland", SCENARIO_CATEGORY_OTHER },
|
||||
{ "Build your own Six Flags Magic Mountain", SCENARIO_CATEGORY_OTHER },
|
||||
{ "Build your own Six Flags Park", SCENARIO_CATEGORY_OTHER },
|
||||
{ "Build your own Six Flags over Texas", SCENARIO_CATEGORY_OTHER },
|
||||
{ SC_UNIDENTIFIED, "Build your own Six Flags Belgium", SCENARIO_CATEGORY_OTHER },
|
||||
{ SC_UNIDENTIFIED, "Build your own Six Flags Great Adventure", SCENARIO_CATEGORY_OTHER },
|
||||
{ SC_UNIDENTIFIED, "Build your own Six Flags Holland", SCENARIO_CATEGORY_OTHER },
|
||||
{ SC_UNIDENTIFIED, "Build your own Six Flags Magic Mountain", SCENARIO_CATEGORY_OTHER },
|
||||
{ SC_UNIDENTIFIED, "Build your own Six Flags Park", SCENARIO_CATEGORY_OTHER },
|
||||
{ SC_UNIDENTIFIED, "Build your own Six Flags over Texas", SCENARIO_CATEGORY_OTHER },
|
||||
};
|
||||
|
||||
const struct {
|
||||
|
@ -216,6 +217,32 @@ bool scenario_get_source_desc(const utf8 *name, source_desc *outDesc)
|
|||
for (int j = 0; j < ScenarioTitlesBySource[i].count; j++) {
|
||||
const scenario_title_desc *desc = &ScenarioTitlesBySource[i].titles[j];
|
||||
if (_strcmpi(name, desc->title) == 0) {
|
||||
outDesc->title = desc->title;
|
||||
outDesc->source = i;
|
||||
outDesc->index = currentIndex;
|
||||
outDesc->category = desc->category;
|
||||
return true;
|
||||
}
|
||||
currentIndex++;
|
||||
}
|
||||
}
|
||||
|
||||
outDesc->source = SCENARIO_SOURCE_OTHER;
|
||||
outDesc->index = -1;
|
||||
outDesc->category = SCENARIO_CATEGORY_OTHER;
|
||||
return false;
|
||||
}
|
||||
|
||||
bool scenario_get_source_desc_by_id(uint8 id, source_desc *outDesc)
|
||||
{
|
||||
assert(outDesc != NULL);
|
||||
|
||||
sint32 currentIndex = 0;
|
||||
for (int i = 0; i < countof(ScenarioTitlesBySource); i++) {
|
||||
for (int j = 0; j < ScenarioTitlesBySource[i].count; j++) {
|
||||
const scenario_title_desc *desc = &ScenarioTitlesBySource[i].titles[j];
|
||||
if (id == desc->id) {
|
||||
outDesc->title = desc->title;
|
||||
outDesc->source = i;
|
||||
outDesc->index = currentIndex;
|
||||
outDesc->category = desc->category;
|
||||
|
|
39
src/title.c
39
src/title.c
|
@ -64,6 +64,7 @@ rct_xy16 _titleScriptCurrentCentralPosition = { -1, -1 };
|
|||
#define ZOOM(d) TITLE_SCRIPT_ZOOM, d
|
||||
#define RESTART() TITLE_SCRIPT_RESTART
|
||||
#define LOAD(i) TITLE_SCRIPT_LOAD, i
|
||||
#define LOADRCT1(i) TITLE_SCRIPT_LOADRCT1, i
|
||||
|
||||
static const uint8 _magicMountainScript[] = {
|
||||
LOADMM(),
|
||||
|
@ -422,6 +423,38 @@ static void title_do_next_script_opcode()
|
|||
}
|
||||
}
|
||||
break;
|
||||
case TITLE_SCRIPT_LOADRCT1:
|
||||
script_operand = (*_currentScript++);
|
||||
|
||||
source_desc sourceDesc;
|
||||
if (!scenario_get_source_desc_by_id(script_operand, &sourceDesc) || sourceDesc.index == -1) {
|
||||
log_fatal("Invalid scenario id.");
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
const utf8 *path = NULL;
|
||||
for (int i = 0; i < gScenarioListCount; i++) {
|
||||
if (gScenarioList[i].source_index == sourceDesc.index) {
|
||||
path = gScenarioList[i].path;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (path == NULL || !title_load_park(path)) {
|
||||
script_opcode = *_currentScript;
|
||||
while (script_opcode != TITLE_SCRIPT_LOADRCT1 && script_opcode != TITLE_SCRIPT_RESTART && script_opcode != TITLE_SCRIPT_END) {
|
||||
title_skip_opcode();
|
||||
script_opcode = *_currentScript;
|
||||
}
|
||||
if (script_opcode == TITLE_SCRIPT_RESTART) {
|
||||
title_sequence_change_preset(4);
|
||||
title_refresh_sequence();
|
||||
config_save_default();
|
||||
return;
|
||||
}
|
||||
}
|
||||
gTitleScriptSave = 0xFF;
|
||||
break;
|
||||
}
|
||||
window_invalidate_by_class(WC_TITLE_EDITOR);
|
||||
}
|
||||
|
@ -688,6 +721,9 @@ bool title_refresh_sequence()
|
|||
hasInvalidSave = true;
|
||||
hasLoad = true;
|
||||
}
|
||||
else if (title->commands[i].command == TITLE_SCRIPT_LOADRCT1) {
|
||||
hasLoad = true;
|
||||
}
|
||||
else if (title->commands[i].command == TITLE_SCRIPT_LOADMM) {
|
||||
hasLoad = true;
|
||||
}
|
||||
|
@ -711,6 +747,9 @@ bool title_refresh_sequence()
|
|||
for (int i = 0; i < title->num_commands; i++) {
|
||||
*scriptPtr++ = title->commands[i].command;
|
||||
switch (title->commands[i].command) {
|
||||
case TITLE_SCRIPT_LOADRCT1:
|
||||
*scriptPtr++ = title->commands[i].saveIndex;
|
||||
break;
|
||||
case TITLE_SCRIPT_LOAD:
|
||||
src = title->saves[title->commands[i].saveIndex];
|
||||
do {
|
||||
|
|
|
@ -34,7 +34,8 @@ enum {
|
|||
TITLE_SCRIPT_END,
|
||||
TITLE_SCRIPT_SPEED,
|
||||
TITLE_SCRIPT_LOOP,
|
||||
TITLE_SCRIPT_ENDLOOP
|
||||
TITLE_SCRIPT_ENDLOOP,
|
||||
TITLE_SCRIPT_LOADRCT1,
|
||||
};
|
||||
|
||||
extern sint32 gTitleScriptCommand;
|
||||
|
|
|
@ -996,15 +996,14 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
|
|||
gDropdownItemsArgs[i] = (uint32)&gConfigTitleSequences.presets[i].name;
|
||||
}
|
||||
|
||||
window_dropdown_show_text_custom_width(
|
||||
window_dropdown_show_text(
|
||||
w->x + widget->left,
|
||||
w->y + widget->top,
|
||||
widget->bottom - widget->top + 1,
|
||||
w->colours[1],
|
||||
DROPDOWN_FLAG_STAY_OPEN,
|
||||
num_items,
|
||||
widget->right - widget->left - 3
|
||||
);
|
||||
num_items
|
||||
);
|
||||
|
||||
dropdown_set_checked(gCurrentPreviewTitleSequence, true);
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue