mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-15 11:03:00 +01:00
Merge simplex noise options into one
Adjust heightmap source dropdown width; keep open
This commit is contained in:
@@ -3751,32 +3751,31 @@ STR_6676 :At least one peep names object must be selected
|
||||
STR_6677 :Add beaches around water bodies
|
||||
STR_6678 :Heightmap source:
|
||||
STR_6679 :Flatland
|
||||
STR_6680 :Simplex noise (random)
|
||||
STR_6681 :Simplex noise (custom)
|
||||
STR_6682 :Heightmap file
|
||||
STR_6683 :Map Generator - Generator
|
||||
STR_6684 :Map Generator - Terrain
|
||||
STR_6685 :Map Generator - Water
|
||||
STR_6686 :Map Generator - Forests
|
||||
STR_6687 :Tree to land ratio:
|
||||
STR_6688 :Min. tree altitude:
|
||||
STR_6689 :Max. tree altitude:
|
||||
STR_6690 :{UINT16}%
|
||||
STR_6691 :Minimum land height
|
||||
STR_6692 :Enter min. land height between {COMMA16} and {COMMA16}
|
||||
STR_6693 :Maximum land height
|
||||
STR_6694 :Enter max. land height between {COMMA16} and {COMMA16}
|
||||
STR_6695 :Minimum tree altitude
|
||||
STR_6696 :Enter min. tree altitude between {COMMA16} and {COMMA16}
|
||||
STR_6697 :Maximum tree altitude
|
||||
STR_6698 :Enter max. tree altitude between {COMMA16} and {COMMA16}
|
||||
STR_6699 :Tree to land ratio
|
||||
STR_6700 :Enter tree to land ratio between {COMMA16} and {COMMA16}
|
||||
STR_6701 :Simplex Base Frequency
|
||||
STR_6702 :Enter Base Frequency between {COMMA2DP32} and {COMMA2DP32}
|
||||
STR_6703 :Simplex Octaves
|
||||
STR_6704 :Enter Octaves between {COMMA16} and {COMMA16}
|
||||
STR_6705 :{COMMA2DP32}
|
||||
STR_6680 :Simplex noise
|
||||
STR_6681 :Heightmap file
|
||||
STR_6682 :Map Generator - Generator
|
||||
STR_6683 :Map Generator - Terrain
|
||||
STR_6684 :Map Generator - Water
|
||||
STR_6685 :Map Generator - Forests
|
||||
STR_6686 :Tree to land ratio:
|
||||
STR_6687 :Min. tree altitude:
|
||||
STR_6688 :Max. tree altitude:
|
||||
STR_6689 :{UINT16}%
|
||||
STR_6690 :Minimum land height
|
||||
STR_6691 :Enter min. land height between {COMMA16} and {COMMA16}
|
||||
STR_6692 :Maximum land height
|
||||
STR_6693 :Enter max. land height between {COMMA16} and {COMMA16}
|
||||
STR_6694 :Minimum tree altitude
|
||||
STR_6695 :Enter min. tree altitude between {COMMA16} and {COMMA16}
|
||||
STR_6696 :Maximum tree altitude
|
||||
STR_6697 :Enter max. tree altitude between {COMMA16} and {COMMA16}
|
||||
STR_6698 :Tree to land ratio
|
||||
STR_6699 :Enter tree to land ratio between {COMMA16} and {COMMA16}
|
||||
STR_6700 :Simplex Base Frequency
|
||||
STR_6701 :Enter Base Frequency between {COMMA2DP32} and {COMMA2DP32}
|
||||
STR_6702 :Simplex Octaves
|
||||
STR_6703 :Enter Octaves between {COMMA16} and {COMMA16}
|
||||
STR_6704 :{COMMA2DP32}
|
||||
|
||||
#############
|
||||
# Scenarios #
|
||||
|
||||
@@ -36,7 +36,7 @@ namespace OpenRCT2
|
||||
STR_ENTER_PARK_NAME = 1719,
|
||||
STR_ENTER_SELECTION_SIZE = 5129,
|
||||
STR_ERROR_INVALID_CHARACTERS = 5243,
|
||||
STR_FORMAT_COMMA2DP32 = 6705,
|
||||
STR_FORMAT_COMMA2DP32 = 6704,
|
||||
STR_FORMAT_INTEGER = 5182,
|
||||
STR_GRAPH_LABEL = 2222,
|
||||
STR_LIGHTPINK_STRINGID = 5299,
|
||||
@@ -897,28 +897,27 @@ namespace OpenRCT2
|
||||
STR_SHOW_RIDES_STALLS_ON_MAP_TIP = 3144,
|
||||
|
||||
// Window: MapGen
|
||||
STR_BASE_HEIGHT = 5183, // unused
|
||||
STR_BASE_HEIGHT = 5183, // unused
|
||||
STR_BASE_HEIGHT_LABEL = 2691, // unused
|
||||
STR_BEACHES_WATER_BODIES = 6677,
|
||||
STR_ENTER_BASE_FREQUENCY = 6702,
|
||||
STR_ENTER_BASE_FREQUENCY = 6701,
|
||||
STR_ENTER_BASE_HEIGHT = 5184, // unused
|
||||
STR_ENTER_MAX_LAND = 6694,
|
||||
STR_ENTER_MAX_TREE_ALTITUDE = 6698,
|
||||
STR_ENTER_MIN_LAND = 6692,
|
||||
STR_ENTER_MIN_TREE_ALTITUDE = 6696,
|
||||
STR_ENTER_OCTAVES = 6704,
|
||||
STR_ENTER_TREE_TO_LAND_RATIO = 6700,
|
||||
STR_ENTER_MAX_LAND = 6693,
|
||||
STR_ENTER_MAX_TREE_ALTITUDE = 6697,
|
||||
STR_ENTER_MIN_LAND = 6691,
|
||||
STR_ENTER_MIN_TREE_ALTITUDE = 6695,
|
||||
STR_ENTER_OCTAVES = 6703,
|
||||
STR_ENTER_TREE_TO_LAND_RATIO = 6699,
|
||||
STR_ENTER_WATER_LEVEL = 5186,
|
||||
STR_HEIGHTMAP_FILE = 6682,
|
||||
STR_HEIGHTMAP_FILE = 6681,
|
||||
STR_HEIGHTMAP_FLATLAND = 6679,
|
||||
STR_HEIGHTMAP_SIMPLEX_CUSTOM = 6681,
|
||||
STR_HEIGHTMAP_SIMPLEX_NOISE = 6680,
|
||||
STR_HEIGHTMAP_SOURCE = 6678,
|
||||
STR_MAPGEN_ACTION_GENERATE = 2694,
|
||||
STR_MAPGEN_CAPTION_FORESTS = 6686,
|
||||
STR_MAPGEN_CAPTION_GENERATOR = 6683,
|
||||
STR_MAPGEN_CAPTION_TERRAIN = 6684,
|
||||
STR_MAPGEN_CAPTION_WATER = 6685,
|
||||
STR_MAPGEN_CAPTION_FORESTS = 6685,
|
||||
STR_MAPGEN_CAPTION_GENERATOR = 6682,
|
||||
STR_MAPGEN_CAPTION_TERRAIN = 6683,
|
||||
STR_MAPGEN_CAPTION_WATER = 6684,
|
||||
STR_MAPGEN_MAX_LAND_HEIGHT = 2687,
|
||||
STR_MAPGEN_MIN_LAND_HEIGHT = 2686,
|
||||
STR_MAPGEN_NORMALIZE = 6046,
|
||||
@@ -931,18 +930,18 @@ namespace OpenRCT2
|
||||
STR_MAPGEN_SMOOTH_HEIGHTMAP = 6044,
|
||||
STR_MAPGEN_SMOOTH_STRENGTH = 6045,
|
||||
STR_MAPGEN_SMOOTH_TILE = 6047,
|
||||
STR_MAPGEN_TREE_MAX_ALTITUDE = 6689,
|
||||
STR_MAPGEN_TREE_MIN_ALTITUDE = 6688,
|
||||
STR_MAPGEN_TREE_TO_LAND_RATIO = 6687,
|
||||
STR_MAPGEN_TREE_TO_LAND_RATIO_PCT = 6690,
|
||||
STR_MAX_LAND_HEIGHT = 6693,
|
||||
STR_MAX_TREE_ALTITUDE = 6697,
|
||||
STR_MIN_LAND_HEIGHT = 6691,
|
||||
STR_MIN_TREE_ALTITUDE = 6695,
|
||||
STR_SIMPLEX_BASE_FREQUENCY = 6701,
|
||||
STR_SIMPLEX_OCTAVES = 6703,
|
||||
STR_MAPGEN_TREE_MAX_ALTITUDE = 6688,
|
||||
STR_MAPGEN_TREE_MIN_ALTITUDE = 6687,
|
||||
STR_MAPGEN_TREE_TO_LAND_RATIO = 6686,
|
||||
STR_MAPGEN_TREE_TO_LAND_RATIO_PCT = 6689,
|
||||
STR_MAX_LAND_HEIGHT = 6692,
|
||||
STR_MAX_TREE_ALTITUDE = 6696,
|
||||
STR_MIN_LAND_HEIGHT = 6690,
|
||||
STR_MIN_TREE_ALTITUDE = 6694,
|
||||
STR_SIMPLEX_BASE_FREQUENCY = 6700,
|
||||
STR_SIMPLEX_OCTAVES = 6702,
|
||||
STR_TERRAIN_LABEL = 2693,
|
||||
STR_TREE_TO_LAND_RATIO = 6695,
|
||||
STR_TREE_TO_LAND_RATIO = 6694,
|
||||
STR_WATER_LEVEL = 5185,
|
||||
STR_WATER_LEVEL_LABEL = 2692,
|
||||
|
||||
|
||||
@@ -287,8 +287,8 @@ namespace OpenRCT2::Ui::Windows
|
||||
.beaches = true,
|
||||
|
||||
// Simplex Noise Parameters
|
||||
.simplex_base_freq = 60,
|
||||
.simplex_octaves = 4,
|
||||
.simplex_base_freq = 175,
|
||||
.simplex_octaves = 6,
|
||||
|
||||
// Height map _settings
|
||||
.smooth_height_map = false,
|
||||
@@ -408,6 +408,9 @@ namespace OpenRCT2::Ui::Windows
|
||||
|
||||
void GenerateMap()
|
||||
{
|
||||
if (_settings.algorithm == MapGenAlgorithm::heightmapImage && !_heightmapLoaded)
|
||||
return;
|
||||
|
||||
MapGenSettings mapgenSettings = _settings;
|
||||
if (_randomTerrain)
|
||||
{
|
||||
@@ -415,28 +418,6 @@ namespace OpenRCT2::Ui::Windows
|
||||
mapgenSettings.edgeTexture = -1;
|
||||
}
|
||||
|
||||
switch (mapgenSettings.algorithm)
|
||||
{
|
||||
case MapGenAlgorithm::blank:
|
||||
break;
|
||||
|
||||
case MapGenAlgorithm::simplexNoise:
|
||||
mapgenSettings.heightmapLow = UtilRand() % 4;
|
||||
mapgenSettings.heightmapHigh = 12 + (UtilRand() % (32 - 12));
|
||||
mapgenSettings.simplex_base_freq = 1.75f;
|
||||
mapgenSettings.simplex_octaves = 6;
|
||||
break;
|
||||
|
||||
case MapGenAlgorithm::simplexCustom:
|
||||
mapgenSettings.simplex_base_freq /= 100.00f;
|
||||
break;
|
||||
|
||||
case MapGenAlgorithm::heightmapImage:
|
||||
if (!_heightmapLoaded)
|
||||
return;
|
||||
break;
|
||||
}
|
||||
|
||||
MapGenGenerate(&mapgenSettings);
|
||||
GfxInvalidateScreen();
|
||||
}
|
||||
@@ -470,7 +451,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
|
||||
void BaseMouseDown(WidgetIndex widgetIndex, Widget* widget)
|
||||
{
|
||||
if (_settings.algorithm == MapGenAlgorithm::simplexCustom)
|
||||
if (_settings.algorithm == MapGenAlgorithm::simplexNoise)
|
||||
SimplexMouseDown(widgetIndex, widget);
|
||||
|
||||
else if (_settings.algorithm == MapGenAlgorithm::heightmapImage)
|
||||
@@ -505,16 +486,15 @@ namespace OpenRCT2::Ui::Windows
|
||||
constexpr ItemExt items[] = {
|
||||
ToggleOption(0, STR_HEIGHTMAP_FLATLAND),
|
||||
ToggleOption(1, STR_HEIGHTMAP_SIMPLEX_NOISE),
|
||||
ToggleOption(2, STR_HEIGHTMAP_SIMPLEX_CUSTOM),
|
||||
ToggleOption(3, STR_HEIGHTMAP_FILE),
|
||||
ToggleOption(2, STR_HEIGHTMAP_FILE),
|
||||
};
|
||||
|
||||
SetItems(items);
|
||||
|
||||
Widget* ddWidget = &widgets[widgetIndex - 1];
|
||||
WindowDropdownShowText(
|
||||
WindowDropdownShowTextCustomWidth(
|
||||
{ windowPos.x + ddWidget->left, windowPos.y + ddWidget->top }, ddWidget->height() + 1, colours[1], 0,
|
||||
std::size(items));
|
||||
Dropdown::Flag::StayOpen, std::size(items), ddWidget->width() - 2);
|
||||
|
||||
SetChecked(EnumValue(_settings.algorithm), true);
|
||||
break;
|
||||
@@ -595,12 +575,6 @@ namespace OpenRCT2::Ui::Windows
|
||||
|
||||
case MapGenAlgorithm::simplexNoise:
|
||||
sourceWidget.text = STR_HEIGHTMAP_SIMPLEX_NOISE;
|
||||
ToggleSimplexWidgets(false);
|
||||
ToggleHeightmapWidgets(false);
|
||||
break;
|
||||
|
||||
case MapGenAlgorithm::simplexCustom:
|
||||
sourceWidget.text = STR_HEIGHTMAP_SIMPLEX_CUSTOM;
|
||||
ToggleSimplexWidgets(true);
|
||||
ToggleHeightmapWidgets(false);
|
||||
break;
|
||||
@@ -645,7 +619,7 @@ namespace OpenRCT2::Ui::Windows
|
||||
DrawWidgets(dpi);
|
||||
DrawTabImages(dpi);
|
||||
|
||||
if (_settings.algorithm == MapGenAlgorithm::simplexCustom)
|
||||
if (_settings.algorithm == MapGenAlgorithm::simplexNoise)
|
||||
SimplexDraw(dpi);
|
||||
|
||||
else if (_settings.algorithm == MapGenAlgorithm::heightmapImage)
|
||||
|
||||
@@ -110,7 +110,6 @@ void MapGenGenerate(MapGenSettings* settings)
|
||||
break;
|
||||
|
||||
case MapGenAlgorithm::simplexNoise:
|
||||
case MapGenAlgorithm::simplexCustom:
|
||||
MapGenGenerateSimplex(settings);
|
||||
break;
|
||||
|
||||
@@ -692,7 +691,7 @@ static float Grad(int32_t hash, float x, float y)
|
||||
|
||||
static void MapGenSimplex(MapGenSettings* settings)
|
||||
{
|
||||
float freq = settings->simplex_base_freq * (1.0f / _heightSize.x);
|
||||
float freq = settings->simplex_base_freq / 100.0f * (1.0f / _heightSize.x);
|
||||
int32_t octaves = settings->simplex_octaves;
|
||||
|
||||
int32_t low = settings->heightmapLow / 2;
|
||||
|
||||
@@ -16,7 +16,6 @@ enum class MapGenAlgorithm : uint8_t
|
||||
{
|
||||
blank,
|
||||
simplexNoise,
|
||||
simplexCustom,
|
||||
heightmapImage,
|
||||
};
|
||||
|
||||
@@ -40,7 +39,7 @@ struct MapGenSettings
|
||||
bool beaches;
|
||||
|
||||
// Simplex Noise Parameters
|
||||
float simplex_base_freq;
|
||||
int32_t simplex_base_freq;
|
||||
int32_t simplex_octaves;
|
||||
|
||||
// Height map settings
|
||||
|
||||
Reference in New Issue
Block a user