mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-06 06:32:56 +01:00
Rename baseHeight, waterLevel, landTexture, edgeTexture settings
This commit is contained in:
@@ -310,10 +310,10 @@ namespace OpenRCT2::Ui::Windows
|
||||
// Base
|
||||
.algorithm = MapGenAlgorithm::blank,
|
||||
.mapSize{ 150, 150 },
|
||||
.height = 12,
|
||||
.water_level = 6,
|
||||
.floor = 0,
|
||||
.wall = 0,
|
||||
.baseHeight = 12,
|
||||
.waterLevel = 6,
|
||||
.landTexture = 0,
|
||||
.edgeTexture = 0,
|
||||
|
||||
// Features (e.g. tree, rivers, lakes etc.)
|
||||
.trees = true,
|
||||
@@ -461,17 +461,17 @@ namespace OpenRCT2::Ui::Windows
|
||||
switch (mapgenSettings.algorithm)
|
||||
{
|
||||
case MapGenAlgorithm::blank:
|
||||
mapgenSettings.height += 2;
|
||||
mapgenSettings.water_level += 2;
|
||||
mapgenSettings.baseHeight += 2;
|
||||
mapgenSettings.waterLevel += 2;
|
||||
break;
|
||||
|
||||
case MapGenAlgorithm::simplexNoise:
|
||||
mapgenSettings.height += 2;
|
||||
mapgenSettings.water_level += 2;
|
||||
mapgenSettings.baseHeight += 2;
|
||||
mapgenSettings.waterLevel += 2;
|
||||
if (_randomTerrain)
|
||||
{
|
||||
mapgenSettings.floor = -1;
|
||||
mapgenSettings.wall = -1;
|
||||
mapgenSettings.landTexture = -1;
|
||||
mapgenSettings.edgeTexture = -1;
|
||||
}
|
||||
|
||||
mapgenSettings.simplex_low = UtilRand() % 4;
|
||||
@@ -481,12 +481,12 @@ namespace OpenRCT2::Ui::Windows
|
||||
break;
|
||||
|
||||
case MapGenAlgorithm::simplexCustom:
|
||||
mapgenSettings.water_level += kMinimumWaterHeight;
|
||||
mapgenSettings.waterLevel += kMinimumWaterHeight;
|
||||
mapgenSettings.simplex_base_freq /= 100.00f;
|
||||
if (_randomTerrain)
|
||||
{
|
||||
mapgenSettings.floor = -1;
|
||||
mapgenSettings.wall = -1;
|
||||
mapgenSettings.landTexture = -1;
|
||||
mapgenSettings.edgeTexture = -1;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -997,7 +997,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
ft.Add<int16_t>((BASESIZE_MAX - 12) / 2);
|
||||
WindowTextInputOpen(
|
||||
this, WIDX_BASE_HEIGHT, STR_BASE_HEIGHT, STR_ENTER_BASE_HEIGHT, ft, STR_FORMAT_INTEGER,
|
||||
(_settings.height - 12) / 2, 3);
|
||||
(_settings.baseHeight - 12) / 2, 3);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1008,11 +1008,11 @@ namespace OpenRCT2::Ui::Windows
|
||||
switch (widgetIndex)
|
||||
{
|
||||
case WIDX_BASE_HEIGHT_UP:
|
||||
_settings.height = std::min(_settings.height + 2, BASESIZE_MAX);
|
||||
_settings.baseHeight = std::min(_settings.baseHeight + 2, BASESIZE_MAX);
|
||||
Invalidate();
|
||||
break;
|
||||
case WIDX_BASE_HEIGHT_DOWN:
|
||||
_settings.height = std::max(_settings.height - 2, BASESIZE_MIN);
|
||||
_settings.baseHeight = std::max(_settings.baseHeight - 2, BASESIZE_MIN);
|
||||
Invalidate();
|
||||
break;
|
||||
case WIDX_RANDOM_TERRAIN:
|
||||
@@ -1020,10 +1020,10 @@ namespace OpenRCT2::Ui::Windows
|
||||
Invalidate();
|
||||
break;
|
||||
case WIDX_FLOOR_TEXTURE:
|
||||
LandTool::ShowSurfaceStyleDropdown(this, widget, _settings.floor);
|
||||
LandTool::ShowSurfaceStyleDropdown(this, widget, _settings.landTexture);
|
||||
break;
|
||||
case WIDX_WALL_TEXTURE:
|
||||
LandTool::ShowEdgeStyleDropdown(this, widget, _settings.wall);
|
||||
LandTool::ShowEdgeStyleDropdown(this, widget, _settings.edgeTexture);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1052,7 +1052,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
switch (widgetIndex)
|
||||
{
|
||||
case WIDX_BASE_HEIGHT:
|
||||
_settings.height = std::clamp((value * 2) + 12, BASESIZE_MIN, BASESIZE_MAX);
|
||||
_settings.baseHeight = std::clamp((value * 2) + 12, BASESIZE_MIN, BASESIZE_MAX);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1069,7 +1069,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
if (dropdownIndex == -1)
|
||||
dropdownIndex = gDropdownHighlightedIndex;
|
||||
|
||||
type = (dropdownIndex == -1) ? _settings.floor : dropdownIndex;
|
||||
type = (dropdownIndex == -1) ? _settings.landTexture : dropdownIndex;
|
||||
|
||||
if (gLandToolTerrainSurface == type)
|
||||
{
|
||||
@@ -1078,7 +1078,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
else
|
||||
{
|
||||
gLandToolTerrainSurface = type;
|
||||
_settings.floor = type;
|
||||
_settings.landTexture = type;
|
||||
}
|
||||
Invalidate();
|
||||
break;
|
||||
@@ -1086,7 +1086,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
if (dropdownIndex == -1)
|
||||
dropdownIndex = gDropdownHighlightedIndex;
|
||||
|
||||
type = (dropdownIndex == -1) ? _settings.wall : dropdownIndex;
|
||||
type = (dropdownIndex == -1) ? _settings.edgeTexture : dropdownIndex;
|
||||
|
||||
if (gLandToolTerrainEdge == type)
|
||||
{
|
||||
@@ -1095,7 +1095,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
else
|
||||
{
|
||||
gLandToolTerrainEdge = type;
|
||||
_settings.wall = type;
|
||||
_settings.edgeTexture = type;
|
||||
}
|
||||
Invalidate();
|
||||
break;
|
||||
@@ -1128,7 +1128,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
{
|
||||
auto& objManager = GetContext()->GetObjectManager();
|
||||
const auto surfaceObj = static_cast<TerrainSurfaceObject*>(
|
||||
objManager.GetLoadedObject(ObjectType::TerrainSurface, _settings.floor));
|
||||
objManager.GetLoadedObject(ObjectType::TerrainSurface, _settings.landTexture));
|
||||
ImageId surfaceImage;
|
||||
if (surfaceObj != nullptr)
|
||||
{
|
||||
@@ -1141,7 +1141,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
|
||||
ImageId edgeImage;
|
||||
const auto edgeObj = static_cast<TerrainEdgeObject*>(
|
||||
objManager.GetLoadedObject(ObjectType::TerrainEdge, _settings.wall));
|
||||
objManager.GetLoadedObject(ObjectType::TerrainEdge, _settings.edgeTexture));
|
||||
if (edgeObj != nullptr)
|
||||
{
|
||||
edgeImage = ImageId(edgeObj->IconImageId);
|
||||
@@ -1192,7 +1192,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
{ textColour });
|
||||
|
||||
auto ft = Formatter();
|
||||
ft.Add<uint16_t>((_settings.height - 12) / 2);
|
||||
ft.Add<uint16_t>((_settings.baseHeight - 12) / 2);
|
||||
DrawTextBasic(
|
||||
dpi, windowPos + ScreenCoordsXY{ widgets[WIDX_BASE_HEIGHT].left + 1, widgets[WIDX_BASE_HEIGHT].top + 1 },
|
||||
STR_COMMA16, ft, { colours[1] });
|
||||
@@ -1215,7 +1215,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
ft.Add<int16_t>((WATERLEVEL_MAX - 12) / 2);
|
||||
WindowTextInputOpen(
|
||||
this, WIDX_WATER_LEVEL, STR_WATER_LEVEL, STR_ENTER_WATER_LEVEL, ft, STR_FORMAT_INTEGER,
|
||||
(_settings.water_level - 12) / 2, 3);
|
||||
(_settings.waterLevel - 12) / 2, 3);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1233,11 +1233,11 @@ namespace OpenRCT2::Ui::Windows
|
||||
switch (widgetIndex)
|
||||
{
|
||||
case WIDX_WATER_LEVEL_UP:
|
||||
_settings.water_level = std::min(_settings.water_level + 2, WATERLEVEL_MAX);
|
||||
_settings.waterLevel = std::min(_settings.waterLevel + 2, WATERLEVEL_MAX);
|
||||
Invalidate();
|
||||
break;
|
||||
case WIDX_WATER_LEVEL_DOWN:
|
||||
_settings.water_level = std::max(_settings.water_level - 2, WATERLEVEL_MIN);
|
||||
_settings.waterLevel = std::max(_settings.waterLevel - 2, WATERLEVEL_MIN);
|
||||
Invalidate();
|
||||
break;
|
||||
}
|
||||
@@ -1267,7 +1267,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
switch (widgetIndex)
|
||||
{
|
||||
case WIDX_WATER_LEVEL:
|
||||
_settings.water_level = std::clamp((value * 2) + 12, WATERLEVEL_MIN, WATERLEVEL_MAX);
|
||||
_settings.waterLevel = std::clamp((value * 2) + 12, WATERLEVEL_MIN, WATERLEVEL_MAX);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1299,7 +1299,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
{ textColour });
|
||||
|
||||
auto ft = Formatter();
|
||||
ft.Add<uint16_t>((_settings.water_level - 12) / 2);
|
||||
ft.Add<uint16_t>((_settings.waterLevel - 12) / 2);
|
||||
DrawTextBasic(
|
||||
dpi, windowPos + ScreenCoordsXY{ widgets[WIDX_WATER_LEVEL].left + 1, widgets[WIDX_WATER_LEVEL].top + 1 },
|
||||
STR_COMMA16, ft, { colours[1] });
|
||||
|
||||
@@ -165,25 +165,25 @@ static void MapGenGenerateBlank(MapGenSettings* settings)
|
||||
auto surfaceElement = MapGetSurfaceElementAt(TileCoordsXY{ x, y });
|
||||
if (surfaceElement != nullptr)
|
||||
{
|
||||
surfaceElement->SetSurfaceObjectIndex(settings->floor);
|
||||
surfaceElement->SetEdgeObjectIndex(settings->wall);
|
||||
surfaceElement->BaseHeight = settings->height;
|
||||
surfaceElement->ClearanceHeight = settings->height;
|
||||
surfaceElement->SetSurfaceObjectIndex(settings->landTexture);
|
||||
surfaceElement->SetEdgeObjectIndex(settings->edgeTexture);
|
||||
surfaceElement->BaseHeight = settings->baseHeight;
|
||||
surfaceElement->ClearanceHeight = settings->baseHeight;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MapGenSetWaterLevel(settings->water_level);
|
||||
MapGenSetWaterLevel(settings->waterLevel);
|
||||
}
|
||||
|
||||
static void MapGenGenerateSimplex(MapGenSettings* settings)
|
||||
{
|
||||
auto& objectManager = OpenRCT2::GetContext()->GetObjectManager();
|
||||
|
||||
const auto selectedFloor = TerrainSurfaceObject::GetById(settings->floor);
|
||||
const auto selectedFloor = TerrainSurfaceObject::GetById(settings->landTexture);
|
||||
std::string_view floorTexture = selectedFloor != nullptr ? selectedFloor->GetIdentifier() : "";
|
||||
|
||||
const auto selectedEdge = TerrainEdgeObject::GetById(settings->wall);
|
||||
const auto selectedEdge = TerrainEdgeObject::GetById(settings->edgeTexture);
|
||||
std::string_view edgeTexture = selectedFloor != nullptr ? selectedEdge->GetIdentifier() : "";
|
||||
|
||||
if (floorTexture.empty())
|
||||
@@ -232,8 +232,8 @@ static void MapGenGenerateSimplex(MapGenSettings* settings)
|
||||
{
|
||||
surfaceElement->SetSurfaceObjectIndex(floorTextureId);
|
||||
surfaceElement->SetEdgeObjectIndex(edgeTextureId);
|
||||
surfaceElement->BaseHeight = settings->height;
|
||||
surfaceElement->ClearanceHeight = settings->height;
|
||||
surfaceElement->BaseHeight = settings->baseHeight;
|
||||
surfaceElement->ClearanceHeight = settings->baseHeight;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -256,7 +256,7 @@ static void MapGenGenerateSimplex(MapGenSettings* settings)
|
||||
}
|
||||
|
||||
// Add the water
|
||||
MapGenSetWaterLevel(settings->water_level);
|
||||
MapGenSetWaterLevel(settings->waterLevel);
|
||||
}
|
||||
|
||||
static void MapGenAddBeaches(MapGenSettings* settings)
|
||||
@@ -284,7 +284,7 @@ static void MapGenAddBeaches(MapGenSettings* settings)
|
||||
{
|
||||
auto surfaceElement = MapGetSurfaceElementAt(TileCoordsXY{ x, y });
|
||||
|
||||
if (surfaceElement != nullptr && surfaceElement->BaseHeight < settings->water_level + 6)
|
||||
if (surfaceElement != nullptr && surfaceElement->BaseHeight < settings->waterLevel + 6)
|
||||
surfaceElement->SetSurfaceObjectIndex(beachTextureId);
|
||||
}
|
||||
}
|
||||
@@ -526,7 +526,7 @@ static void MapGenSetHeight(MapGenSettings* settings)
|
||||
surfaceElement->BaseHeight = std::max(2, baseHeight * 2);
|
||||
|
||||
// If base height is below water level, lower it to create more natural shorelines
|
||||
if (surfaceElement->BaseHeight >= 4 && surfaceElement->BaseHeight <= settings->water_level)
|
||||
if (surfaceElement->BaseHeight >= 4 && surfaceElement->BaseHeight <= settings->waterLevel)
|
||||
surfaceElement->BaseHeight -= 2;
|
||||
|
||||
surfaceElement->ClearanceHeight = surfaceElement->BaseHeight;
|
||||
@@ -903,9 +903,9 @@ static void MapGenGenerateFromHeightmapImage(MapGenSettings* settings)
|
||||
surfaceElement->ClearanceHeight = surfaceElement->BaseHeight;
|
||||
|
||||
// Set water level
|
||||
if (surfaceElement->BaseHeight < settings->water_level)
|
||||
if (surfaceElement->BaseHeight < settings->waterLevel)
|
||||
{
|
||||
surfaceElement->SetWaterHeight(settings->water_level * kCoordsZStep);
|
||||
surfaceElement->SetWaterHeight(settings->waterLevel * kCoordsZStep);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,10 +25,10 @@ struct MapGenSettings
|
||||
// Base
|
||||
MapGenAlgorithm algorithm;
|
||||
TileCoordsXY mapSize;
|
||||
int32_t height;
|
||||
int32_t water_level;
|
||||
int32_t floor;
|
||||
int32_t wall;
|
||||
int32_t baseHeight;
|
||||
int32_t waterLevel;
|
||||
int32_t landTexture;
|
||||
int32_t edgeTexture;
|
||||
|
||||
// Features (e.g. tree, rivers, lakes etc.)
|
||||
bool trees;
|
||||
|
||||
Reference in New Issue
Block a user