1
0
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:
Aaron van Geffen
2024-09-10 14:56:54 +02:00
parent e2d05642ae
commit 0c4429e60f
3 changed files with 49 additions and 49 deletions

View File

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

View File

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

View File

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