diff --git a/src/openrct2/object/DefaultObjects.cpp b/src/openrct2/object/DefaultObjects.cpp index 13582eb4d4..bc7f0016e1 100644 --- a/src/openrct2/object/DefaultObjects.cpp +++ b/src/openrct2/object/DefaultObjects.cpp @@ -12,69 +12,68 @@ #include "Object.h" // clang-format off -const std::string_view MinimumRequiredObjects[] = { "rct2.surface.grass", "rct2.edge.rock" }; +const std::string_view MinimumRequiredObjects[] = { "rct2.terrain_surface.grass", "rct2.terrain_edge.rock" }; const std::string_view DefaultSelectedObjects[] = { // An initial default selection - "rct2.scgtrees", // Scenery: Trees - "rct2.scgshrub", // Scenery: Shrubs and Ornaments - "rct2.scggardn", // Scenery: Gardens - "rct2.scgfence", // Scenery: Fences and Walls - "rct2.scgwalls", // Scenery: Walls and Roofs - "rct2.scgpathx", // Scenery: Signs and Items for Footpaths - "rct2.tarmac", // Footpath: Tarmac - "rct2.twist1", // Ride: Twist - "rct2.ptct1", // Ride: Wooden Roller Coaster (Wooden Roller Coaster Trains) - "rct2.zldb", // Ride: Junior Roller Coaster (Ladybird Trains) - "rct2.lfb1", // Ride: Log Flume - "rct2.vcr", // Ride: Vintage Cars - "rct2.mgr1", // Ride: Merry-Go-Round - "rct2.tlt1", // Ride: Restroom - "rct2.atm1", // Ride: Cash Machine - "rct2.faid1", // Ride: First Aid Room - "rct2.infok", // Ride: Information Kiosk - "rct2.drnks", // Ride: Drinks Stall - "rct2.cndyf", // Ride: Candyfloss Stall - "rct2.burgb", // Ride: Burger Bar - "rct2.balln", // Ride: Balloon Stall - "rct2.arrt1", // Ride: Corkscrew Roller Coaster - "rct2.rboat", // Ride: Rowing Boats - "rct2.pkent1", // Park Entrance: Traditional Park Entrance - "rct2.wtrcyan", // Water: Natural Water + "rct2.scenery_group.scgtrees", // Scenery: Trees + "rct2.scenery_group.scgshrub", // Scenery: Shrubs and Ornaments + "rct2.scenery_group.scggardn", // Scenery: Gardens + "rct2.scenery_group.scgfence", // Scenery: Fences and Walls + "rct2.scenery_group.scgwalls", // Scenery: Walls and Roofs + "rct2.scenery_group.scgpathx", // Scenery: Signs and Items for Footpaths + "rct2.ride.twist1", // Ride: Twist + "rct2.ride.ptct1", // Ride: Wooden Roller Coaster (Wooden Roller Coaster Trains) + "rct2.ride.zldb", // Ride: Junior Roller Coaster (Ladybird Trains) + "rct2.ride.lfb1", // Ride: Log Flume + "rct2.ride.vcr", // Ride: Vintage Cars + "rct2.ride.mgr1", // Ride: Merry-Go-Round + "rct2.ride.tlt1", // Ride: Restroom + "rct2.ride.atm1", // Ride: Cash Machine + "rct2.ride.faid1", // Ride: First Aid Room + "rct2.ride.infok", // Ride: Information Kiosk + "rct2.ride.drnks", // Ride: Drinks Stall + "rct2.ride.cndyf", // Ride: Candyfloss Stall + "rct2.ride.burgb", // Ride: Burger Bar + "rct2.ride.balln", // Ride: Balloon Stall + "rct2.ride.arrt1", // Ride: Corkscrew Roller Coaster + "rct2.ride.rboat", // Ride: Rowing Boats + "rct2.park_entrance.pkent1", // Park Entrance: Traditional Park Entrance + "rct2.water.wtrcyan", // Water: Natural Water // The following are for all random map generation features to work out the box - "rct2.scgjungl", // Jungle Theming - "rct2.scgsnow", // Snow and Ice Theming - "rct2.scgwater", // Water Feature Theming + "rct2.scenery_group.scgjungl", // Jungle Theming + "rct2.scenery_group.scgsnow", // Snow and Ice Theming + "rct2.scenery_group.scgwater", // Water Feature Theming // Surfaces - "rct2.surface.grass", - "rct2.surface.sand", - "rct2.surface.dirt", - "rct2.surface.rock", - "rct2.surface.martian", - "rct2.surface.chequerboard", - "rct2.surface.grassclumps", - "rct2.surface.ice", - "rct2.surface.gridred", - "rct2.surface.gridyellow", - "rct2.surface.gridpurple", - "rct2.surface.gridgreen", - "rct2.surface.sandred", - "rct2.surface.sandbrown", + "rct2.terrain_surface.grass", + "rct2.terrain_surface.sand", + "rct2.terrain_surface.dirt", + "rct2.terrain_surface.rock", + "rct2.terrain_surface.martian", + "rct2.terrain_surface.chequerboard", + "rct2.terrain_surface.grass_clumps", + "rct2.terrain_surface.ice", + "rct2.terrain_surface.grid_red", + "rct2.terrain_surface.grid_yellow", + "rct2.terrain_surface.grid_purple", + "rct2.terrain_surface.grid_green", + "rct2.terrain_surface.sand_red", + "rct2.terrain_surface.sand_brown", // Edges - "rct2.edge.rock", - "rct2.edge.woodred", - "rct2.edge.woodblack", - "rct2.edge.ice", + "rct2.terrain_edge.rock", + "rct2.terrain_edge.wood_red", + "rct2.terrain_edge.wood_black", + "rct2.terrain_edge.ice", // Stations "rct2.station.plain", "rct2.station.wooden", - "rct2.station.canvastent", - "rct2.station.castlegrey", - "rct2.station.castlebrown", + "rct2.station.canvas_tent", + "rct2.station.castle_grey", + "rct2.station.castle_brown", "rct2.station.jungle", "rct2.station.log", "rct2.station.classical", @@ -116,47 +115,65 @@ const std::string_view DefaultSelectedObjects[] = { "rct2.music.candy", // Footpath surfaces - "rct2.pathsurface.tarmac.brown", - "rct2.pathsurface.space", - "rct2.pathsurface.dirt", - "rct2.pathsurface.crazy", - "rct2.pathsurface.ash", - "rct2.pathsurface.queue.blue", - "rct2.pathsurface.queue.green", - "rct2.pathsurface.queue.red", - "rct2.pathsurface.queue.yellow", + "rct2.footpath_surface.tarmac", + "rct2.footpath_surface.tarmac_brown", + "rct2.footpath_surface.tarmac_red", + "rct2.footpath_surface.dirt", + "rct2.footpath_surface.crazy_paving", + "rct2.footpath_surface.ash", + "rct2.footpath_surface.queue_blue", + "rct2.footpath_surface.queue_green", + "rct2.footpath_surface.queue_red", + "rct2.footpath_surface.queue_yellow", // Footpath railings - "rct2.railings.bambooblack", - "rct2.railings.bamboobrown", - "rct2.railings.concrete", - "rct2.railings.concretegreen", - "rct2.railings.space", - "rct2.railings.wood" + "rct2.footpath_railings.bamboo_black", + "rct2.footpath_railings.bamboo_brown", + "rct2.footpath_railings.concrete", + "rct2.footpath_railings.concrete_green", + "rct2.footpath_railings.space", + "rct2.footpath_railings.wood", }; const std::string_view DesignerSelectedObjects[] = { // An initial default selection + all standard footpaths + all standard stations - "rct2.scgtrees", // Scenery: Trees - "rct2.scgshrub", // Scenery: Shrubs and Ornaments - "rct2.scggardn", // Scenery: Gardens - "rct2.scgfence", // Scenery: Fences and Walls - "rct2.scgwalls", // Scenery: Walls and Roofs - "rct2.scgpathx", // Scenery: Signs and Items for Footpaths - "rct2.wtrcyan", // Water: Natural Water - "rct2.pkent1", // Park Entrance: Traditional Park Entrance - "rct2.tarmac", // Footpath: Tarmac - "rct2.tarmacg", // Footpath: Green Tarmac Footpath - "rct2.tarmacb", // Footpath: Brown Tarmac Footpath - "rct2.pathspce", // Footpath: Space Style Footpath - "rct2.pathcrzy", // Footpath: Crazy Paving Footpath - "rct2.pathdirt", // Footpath: Dirt Footpath - "rct2.pathash", // Footpath: Ash Footpath + "rct2.scenery_group.scgtrees", // Scenery: Trees + "rct2.scenery_group.scgshrub", // Scenery: Shrubs and Ornaments + "rct2.scenery_group.scggardn", // Scenery: Gardens + "rct2.scenery_group.scgfence", // Scenery: Fences and Walls + "rct2.scenery_group.scgwalls", // Scenery: Walls and Roofs + "rct2.scenery_group.scgpathx", // Scenery: Signs and Items for Footpaths + "rct2.water.wtrcyan", // Water: Natural Water + "rct2.park_entrance.pkent1", // Park Entrance: Traditional Park Entrance + "rct2.terrain_surface.grass", + "rct2.terrain_edge.rock", + + // Footpath surfaces + "rct2.footpath_surface.tarmac", + "rct2.footpath_surface.tarmac_brown", + "rct2.footpath_surface.tarmac_red", + "rct2.footpath_surface.dirt", + "rct2.footpath_surface.crazy_paving", + "rct2.footpath_surface.ash", + "rct2.footpath_surface.queue_blue", + "rct2.footpath_surface.queue_green", + "rct2.footpath_surface.queue_red", + "rct2.footpath_surface.queue_yellow", + + // Footpath railings + "rct2.footpath_railings.bamboo_black", + "rct2.footpath_railings.bamboo_brown", + "rct2.footpath_railings.concrete", + "rct2.footpath_railings.concrete_green", + "rct2.footpath_railings.space", + "rct2.footpath_railings.wood", + + // Stations "rct2.station.plain", "rct2.station.wooden", - "rct2.station.canvastent", - "rct2.station.castlegrey", - "rct2.station.castlebrown", + "rct2.station.canvas_tent", + "rct2.station.castle_grey", + "rct2.station.castle_brown", "rct2.station.jungle", "rct2.station.log", "rct2.station.classical", diff --git a/src/openrct2/object/DefaultObjects.h b/src/openrct2/object/DefaultObjects.h index b4b2a0223d..38fc914e6b 100644 --- a/src/openrct2/object/DefaultObjects.h +++ b/src/openrct2/object/DefaultObjects.h @@ -13,4 +13,4 @@ extern const std::string_view MinimumRequiredObjects[2]; extern const std::string_view DefaultSelectedObjects[103]; -extern const std::string_view DesignerSelectedObjects[27]; +extern const std::string_view DesignerSelectedObjects[38]; diff --git a/src/openrct2/object/Object.cpp b/src/openrct2/object/Object.cpp index a7aaa77096..1752b84c07 100644 --- a/src/openrct2/object/Object.cpp +++ b/src/openrct2/object/Object.cpp @@ -159,12 +159,12 @@ std::string Object::GetString(int32_t language, ObjectStringID index) const ObjectEntryDescriptor Object::GetScgWallsHeader() const { - return ObjectEntryDescriptor("rct2.scgwalls"); + return ObjectEntryDescriptor("rct2.scenery_group.scgwalls"); } ObjectEntryDescriptor Object::GetScgPathXHeader() const { - return ObjectEntryDescriptor("rct2.scgpathx"); + return ObjectEntryDescriptor("rct2.scenery_group.scgpathx"); } rct_object_entry Object::CreateHeader(const char name[DAT_NAME_LENGTH + 1], uint32_t flags, uint32_t checksum) diff --git a/src/openrct2/object/SmallSceneryObject.cpp b/src/openrct2/object/SmallSceneryObject.cpp index 8ef813df5f..897d5bab69 100644 --- a/src/openrct2/object/SmallSceneryObject.cpp +++ b/src/openrct2/object/SmallSceneryObject.cpp @@ -210,17 +210,17 @@ void SmallSceneryObject::PerformFixes() ObjectEntryDescriptor SmallSceneryObject::GetScgPiratHeader() const { - return ObjectEntryDescriptor("rct2.scgpirat"); + return ObjectEntryDescriptor("rct2.scenery_group.scgpirat"); } ObjectEntryDescriptor SmallSceneryObject::GetScgMineHeader() const { - return ObjectEntryDescriptor("rct2.scgpirat"); + return ObjectEntryDescriptor("rct2.scenery_group.scgpirat"); } ObjectEntryDescriptor SmallSceneryObject::GetScgAbstrHeader() const { - return ObjectEntryDescriptor("rct2.scgabstr"); + return ObjectEntryDescriptor("rct2.scenery_group.scgabstr"); } void SmallSceneryObject::ReadJson(IReadObjectContext* context, json_t& root) diff --git a/src/openrct2/rct1/S4Importer.cpp b/src/openrct2/rct1/S4Importer.cpp index 8d85ec22bf..356b4e5fe4 100644 --- a/src/openrct2/rct1/S4Importer.cpp +++ b/src/openrct2/rct1/S4Importer.cpp @@ -407,39 +407,42 @@ private: { // Add default scenery groups _sceneryGroupEntries.AddRange({ - "rct2.scgtrees", - "rct2.scgshrub", - "rct2.scggardn", - "rct2.scgfence", - "rct2.scgwalls", - "rct2.scgpathx", + "rct2.scenery_group.scgtrees", + "rct2.scenery_group.scgshrub", + "rct2.scenery_group.scggardn", + "rct2.scenery_group.scgfence", + "rct2.scenery_group.scgwalls", + "rct2.scenery_group.scgpathx", }); // Add default footpaths _footpathSurfaceEntries.AddRange( - { "rct1.pathsurface.tarmac", "rct1.pathsurface.dirt", "rct1.pathsurface.crazy", "rct1.pathsurface.tile.brown", - "rct1.aa.pathsurface.ash", "rct1.aa.pathsurface.tarmac.green", "rct1.aa.pathsurface.tarmac.brown", - "rct1.aa.pathsurface.tile.grey", "rct1.aa.pathsurface.space", "rct1.ll.pathsurface.tile.green", - "rct1.ll.pathsurface.tile.red", "rct1.pathsurface.queue.blue", "rct1.aa.pathsurface.queue.red", - "rct1.aa.pathsurface.queue.yellow", "rct1.aa.pathsurface.queue.green" }); + { "rct1.footpath_surface.tarmac", "rct1.footpath_surface.dirt", "rct1.footpath_surface.crazy_paving", + "rct1.footpath_surface.tiles_brown", "rct1aa.footpath_surface.ash", "rct1aa.footpath_surface.tarmac_green", + "rct1aa.footpath_surface.tarmac_brown", "rct1aa.footpath_surface.tiles_grey", + "rct1aa.footpath_surface.tarmac_red", "rct1ll.footpath_surface.tiles_green", "rct1ll.footpath_surface.tiles_red", + "rct1.footpath_surface.queue_blue", "rct1aa.footpath_surface.queue_red", "rct1aa.footpath_surface.queue_yellow", + "rct1aa.footpath_surface.queue_green" }); - _footpathRailingsEntries.AddRange( - { "rct2.railings.wood", "rct1.ll.railings.space", "rct1.ll.railings.bamboo", "rct2.railings.concrete" }); + _footpathRailingsEntries.AddRange({ "rct2.footpath_railings.wood", "rct1ll.footpath_railings.space", + "rct1ll.footpath_railings.bamboo", "rct2.footpath_railings.concrete" }); // Add default surfaces - _terrainSurfaceEntries.AddRange({ "rct2.surface.grass", "rct2.surface.sand", "rct2.surface.dirt", "rct2.surface.rock", - "rct2.surface.martian", "rct2.surface.chequerboard", "rct2.surface.grassclumps", - "rct2.surface.ice", "rct2.surface.gridred", "rct2.surface.gridyellow", - "rct2.surface.gridpurple", "rct2.surface.gridgreen", "rct2.surface.sandred", - "rct2.surface.sandbrown", "rct1.aa.surface.roofred", "rct1.ll.surface.roofgrey", - "rct1.ll.surface.rust", "rct1.ll.surface.wood" }); + _terrainSurfaceEntries.AddRange( + { "rct2.terrain_surface.grass", "rct2.terrain_surface.sand", "rct2.terrain_surface.dirt", + "rct2.terrain_surface.rock", "rct2.terrain_surface.martian", "rct2.terrain_surface.chequerboard", + "rct2.terrain_surface.grass_clumps", "rct2.terrain_surface.ice", "rct2.terrain_surface.grid_red", + "rct2.terrain_surface.grid_yellow", "rct2.terrain_surface.grid_purple", "rct2.terrain_surface.grid_green", + "rct2.terrain_surface.sand_red", "rct2.terrain_surface.sand_brown", "rct1aa.terrain_surface.roof_red", + "rct1ll.terrain_surface.roof_grey", "rct1ll.terrain_surface.rust", "rct1ll.terrain_surface.wood" }); // Add default edges - _terrainEdgeEntries.AddRange({ "rct2.edge.rock", "rct2.edge.woodred", "rct2.edge.woodblack", "rct2.edge.ice", - "rct1.edge.brick", "rct1.edge.iron", "rct1.aa.edge.grey", "rct1.aa.edge.yellow", - "rct1.aa.edge.red", "rct1.ll.edge.purple", "rct1.ll.edge.green", - "rct1.ll.edge.stonebrown", "rct1.ll.edge.stonegrey", "rct1.ll.edge.skyscrapera", - "rct1.ll.edge.skyscraperb" }); + _terrainEdgeEntries.AddRange({ "rct2.terrain_edge.rock", "rct2.terrain_edge.wood_red", "rct2.terrain_edge.wood_black", + "rct2.terrain_edge.ice", "rct1.terrain_edge.brick", "rct1.terrain_edge.iron", + "rct1aa.terrain_edge.grey", "rct1aa.terrain_edge.yellow", "rct1aa.terrain_edge.red", + "rct1ll.terrain_edge.purple", "rct1ll.terrain_edge.green", + "rct1ll.terrain_edge.stone_brown", "rct1ll.terrain_edge.stone_grey", + "rct1ll.terrain_edge.skyscraper_a", "rct1ll.terrain_edge.skyscraper_b" }); } void AddAvailableEntriesFromResearchList() @@ -599,6 +602,10 @@ private: break; } } + else + { + log_error("Cannot find object %s", objectName); + } } } } @@ -1483,17 +1490,17 @@ private: AppendRequiredObjects( result, ObjectType::Banners, std::vector({ - "rct2.bn1", - "rct2.bn2", - "rct2.bn3", - "rct2.bn4", - "rct2.bn5", - "rct2.bn6", - "rct2.bn7", - "rct2.bn8", - "rct2.bn9", + "rct2.footpath_banner.bn1", + "rct2.footpath_banner.bn2", + "rct2.footpath_banner.bn3", + "rct2.footpath_banner.bn4", + "rct2.footpath_banner.bn5", + "rct2.footpath_banner.bn6", + "rct2.footpath_banner.bn7", + "rct2.footpath_banner.bn8", + "rct2.footpath_banner.bn9", })); - AppendRequiredObjects(result, ObjectType::ParkEntrance, std::vector({ "rct2.pkent1" })); + AppendRequiredObjects(result, ObjectType::ParkEntrance, std::vector({ "rct2.park_entrance.pkent1" })); AppendRequiredObjects(result, ObjectType::Water, _waterEntry); AppendRequiredObjects(result, ObjectType::TerrainSurface, _terrainSurfaceEntries); AppendRequiredObjects(result, ObjectType::TerrainEdge, _terrainEdgeEntries); diff --git a/src/openrct2/rct1/Tables.cpp b/src/openrct2/rct1/Tables.cpp index 00eb2d5e7d..aadc509ac7 100644 --- a/src/openrct2/rct1/Tables.cpp +++ b/src/openrct2/rct1/Tables.cpp @@ -120,22 +120,22 @@ namespace RCT1 { static constexpr std::string_view map[RCT1_NUM_TERRAIN_SURFACES] = { - "rct2.surface.grass", - "rct2.surface.sand", - "rct2.surface.dirt", - "rct2.surface.rock", - "rct2.surface.martian", - "rct2.surface.chequerboard", - "rct2.surface.grassclumps", - "rct1.aa.surface.roofred", - "rct2.surface.ice", - "rct1.ll.surface.wood", - "rct1.ll.surface.rust", - "rct1.ll.surface.roofgrey", - "rct2.surface.gridred", - "rct2.surface.gridyellow", - "rct2.surface.gridpurple", - "rct2.surface.gridgreen", + "rct2.terrain_surface.grass", + "rct2.terrain_surface.sand", + "rct2.terrain_surface.dirt", + "rct2.terrain_surface.rock", + "rct2.terrain_surface.martian", + "rct2.terrain_surface.chequerboard", + "rct2.terrain_surface.grass_clumps", + "rct1aa.terrain_surface.roof_red", + "rct2.terrain_surface.ice", + "rct1ll.terrain_surface.wood", + "rct1ll.terrain_surface.rust", + "rct1ll.terrain_surface.roof_grey", + "rct2.terrain_surface.grid_red", + "rct2.terrain_surface.grid_yellow", + "rct2.terrain_surface.grid_purple", + "rct2.terrain_surface.grid_green", }; return terrainSurface < std::size(map) ? map[terrainSurface] : map[0]; } @@ -144,21 +144,21 @@ namespace RCT1 { static constexpr std::string_view map[RCT1_NUM_TERRAIN_EDGES] = { - "rct2.edge.rock", - "rct1.edge.brick", - "rct1.edge.iron", - "rct2.edge.woodred", - "rct1.aa.edge.grey", - "rct1.aa.edge.yellow", - "rct2.edge.woodblack", - "rct1.aa.edge.red", - "rct2.edge.ice", - "rct1.ll.edge.purple", - "rct1.ll.edge.green", - "rct1.ll.edge.stonebrown", - "rct1.ll.edge.stonegrey", - "rct1.ll.edge.skyscrapera", - "rct1.ll.edge.skyscraperb", + "rct2.terrain_edge.rock", + "rct1.terrain_edge.brick", + "rct1.terrain_edge.iron", + "rct2.terrain_edge.wood_red", + "rct1aa.terrain_edge.grey", + "rct1aa.terrain_edge.yellow", + "rct2.terrain_edge.wood_black", + "rct1aa.terrain_edge.red", + "rct2.terrain_edge.ice", + "rct1ll.terrain_edge.purple", + "rct1ll.terrain_edge.green", + "rct1ll.terrain_edge.stone_brown", + "rct1ll.terrain_edge.stone_grey", + "rct1ll.terrain_edge.skyscraper_a", + "rct1ll.terrain_edge.skyscraper_b", }; return terrainEdge < std::size(map) ? map[terrainEdge] : map[0]; } @@ -688,91 +688,91 @@ namespace RCT1 { static constexpr const char * map[] = { - "rct2.ptct1", // RCT1_RIDE_TYPE_WOODEN_ROLLER_COASTER - "rct2.togst", // RCT1_RIDE_TYPE_STAND_UP_STEEL_ROLLER_COASTER - "rct2.arrsw1", // RCT1_RIDE_TYPE_SUSPENDED_ROLLER_COASTER - "rct2.nemt", // RCT1_RIDE_TYPE_INVERTED_ROLLER_COASTER - "rct2.zldb", // RCT1_RIDE_TYPE_STEEL_MINI_ROLLER_COASTER - "rct2.nrl", // RCT1_RIDE_TYPE_MINIATURE_RAILWAY - "rct2.mono2", // RCT1_RIDE_TYPE_MONORAIL - "rct2.batfl", // RCT1_RIDE_TYPE_SUSPENDED_SINGLE_RAIL_ROLLER_COASTER - "rct2.rboat", // RCT1_RIDE_TYPE_BOAT_HIRE - "rct2.wmouse", // RCT1_RIDE_TYPE_WOODEN_CRAZY_RODENT_ROLLER_COASTER - "rct2.steep1", // RCT1_RIDE_TYPE_SINGLE_RAIL_ROLLER_COASTER - "rct2.spcar", // RCT1_RIDE_TYPE_CAR_RIDE - "rct2.ssc1", // RCT1_RIDE_TYPE_LAUNCHED_FREEFALL - "rct2.bob1", // RCT1_RIDE_TYPE_BOBSLED_ROLLER_COASTER - "rct2.obs1", // RCT1_RIDE_TYPE_OBSERVATION_TOWER - "rct2.scht1", // RCT1_RIDE_TYPE_STEEL_ROLLER_COASTER - "rct2.ding1", // RCT1_RIDE_TYPE_WATER_SLIDE - "rct2.amt1", // RCT1_RIDE_TYPE_MINE_TRAIN_ROLLER_COASTER - "rct2.clift1", // RCT1_RIDE_TYPE_CHAIRLIFT - "rct2.arrt1", // RCT1_RIDE_TYPE_STEEL_CORKSCREW_ROLLER_COASTER - "rct2.hmaze", // RCT1_RIDE_TYPE_HEDGE_MAZE - "rct2.hskelt", // RCT1_RIDE_TYPE_SPIRAL_SLIDE - "rct2.kart1", // RCT1_RIDE_TYPE_GO_KARTS - "rct2.lfb1", // RCT1_RIDE_TYPE_LOG_FLUME - "rct2.rapboat", // RCT1_RIDE_TYPE_RIVER_RAPIDS - "rct2.dodg1", // RCT1_RIDE_TYPE_DODGEMS - "rct2.swsh1", // RCT1_RIDE_TYPE_SWINGING_SHIP - "rct2.swsh2", // RCT1_RIDE_TYPE_SWINGING_INVERTER_SHIP - "rct2.icecr1", // RCT1_RIDE_TYPE_ICE_CREAM_STALL - "rct2.chpsh", // RCT1_RIDE_TYPE_CHIPS_STALL - "rct2.drnks", // RCT1_RIDE_TYPE_DRINK_STALL - "rct2.cndyf", // RCT1_RIDE_TYPE_CANDYFLOSS_STALL - "rct2.burgb", // RCT1_RIDE_TYPE_BURGER_BAR - "rct2.mgr1", // RCT1_RIDE_TYPE_MERRY_GO_ROUND - "rct2.balln", // RCT1_RIDE_TYPE_BALLOON_STALL - "rct2.infok", // RCT1_RIDE_TYPE_INFORMATION_KIOSK + "rct2.ride.ptct1", // RCT1_RIDE_TYPE_WOODEN_ROLLER_COASTER + "rct2.ride.togst", // RCT1_RIDE_TYPE_STAND_UP_STEEL_ROLLER_COASTER + "rct2.ride.arrsw1", // RCT1_RIDE_TYPE_SUSPENDED_ROLLER_COASTER + "rct2.ride.nemt", // RCT1_RIDE_TYPE_INVERTED_ROLLER_COASTER + "rct2.ride.zldb", // RCT1_RIDE_TYPE_STEEL_MINI_ROLLER_COASTER + "rct2.ride.nrl", // RCT1_RIDE_TYPE_MINIATURE_RAILWAY + "rct2.ride.mono2", // RCT1_RIDE_TYPE_MONORAIL + "rct2.ride.batfl", // RCT1_RIDE_TYPE_SUSPENDED_SINGLE_RAIL_ROLLER_COASTER + "rct2.ride.rboat", // RCT1_RIDE_TYPE_BOAT_HIRE + "rct2.ride.wmouse", // RCT1_RIDE_TYPE_WOODEN_CRAZY_RODENT_ROLLER_COASTER + "rct2.ride.steep1", // RCT1_RIDE_TYPE_SINGLE_RAIL_ROLLER_COASTER + "rct2.ride.spcar", // RCT1_RIDE_TYPE_CAR_RIDE + "rct2.ride.ssc1", // RCT1_RIDE_TYPE_LAUNCHED_FREEFALL + "rct2.ride.bob1", // RCT1_RIDE_TYPE_BOBSLED_ROLLER_COASTER + "rct2.ride.obs1", // RCT1_RIDE_TYPE_OBSERVATION_TOWER + "rct2.ride.scht1", // RCT1_RIDE_TYPE_STEEL_ROLLER_COASTER + "rct2.ride.ding1", // RCT1_RIDE_TYPE_WATER_SLIDE + "rct2.ride.amt1", // RCT1_RIDE_TYPE_MINE_TRAIN_ROLLER_COASTER + "rct2.ride.clift1", // RCT1_RIDE_TYPE_CHAIRLIFT + "rct2.ride.arrt1", // RCT1_RIDE_TYPE_STEEL_CORKSCREW_ROLLER_COASTER + "rct2.ride.hmaze", // RCT1_RIDE_TYPE_HEDGE_MAZE + "rct2.ride.hskelt", // RCT1_RIDE_TYPE_SPIRAL_SLIDE + "rct2.ride.kart1", // RCT1_RIDE_TYPE_GO_KARTS + "rct2.ride.lfb1", // RCT1_RIDE_TYPE_LOG_FLUME + "rct2.ride.rapboat", // RCT1_RIDE_TYPE_RIVER_RAPIDS + "rct2.ride.dodg1", // RCT1_RIDE_TYPE_DODGEMS + "rct2.ride.swsh1", // RCT1_RIDE_TYPE_SWINGING_SHIP + "rct2.ride.swsh2", // RCT1_RIDE_TYPE_SWINGING_INVERTER_SHIP + "rct2.ride.icecr1", // RCT1_RIDE_TYPE_ICE_CREAM_STALL + "rct2.ride.chpsh", // RCT1_RIDE_TYPE_CHIPS_STALL + "rct2.ride.drnks", // RCT1_RIDE_TYPE_DRINK_STALL + "rct2.ride.cndyf", // RCT1_RIDE_TYPE_CANDYFLOSS_STALL + "rct2.ride.burgb", // RCT1_RIDE_TYPE_BURGER_BAR + "rct2.ride.mgr1", // RCT1_RIDE_TYPE_MERRY_GO_ROUND + "rct2.ride.balln", // RCT1_RIDE_TYPE_BALLOON_STALL + "rct2.ride.infok", // RCT1_RIDE_TYPE_INFORMATION_KIOSK "rct1.ride.toilets", // RCT1_RIDE_TYPE_TOILETS - "rct2.fwh1", // RCT1_RIDE_TYPE_FERRIS_WHEEL - "rct2.simpod", // RCT1_RIDE_TYPE_MOTION_SIMULATOR - "rct2.c3d", // RCT1_RIDE_TYPE_3D_CINEMA - "rct2.topsp1", // RCT1_RIDE_TYPE_TOP_SPIN - "rct2.srings", // RCT1_RIDE_TYPE_SPACE_RINGS - "rct2.revf1", // RCT1_RIDE_TYPE_REVERSE_FREEFALL_ROLLER_COASTER - "rct2.souvs", // RCT1_RIDE_TYPE_SOUVENIR_STALL - "rct2.bmvd", // RCT1_RIDE_TYPE_VERTICAL_ROLLER_COASTER - "rct2.pizzs", // RCT1_RIDE_TYPE_PIZZA_STALL - "rct2.twist1", // RCT1_RIDE_TYPE_TWIST - "rct2.hhbuild", // RCT1_RIDE_TYPE_HAUNTED_HOUSE - "rct2.popcs", // RCT1_RIDE_TYPE_POPCORN_STALL - "rct2.circus1", // RCT1_RIDE_TYPE_CIRCUS - "rct2.gtc", // RCT1_RIDE_TYPE_GHOST_TRAIN - "rct2.bmsd", // RCT1_RIDE_TYPE_STEEL_TWISTER_ROLLER_COASTER - "rct2.mft", // RCT1_RIDE_TYPE_WOODEN_TWISTER_ROLLER_COASTER - "rct2.sfric1", // RCT1_RIDE_TYPE_WOODEN_SIDE_FRICTION_ROLLER_COASTER - "rct2.smc1", // RCT1_RIDE_TYPE_STEEL_WILD_MOUSE_ROLLER_COASTER - "rct2.hotds", // RCT1_RIDE_TYPE_HOT_DOG_STALL - "rct2.sqdst", // RCT1_RIDE_TYPE_EXOTIC_SEA_FOOD_STALL - "rct2.hatst", // RCT1_RIDE_TYPE_HAT_STALL - "rct2.toffs", // RCT1_RIDE_TYPE_TOFFEE_APPLE_STALL - "rct2.vreel", // RCT1_RIDE_TYPE_VIRGINIA_REEL - "rct2.spboat", // RCT1_RIDE_TYPE_RIVER_RIDE - "rct2.monbk", // RCT1_RIDE_TYPE_CYCLE_MONORAIL - "rct2.vekst", // RCT1_RIDE_TYPE_FLYING_ROLLER_COASTER - "rct2.smono", // RCT1_RIDE_TYPE_SUSPENDED_MONORAIL + "rct2.ride.fwh1", // RCT1_RIDE_TYPE_FERRIS_WHEEL + "rct2.ride.simpod", // RCT1_RIDE_TYPE_MOTION_SIMULATOR + "rct2.ride.c3d", // RCT1_RIDE_TYPE_3D_CINEMA + "rct2.ride.topsp1", // RCT1_RIDE_TYPE_TOP_SPIN + "rct2.ride.srings", // RCT1_RIDE_TYPE_SPACE_RINGS + "rct2.ride.revf1", // RCT1_RIDE_TYPE_REVERSE_FREEFALL_ROLLER_COASTER + "rct2.ride.souvs", // RCT1_RIDE_TYPE_SOUVENIR_STALL + "rct2.ride.bmvd", // RCT1_RIDE_TYPE_VERTICAL_ROLLER_COASTER + "rct2.ride.pizzs", // RCT1_RIDE_TYPE_PIZZA_STALL + "rct2.ride.twist1", // RCT1_RIDE_TYPE_TWIST + "rct2.ride.hhbuild", // RCT1_RIDE_TYPE_HAUNTED_HOUSE + "rct2.ride.popcs", // RCT1_RIDE_TYPE_POPCORN_STALL + "rct2.ride.circus1", // RCT1_RIDE_TYPE_CIRCUS + "rct2.ride.gtc", // RCT1_RIDE_TYPE_GHOST_TRAIN + "rct2.ride.bmsd", // RCT1_RIDE_TYPE_STEEL_TWISTER_ROLLER_COASTER + "rct2.ride.mft", // RCT1_RIDE_TYPE_WOODEN_TWISTER_ROLLER_COASTER + "rct2.ride.sfric1", // RCT1_RIDE_TYPE_WOODEN_SIDE_FRICTION_ROLLER_COASTER + "rct2.ride.smc1", // RCT1_RIDE_TYPE_STEEL_WILD_MOUSE_ROLLER_COASTER + "rct2.ride.hotds", // RCT1_RIDE_TYPE_HOT_DOG_STALL + "rct2.ride.sqdst", // RCT1_RIDE_TYPE_EXOTIC_SEA_FOOD_STALL + "rct2.ride.hatst", // RCT1_RIDE_TYPE_HAT_STALL + "rct2.ride.toffs", // RCT1_RIDE_TYPE_TOFFEE_APPLE_STALL + "rct2.ride.vreel", // RCT1_RIDE_TYPE_VIRGINIA_REEL + "rct2.ride.spboat", // RCT1_RIDE_TYPE_RIVER_RIDE + "rct2.ride.monbk", // RCT1_RIDE_TYPE_CYCLE_MONORAIL + "rct2.ride.vekst", // RCT1_RIDE_TYPE_FLYING_ROLLER_COASTER + "rct2.ride.smono", // RCT1_RIDE_TYPE_SUSPENDED_MONORAIL "", // RCT1_RIDE_TYPE_40 - "rct2.revcar", // RCT1_RIDE_TYPE_WOODEN_REVERSER_ROLLER_COASTER - "rct2.utcar", // RCT1_RIDE_TYPE_HEARTLINE_TWISTER_ROLLER_COASTER - "rct2.golf1", // RCT1_RIDE_TYPE_MINIATURE_GOLF + "rct2.ride.revcar", // RCT1_RIDE_TYPE_WOODEN_REVERSER_ROLLER_COASTER + "rct2.ride.utcar", // RCT1_RIDE_TYPE_HEARTLINE_TWISTER_ROLLER_COASTER + "rct2.ride.golf1", // RCT1_RIDE_TYPE_MINIATURE_GOLF "", // RCT1_RIDE_TYPE_44 - "rct2.gdrop1", // RCT1_RIDE_TYPE_ROTO_DROP - "rct2.fsauc", // RCT1_RIDE_TYPE_FLYING_SAUCERS - "rct2.chbuild", // RCT1_RIDE_TYPE_CROOKED_HOUSE - "rct2.helicar", // RCT1_RIDE_TYPE_CYCLE_RAILWAY - "rct2.slct", // RCT1_RIDE_TYPE_SUSPENDED_LOOPING_ROLLER_COASTER - "rct2.cstboat", // RCT1_RIDE_TYPE_WATER_COASTER - "rct2.thcar", // RCT1_RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER - "rct2.ivmc1", // RCT1_RIDE_TYPE_INVERTED_WILD_MOUSE_COASTER - "rct2.jski", // RCT1_RIDE_TYPE_JET_SKIS - "rct2.tshrt", // RCT1_RIDE_TYPE_T_SHIRT_STALL - "rct2.rftboat", // RCT1_RIDE_TYPE_RAFT_RIDE - "rct2.dough", // RCT1_RIDE_TYPE_DOUGHNUT_SHOP - "rct2.enterp", // RCT1_RIDE_TYPE_ENTERPRISE - "rct2.coffs", // RCT1_RIDE_TYPE_COFFEE_SHOP - "rct2.chcks", // RCT1_RIDE_TYPE_FRIED_CHICKEN_STALL - "rct2.lemst", // RCT1_RIDE_TYPE_LEMONADE_STALL + "rct2.ride.gdrop1", // RCT1_RIDE_TYPE_ROTO_DROP + "rct2.ride.fsauc", // RCT1_RIDE_TYPE_FLYING_SAUCERS + "rct2.ride.chbuild", // RCT1_RIDE_TYPE_CROOKED_HOUSE + "rct2.ride.helicar", // RCT1_RIDE_TYPE_CYCLE_RAILWAY + "rct2.ride.slct", // RCT1_RIDE_TYPE_SUSPENDED_LOOPING_ROLLER_COASTER + "rct2.ride.cstboat", // RCT1_RIDE_TYPE_WATER_COASTER + "rct2.ride.thcar", // RCT1_RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER + "rct2.ride.ivmc1", // RCT1_RIDE_TYPE_INVERTED_WILD_MOUSE_COASTER + "rct2.ride.jski", // RCT1_RIDE_TYPE_JET_SKIS + "rct2.ride.tshrt", // RCT1_RIDE_TYPE_T_SHIRT_STALL + "rct2.ride.rftboat", // RCT1_RIDE_TYPE_RAFT_RIDE + "rct2.ride.dough", // RCT1_RIDE_TYPE_DOUGHNUT_SHOP + "rct2.ride.enterp", // RCT1_RIDE_TYPE_ENTERPRISE + "rct2.ride.coffs", // RCT1_RIDE_TYPE_COFFEE_SHOP + "rct2.ride.chcks", // RCT1_RIDE_TYPE_FRIED_CHICKEN_STALL + "rct2.ride.lemst", // RCT1_RIDE_TYPE_LEMONADE_STALL }; Guard::ArgumentInRange(rideType, 0, std::size(map), "Unsupported RCT1 ride type."); @@ -783,95 +783,95 @@ namespace RCT1 { static constexpr const char * map[] = { - "rct2.scht1", // RCT1_VEHICLE_TYPE_STEEL_ROLLER_COASTER_TRAIN - "rct2.scht1", // RCT1_VEHICLE_TYPE_STEEL_ROLLER_COASTER_TRAIN_BACKWARDS - "rct2.ptct1", // RCT1_VEHICLE_TYPE_WOODEN_ROLLER_COASTER_TRAIN - "rct2.slct", // RCT1_VEHICLE_TYPE_INVERTED_COASTER_TRAIN (Not in RCT2) - "rct2.arrsw1", // RCT1_VEHICLE_TYPE_SUSPENDED_SWINGING_CARS - "rct2.zldb", // RCT1_VEHICLE_TYPE_LADYBIRD_CARS - "rct2.togst", // RCT1_VEHICLE_TYPE_STANDUP_ROLLER_COASTER_CARS - "rct2.wmspin", // RCT1_VEHICLE_TYPE_SPINNING_CARS - "rct2.batfl", // RCT1_VEHICLE_TYPE_SINGLE_PERSON_SWINGING_CHAIRS - "rct2.swans", // RCT1_VEHICLE_TYPE_SWANS_PEDAL_BOATS - "rct2.mono1", // RCT1_VEHICLE_TYPE_LARGE_MONORAIL_TRAIN - "rct2.cboat", // RCT1_VEHICLE_TYPE_CANOES - "rct2.rboat", // RCT1_VEHICLE_TYPE_ROWING_BOATS - "rct2.nrl", // RCT1_VEHICLE_TYPE_STEAM_TRAIN - "rct2.wmouse", // RCT1_VEHICLE_TYPE_WOODEN_MOUSE_CARS - "rct2.bboat", // RCT1_VEHICLE_TYPE_BUMPER_BOATS - "rct2.ptct1", // RCT1_VEHICLE_TYPE_WOODEN_ROLLER_COASTER_TRAIN_BACKWARDS - "rct2.rckc", // RCT1_VEHICLE_TYPE_ROCKET_CARS - "rct2.steep1", // RCT1_VEHICLE_TYPE_HORSES // Steeplechase - "rct2.spcar", // RCT1_VEHICLE_TYPE_SPORTSCARS - "rct2.skytr", // RCT1_VEHICLE_TYPE_LYING_DOWN_SWINGING_CARS (Inverted single-rail) - "rct2.wmmine", // RCT1_VEHICLE_TYPE_WOODEN_MINE_CARS - "rct2.arrsw2", // RCT1_VEHICLE_TYPE_SUSPENDED_SWINGING_AIRPLANE_CARS - "rct2.mono2", // RCT1_VEHICLE_TYPE_SMALL_MONORAIL_CARS - "rct2.trike", // RCT1_VEHICLE_TYPE_WATER_TRICYCLES - "rct2.ssc1", // RCT1_VEHICLE_TYPE_LAUNCHED_FREEFALL_CAR - "rct2.bob1", // RCT1_VEHICLE_TYPE_BOBSLEIGH_CARS - "rct2.ding1", // RCT1_VEHICLE_TYPE_DINGHIES - "rct2.obs1", // RCT1_VEHICLE_TYPE_ROTATING_CABIN - "rct2.amt1", // RCT1_VEHICLE_TYPE_MINE_TRAIN - "rct2.clift1", // RCT1_VEHICLE_TYPE_CHAIRLIFT_CARS - "rct2.arrt1", // RCT1_VEHICLE_TYPE_CORKSCREW_ROLLER_COASTER_TRAIN - "rct2.steep2", // RCT1_VEHICLE_TYPE_MOTORBIKES - "rct2.rcr", // RCT1_VEHICLE_TYPE_RACING_CARS - "rct2.truck1", // RCT1_VEHICLE_TYPE_TRUCKS - "rct2.kart1", // RCT1_VEHICLE_TYPE_GO_KARTS - "rct2.rapboat", // RCT1_VEHICLE_TYPE_RAPIDS_BOATS - "rct2.lfb1", // RCT1_VEHICLE_TYPE_LOG_FLUME_BOATS - "rct2.dodg1", // RCT1_VEHICLE_TYPE_DODGEMS - "rct2.swsh1", // RCT1_VEHICLE_TYPE_SWINGING_SHIP - "rct2.swsh2", // RCT1_VEHICLE_TYPE_SWINGING_INVERTER_SHIP - "rct2.mgr1", // RCT1_VEHICLE_TYPE_MERRY_GO_ROUND - "rct2.fwh1", // RCT1_VEHICLE_TYPE_FERRIS_WHEEL - "rct2.simpod", // RCT1_VEHICLE_TYPE_SIMULATOR_POD - "rct2.c3d", // RCT1_VEHICLE_TYPE_CINEMA_BUILDING - "rct2.topsp1", // RCT1_VEHICLE_TYPE_TOPSPIN_CAR - "rct2.srings", // RCT1_VEHICLE_TYPE_SPACE_RINGS - "rct2.revf1", // RCT1_VEHICLE_TYPE_REVERSE_FREEFALL_ROLLER_COASTER_CAR - "rct2.bmvd", // RCT1_VEHICLE_TYPE_VERTICAL_ROLLER_COASTER_CARS - "rct2.ctcar", // RCT1_VEHICLE_TYPE_CAT_CARS - "rct2.twist1", // RCT1_VEHICLE_TYPE_TWIST_ARMS_AND_CARS - "rct2.hhbuild", // RCT1_VEHICLE_TYPE_HAUNTED_HOUSE_BUILDING - "rct2.zlog", // RCT1_VEHICLE_TYPE_LOG_CARS - "rct2.circus1", // RCT1_VEHICLE_TYPE_CIRCUS_TENT - "rct2.gtc", // RCT1_VEHICLE_TYPE_GHOST_TRAIN_CARS - "rct2.bmsd", // RCT1_VEHICLE_TYPE_STEEL_TWISTER_ROLLER_COASTER_TRAIN - "rct2.mft", // RCT1_VEHICLE_TYPE_WOODEN_TWISTER_ROLLER_COASTER_TRAIN - "rct2.sfric1", // RCT1_VEHICLE_TYPE_WOODEN_SIDE_FRICTION_CARS - "rct2.vcr", // RCT1_VEHICLE_TYPE_VINTAGE_CARS - "rct2.nrl2", // RCT1_VEHICLE_TYPE_STEAM_TRAIN_COVERED_CARS - "rct2.bmsu", // RCT1_VEHICLE_TYPE_STAND_UP_STEEL_TWISTER_ROLLER_COASTER_TRAIN - "rct2.bmfl", // RCT1_VEHICLE_TYPE_FLOORLESS_STEEL_TWISTER_ROLLER_COASTER_TRAIN - "rct2.smc1", // RCT1_VEHICLE_TYPE_STEEL_MOUSE_CARS - "rct2.clift2", // RCT1_VEHICLE_TYPE_CHAIRLIFT_CARS_ALTERNATIVE - "rct2.smono", // RCT1_VEHICLE_TYPE_SUSPENDED_MONORAIL_TRAIN - "rct2.helicar", // RCT1_VEHICLE_TYPE_HELICOPTER_CARS - "rct2.vreel", // RCT1_VEHICLE_TYPE_VIRGINIA_REEL_TUBS - "rct2.revcar", // RCT1_VEHICLE_TYPE_REVERSER_CARS - "rct2.golf1", // RCT1_VEHICLE_TYPE_GOLFERS - "rct2.spboat", // RCT1_VEHICLE_TYPE_RIVER_RIDE_BOATS - "rct2.vekst", // RCT1_VEHICLE_TYPE_FLYING_ROLLER_COASTER_TRAIN - "rct2.bmrb", // RCT1_VEHICLE_TYPE_NON_LOOPING_STEEL_TWISTER_ROLLER_COASTER_TRAIN - "rct2.utcar", // RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS - "rct2.utcarr", // RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS_REVERSED - "rct2.", // RCT1_VEHICLE_TYPE_RESERVED - "rct2.gdrop1", // RCT1_VEHICLE_TYPE_ROTODROP_CAR - "rct2.fsauc", // RCT1_VEHICLE_TYPE_FLYING_SAUCERS - "rct2.chbuild", // RCT1_VEHICLE_TYPE_CROOKED_HOUSE_BUILDING - "rct2.monbk", // RCT1_VEHICLE_TYPE_BICYCLES - "rct2.arrt2", // RCT1_VEHICLE_TYPE_HYPERCOASTER_TRAIN - "rct2.nemt", // RCT1_VEHICLE_TYPE_4_ACROSS_INVERTED_COASTER_TRAIN - "rct2.cstboat", // RCT1_VEHICLE_TYPE_WATER_COASTER_BOATS - "rct2.slcfo", // RCT1_VEHICLE_TYPE_FACEOFF_CARS - "rct2.jski", // RCT1_VEHICLE_TYPE_JET_SKIS - "rct2.rftboat", // RCT1_VEHICLE_TYPE_RAFT_BOATS - "rct2.aml1", // RCT1_VEHICLE_TYPE_AMERICAN_STYLE_STEAM_TRAIN - "rct2.thcar", // RCT1_VEHICLE_TYPE_AIR_POWERED_COASTER_TRAIN - "rct2.ivmc1", // RCT1_VEHICLE_TYPE_SUSPENDED_WILD_MOUSE_CARS (Inverted Hairpin in RCT2) - "rct2.enterp", // RCT1_VEHICLE_TYPE_ENTERPRISE_WHEEL + "rct2.ride.scht1", // RCT1_VEHICLE_TYPE_STEEL_ROLLER_COASTER_TRAIN + "rct2.ride.scht1", // RCT1_VEHICLE_TYPE_STEEL_ROLLER_COASTER_TRAIN_BACKWARDS + "rct2.ride.ptct1", // RCT1_VEHICLE_TYPE_WOODEN_ROLLER_COASTER_TRAIN + "rct2.ride.slct", // RCT1_VEHICLE_TYPE_INVERTED_COASTER_TRAIN (Not in RCT2) + "rct2.ride.arrsw1", // RCT1_VEHICLE_TYPE_SUSPENDED_SWINGING_CARS + "rct2.ride.zldb", // RCT1_VEHICLE_TYPE_LADYBIRD_CARS + "rct2.ride.togst", // RCT1_VEHICLE_TYPE_STANDUP_ROLLER_COASTER_CARS + "rct2.ride.wmspin", // RCT1_VEHICLE_TYPE_SPINNING_CARS + "rct2.ride.batfl", // RCT1_VEHICLE_TYPE_SINGLE_PERSON_SWINGING_CHAIRS + "rct2.ride.swans", // RCT1_VEHICLE_TYPE_SWANS_PEDAL_BOATS + "rct2.ride.mono1", // RCT1_VEHICLE_TYPE_LARGE_MONORAIL_TRAIN + "rct2.ride.cboat", // RCT1_VEHICLE_TYPE_CANOES + "rct2.ride.rboat", // RCT1_VEHICLE_TYPE_ROWING_BOATS + "rct2.ride.nrl", // RCT1_VEHICLE_TYPE_STEAM_TRAIN + "rct2.ride.wmouse", // RCT1_VEHICLE_TYPE_WOODEN_MOUSE_CARS + "rct2.ride.bboat", // RCT1_VEHICLE_TYPE_BUMPER_BOATS + "rct2.ride.ptct1", // RCT1_VEHICLE_TYPE_WOODEN_ROLLER_COASTER_TRAIN_BACKWARDS + "rct2.ride.rckc", // RCT1_VEHICLE_TYPE_ROCKET_CARS + "rct2.ride.steep1", // RCT1_VEHICLE_TYPE_HORSES // Steeplechase + "rct2.ride.spcar", // RCT1_VEHICLE_TYPE_SPORTSCARS + "rct2.ride.skytr", // RCT1_VEHICLE_TYPE_LYING_DOWN_SWINGING_CARS (Inverted single-rail) + "rct2.ride.wmmine", // RCT1_VEHICLE_TYPE_WOODEN_MINE_CARS + "rct2.ride.arrsw2", // RCT1_VEHICLE_TYPE_SUSPENDED_SWINGING_AIRPLANE_CARS + "rct2.ride.mono2", // RCT1_VEHICLE_TYPE_SMALL_MONORAIL_CARS + "rct2.ride.trike", // RCT1_VEHICLE_TYPE_WATER_TRICYCLES + "rct2.ride.ssc1", // RCT1_VEHICLE_TYPE_LAUNCHED_FREEFALL_CAR + "rct2.ride.bob1", // RCT1_VEHICLE_TYPE_BOBSLEIGH_CARS + "rct2.ride.ding1", // RCT1_VEHICLE_TYPE_DINGHIES + "rct2.ride.obs1", // RCT1_VEHICLE_TYPE_ROTATING_CABIN + "rct2.ride.amt1", // RCT1_VEHICLE_TYPE_MINE_TRAIN + "rct2.ride.clift1", // RCT1_VEHICLE_TYPE_CHAIRLIFT_CARS + "rct2.ride.arrt1", // RCT1_VEHICLE_TYPE_CORKSCREW_ROLLER_COASTER_TRAIN + "rct2.ride.steep2", // RCT1_VEHICLE_TYPE_MOTORBIKES + "rct2.ride.rcr", // RCT1_VEHICLE_TYPE_RACING_CARS + "rct2.ride.truck1", // RCT1_VEHICLE_TYPE_TRUCKS + "rct2.ride.kart1", // RCT1_VEHICLE_TYPE_GO_KARTS + "rct2.ride.rapboat", // RCT1_VEHICLE_TYPE_RAPIDS_BOATS + "rct2.ride.lfb1", // RCT1_VEHICLE_TYPE_LOG_FLUME_BOATS + "rct2.ride.dodg1", // RCT1_VEHICLE_TYPE_DODGEMS + "rct2.ride.swsh1", // RCT1_VEHICLE_TYPE_SWINGING_SHIP + "rct2.ride.swsh2", // RCT1_VEHICLE_TYPE_SWINGING_INVERTER_SHIP + "rct2.ride.mgr1", // RCT1_VEHICLE_TYPE_MERRY_GO_ROUND + "rct2.ride.fwh1", // RCT1_VEHICLE_TYPE_FERRIS_WHEEL + "rct2.ride.simpod", // RCT1_VEHICLE_TYPE_SIMULATOR_POD + "rct2.ride.c3d", // RCT1_VEHICLE_TYPE_CINEMA_BUILDING + "rct2.ride.topsp1", // RCT1_VEHICLE_TYPE_TOPSPIN_CAR + "rct2.ride.srings", // RCT1_VEHICLE_TYPE_SPACE_RINGS + "rct2.ride.revf1", // RCT1_VEHICLE_TYPE_REVERSE_FREEFALL_ROLLER_COASTER_CAR + "rct2.ride.bmvd", // RCT1_VEHICLE_TYPE_VERTICAL_ROLLER_COASTER_CARS + "rct2.ride.ctcar", // RCT1_VEHICLE_TYPE_CAT_CARS + "rct2.ride.twist1", // RCT1_VEHICLE_TYPE_TWIST_ARMS_AND_CARS + "rct2.ride.hhbuild", // RCT1_VEHICLE_TYPE_HAUNTED_HOUSE_BUILDING + "rct2.ride.zlog", // RCT1_VEHICLE_TYPE_LOG_CARS + "rct2.ride.circus1", // RCT1_VEHICLE_TYPE_CIRCUS_TENT + "rct2.ride.gtc", // RCT1_VEHICLE_TYPE_GHOST_TRAIN_CARS + "rct2.ride.bmsd", // RCT1_VEHICLE_TYPE_STEEL_TWISTER_ROLLER_COASTER_TRAIN + "rct2.ride.mft", // RCT1_VEHICLE_TYPE_WOODEN_TWISTER_ROLLER_COASTER_TRAIN + "rct2.ride.sfric1", // RCT1_VEHICLE_TYPE_WOODEN_SIDE_FRICTION_CARS + "rct2.ride.vcr", // RCT1_VEHICLE_TYPE_VINTAGE_CARS + "rct2.ride.nrl2", // RCT1_VEHICLE_TYPE_STEAM_TRAIN_COVERED_CARS + "rct2.ride.bmsu", // RCT1_VEHICLE_TYPE_STAND_UP_STEEL_TWISTER_ROLLER_COASTER_TRAIN + "rct2.ride.bmfl", // RCT1_VEHICLE_TYPE_FLOORLESS_STEEL_TWISTER_ROLLER_COASTER_TRAIN + "rct2.ride.smc1", // RCT1_VEHICLE_TYPE_STEEL_MOUSE_CARS + "rct2.ride.clift2", // RCT1_VEHICLE_TYPE_CHAIRLIFT_CARS_ALTERNATIVE + "rct2.ride.smono", // RCT1_VEHICLE_TYPE_SUSPENDED_MONORAIL_TRAIN + "rct2.ride.helicar", // RCT1_VEHICLE_TYPE_HELICOPTER_CARS + "rct2.ride.vreel", // RCT1_VEHICLE_TYPE_VIRGINIA_REEL_TUBS + "rct2.ride.revcar", // RCT1_VEHICLE_TYPE_REVERSER_CARS + "rct2.ride.golf1", // RCT1_VEHICLE_TYPE_GOLFERS + "rct2.ride.spboat", // RCT1_VEHICLE_TYPE_RIVER_RIDE_BOATS + "rct2.ride.vekst", // RCT1_VEHICLE_TYPE_FLYING_ROLLER_COASTER_TRAIN + "rct2.ride.bmrb", // RCT1_VEHICLE_TYPE_NON_LOOPING_STEEL_TWISTER_ROLLER_COASTER_TRAIN + "rct2.ride.utcar", // RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS + "rct2.ride.utcarr", // RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS_REVERSED + "", // RCT1_VEHICLE_TYPE_RESERVED + "rct2.ride.gdrop1", // RCT1_VEHICLE_TYPE_ROTODROP_CAR + "rct2.ride.fsauc", // RCT1_VEHICLE_TYPE_FLYING_SAUCERS + "rct2.ride.chbuild", // RCT1_VEHICLE_TYPE_CROOKED_HOUSE_BUILDING + "rct2.ride.monbk", // RCT1_VEHICLE_TYPE_BICYCLES + "rct2.ride.arrt2", // RCT1_VEHICLE_TYPE_HYPERCOASTER_TRAIN + "rct2.ride.nemt", // RCT1_VEHICLE_TYPE_4_ACROSS_INVERTED_COASTER_TRAIN + "rct2.ride.cstboat", // RCT1_VEHICLE_TYPE_WATER_COASTER_BOATS + "rct2.ride.slcfo", // RCT1_VEHICLE_TYPE_FACEOFF_CARS + "rct2.ride.jski", // RCT1_VEHICLE_TYPE_JET_SKIS + "rct2.ride.rftboat", // RCT1_VEHICLE_TYPE_RAFT_BOATS + "rct2.ride.aml1", // RCT1_VEHICLE_TYPE_AMERICAN_STYLE_STEAM_TRAIN + "rct2.ride.thcar", // RCT1_VEHICLE_TYPE_AIR_POWERED_COASTER_TRAIN + "rct2.ride.ivmc1", // RCT1_VEHICLE_TYPE_SUSPENDED_WILD_MOUSE_CARS (Inverted Hairpin in RCT2) + "rct2.ride.enterp", // RCT1_VEHICLE_TYPE_ENTERPRISE_WHEEL }; Guard::ArgumentInRange(vehicleType, 0, std::size(map), "Unsupported RCT1 vehicle type."); @@ -882,250 +882,250 @@ namespace RCT1 { static constexpr const char * map[] = { - "rct2.tl0", - "rct2.tl1", - "rct2.tl2", - "rct2.tl3", - "rct2.tm0", - "rct2.tm1", - "rct2.tm2", - "rct2.tm3", - "rct2.ts0", - "rct2.ts1", - "rct2.ts2", - "rct2.ts3", - "rct2.ts4", - "rct2.ts5", - "rct2.ts6", - "rct2.tic", - "rct2.tlc", - "rct2.tmc", - "rct2.tmp", - "rct2.titc", - "rct2.tghc", - "rct2.tac", - "rct2.tghc2", - "rct2.tcj", - "rct2.tmbj", - "rct2.tcf", - "rct2.tcl", - "rct2.trf", - "rct2.trf2", - "rct2.tel", - "rct2.tap", - "rct2.tsp", - "rct2.tmzp", - "rct2.tcrp", - "rct2.tbp", - "rct2.tlp", - "rct2.twp", - "rct2.tas", - "rct2.tmg", - "rct2.tww", - "rct2.tsb", - "rct2.tvl", - "rct2.tct", - "rct2.tef", - "rct2.tal", - "rct2.tsq", - "rct2.tht", - "rct2.tcb", - "rct2.tdm", - "rct2.tsd", - "rct2.tgs", - "rct2.tus", - "rct2.th1", - "rct2.tbc", - "rct2.th2", - "rct2.tpm", - "rct2.tsc", - "rct2.tg1", - "rct2.twf", - "rct2.tsh0", - "rct2.tsh1", - "rct2.tsh2", - "rct2.tsh3", - "rct2.tsh4", - "rct2.tsh5", - "rct2.tg2", - "rct2.tg3", - "rct2.tg4", - "rct2.tg5", - "rct2.tg6", - "rct2.tg7", - "rct2.tg8", - "rct2.tg9", - "rct2.tg10", - "rct2.tg11", - "rct2.tg12", - "rct2.tg13", - "rct2.tg14", - "rct2.tt1", - "rct2.tdf", - "rct2.tsh", - "rct2.thrs", - "rct2.tstd", - "rct2.trms", - "rct2.trws", - "rct2.trc", - "rct2.tqf", - "rct2.tes1", - "rct2.ten", - "rct2.ters", - "rct2.terb", - "rct2.tep", - "rct2.tst1", - "rct2.tst2", - "rct2.tms1", - "rct2.tas1", - "rct2.tas2", - "rct2.tas3", - "rct2.tst3", - "rct2.tst4", - "rct2.tst5", - "rct2.tas4", - "rct2.tcy", - "rct2.tbw", - "rct2.tbr1", - "rct2.tbr2", - "rct2.tml", - "rct2.tmw", - "rct2.tbr3", - "rct2.tbr4", - "rct2.tmj", - "rct2.tbr", - "rct2.tmo1", - "rct2.tmo2", - "rct2.tmo3", - "rct2.tmo4", - "rct2.tmo5", - "rct2.twh1", - "rct2.twh2", - "rct2.tns", - "rct2.tp1", - "rct2.tp2", - "rct2.tk1", - "rct2.tk2", - "rct2.tr1", - "rct2.tr2", - "rct2.tq1", - "rct2.tq2", - "rct2.twn", - "rct2.tce", - "rct2.tco", - "rct2.thl", - "rct2.tcc", - "rct2.tb1", - "rct2.tb2", - "rct2.tk3", - "rct2.tk4", - "rct2.tbn", - "rct2.tbn1", - "rct2.tdt1", - "rct2.tdt2", - "rct2.tdt3", - "rct2.tmm1", - "rct2.tmm2", - "rct2.tmm3", - "rct2.tgs1", - "rct2.tgs2", - "rct2.tgs3", - "rct2.tgs4", - "rct2.tdn4", - "rct2.tdn5", - "rct2.tjt1", - "rct2.tjt2", - "rct2.tjb1", - "rct2.ttf", - "rct2.tf1", - "rct2.tf2", - "rct2.tge1", - "rct2.tjt3", - "rct2.tjt4", - "rct2.tjp1", - "rct2.tjb2", - "rct2.tge2", - "rct2.tjt5", - "rct2.tjb3", - "rct2.tjb4", - "rct2.tjt6", - "rct2.tjp2", - "rct2.tge3", - "rct2.tck", - "rct2.tge4", - "rct2.tge5", - "rct2.tg15", - "rct2.tg16", - "rct2.tg17", - "rct2.tg18", - "rct2.tg19", - "rct2.tg20", - "rct2.tg21", - "rct2.tsm", - "rct2.tig", - "rct2.tcfs", - "rct2.trfs", - "rct2.trf3", - "rct2.tnss", - "rct2.tct1", - "rct2.tct2", - "rct2.tsf1", - "rct2.tsf2", - "rct2.tsf3", - "rct2.tcn", - "rct2.ttg", - "rct2.tsnc", - "rct2.tsnb", - "rct2.tscp", - "rct2.tcd", - "rct2.tsg", - "rct2.tsk", - "rct2.tgh1", - "rct2.tgh2", - "rct2.tsmp", - "rct2.tjf", - "rct2.tly", - "rct2.tgc1", - "rct2.tgc2", - "rct2.tgg", - "rct2.tsph", - "rct2.toh1", - "rct2.toh2", - "rct2.tot1", - "rct2.tot2", - "rct2.tos", - "rct2.tot3", - "rct2.tot4", - "rct2.tsc2", - "rct2.tsp1", - "rct2.toh3", - "rct2.tsp2", - "rct2.romroof1", - "rct2.georoof1", - "rct2.tntroof1", - "rct2.jngroof1", - "rct2.minroof1", - "rct2.romroof2", - "rct2.georoof2", - "rct2.pagroof1", - "rct2.spcroof1", - "rct2.roof1", - "rct2.roof2", - "rct2.roof3", - "rct2.roof4", - "rct2.roof5", - "rct2.roof6", - "rct2.roof7", - "rct2.roof8", - "rct2.roof9", - "rct2.roof10", - "rct2.roof11", - "rct2.roof12", - "rct2.roof13", - "rct2.roof14", - "rct2.igroof", - "rct2.corroof", - "rct2.corroof2", + "rct2.scenery_small.tl0", + "rct2.scenery_small.tl1", + "rct2.scenery_small.tl2", + "rct2.scenery_small.tl3", + "rct2.scenery_small.tm0", + "rct2.scenery_small.tm1", + "rct2.scenery_small.tm2", + "rct2.scenery_small.tm3", + "rct2.scenery_small.ts0", + "rct2.scenery_small.ts1", + "rct2.scenery_small.ts2", + "rct2.scenery_small.ts3", + "rct2.scenery_small.ts4", + "rct2.scenery_small.ts5", + "rct2.scenery_small.ts6", + "rct2.scenery_small.tic", + "rct2.scenery_small.tlc", + "rct2.scenery_small.tmc", + "rct2.scenery_small.tmp", + "rct2.scenery_small.titc", + "rct2.scenery_small.tghc", + "rct2.scenery_small.tac", + "rct2.scenery_small.tghc2", + "rct2.scenery_small.tcj", + "rct2.scenery_small.tmbj", + "rct2.scenery_small.tcf", + "rct2.scenery_small.tcl", + "rct2.scenery_small.trf", + "rct2.scenery_small.trf2", + "rct2.scenery_small.tel", + "rct2.scenery_small.tap", + "rct2.scenery_small.tsp", + "rct2.scenery_small.tmzp", + "rct2.scenery_small.tcrp", + "rct2.scenery_small.tbp", + "rct2.scenery_small.tlp", + "rct2.scenery_small.twp", + "rct2.scenery_small.tas", + "rct2.scenery_small.tmg", + "rct2.scenery_small.tww", + "rct2.scenery_small.tsb", + "rct2.scenery_small.tvl", + "rct2.scenery_small.tct", + "rct2.scenery_small.tef", + "rct2.scenery_small.tal", + "rct2.scenery_small.tsq", + "rct2.scenery_small.tht", + "rct2.scenery_small.tcb", + "rct2.scenery_small.tdm", + "rct2.scenery_small.tsd", + "rct2.scenery_small.tgs", + "rct2.scenery_small.tus", + "rct2.scenery_small.th1", + "rct2.scenery_small.tbc", + "rct2.scenery_small.th2", + "rct2.scenery_small.tpm", + "rct2.scenery_small.tsc", + "rct2.scenery_small.tg1", + "rct2.scenery_small.twf", + "rct2.scenery_small.tsh0", + "rct2.scenery_small.tsh1", + "rct2.scenery_small.tsh2", + "rct2.scenery_small.tsh3", + "rct2.scenery_small.tsh4", + "rct2.scenery_small.tsh5", + "rct2.scenery_small.tg2", + "rct2.scenery_small.tg3", + "rct2.scenery_small.tg4", + "rct2.scenery_small.tg5", + "rct2.scenery_small.tg6", + "rct2.scenery_small.tg7", + "rct2.scenery_small.tg8", + "rct2.scenery_small.tg9", + "rct2.scenery_small.tg10", + "rct2.scenery_small.tg11", + "rct2.scenery_small.tg12", + "rct2.scenery_small.tg13", + "rct2.scenery_small.tg14", + "rct2.scenery_small.tt1", + "rct2.scenery_small.tdf", + "rct2.scenery_small.tsh", + "rct2.scenery_small.thrs", + "rct2.scenery_small.tstd", + "rct2.scenery_small.trms", + "rct2.scenery_small.trws", + "rct2.scenery_small.trc", + "rct2.scenery_small.tqf", + "rct2.scenery_small.tes1", + "rct2.scenery_small.ten", + "rct2.scenery_small.ters", + "rct2.scenery_small.terb", + "rct2.scenery_small.tep", + "rct2.scenery_small.tst1", + "rct2.scenery_small.tst2", + "rct2.scenery_small.tms1", + "rct2.scenery_small.tas1", + "rct2.scenery_small.tas2", + "rct2.scenery_small.tas3", + "rct2.scenery_small.tst3", + "rct2.scenery_small.tst4", + "rct2.scenery_small.tst5", + "rct2.scenery_small.tas4", + "rct2.scenery_small.tcy", + "rct2.scenery_small.tbw", + "rct2.scenery_small.tbr1", + "rct2.scenery_small.tbr2", + "rct2.scenery_small.tml", + "rct2.scenery_small.tmw", + "rct2.scenery_small.tbr3", + "rct2.scenery_small.tbr4", + "rct2.scenery_small.tmj", + "rct2.scenery_small.tbr", + "rct2.scenery_small.tmo1", + "rct2.scenery_small.tmo2", + "rct2.scenery_small.tmo3", + "rct2.scenery_small.tmo4", + "rct2.scenery_small.tmo5", + "rct2.scenery_small.twh1", + "rct2.scenery_small.twh2", + "rct2.scenery_small.tns", + "rct2.scenery_small.tp1", + "rct2.scenery_small.tp2", + "rct2.scenery_small.tk1", + "rct2.scenery_small.tk2", + "rct2.scenery_small.tr1", + "rct2.scenery_small.tr2", + "rct2.scenery_small.tq1", + "rct2.scenery_small.tq2", + "rct2.scenery_small.twn", + "rct2.scenery_small.tce", + "rct2.scenery_small.tco", + "rct2.scenery_small.thl", + "rct2.scenery_small.tcc", + "rct2.scenery_small.tb1", + "rct2.scenery_small.tb2", + "rct2.scenery_small.tk3", + "rct2.scenery_small.tk4", + "rct2.scenery_small.tbn", + "rct2.scenery_small.tbn1", + "rct2.scenery_small.tdt1", + "rct2.scenery_small.tdt2", + "rct2.scenery_small.tdt3", + "rct2.scenery_small.tmm1", + "rct2.scenery_small.tmm2", + "rct2.scenery_small.tmm3", + "rct2.scenery_small.tgs1", + "rct2.scenery_small.tgs2", + "rct2.scenery_small.tgs3", + "rct2.scenery_small.tgs4", + "rct2.scenery_small.tdn4", + "rct2.scenery_small.tdn5", + "rct2.scenery_small.tjt1", + "rct2.scenery_small.tjt2", + "rct2.scenery_small.tjb1", + "rct2.scenery_small.ttf", + "rct2.scenery_small.tf1", + "rct2.scenery_small.tf2", + "rct2.scenery_small.tge1", + "rct2.scenery_small.tjt3", + "rct2.scenery_small.tjt4", + "rct2.scenery_small.tjp1", + "rct2.scenery_small.tjb2", + "rct2.scenery_small.tge2", + "rct2.scenery_small.tjt5", + "rct2.scenery_small.tjb3", + "rct2.scenery_small.tjb4", + "rct2.scenery_small.tjt6", + "rct2.scenery_small.tjp2", + "rct2.scenery_small.tge3", + "rct2.scenery_small.tck", + "rct2.scenery_small.tge4", + "rct2.scenery_small.tge5", + "rct2.scenery_small.tg15", + "rct2.scenery_small.tg16", + "rct2.scenery_small.tg17", + "rct2.scenery_small.tg18", + "rct2.scenery_small.tg19", + "rct2.scenery_small.tg20", + "rct2.scenery_small.tg21", + "rct2.scenery_small.tsm", + "rct2.scenery_small.tig", + "rct2.scenery_small.tcfs", + "rct2.scenery_small.trfs", + "rct2.scenery_small.trf3", + "rct2.scenery_small.tnss", + "rct2.scenery_small.tct1", + "rct2.scenery_small.tct2", + "rct2.scenery_small.tsf1", + "rct2.scenery_small.tsf2", + "rct2.scenery_small.tsf3", + "rct2.scenery_small.tcn", + "rct2.scenery_small.ttg", + "rct2.scenery_small.tsnc", + "rct2.scenery_small.tsnb", + "rct2.scenery_small.tscp", + "rct2.scenery_small.tcd", + "rct2.scenery_small.tsg", + "rct2.scenery_small.tsk", + "rct2.scenery_small.tgh1", + "rct2.scenery_small.tgh2", + "rct2.scenery_small.tsmp", + "rct2.scenery_small.tjf", + "rct2.scenery_small.tly", + "rct2.scenery_small.tgc1", + "rct2.scenery_small.tgc2", + "rct2.scenery_small.tgg", + "rct2.scenery_small.tsph", + "rct2.scenery_small.toh1", + "rct2.scenery_small.toh2", + "rct2.scenery_small.tot1", + "rct2.scenery_small.tot2", + "rct2.scenery_small.tos", + "rct2.scenery_small.tot3", + "rct2.scenery_small.tot4", + "rct2.scenery_small.tsc2", + "rct2.scenery_small.tsp1", + "rct2.scenery_small.toh3", + "rct2.scenery_small.tsp2", + "rct2.scenery_small.romroof1", + "rct2.scenery_small.georoof1", + "rct2.scenery_small.tntroof1", + "rct2.scenery_small.jngroof1", + "rct2.scenery_small.minroof1", + "rct2.scenery_small.romroof2", + "rct2.scenery_small.georoof2", + "rct2.scenery_small.pagroof1", + "rct2.scenery_small.spcroof1", + "rct2.scenery_small.roof1", + "rct2.scenery_small.roof2", + "rct2.scenery_small.roof3", + "rct2.scenery_small.roof4", + "rct2.scenery_small.roof5", + "rct2.scenery_small.roof6", + "rct2.scenery_small.roof7", + "rct2.scenery_small.roof8", + "rct2.scenery_small.roof9", + "rct2.scenery_small.roof10", + "rct2.scenery_small.roof11", + "rct2.scenery_small.roof12", + "rct2.scenery_small.roof13", + "rct2.scenery_small.roof14", + "rct2.scenery_small.igroof", + "rct2.scenery_small.corroof", + "rct2.scenery_small.corroof2", }; return map[smallSceneryType]; } @@ -1134,45 +1134,45 @@ namespace RCT1 { static constexpr const char * map[] = { - "rct2.scol", - "rct2.shs1", - "rct2.sspx", - "rct2.shs2", - "rct2.scln", - "rct2.smh1", - "rct2.smh2", - "rct2.svlc", - "rct2.spyr", - "rct2.smn1", - "rct2.smb", - "rct2.ssk1", - "rct2.sdn1", - "rct2.sdn2", - "rct2.sdn3", - "rct2.sip", - "rct2.stb1", - "rct2.stb2", - "rct2.stg1", - "rct2.stg2", - "rct2.sct", - "rct2.soh1", - "rct2.soh2", - "rct2.soh3", - "rct2.sgp", - "rct2.ssr", - "rct2.sth", - "rct2.sah", - "rct2.sps", - "rct2.spg", - "rct2.sob", - "rct2.sah2", - "rct2.sst", - "rct2.ssh", - "rct2.sah3", - "rct2.ssig1", - "rct2.ssig2", - "rct2.ssig3", - "rct2.ssig4", + "rct2.scenery_large.scol", + "rct2.scenery_large.shs1", + "rct2.scenery_large.sspx", + "rct2.scenery_large.shs2", + "rct2.scenery_large.scln", + "rct2.scenery_large.smh1", + "rct2.scenery_large.smh2", + "rct2.scenery_large.svlc", + "rct2.scenery_large.spyr", + "rct2.scenery_large.smn1", + "rct2.scenery_large.smb", + "rct2.scenery_large.ssk1", + "rct2.scenery_large.sdn1", + "rct2.scenery_large.sdn2", + "rct2.scenery_large.sdn3", + "rct2.scenery_large.sip", + "rct2.scenery_large.stb1", + "rct2.scenery_large.stb2", + "rct2.scenery_large.stg1", + "rct2.scenery_large.stg2", + "rct2.scenery_large.sct", + "rct2.scenery_large.soh1", + "rct2.scenery_large.soh2", + "rct2.scenery_large.soh3", + "rct2.scenery_large.sgp", + "rct2.scenery_large.ssr", + "rct2.scenery_large.sth", + "rct2.scenery_large.sah", + "rct2.scenery_large.sps", + "rct2.scenery_large.spg", + "rct2.scenery_large.sob", + "rct2.scenery_large.sah2", + "rct2.scenery_large.sst", + "rct2.scenery_large.ssh", + "rct2.scenery_large.sah3", + "rct2.scenery_large.ssig1", + "rct2.scenery_large.ssig2", + "rct2.scenery_large.ssig3", + "rct2.scenery_large.ssig4", }; return map[largeSceneryType]; } @@ -1181,58 +1181,58 @@ namespace RCT1 { static constexpr const char * map[] = { - "rct2.wmf", // RCT1_WALL_TYPE_MESH_FENCE - "rct2.wmfg", // RCT1_WALL_TYPE_MESH_FENCE_WITH_GATE - "rct2.wrw", // RCT1_WALL_TYPE_ROMAN - "rct2.wew", // RCT1_WALL_TYPE_EGYPTIAN - "rct2.whg", // RCT1_WALL_TYPE_HEDGE - "rct2.whgg", // RCT1_WALL_TYPE_HEDGE_WITH_GATE - "rct2.wcw1", // RCT1_WALL_TYPE_BLUE_PLAYING_CARDS - "rct2.wcw2", // RCT1_WALL_TYPE_RED_PLAYING_CARDS - "rct2.wsw", // RCT1_WALL_TYPE_WHITE_RAILING - "rct2.wswg", // RCT1_WALL_TYPE_WHITE_RAILING_WITH_GATE - "rct2.wmw", // RCT1_WALL_TYPE_MARTIAN - "rct2.wallgl16", // RCT1_WALL_TYPE_GLASS_SMOOTH - "rct2.wfw1", // RCT1_WALL_TYPE_WOODEN_PANEL_FENCE - "rct2.wfwg", // RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_GATE - "rct2.wpw1", // RCT1_WALL_TYPE_WOODEN_POST_FENCE - "rct2.wpw2", // RCT1_WALL_TYPE_RED_WOODEN_POST_FENCE - "rct2.wpf", // RCT1_WALL_TYPE_BARBED_WIRE - "rct2.wpfg", // RCT1_WALL_TYPE_BARBED_WIRE_WITH_GATE - "rct2.wwtw", // RCT1_WALL_TYPE_PRIMITIVE_TALL_WOOD_FENCE - "rct2.wmww", // RCT1_WALL_TYPE_PRIMITIVE_SHORT_WOOD_FENCE - "rct2.wsw1", // RCT1_WALL_TYPE_IRON_RAILING - "rct2.wsw2", // RCT1_WALL_TYPE_IRON_RAILING_WITH_GATE - "rct2.wgw2", // RCT1_WALL_TYPE_GLASS_PANELS - "rct2.wbw", // RCT1_WALL_TYPE_BONE_FENCE - "rct2.wbr1", // RCT1_WALL_TYPE_BRICK - "rct2.wbrg", // RCT1_WALL_TYPE_BRICK_WITH_GATE - "rct2.wfw1", // RCT1_WALL_TYPE_WHITE_WOODEN_PANEL_FENCE - "rct1.wfw0", // RCT1_WALL_TYPE_RED_WOODEN_PANEL_FENCE - "rct2.wbr2", // RCT1_WALL_TYPE_STONE - "rct2.wbr3", // RCT1_WALL_TYPE_STONE_WITH_GATE - "rct2.wpw3", // RCT1_WALL_TYPE_WOODEN_FENCE - "rct2.wjf", // RCT1_WALL_TYPE_JUNGLE - "rct2.wch", // RCT1_WALL_TYPE_CONIFER_HEDGE - "rct2.wchg", // RCT1_WALL_TYPE_CONIFER_HEDGE_WITH_GATE - "rct2.wc1", // RCT1_WALL_TYPE_SMALL_BROWN_CASTLE - "rct2.wc2", // RCT1_WALL_TYPE_SMALL_GREY_CASTLE - "rct2.wc3", // RCT1_WALL_TYPE_ROMAN_COLUMN - "rct2.wc4", // RCT1_WALL_TYPE_LARGE_BROWN_CASTLE - "rct2.wc5", // RCT1_WALL_TYPE_LARGE_BROWN_CASTLE_CROSS - "rct2.wc6", // RCT1_WALL_TYPE_LARGE_BROWN_CASTLE_GATE - "rct2.wc7", // RCT1_WALL_TYPE_LARGE_BROWN_CASTLE_WINDOW - "rct2.wc8", // RCT1_WALL_TYPE_MEDIUM_BROWN_CASTLE - "rct2.wc9", // RCT1_WALL_TYPE_LARGE_GREY_CASTLE - "rct2.wc10", // RCT1_WALL_TYPE_LARGE_GREY_CASTLE_CROSS - "rct2.wc11", // RCT1_WALL_TYPE_LARGE_GREY_CASTLE_GATE - "rct2.wc12", // RCT1_WALL_TYPE_LARGE_GREY_CASTLE_WINDOW - "rct2.wc13", // RCT1_WALL_TYPE_MEDIUM_GREY_CASTLE - "rct2.wc14", // RCT1_WALL_TYPE_CREEPY - "rct2.wc15", // RCT1_WALL_TYPE_CREEPY_GATE - "rct2.wc16", // RCT1_WALL_TYPE_BARBED_WIRE_WITH_SNOW - "rct2.wc17", // RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_SNOW - "rct2.wc18", // RCT1_WALL_TYPE_WOODEN_POST_FENCE_WITH_SNOW + "rct2.scenery_wall.wmf", // RCT1_WALL_TYPE_MESH_FENCE + "rct2.scenery_wall.wmfg", // RCT1_WALL_TYPE_MESH_FENCE_WITH_GATE + "rct2.scenery_wall.wrw", // RCT1_WALL_TYPE_ROMAN + "rct2.scenery_wall.wew", // RCT1_WALL_TYPE_EGYPTIAN + "rct2.scenery_wall.whg", // RCT1_WALL_TYPE_HEDGE + "rct2.scenery_wall.whgg", // RCT1_WALL_TYPE_HEDGE_WITH_GATE + "rct2.scenery_wall.wcw1", // RCT1_WALL_TYPE_BLUE_PLAYING_CARDS + "rct2.scenery_wall.wcw2", // RCT1_WALL_TYPE_RED_PLAYING_CARDS + "rct2.scenery_wall.wsw", // RCT1_WALL_TYPE_WHITE_RAILING + "rct2.scenery_wall.wswg", // RCT1_WALL_TYPE_WHITE_RAILING_WITH_GATE + "rct2.scenery_wall.wmw", // RCT1_WALL_TYPE_MARTIAN + "rct2.scenery_wall.wallgl16", // RCT1_WALL_TYPE_GLASS_SMOOTH + "rct2.scenery_wall.wfw1", // RCT1_WALL_TYPE_WOODEN_PANEL_FENCE + "rct2.scenery_wall.wfwg", // RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_GATE + "rct2.scenery_wall.wpw1", // RCT1_WALL_TYPE_WOODEN_POST_FENCE + "rct2.scenery_wall.wpw2", // RCT1_WALL_TYPE_RED_WOODEN_POST_FENCE + "rct2.scenery_wall.wpf", // RCT1_WALL_TYPE_BARBED_WIRE + "rct2.scenery_wall.wpfg", // RCT1_WALL_TYPE_BARBED_WIRE_WITH_GATE + "rct2.scenery_wall.wwtw", // RCT1_WALL_TYPE_PRIMITIVE_TALL_WOOD_FENCE + "rct2.scenery_wall.wmww", // RCT1_WALL_TYPE_PRIMITIVE_SHORT_WOOD_FENCE + "rct2.scenery_wall.wsw1", // RCT1_WALL_TYPE_IRON_RAILING + "rct2.scenery_wall.wsw2", // RCT1_WALL_TYPE_IRON_RAILING_WITH_GATE + "rct2.scenery_wall.wgw2", // RCT1_WALL_TYPE_GLASS_PANELS + "rct2.scenery_wall.wbw", // RCT1_WALL_TYPE_BONE_FENCE + "rct2.scenery_wall.wbr1", // RCT1_WALL_TYPE_BRICK + "rct2.scenery_wall.wbrg", // RCT1_WALL_TYPE_BRICK_WITH_GATE + "rct2.scenery_wall.wfw1", // RCT1_WALL_TYPE_WHITE_WOODEN_PANEL_FENCE + "rct1.scenery_wall.wooden_fence_red", // RCT1_WALL_TYPE_RED_WOODEN_PANEL_FENCE + "rct2.scenery_wall.wbr2", // RCT1_WALL_TYPE_STONE + "rct2.scenery_wall.wbr3", // RCT1_WALL_TYPE_STONE_WITH_GATE + "rct2.scenery_wall.wpw3", // RCT1_WALL_TYPE_WOODEN_FENCE + "rct2.scenery_wall.wjf", // RCT1_WALL_TYPE_JUNGLE + "rct2.scenery_wall.wch", // RCT1_WALL_TYPE_CONIFER_HEDGE + "rct2.scenery_wall.wchg", // RCT1_WALL_TYPE_CONIFER_HEDGE_WITH_GATE + "rct2.scenery_wall.wc1", // RCT1_WALL_TYPE_SMALL_BROWN_CASTLE + "rct2.scenery_wall.wc2", // RCT1_WALL_TYPE_SMALL_GREY_CASTLE + "rct2.scenery_wall.wc3", // RCT1_WALL_TYPE_ROMAN_COLUMN + "rct2.scenery_wall.wc4", // RCT1_WALL_TYPE_LARGE_BROWN_CASTLE + "rct2.scenery_wall.wc5", // RCT1_WALL_TYPE_LARGE_BROWN_CASTLE_CROSS + "rct2.scenery_wall.wc6", // RCT1_WALL_TYPE_LARGE_BROWN_CASTLE_GATE + "rct2.scenery_wall.wc7", // RCT1_WALL_TYPE_LARGE_BROWN_CASTLE_WINDOW + "rct2.scenery_wall.wc8", // RCT1_WALL_TYPE_MEDIUM_BROWN_CASTLE + "rct2.scenery_wall.wc9", // RCT1_WALL_TYPE_LARGE_GREY_CASTLE + "rct2.scenery_wall.wc10", // RCT1_WALL_TYPE_LARGE_GREY_CASTLE_CROSS + "rct2.scenery_wall.wc11", // RCT1_WALL_TYPE_LARGE_GREY_CASTLE_GATE + "rct2.scenery_wall.wc12", // RCT1_WALL_TYPE_LARGE_GREY_CASTLE_WINDOW + "rct2.scenery_wall.wc13", // RCT1_WALL_TYPE_MEDIUM_GREY_CASTLE + "rct2.scenery_wall.wc14", // RCT1_WALL_TYPE_CREEPY + "rct2.scenery_wall.wc15", // RCT1_WALL_TYPE_CREEPY_GATE + "rct2.scenery_wall.wc16", // RCT1_WALL_TYPE_BARBED_WIRE_WITH_SNOW + "rct2.scenery_wall.wc17", // RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_SNOW + "rct2.scenery_wall.wc18", // RCT1_WALL_TYPE_WOODEN_POST_FENCE_WITH_SNOW }; if (wallType < std::size(map)) return map[wallType]; @@ -1244,35 +1244,35 @@ namespace RCT1 { static constexpr const char * map[] = { - "rct1.pathsurface.queue.blue", // RCT1_FOOTPATH_TYPE_QUEUE_BLUE - "rct1.aa.pathsurface.queue.red", // RCT1_FOOTPATH_TYPE_QUEUE_RED - "rct1.aa.pathsurface.queue.yellow", // RCT1_FOOTPATH_TYPE_QUEUE_YELLOW - "rct1.aa.pathsurface.queue.green", // RCT1_FOOTPATH_TYPE_QUEUE_GREEN + "rct1.footpath_surface.queue_blue", // RCT1_FOOTPATH_TYPE_QUEUE_BLUE + "rct1aa.footpath_surface.queue_red", // RCT1_FOOTPATH_TYPE_QUEUE_RED + "rct1aa.footpath_surface.queue_yellow", // RCT1_FOOTPATH_TYPE_QUEUE_YELLOW + "rct1aa.footpath_surface.queue_green", // RCT1_FOOTPATH_TYPE_QUEUE_GREEN - "rct1.pathsurface.tarmac", // RCT1_FOOTPATH_TYPE_TARMAC_GRAY - "rct1.aa.pathsurface.space", // RCT1_FOOTPATH_TYPE_TARMAC_RED - "rct1.aa.pathsurface.tarmac.brown", // RCT1_FOOTPATH_TYPE_TARMAC_BROWN - "rct1.aa.pathsurface.tarmac.green", // RCT1_FOOTPATH_TYPE_TARMAC_GREEN + "rct1.footpath_surface.tarmac", // RCT1_FOOTPATH_TYPE_TARMAC_GRAY + "rct1aa.footpath_surface.tarmac_red", // RCT1_FOOTPATH_TYPE_TARMAC_RED + "rct1aa.footpath_surface.tarmac_brown", // RCT1_FOOTPATH_TYPE_TARMAC_BROWN + "rct1aa.footpath_surface.tarmac_green", // RCT1_FOOTPATH_TYPE_TARMAC_GREEN - "rct1.pathsurface.dirt", // RCT1_FOOTPATH_TYPE_DIRT_RED - "rct1.aa.pathsurface.ash", // RCT1_FOOTPATH_TYPE_DIRT_BLACK + "rct1.footpath_surface.dirt", // RCT1_FOOTPATH_TYPE_DIRT_RED + "rct1aa.footpath_surface.ash", // RCT1_FOOTPATH_TYPE_DIRT_BLACK "", "", - "rct1.pathsurface.crazy", // RCT1_FOOTPATH_TYPE_CRAZY_PAVING + "rct1.footpath_surface.crazy_paving", // RCT1_FOOTPATH_TYPE_CRAZY_PAVING "", "", "", - "rct2.pathsurface.road", // RCT1_FOOTPATH_TYPE_ROADS + "rct2.footpath_surface.road", // RCT1_FOOTPATH_TYPE_ROADS "", "", "", - "rct1.pathsurface.tile.brown", // RCT1_FOOTPATH_TYPE_TILE_BROWN - "rct1.aa.pathsurface.tile.grey", // RCT1_FOOTPATH_TYPE_TILE_GRAY - "rct1.ll.pathsurface.tile.red", // RCT1_FOOTPATH_TYPE_TILE_RED - "rct1.ll.pathsurface.tile.green", // RCT1_FOOTPATH_TYPE_TILE_GREEN + "rct1.footpath_surface.tiles_brown", // RCT1_FOOTPATH_TYPE_TILE_BROWN + "rct1aa.footpath_surface.tiles_grey", // RCT1_FOOTPATH_TYPE_TILE_GRAY + "rct1ll.footpath_surface.tiles_red", // RCT1_FOOTPATH_TYPE_TILE_RED + "rct1ll.footpath_surface.tiles_green", // RCT1_FOOTPATH_TYPE_TILE_GREEN }; return map[pathType]; } @@ -1282,20 +1282,20 @@ namespace RCT1 static constexpr const char * map[] = { "", // RCT1_PATH_ADDITION_NONE - "rct2.lamp1", // RCT1_PATH_ADDITION_LAMP_1 - "rct2.lamp2", // RCT1_PATH_ADDITION_LAMP_2 - "rct2.litter1", // RCT1_PATH_ADDITION_BIN - "rct2.bench1", // RCT1_PATH_ADDITION_BENCH - "rct2.jumpfnt1", // RCT1_PATH_ADDITION_JUMPING_FOUNTAIN - "rct2.lamp3", // RCT1_PATH_ADDITION_LAMP_3 - "rct2.lamp4", // RCT1_PATH_ADDITION_LAMP_4 - "rct2.lamp1", // RCT1_PATH_ADDITION_BROKEN_LAMP_1 - "rct2.lamp2", // RCT1_PATH_ADDITION_BROKEN_LAMP_2 - "rct2.litter1", // RCT1_PATH_ADDITION_BROKEN_BIN - "rct2.bench1", // RCT1_PATH_ADDITION_BROKEN_BENCH - "rct2.lamp3", // RCT1_PATH_ADDITION_BROKEN_LAMP_3 - "rct2.lamp4", // RCT1_PATH_ADDITION_BROKEN_LAMP_4 - "rct2.jumpsnw1", // RCT1_PATH_ADDITION_JUMPING_SNOW + "rct2.footpath_item.lamp1", // RCT1_PATH_ADDITION_LAMP_1 + "rct2.footpath_item.lamp2", // RCT1_PATH_ADDITION_LAMP_2 + "rct2.footpath_item.litter1", // RCT1_PATH_ADDITION_BIN + "rct2.footpath_item.bench1", // RCT1_PATH_ADDITION_BENCH + "rct2.footpath_item.jumpfnt1", // RCT1_PATH_ADDITION_JUMPING_FOUNTAIN + "rct2.footpath_item.lamp3", // RCT1_PATH_ADDITION_LAMP_3 + "rct2.footpath_item.lamp4", // RCT1_PATH_ADDITION_LAMP_4 + "rct2.footpath_item.lamp1", // RCT1_PATH_ADDITION_BROKEN_LAMP_1 + "rct2.footpath_item.lamp2", // RCT1_PATH_ADDITION_BROKEN_LAMP_2 + "rct2.footpath_item.litter1", // RCT1_PATH_ADDITION_BROKEN_BIN + "rct2.footpath_item.bench1", // RCT1_PATH_ADDITION_BROKEN_BENCH + "rct2.footpath_item.lamp3", // RCT1_PATH_ADDITION_BROKEN_LAMP_3 + "rct2.footpath_item.lamp4", // RCT1_PATH_ADDITION_BROKEN_LAMP_4 + "rct2.footpath_item.jumpsnw1", // RCT1_PATH_ADDITION_JUMPING_SNOW }; return map[pathAdditionType]; } @@ -1304,10 +1304,10 @@ namespace RCT1 { static constexpr const char * map[] = { - "rct2.railings.wood", // RCT1_PATH_SUPPORT_TYPE_TRUSS - "rct2.railings.concrete", // RCT1_PATH_SUPPORT_TYPE_COATED_WOOD - "rct1.ll.railings.space", // RCT1_PATH_SUPPORT_TYPE_SPACE - "rct1.ll.railings.bamboo", // RCT1_PATH_SUPPORT_TYPE_BAMBOO + "rct2.footpath_railings.wood", // RCT1_PATH_SUPPORT_TYPE_TRUSS + "rct2.footpath_railings.concrete", // RCT1_PATH_SUPPORT_TYPE_COATED_WOOD + "rct1ll.footpath_railings.space", // RCT1_PATH_SUPPORT_TYPE_SPACE + "rct1ll.footpath_railings.bamboo", // RCT1_PATH_SUPPORT_TYPE_BAMBOO }; return map[footpathRailingsType]; } @@ -1317,23 +1317,23 @@ namespace RCT1 static constexpr const char * map[] = { "", // RCT1_SCENERY_THEME_GENERAL - "rct2.scgmine", // RCT1_SCENERY_THEME_MINE - "rct2.scgclass", // RCT1_SCENERY_THEME_CLASSICAL_ROMAN - "rct2.scgegypt", // RCT1_SCENERY_THEME_EGYPTIAN - "rct2.scgmart", // RCT1_SCENERY_THEME_MARTIAN + "rct2.scenery_group.scgmine", // RCT1_SCENERY_THEME_MINE + "rct2.scenery_group.scgclass", // RCT1_SCENERY_THEME_CLASSICAL_ROMAN + "rct2.scenery_group.scgegypt", // RCT1_SCENERY_THEME_EGYPTIAN + "rct2.scenery_group.scgmart", // RCT1_SCENERY_THEME_MARTIAN "", // RCT1_SCENERY_THEME_JUMPING_FOUNTAINS - "rct2.scgwond", // RCT1_SCENERY_THEME_WONDERLAND - "rct2.scgjuras", // RCT1_SCENERY_THEME_JURASSIC - "rct2.scgspook", // RCT1_SCENERY_THEME_SPOOKY - "rct2.scgjungl", // RCT1_SCENERY_THEME_JUNGLE - "rct2.scgabstr", // RCT1_SCENERY_THEME_ABSTRACT + "rct2.scenery_group.scgwond", // RCT1_SCENERY_THEME_WONDERLAND + "rct2.scenery_group.scgjuras", // RCT1_SCENERY_THEME_JURASSIC + "rct2.scenery_group.scgspook", // RCT1_SCENERY_THEME_SPOOKY + "rct2.scenery_group.scgjungl", // RCT1_SCENERY_THEME_JUNGLE + "rct2.scenery_group.scgabstr", // RCT1_SCENERY_THEME_ABSTRACT "", // RCT1_SCENERY_THEME_GARDEN_CLOCK - "rct2.scgsnow", // RCT1_SCENERY_THEME_SNOW_ICE - "rct2.scgmedie", // RCT1_SCENERY_THEME_MEDIEVAL - "rct2.scgspace", // RCT1_SCENERY_THEME_SPACE - "rct2.scghallo", // RCT1_SCENERY_THEME_CREEPY - "rct2.scgurban", // RCT1_SCENERY_THEME_URBAN - "rct2.scgorien", // RCT1_SCENERY_THEME_PAGODA + "rct2.scenery_group.scgsnow", // RCT1_SCENERY_THEME_SNOW_ICE + "rct2.scenery_group.scgmedie", // RCT1_SCENERY_THEME_MEDIEVAL + "rct2.scenery_group.scgspace", // RCT1_SCENERY_THEME_SPACE + "rct2.scenery_group.scghallo", // RCT1_SCENERY_THEME_CREEPY + "rct2.scenery_group.scgurban", // RCT1_SCENERY_THEME_URBAN + "rct2.scenery_group.scgorien", // RCT1_SCENERY_THEME_PAGODA }; return map[sceneryGroupType]; } @@ -1342,8 +1342,8 @@ namespace RCT1 { static constexpr const char * map[] = { - "rct2.wtrcyan", - "rct2.wtrorng", + "rct2.water.wtrcyan", + "rct2.water.wtrorng", }; return map[waterType]; } @@ -1353,46 +1353,46 @@ namespace RCT1 static const std::vector map[] = { // RCT1_SCENERY_THEME_GENERAL (trees, shrubs, garden, walls, fence, path accessories) - { "rct2.tic", "rct2.tlc", "rct2.tmc", "rct2.tmp", "rct2.titc", "rct2.tghc", "rct2.tac", "rct2.tghc2", "rct2.tcj", "rct2.tmbj", "rct2.tcf", "rct2.tcl", "rct2.trf", "rct2.trf2", "rct2.tel", "rct2.tap", "rct2.tsp", "rct2.tmzp", "rct2.tcrp", "rct2.tbp", "rct2.tlp", "rct2.twp", "rct2.tas", "rct2.tmg", "rct2.tww", "rct2.tsb", "rct2.tvl", "rct2.tcy", "rct2.tns", "rct2.twn", "rct2.tce", "rct2.tco", "rct2.thl", "rct2.tcc", "rct2.tf1", "rct2.tf2", "rct2.tct", "rct2.th1", "rct2.th2", "rct2.tpm", "rct2.tropt1", - "rct2.ts0", "rct2.ts1", "rct2.ts2", "rct2.ts3", "rct2.ts4", "rct2.ts5", "rct2.ts6", "rct2.tef", "rct2.tal", "rct2.tsq", "rct2.tht", "rct2.tcb", "rct2.tdm", "rct2.tsd", "rct2.torn1", "rct2.torn2", "rct2.tgs", "rct2.tus", "rct2.tbc", "rct2.tsc", "rct2.twf", "rct2.tsh0", "rct2.tsh1", "rct2.tsh2", "rct2.tsh3", "rct2.tsh4", "rct2.tsh5", "rct2.tdf", "rct2.tsh", "rct2.thrs", "rct2.tstd", "rct2.tbr", "rct2.ttf", "rct2.whg", "rct2.whgg", "rct2.wch", "rct2.wchg", - "rct2.tg1", "rct2.tg2", "rct2.tg3", "rct2.tg4", "rct2.tg5", "rct2.tg6", "rct2.tg7", "rct2.tg8", "rct2.tg9", "rct2.tg10", "rct2.tg11", "rct2.tg12", "rct2.tg13", "rct2.tg14", "rct2.tg15", "rct2.tg16", "rct2.tg17", "rct2.tg18", "rct2.tg19", "rct2.tg20", "rct2.tg21", - "rct2.wbr1a", "rct2.wbr2a", "rct2.wallbb34", "rct2.walltn32", "rct2.tntroof1", "rct2.wallbb33", "rct2.wallbb32", "rct2.wallbb16", "rct2.wallbb8", "rct2.roof5", "rct2.roof7", "rct2.wallrs32", "rct2.wallrs16", "rct2.wallrs8", "rct2.wallbr32", "rct2.wallbr16", "rct2.wallbr8", "rct2.wallbrdr", "rct2.wallbrwn", "rct2.brbase", "rct2.roof1", "rct2.roof2", "rct2.roof3", "rct2.roof4", "rct2.wallcb32", "rct2.wallcb16", "rct2.wallcb8", "rct2.wallcbdr", "rct2.wallcbwn", "rct2.brbase2", "rct2.cwbcrv33", "rct2.cwbcrv32", "rct2.brcrrf1", "rct2.roof6", "rct2.roof8", "rct2.wallcf32", "rct2.wallcf16", "rct2.wallcf8", "rct2.wallcfdr", "rct2.wallcfwn", "rct2.wallcfar", "rct2.brbase3", "rct2.cwfcrv33", "rct2.cwfcrv32", "rct2.brcrrf2", "rct2.roof9", "rct2.roof11", "rct2.roof10", "rct2.roof12", "rct2.corroof2", "rct2.wallco16", "rct2.corroof", "rct2.walllt32", "rct2.wallsk16", "rct2.wallsk32", "rct2.sktdw2", "rct2.sktdw", "rct2.sktbase", "rct2.sktbaset", "rct2.suppw2", "rct2.suppw1", "rct2.suppw3", "rct2.suppleg1", "rct2.suppleg2", "rct2.sumrf", "rct2.wallrh32", - "rct2.wmf", "rct2.wmfg", "rct2.wsw", "rct2.wswg", "rct2.wfw1", "rct1.wfw0", "rct2.wfwg", "rct2.wpf", "rct2.wpfg", "rct2.wsw1", "rct2.wsw2", "rct2.wbr1", "rct2.wbrg", "rct2.wbr2", "rct2.wbr3", "rct2.wallmm16", "rct2.wallmm17", - "rct2.lamp1", "rct2.lamp2", "rct2.litter1", "rct2.bench1", "rct2.qtv1", "rct2.bn1", "rct2.wallpost", "rct2.wallsign", "rct2.ssig1", "rct2.ssig2", "rct2.ssig3", "rct2.ssig4" }, + { "rct2.scenery_small.tic", "rct2.scenery_small.tlc", "rct2.scenery_small.tmc", "rct2.scenery_small.tmp", "rct2.scenery_small.titc", "rct2.scenery_small.tghc", "rct2.scenery_small.tac", "rct2.scenery_small.tghc2", "rct2.scenery_small.tcj", "rct2.scenery_small.tmbj", "rct2.scenery_small.tcf", "rct2.scenery_small.tcl", "rct2.scenery_small.trf", "rct2.scenery_small.trf2", "rct2.scenery_small.tel", "rct2.scenery_small.tap", "rct2.scenery_small.tsp", "rct2.scenery_small.tmzp", "rct2.scenery_small.tcrp", "rct2.scenery_small.tbp", "rct2.scenery_small.tlp", "rct2.scenery_small.twp", "rct2.scenery_small.tas", "rct2.scenery_small.tmg", "rct2.scenery_small.tww", "rct2.scenery_small.tsb", "rct2.scenery_small.tvl", "rct2.scenery_small.tcy", "rct2.scenery_small.tns", "rct2.scenery_small.twn", "rct2.scenery_small.tce", "rct2.scenery_small.tco", "rct2.scenery_small.thl", "rct2.scenery_small.tcc", "rct2.scenery_small.tf1", "rct2.scenery_small.tf2", "rct2.scenery_small.tct", "rct2.scenery_small.th1", "rct2.scenery_small.th2", "rct2.scenery_small.tpm", "rct2.scenery_small.tropt1", + "rct2.scenery_small.ts0", "rct2.scenery_small.ts1", "rct2.scenery_small.ts2", "rct2.scenery_small.ts3", "rct2.scenery_small.ts4", "rct2.scenery_small.ts5", "rct2.scenery_small.ts6", "rct2.scenery_small.tef", "rct2.scenery_small.tal", "rct2.scenery_small.tsq", "rct2.scenery_small.tht", "rct2.scenery_small.tcb", "rct2.scenery_small.tdm", "rct2.scenery_small.tsd", "rct2.scenery_small.torn1", "rct2.scenery_small.torn2", "rct2.scenery_small.tgs", "rct2.scenery_small.tus", "rct2.scenery_small.tbc", "rct2.scenery_small.tsc", "rct2.scenery_small.twf", "rct2.scenery_small.tsh0", "rct2.scenery_small.tsh1", "rct2.scenery_small.tsh2", "rct2.scenery_small.tsh3", "rct2.scenery_small.tsh4", "rct2.scenery_small.tsh5", "rct2.scenery_small.tdf", "rct2.scenery_small.tsh", "rct2.scenery_small.thrs", "rct2.scenery_small.tstd", "rct2.scenery_small.tbr", "rct2.scenery_small.ttf", "rct2.scenery_wall.whg", "rct2.scenery_wall.whgg", "rct2.scenery_wall.wch", "rct2.scenery_wall.wchg", + "rct2.scenery_small.tg1", "rct2.scenery_small.tg2", "rct2.scenery_small.tg3", "rct2.scenery_small.tg4", "rct2.scenery_small.tg5", "rct2.scenery_small.tg6", "rct2.scenery_small.tg7", "rct2.scenery_small.tg8", "rct2.scenery_small.tg9", "rct2.scenery_small.tg10", "rct2.scenery_small.tg11", "rct2.scenery_small.tg12", "rct2.scenery_small.tg13", "rct2.scenery_small.tg14", "rct2.scenery_small.tg15", "rct2.scenery_small.tg16", "rct2.scenery_small.tg17", "rct2.scenery_small.tg18", "rct2.scenery_small.tg19", "rct2.scenery_small.tg20", "rct2.scenery_small.tg21", + "rct2.scenery_wall.wbr1a", "rct2.scenery_wall.wbr2a", "rct2.scenery_wall.wallbb34", "rct2.scenery_wall.walltn32", "rct2.scenery_small.tntroof1", "rct2.scenery_wall.wallbb33", "rct2.scenery_wall.wallbb32", "rct2.scenery_wall.wallbb16", "rct2.scenery_wall.wallbb8", "rct2.scenery_small.roof5", "rct2.scenery_small.roof7", "rct2.scenery_wall.wallrs32", "rct2.scenery_wall.wallrs16", "rct2.scenery_wall.wallrs8", "rct2.scenery_wall.wallbr32", "rct2.scenery_wall.wallbr16", "rct2.scenery_wall.wallbr8", "rct2.scenery_wall.wallbrdr", "rct2.scenery_wall.wallbrwn", "rct2.scenery_small.brbase", "rct2.scenery_small.roof1", "rct2.scenery_small.roof2", "rct2.scenery_small.roof3", "rct2.scenery_small.roof4", "rct2.scenery_wall.wallcb32", "rct2.scenery_wall.wallcb16", "rct2.scenery_wall.wallcb8", "rct2.scenery_wall.wallcbdr", "rct2.scenery_wall.wallcbwn", "rct2.scenery_small.brbase2", "rct2.scenery_small.cwbcrv33", "rct2.scenery_small.cwbcrv32", "rct2.scenery_small.brcrrf1", "rct2.scenery_small.roof6", "rct2.scenery_small.roof8", "rct2.scenery_wall.wallcf32", "rct2.scenery_wall.wallcf16", "rct2.scenery_wall.wallcf8", "rct2.scenery_wall.wallcfdr", "rct2.scenery_wall.wallcfwn", "rct2.scenery_wall.wallcfar", "rct2.scenery_small.brbase3", "rct2.scenery_small.cwfcrv33", "rct2.scenery_small.cwfcrv32", "rct2.scenery_small.brcrrf2", "rct2.scenery_small.roof9", "rct2.scenery_small.roof11", "rct2.scenery_small.roof10", "rct2.scenery_small.roof12", "rct2.scenery_small.corroof2", "rct2.scenery_wall.wallco16", "rct2.scenery_small.corroof", "rct2.scenery_wall.walllt32", "rct2.scenery_wall.wallsk16", "rct2.scenery_wall.wallsk32", "rct2.scenery_small.sktdw2", "rct2.scenery_small.sktdw", "rct2.scenery_small.sktbase", "rct2.scenery_small.sktbaset", "rct2.scenery_small.suppw2", "rct2.scenery_small.suppw1", "rct2.scenery_small.suppw3", "rct2.scenery_small.suppleg1", "rct2.scenery_small.suppleg2", "rct2.scenery_small.sumrf", "rct2.scenery_wall.wallrh32", + "rct2.scenery_wall.wmf", "rct2.scenery_wall.wmfg", "rct2.scenery_wall.wsw", "rct2.scenery_wall.wswg", "rct2.scenery_wall.wfw1", "rct1.scenery_wall.wooden_fence_red", "rct2.scenery_wall.wfwg", "rct2.scenery_wall.wpf", "rct2.scenery_wall.wpfg", "rct2.scenery_wall.wsw1", "rct2.scenery_wall.wsw2", "rct2.scenery_wall.wbr1", "rct2.scenery_wall.wbrg", "rct2.scenery_wall.wbr2", "rct2.scenery_wall.wbr3", "rct2.scenery_wall.wallmm16", "rct2.scenery_wall.wallmm17", + "rct2.footpath_item.lamp1", "rct2.footpath_item.lamp2", "rct2.footpath_item.litter1", "rct2.footpath_item.bench1", "rct2.footpath_item.qtv1", "rct2.footpath_banner.bn1", "rct2.scenery_wall.wallpost", "rct2.scenery_wall.wallsign", "rct2.scenery_large.ssig1", "rct2.scenery_large.ssig2", "rct2.scenery_large.ssig3", "rct2.scenery_large.ssig4" }, // RCT1_SCENERY_THEME_MINE - { "rct2.smh1", "rct2.smh2", "rct2.smn1", "rct2.tbw", "rct2.tbr1", "rct2.tbr2", "rct2.tml", "rct2.tmw", "rct2.tbr3", "rct2.tbr4", "rct2.tmj", "rct2.bn5", "rct2.wallwd8", "rct2.wallwd16", "rct2.wallwd32", "rct2.wallwd33", "rct2.wallmn32", "rct2.wdbase", "rct2.minroof1", "rct2.roof13", "rct2.littermn" }, + { "rct2.scenery_large.smh1", "rct2.scenery_large.smh2", "rct2.scenery_large.smn1", "rct2.scenery_small.tbw", "rct2.scenery_small.tbr1", "rct2.scenery_small.tbr2", "rct2.scenery_small.tml", "rct2.scenery_small.tmw", "rct2.scenery_small.tbr3", "rct2.scenery_small.tbr4", "rct2.scenery_small.tmj", "rct2.footpath_banner.bn5", "rct2.scenery_wall.wallwd8", "rct2.scenery_wall.wallwd16", "rct2.scenery_wall.wallwd32", "rct2.scenery_wall.wallwd33", "rct2.scenery_wall.wallmn32", "rct2.scenery_small.wdbase", "rct2.scenery_small.minroof1", "rct2.scenery_small.roof13", "rct2.footpath_item.littermn" }, // RCT1_SCENERY_THEME_CLASSICAL_ROMAN - { "rct2.scol", "rct2.tt1", "rct2.trms", "rct2.trws", "rct2.trc", "rct2.tqf", "rct2.wrw", "rct2.wrwa", "rct2.romroof2", "rct2.wc3", "rct2.romroof1", "rct2.bn3" }, + { "rct2.scenery_large.scol", "rct2.scenery_small.tt1", "rct2.scenery_small.trms", "rct2.scenery_small.trws", "rct2.scenery_small.trc", "rct2.scenery_small.tqf", "rct2.scenery_wall.wrw", "rct2.scenery_wall.wrwa", "rct2.scenery_small.romroof2", "rct2.scenery_wall.wc3", "rct2.scenery_small.romroof1", "rct2.footpath_banner.bn3" }, // RCT1_SCENERY_THEME_EGYPTIAN - { "rct2.sspx", "rct2.scln", "rct2.spyr", "rct2.tes1", "rct2.ten", "rct2.ters", "rct2.terb", "rct2.tep", "rct2.wew", "rct2.lamp3", "rct2.bn4", "rct2.benchstn" }, + { "rct2.scenery_large.sspx", "rct2.scenery_large.scln", "rct2.scenery_large.spyr", "rct2.scenery_small.tes1", "rct2.scenery_small.ten", "rct2.scenery_small.ters", "rct2.scenery_small.terb", "rct2.scenery_small.tep", "rct2.scenery_wall.wew", "rct2.footpath_item.lamp3", "rct2.footpath_banner.bn4", "rct2.footpath_item.benchstn" }, // RCT1_SCENERY_THEME_MARTIAN - { "rct2.smb", "rct2.tmo1", "rct2.tmo2", "rct2.tmo3", "rct2.tmo4", "rct2.tmo5", "rct2.svlc", "rct2.wmw", "rct2.lamp4" }, + { "rct2.scenery_large.smb", "rct2.scenery_small.tmo1", "rct2.scenery_small.tmo2", "rct2.scenery_small.tmo3", "rct2.scenery_small.tmo4", "rct2.scenery_small.tmo5", "rct2.scenery_large.svlc", "rct2.scenery_wall.wmw", "rct2.footpath_item.lamp4" }, // RCT1_SCENERY_THEME_JUMPING_FOUNTAINS (Single researchable scenery item) - { "rct2.jumpfnt1" }, + { "rct2.footpath_item.jumpfnt1" }, // RCT1_SCENERY_THEME_WONDERLAND - { "rct2.twh1", "rct2.twh2", "rct2.tst1", "rct2.tst2", "rct2.tms1", "rct2.tst3", "rct2.tst4", "rct2.tst5", "rct2.tas1", "rct2.tas2", "rct2.tas3", "rct2.tas4", "rct2.chbbase", "rct2.tp1", "rct2.tp2", "rct2.tk1", "rct2.tk2", "rct2.tr1", "rct2.tr2", "rct2.tq1", "rct2.tq2", "rct2.tb1", "rct2.tb2", "rct2.tk3", "rct2.tk4", "rct2.wcw1", "rct2.wcw2" }, + { "rct2.scenery_small.twh1", "rct2.scenery_small.twh2", "rct2.scenery_small.tst1", "rct2.scenery_small.tst2", "rct2.scenery_small.tms1", "rct2.scenery_small.tst3", "rct2.scenery_small.tst4", "rct2.scenery_small.tst5", "rct2.scenery_small.tas1", "rct2.scenery_small.tas2", "rct2.scenery_small.tas3", "rct2.scenery_small.tas4", "rct2.scenery_small.chbbase", "rct2.scenery_small.tp1", "rct2.scenery_small.tp2", "rct2.scenery_small.tk1", "rct2.scenery_small.tk2", "rct2.scenery_small.tr1", "rct2.scenery_small.tr2", "rct2.scenery_small.tq1", "rct2.scenery_small.tq2", "rct2.scenery_small.tb1", "rct2.scenery_small.tb2", "rct2.scenery_small.tk3", "rct2.scenery_small.tk4", "rct2.scenery_wall.wcw1", "rct2.scenery_wall.wcw2" }, // RCT1_SCENERY_THEME_JURASSIC - { "rct2.tbn", "rct2.tbn1", "rct2.tdn4", "rct2.tdn5", "rct2.sdn1", "rct2.sdn2", "rct2.sdn3", "rct2.wwtw", "rct2.wmww", "rct2.wwtwa", "rct2.wbw", "rct2.bn6" }, + { "rct2.scenery_small.tbn", "rct2.scenery_small.tbn1", "rct2.scenery_small.tdn4", "rct2.scenery_small.tdn5", "rct2.scenery_large.sdn1", "rct2.scenery_large.sdn2", "rct2.scenery_large.sdn3", "rct2.scenery_wall.wwtw", "rct2.scenery_wall.wmww", "rct2.scenery_wall.wwtwa", "rct2.scenery_wall.wbw", "rct2.footpath_banner.bn6" }, // RCT1_SCENERY_THEME_SPOOKY, - { "rct2.ssk1", "rct2.tdt1", "rct2.tdt2", "rct2.tdt3", "rct2.tmm1", "rct2.tmm2", "rct2.tmm3", "rct2.tgs1", "rct2.tgs2", "rct2.tgs3", "rct2.tgs4", "rct2.smskull", "rct2.wallrk32" }, + { "rct2.scenery_large.ssk1", "rct2.scenery_small.tdt1", "rct2.scenery_small.tdt2", "rct2.scenery_small.tdt3", "rct2.scenery_small.tmm1", "rct2.scenery_small.tmm2", "rct2.scenery_small.tmm3", "rct2.scenery_small.tgs1", "rct2.scenery_small.tgs2", "rct2.scenery_small.tgs3", "rct2.scenery_small.tgs4", "rct2.scenery_small.smskull", "rct2.scenery_wall.wallrk32" }, // RCT1_SCENERY_THEME_JUNGLE - { "rct2.tjt1", "rct2.tjt2", "rct2.tjb1", "rct2.tjt3", "rct2.tjt4", "rct2.tjp1", "rct2.tjb2", "rct2.tjt5", "rct2.tjb3", "rct2.tjb4", "rct2.tjt6", "rct2.tjp2", "rct2.tjf", "rct2.wpw1", "rct2.wpw2", "rct2.wjf", "rct2.bn2", "rct2.walljn32", "rct2.jngroof1", "rct2.roof14", "rct2.benchlog" }, + { "rct2.scenery_small.tjt1", "rct2.scenery_small.tjt2", "rct2.scenery_small.tjb1", "rct2.scenery_small.tjt3", "rct2.scenery_small.tjt4", "rct2.scenery_small.tjp1", "rct2.scenery_small.tjb2", "rct2.scenery_small.tjt5", "rct2.scenery_small.tjb3", "rct2.scenery_small.tjb4", "rct2.scenery_small.tjt6", "rct2.scenery_small.tjp2", "rct2.scenery_small.tjf", "rct2.scenery_wall.wpw1", "rct2.scenery_wall.wpw2", "rct2.scenery_wall.wjf", "rct2.footpath_banner.bn2", "rct2.scenery_wall.walljn32", "rct2.scenery_small.jngroof1", "rct2.scenery_small.roof14", "rct2.footpath_item.benchlog" }, // RCT1_SCENERY_THEME_ABSTRACT - { "rct2.tge1", "rct2.tge2", "rct2.tge3", "rct2.tge4", "rct2.tge5", "rct2.tgc1", "rct2.tgc2", "rct2.wallgl8", "rct2.wallgl16", "rct2.wallgl32", "rct2.georoof1", "rct2.wgw2", "rct2.georoof2" }, + { "rct2.scenery_small.tge1", "rct2.scenery_small.tge2", "rct2.scenery_small.tge3", "rct2.scenery_small.tge4", "rct2.scenery_small.tge5", "rct2.scenery_small.tgc1", "rct2.scenery_small.tgc2", "rct2.scenery_wall.wallgl8", "rct2.scenery_wall.wallgl16", "rct2.scenery_wall.wallgl32", "rct2.scenery_small.georoof1", "rct2.scenery_wall.wgw2", "rct2.scenery_small.georoof2" }, // RCT1_SCENERY_THEME_GARDEN_CLOCK (Single researchable scenery item) - { "rct2.tck" }, + { "rct2.scenery_small.tck" }, // RCT1_SCENERY_THEME_SNOW_ICE - { "rct2.sip", "rct2.tsm", "rct2.tig", "rct2.tsf1", "rct2.tsf2", "rct2.tsf3", "rct2.tsnc", "rct2.tsnb", "rct2.wc16", "rct2.wc17", "rct2.wc18", "rct2.jumpsnw1", "rct2.tcfs", "rct2.trfs", "rct2.trf3", "rct2.tnss", "rct2.bn8", "rct2.wallig16", "rct2.wallig24", "rct2.igroof" }, + { "rct2.scenery_large.sip", "rct2.scenery_small.tsm", "rct2.scenery_small.tig", "rct2.scenery_small.tsf1", "rct2.scenery_small.tsf2", "rct2.scenery_small.tsf3", "rct2.scenery_small.tsnc", "rct2.scenery_small.tsnb", "rct2.scenery_wall.wc16", "rct2.scenery_wall.wc17", "rct2.scenery_wall.wc18", "rct2.footpath_item.jumpsnw1", "rct2.scenery_small.tcfs", "rct2.scenery_small.trfs", "rct2.scenery_small.trf3", "rct2.scenery_small.tnss", "rct2.footpath_banner.bn8", "rct2.scenery_wall.wallig16", "rct2.scenery_wall.wallig24", "rct2.scenery_small.igroof" }, // RCT1_SCENERY_THEME_MEDIEVAL - { "rct2.tct1", "rct2.stb1", "rct2.stb2", "rct2.wc1", "rct2.wc4", "rct2.wc5", "rct2.wc6", "rct2.wc7", "rct2.wc8", "rct2.wallcz32", "rct2.wallcy32", "rct2.tct2", "rct2.stg1", "rct2.stg2", "rct2.wc2", "rct2.wc9", "rct2.wc10", "rct2.wc11", "rct2.wc12", "rct2.wc13", "rct2.wallcw32", "rct2.wallcx32", "rct2.tcn", "rct2.ttg", "rct2.sct", "rct2.soh1", "rct2.soh2", "rct2.soh3", "rct2.wpw3", "rct2.wallcfpc", "rct2.wallcbpc" }, + { "rct2.scenery_small.tct1", "rct2.scenery_large.stb1", "rct2.scenery_large.stb2", "rct2.scenery_wall.wc1", "rct2.scenery_wall.wc4", "rct2.scenery_wall.wc5", "rct2.scenery_wall.wc6", "rct2.scenery_wall.wc7", "rct2.scenery_wall.wc8", "rct2.scenery_wall.wallcz32", "rct2.scenery_wall.wallcy32", "rct2.scenery_small.tct2", "rct2.scenery_large.stg1", "rct2.scenery_large.stg2", "rct2.scenery_wall.wc2", "rct2.scenery_wall.wc9", "rct2.scenery_wall.wc10", "rct2.scenery_wall.wc11", "rct2.scenery_wall.wc12", "rct2.scenery_wall.wc13", "rct2.scenery_wall.wallcw32", "rct2.scenery_wall.wallcx32", "rct2.scenery_small.tcn", "rct2.scenery_small.ttg", "rct2.scenery_large.sct", "rct2.scenery_large.soh1", "rct2.scenery_large.soh2", "rct2.scenery_large.soh3", "rct2.scenery_wall.wpw3", "rct2.scenery_wall.wallcfpc", "rct2.scenery_wall.wallcbpc" }, // RCT1_SCENERY_THEME_SPACE - { "rct2.ssr", "rct2.sst", "rct2.ssh", "rct2.tscp", "rct2.tsph", "rct2.tsc2", "rct2.tsp1", "rct2.tsp2", "rct2.wallsp32", "rct2.spcroof1", "rct2.bn9", "rct2.benchspc", "rct2.littersp" }, + { "rct2.scenery_large.ssr", "rct2.scenery_large.sst", "rct2.scenery_large.ssh", "rct2.scenery_small.tscp", "rct2.scenery_small.tsph", "rct2.scenery_small.tsc2", "rct2.scenery_small.tsp1", "rct2.scenery_small.tsp2", "rct2.scenery_wall.wallsp32", "rct2.scenery_small.spcroof1", "rct2.footpath_banner.bn9", "rct2.footpath_item.benchspc", "rct2.footpath_item.littersp" }, // RCT1_SCENERY_THEME_CREEPY - { "rct2.tcd", "rct2.tsg", "rct2.tsk", "rct2.tgh1", "rct2.tgh2", "rct2.tsmp", "rct2.sgp", "rct2.wc14", "rct2.wc15", "rct2.tl0", "rct2.tl1", "rct2.tl2", "rct2.tl3", "rct2.tm0", "rct2.tm1", "rct2.tm2", "rct2.tm3" }, + { "rct2.scenery_small.tcd", "rct2.scenery_small.tsg", "rct2.scenery_small.tsk", "rct2.scenery_small.tgh1", "rct2.scenery_small.tgh2", "rct2.scenery_small.tsmp", "rct2.scenery_large.sgp", "rct2.scenery_wall.wc14", "rct2.scenery_wall.wc15", "rct2.scenery_small.tl0", "rct2.scenery_small.tl1", "rct2.scenery_small.tl2", "rct2.scenery_small.tl3", "rct2.scenery_small.tm0", "rct2.scenery_small.tm1", "rct2.scenery_small.tm2", "rct2.scenery_small.tm3" }, // RCT1_SCENERY_THEME_URBAN - { "rct2.shs1", "rct2.shs2", "rct2.sth", "rct2.sah", "rct2.sps", "rct2.sah2", "rct2.sah3", "rct2.sob", "rct2.wallu132", "rct2.wallu232" }, + { "rct2.scenery_large.shs1", "rct2.scenery_large.shs2", "rct2.scenery_large.sth", "rct2.scenery_large.sah", "rct2.scenery_large.sps", "rct2.scenery_large.sah2", "rct2.scenery_large.sah3", "rct2.scenery_large.sob", "rct2.scenery_wall.wallu132", "rct2.scenery_wall.wallu232" }, // RCT1_SCENERY_THEME_PAGODA - { "rct2.spg", "rct2.tly", "rct2.tgg", "rct2.toh1", "rct2.toh2", "rct2.tot1", "rct2.tot2", "rct2.tos", "rct2.tot3", "rct2.tot4", "rct2.toh3", "rct2.wallpg32", "rct2.pagroof1", "rct2.bn7" } + { "rct2.scenery_large.spg", "rct2.scenery_small.tly", "rct2.scenery_small.tgg", "rct2.scenery_small.toh1", "rct2.scenery_small.toh2", "rct2.scenery_small.tot1", "rct2.scenery_small.tot2", "rct2.scenery_small.tos", "rct2.scenery_small.tot3", "rct2.scenery_small.tot4", "rct2.scenery_small.toh3", "rct2.scenery_wall.wallpg32", "rct2.scenery_small.pagroof1", "rct2.footpath_banner.bn7" } }; return map[sceneryType]; } diff --git a/src/openrct2/rct12/RCT12.cpp b/src/openrct2/rct12/RCT12.cpp index 4f18ad03c9..6eafdabae6 100644 --- a/src/openrct2/rct12/RCT12.cpp +++ b/src/openrct2/rct12/RCT12.cpp @@ -1350,9 +1350,9 @@ RCT12TrackType OpenRCT2FlatTrackTypeToRCT12(track_type_t origTrackType) } static constexpr std::string_view _stationStyles[] = { - "rct2.station.plain", "rct2.station.wooden", "rct2.station.canvastent", "rct2.station.castlegrey", - "rct2.station.castlebrown", "rct2.station.jungle", "rct2.station.log", "rct2.station.classical", - "rct2.station.abstract", "rct2.station.snow", "rct2.station.pagoda", "rct2.station.space", + "rct2.station.plain", "rct2.station.wooden", "rct2.station.canvas_tent", "rct2.station.castle_grey", + "rct2.station.castle_brown", "rct2.station.jungle", "rct2.station.log", "rct2.station.classical", + "rct2.station.abstract", "rct2.station.snow", "rct2.station.pagoda", "rct2.station.space", "openrct2.station.noentrance" }; @@ -1390,41 +1390,41 @@ std::optional GetStyleFromMusicIdentifier(std::string_view identifier) void SetDefaultRCT2TerrainObjects(ObjectList& objectList) { // Surfaces - objectList.SetObject(ObjectType::TerrainSurface, 0, "rct2.surface.grass"); - objectList.SetObject(ObjectType::TerrainSurface, 1, "rct2.surface.sand"); - objectList.SetObject(ObjectType::TerrainSurface, 2, "rct2.surface.dirt"); - objectList.SetObject(ObjectType::TerrainSurface, 3, "rct2.surface.rock"); - objectList.SetObject(ObjectType::TerrainSurface, 4, "rct2.surface.martian"); - objectList.SetObject(ObjectType::TerrainSurface, 5, "rct2.surface.chequerboard"); - objectList.SetObject(ObjectType::TerrainSurface, 6, "rct2.surface.grassclumps"); - objectList.SetObject(ObjectType::TerrainSurface, 7, "rct2.surface.ice"); - objectList.SetObject(ObjectType::TerrainSurface, 8, "rct2.surface.gridred"); - objectList.SetObject(ObjectType::TerrainSurface, 9, "rct2.surface.gridyellow"); - objectList.SetObject(ObjectType::TerrainSurface, 10, "rct2.surface.gridpurple"); - objectList.SetObject(ObjectType::TerrainSurface, 11, "rct2.surface.gridgreen"); - objectList.SetObject(ObjectType::TerrainSurface, 12, "rct2.surface.sandred"); - objectList.SetObject(ObjectType::TerrainSurface, 13, "rct2.surface.sandbrown"); - objectList.SetObject(ObjectType::TerrainSurface, 14, "rct1.aa.surface.roofred"); - objectList.SetObject(ObjectType::TerrainSurface, 15, "rct1.ll.surface.roofgrey"); - objectList.SetObject(ObjectType::TerrainSurface, 16, "rct1.ll.surface.rust"); - objectList.SetObject(ObjectType::TerrainSurface, 17, "rct1.ll.surface.wood"); + objectList.SetObject(ObjectType::TerrainSurface, 0, "rct2.terrain_surface.grass"); + objectList.SetObject(ObjectType::TerrainSurface, 1, "rct2.terrain_surface.sand"); + objectList.SetObject(ObjectType::TerrainSurface, 2, "rct2.terrain_surface.dirt"); + objectList.SetObject(ObjectType::TerrainSurface, 3, "rct2.terrain_surface.rock"); + objectList.SetObject(ObjectType::TerrainSurface, 4, "rct2.terrain_surface.martian"); + objectList.SetObject(ObjectType::TerrainSurface, 5, "rct2.terrain_surface.chequerboard"); + objectList.SetObject(ObjectType::TerrainSurface, 6, "rct2.terrain_surface.grass_clumps"); + objectList.SetObject(ObjectType::TerrainSurface, 7, "rct2.terrain_surface.ice"); + objectList.SetObject(ObjectType::TerrainSurface, 8, "rct2.terrain_surface.grid_red"); + objectList.SetObject(ObjectType::TerrainSurface, 9, "rct2.terrain_surface.grid_yellow"); + objectList.SetObject(ObjectType::TerrainSurface, 10, "rct2.terrain_surface.grid_purple"); + objectList.SetObject(ObjectType::TerrainSurface, 11, "rct2.terrain_surface.grid_green"); + objectList.SetObject(ObjectType::TerrainSurface, 12, "rct2.terrain_surface.sand_red"); + objectList.SetObject(ObjectType::TerrainSurface, 13, "rct2.terrain_surface.sand_brown"); + objectList.SetObject(ObjectType::TerrainSurface, 14, "rct1aa.terrain_surface.roof_red"); + objectList.SetObject(ObjectType::TerrainSurface, 15, "rct1ll.terrain_surface.roof_grey"); + objectList.SetObject(ObjectType::TerrainSurface, 16, "rct1ll.terrain_surface.rust"); + objectList.SetObject(ObjectType::TerrainSurface, 17, "rct1ll.terrain_surface.wood"); // Edges - objectList.SetObject(ObjectType::TerrainEdge, 0, "rct2.edge.rock"); - objectList.SetObject(ObjectType::TerrainEdge, 1, "rct2.edge.woodred"); - objectList.SetObject(ObjectType::TerrainEdge, 2, "rct2.edge.woodblack"); - objectList.SetObject(ObjectType::TerrainEdge, 3, "rct2.edge.ice"); - objectList.SetObject(ObjectType::TerrainEdge, 4, "rct1.edge.brick"); - objectList.SetObject(ObjectType::TerrainEdge, 5, "rct1.edge.iron"); - objectList.SetObject(ObjectType::TerrainEdge, 6, "rct1.aa.edge.grey"); - objectList.SetObject(ObjectType::TerrainEdge, 7, "rct1.aa.edge.yellow"); - objectList.SetObject(ObjectType::TerrainEdge, 8, "rct1.aa.edge.red"); - objectList.SetObject(ObjectType::TerrainEdge, 9, "rct1.ll.edge.purple"); - objectList.SetObject(ObjectType::TerrainEdge, 10, "rct1.ll.edge.green"); - objectList.SetObject(ObjectType::TerrainEdge, 11, "rct1.ll.edge.stonebrown"); - objectList.SetObject(ObjectType::TerrainEdge, 12, "rct1.ll.edge.stonegrey"); - objectList.SetObject(ObjectType::TerrainEdge, 13, "rct1.ll.edge.skyscrapera"); - objectList.SetObject(ObjectType::TerrainEdge, 14, "rct1.ll.edge.skyscraperb"); + objectList.SetObject(ObjectType::TerrainEdge, 0, "rct2.terrain_edge.rock"); + objectList.SetObject(ObjectType::TerrainEdge, 1, "rct2.terrain_edge.wood_red"); + objectList.SetObject(ObjectType::TerrainEdge, 2, "rct2.terrain_edge.wood_black"); + objectList.SetObject(ObjectType::TerrainEdge, 3, "rct2.terrain_edge.ice"); + objectList.SetObject(ObjectType::TerrainEdge, 4, "rct1.terrain_edge.brick"); + objectList.SetObject(ObjectType::TerrainEdge, 5, "rct1.terrain_edge.iron"); + objectList.SetObject(ObjectType::TerrainEdge, 6, "rct1aa.terrain_edge.grey"); + objectList.SetObject(ObjectType::TerrainEdge, 7, "rct1aa.terrain_edge.yellow"); + objectList.SetObject(ObjectType::TerrainEdge, 8, "rct1aa.terrain_edge.red"); + objectList.SetObject(ObjectType::TerrainEdge, 9, "rct1ll.terrain_edge.purple"); + objectList.SetObject(ObjectType::TerrainEdge, 10, "rct1ll.terrain_edge.green"); + objectList.SetObject(ObjectType::TerrainEdge, 11, "rct1ll.terrain_edge.stone_brown"); + objectList.SetObject(ObjectType::TerrainEdge, 12, "rct1ll.terrain_edge.stone_grey"); + objectList.SetObject(ObjectType::TerrainEdge, 13, "rct1ll.terrain_edge.skyscraper_a"); + objectList.SetObject(ObjectType::TerrainEdge, 14, "rct1ll.terrain_edge.skyscraper_b"); } void RCT12AddDefaultObjects(ObjectList& objectList) diff --git a/src/openrct2/rct2/RCT2.cpp b/src/openrct2/rct2/RCT2.cpp index 02129ac042..20b6ad4c2c 100644 --- a/src/openrct2/rct2/RCT2.cpp +++ b/src/openrct2/rct2/RCT2.cpp @@ -166,36 +166,47 @@ RCT12TrackType OpenRCT2TrackTypeToRCT2(track_type_t origTrackType) static FootpathMapping _footpathMappings[] = { // RCT2 mappings - { "PATHASH ", "rct2.pathsurface.ash", "rct2.pathsurface.queue.yellow", "rct2.railings.bambooblack" }, - { "PATHCRZY", "rct2.pathsurface.crazy", "rct2.pathsurface.queue.yellow", "rct2.railings.concrete" }, - { "PATHDIRT", "rct2.pathsurface.dirt", "rct2.pathsurface.queue.yellow", "rct2.railings.bamboobrown" }, - { "PATHSPCE", "rct2.pathsurface.space", "rct2.pathsurface.queue.red", "rct2.railings.space" }, - { "ROAD ", "rct2.pathsurface.road", "rct2.pathsurface.queue.blue", "rct2.railings.wood" }, - { "TARMACB ", "rct2.pathsurface.tarmac.brown", "rct2.pathsurface.queue.yellow", "rct2.railings.concrete" }, - { "TARMACG ", "rct2.pathsurface.tarmac.green", "rct2.pathsurface.queue.green", "rct2.railings.concretegreen" }, - { "TARMAC ", "rct2.pathsurface.tarmac", "rct2.pathsurface.queue.blue", "rct2.railings.wood" }, + { "PATHASH ", "rct2.footpath_surface.ash", "rct2.footpath_surface.queue_yellow", "rct2.footpath_railings.bamboo_black" }, + { "PATHCRZY", "rct2.footpath_surface.crazy_paving", "rct2.footpath_surface.queue_yellow", + "rct2.footpath_railings.concrete" }, + { "PATHDIRT", "rct2.footpath_surface.dirt", "rct2.footpath_surface.queue_yellow", "rct2.footpath_railings.bamboo_brown" }, + { "PATHSPCE", "rct2.footpath_surface.tarmac_red", "rct2.footpath_surface.queue_red", "rct2.footpath_railings.space" }, + { "ROAD ", "rct2.footpath_surface.road", "rct2.footpath_surface.queue_blue", "rct2.footpath_railings.wood" }, + { "TARMACB ", "rct2.footpath_surface.tarmac_brown", "rct2.footpath_surface.queue_yellow", + "rct2.footpath_railings.concrete" }, + { "TARMACG ", "rct2.footpath_surface.tarmac_green", "rct2.footpath_surface.queue_green", + "rct2.footpath_railings.concrete_green" }, + { "TARMAC ", "rct2.footpath_surface.tarmac", "rct2.footpath_surface.queue_blue", "rct2.footpath_railings.wood" }, // Time Twister - { "1920PATH", "rct2.tt.pathsurface.pavement", "rct2.tt.pathsurface.queue.pavement", "rct2.tt.pathrailings.pavement" }, - { "FUTRPATH", "rct2.tt.pathsurface.circuitboard", "rct2.tt.pathsurface.queue.circuitboard", - "rct2.tt.pathrailings.circuitboard" }, - { "FUTRPAT2", "rct2.tt.pathsurface.circuitboard", "rct2.tt.pathsurface.queue.circuitboard", "openrct2.railings.invisible" }, - { "JURRPATH", "rct2.tt.pathsurface.rocky", "rct2.pathsurface.queue.yellow", "rct2.tt.pathrailings.rocky" }, - { "MEDIPATH", "rct2.tt.pathsurface.medieval", "rct2.pathsurface.queue.yellow", "rct2.tt.pathrailings.medieval" }, - { "MYTHPATH", "rct2.tt.pathsurface.mosaic", "rct2.pathsurface.queue.yellow", "rct2.tt.pathrailings.balustrade" }, - { "RANBPATH", "rct2.tt.pathsurface.rainbow", "rct2.tt.pathsurface.queue.rainbow", "rct2.tt.pathrailings.rainbow" }, + { "1920PATH", "rct2tt.footpath_surface.pavement", "rct2tt.footpath_surface.queue_pavement", + "rct2tt.pathrailings.pavement" }, + { "FUTRPATH", "rct2tt.footpath_surface.circuitboard", "rct2tt.footpath_surface.queue_circuitboard", + "rct2tt.pathrailings.circuitboard" }, + { "FUTRPAT2", "rct2tt.footpath_surface.circuitboard", "rct2tt.footpath_surface.queue_circuitboard", + "openrct2.footpath_railings.invisible" }, + { "JURRPATH", "rct2tt.footpath_surface.rocky", "rct2.footpath_surface.queue_yellow", "rct2tt.pathrailings.rocky" }, + { "MEDIPATH", "rct2tt.footpath_surface.medieval", "rct2.footpath_surface.queue_yellow", "rct2tt.pathrailings.medieval" }, + { "MYTHPATH", "rct2tt.footpath_surface.mosaic", "rct2.footpath_surface.queue_yellow", "rct2tt.pathrailings.balustrade" }, + { "RANBPATH", "rct2tt.footpath_surface.rainbow", "rct2tt.footpath_surface.queue_rainbow", "rct2tt.pathrailings.rainbow" }, // RCT 1 mappings (for reverse lookup) - { "PATHASH ", "rct1.aa.pathsurface.ash", "rct1.aa.pathsurface.queue.yellow", "rct2.railings.bambooblack" }, - { "PATHCRZY", "rct1.pathsurface.crazy", "rct1.aa.pathsurface.queue.yellow", "rct2.railings.concrete" }, - { "PATHDIRT", "rct1.pathsurface.dirt", "rct1.aa.pathsurface.queue.yellow", "rct2.railings.bamboobrown" }, - { "PATHSPCE", "rct1.aa.pathsurface.space", "rct1.pathsurface.queue.red", "rct1.ll.railings.space" }, - { "TARMACB ", "rct1.aa.pathsurface.tarmac.brown", "rct1.aa.pathsurface.queue.yellow", "rct2.railings.concrete" }, - { "TARMACG ", "rct1.aa.pathsurface.tarmac.green", "rct1.aa.pathsurface.queue.green", "rct2.railings.concretegreen" }, - { "TARMAC ", "rct1.pathsurface.tarmac", "rct1.pathsurface.queue.blue", "rct2.railings.wood" }, - { "PATHCRZY", "rct1.pathsurface.tile.brown", "rct1.aa.pathsurface.queue.yellow", "rct2.railings.concrete" }, - { "PATHCRZY", "rct1.aa.pathsurface.tile.grey", "rct1.pathsurface.queue.blue", "rct2.railings.concrete" }, - { "PATHCRZY", "rct1.ll.pathsurface.tile.red", "rct1.pathsurface.queue.red", "rct2.railings.concrete" }, - { "PATHCRZY", "rct1.ll.pathsurface.tile.green", "rct1.aa.pathsurface.queue.green", "rct2.railings.concrete" }, + { "PATHASH ", "rct1aa.footpath_surface.ash", "rct1aa.footpath_surface.queue_yellow", + "rct2.footpath_railings.bamboo_black" }, + { "PATHCRZY", "rct1.footpath_surface.crazy_paving", "rct1aa.footpath_surface.queue_yellow", + "rct2.footpath_railings.concrete" }, + { "PATHDIRT", "rct1.footpath_surface.dirt", "rct1aa.footpath_surface.queue_yellow", "rct2.footpath_railings.bamboo_brown" }, + { "PATHSPCE", "rct1aa.footpath_surface.tarmac_red", "rct1.footpath_surface.queue_red", "rct1ll.footpath_railings.space" }, + { "TARMACB ", "rct1aa.footpath_surface.tarmac_brown", "rct1aa.footpath_surface.queue_yellow", + "rct2.footpath_railings.concrete" }, + { "TARMACG ", "rct1aa.footpath_surface.tarmac_green", "rct1aa.footpath_surface.queue_green", + "rct2.footpath_railings.concrete_green" }, + { "TARMAC ", "rct1.footpath_surface.tarmac", "rct1.footpath_surface.queue_blue", "rct2.footpath_railings.wood" }, + { "PATHCRZY", "rct1.footpath_surface.tiles_brown", "rct1aa.footpath_surface.queue_yellow", + "rct2.footpath_railings.concrete" }, + { "PATHCRZY", "rct1aa.footpath_surface.tiles_grey", "rct1.footpath_surface.queue_blue", "rct2.footpath_railings.concrete" }, + { "PATHCRZY", "rct1ll.footpath_surface.tiles_red", "rct1.footpath_surface.queue_red", "rct2.footpath_railings.concrete" }, + { "PATHCRZY", "rct1ll.footpath_surface.tiles_green", "rct1aa.footpath_surface.queue_green", + "rct2.footpath_railings.concrete" }, }; const FootpathMapping* GetFootpathSurfaceId(const ObjectEntryDescriptor& desc, bool ideallyLoaded, bool isQueue) diff --git a/src/openrct2/world/MapGen.cpp b/src/openrct2/world/MapGen.cpp index d3da1647a4..3a612cf856 100644 --- a/src/openrct2/world/MapGen.cpp +++ b/src/openrct2/world/MapGen.cpp @@ -85,8 +85,9 @@ static constexpr const char* SnowTrees[] = { #pragma endregion // Randomly chosen base terrains. We rarely want a whole map made out of chequerboard or rock. -static constexpr const std::string_view BaseTerrain[] = { "rct2.surface.grass", "rct2.surface.sand", "rct2.surface.sandbrown", - "rct2.surface.dirt", "rct2.surface.ice" }; +static constexpr const std::string_view BaseTerrain[] = { "rct2.terrain_surface.grass", "rct2.terrain_surface.sand", + "rct2.terrain_surface.sand_brown", "rct2.terrain_surface.dirt", + "rct2.terrain_surface.ice" }; static void mapgen_place_trees(); static void mapgen_set_water_level(int32_t waterLevel); @@ -151,12 +152,12 @@ void mapgen_generate(mapgen_settings* settings) if (edgeTexture.empty()) { // Base edge type on surface type - if (floorTexture == "rct2.surface.dirt") - edgeTexture = "rct2.edge.woodred"; - else if (floorTexture == "rct2.surface.ice") - edgeTexture = "rct2.edge.ice"; + if (floorTexture == "rct2.terrain_surface.dirt") + edgeTexture = "rct2.terrain_edge.wood_red"; + else if (floorTexture == "rct2.terrain_surface.ice") + edgeTexture = "rct2.terrain_edge.ice"; else - edgeTexture = "rct2.edge.rock"; + edgeTexture = "rct2.terrain_edge.rock"; } auto floorTextureId = object_manager_get_loaded_object_entry_index(ObjectEntryDescriptor(floorTexture)); @@ -203,15 +204,15 @@ void mapgen_generate(mapgen_settings* settings) // Add sandy beaches std::string beachTexture = std::string(floorTexture); - if (settings->floor == -1 && floorTexture == "rct2.surface.grass") + if (settings->floor == -1 && floorTexture == "rct2.terrain_surface.grass") { switch (util_rand() % 4) { case 0: - beachTexture = "rct2.surface.sand"; + beachTexture = "rct2.terrain_surface.sand"; break; case 1: - beachTexture = "rct2.surface.sandbrown"; + beachTexture = "rct2.terrain_surface.sand_brown"; break; } } @@ -256,19 +257,20 @@ static void mapgen_place_tree(int32_t type, const CoordsXY& loc) static bool MapGenSurfaceTakesGrassTrees(const TerrainSurfaceObject& surface) { const auto& id = surface.GetIdentifier(); - return id == "rct2.surface.grass" || id == "rct2.surface.grassclumps" || id == "rct2.surface.dirt"; + return id == "rct2.terrain_surface.grass" || id == "rct2.terrain_surface.grass_clumps" || id == "rct2.terrain_surface.dirt"; } static bool MapGenSurfaceTakesSandTrees(const TerrainSurfaceObject& surface) { const auto& id = surface.GetIdentifier(); - return id == "rct2.surface.sand" || id == "rct2.surface.sandbrown" || id == "rct2.surface.sandred"; + return id == "rct2.terrain_surface.sand" || id == "rct2.terrain_surface.sand_brown" + || id == "rct2.terrain_surface.sand_red"; } static bool MapGenSurfaceTakesSnowTrees(const TerrainSurfaceObject& surface) { const auto& id = surface.GetIdentifier(); - return id == "rct2.surface.ice"; + return id == "rct2.terrain_surface.ice"; } /**