Update object names

This commit is contained in:
Gymnasiast 2021-05-19 15:12:50 +02:00
parent b6667b5b98
commit 3864281b92
No known key found for this signature in database
GPG Key ID: DBFFF47AB2CA3EDD
9 changed files with 847 additions and 810 deletions

View File

@ -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",

View File

@ -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];

View File

@ -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)

View File

@ -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)

View File

@ -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<std::string>({
"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<std::string>({ "rct2.pkent1" }));
AppendRequiredObjects(result, ObjectType::ParkEntrance, std::vector<std::string>({ "rct2.park_entrance.pkent1" }));
AppendRequiredObjects(result, ObjectType::Water, _waterEntry);
AppendRequiredObjects(result, ObjectType::TerrainSurface, _terrainSurfaceEntries);
AppendRequiredObjects(result, ObjectType::TerrainEdge, _terrainEdgeEntries);

File diff suppressed because it is too large Load Diff

View File

@ -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<uint8_t> 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)

View File

@ -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)

View File

@ -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";
}
/**