Allow tile height to also play a part in determining the density of rocky patches.

This commit is contained in:
reldred
2021-03-28 14:26:17 +10:30
parent 4a169f07ab
commit 86e7cb6d18
5 changed files with 19 additions and 2 deletions

View File

@@ -365,7 +365,7 @@ void GenerateClearTile()
IncreaseGeneratingWorldProgress(GWP_ROUGH_ROCKY);
if (IsTileType(tile, MP_CLEAR) && !IsClearGround(tile, CLEAR_DESERT)) {
uint j = GB(r, 16, 4) + _settings_game.game_creation.amount_of_rocks;
uint j = GB(r, 16, 4) + _settings_game.game_creation.amount_of_rocks + ((int)TileHeight(tile) * _settings_game.game_creation.height_affects_rocks);
for (;;) {
TileIndex tile_new;

View File

@@ -1461,6 +1461,8 @@ STR_CONFIG_SETTING_RIVER_AMOUNT :River amount: {
STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Choose how many rivers to generate
STR_CONFIG_SETTING_ROCKS_AMOUNT :Rocks amount: {STRING}
STR_CONFIG_SETTING_ROCKS_AMOUNT_HELPTEXT :Determines the size of rocky patches. High values can cover a significant portion of the map.
STR_CONFIG_SETTING_HEIGHT_ROCKS :Rocks height modifier: {STRING}
STR_CONFIG_SETTING_HEIGHT_ROCKS_HELPTEXT :Determines how much rocky patch distribution is affected by height. This is cumulative with the Rocks Amount setting and works best when the Rocks amount setting is set to lower values.
STR_CONFIG_SETTING_TREE_PLACER :Tree placer algorithm: {STRING2}
STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :Choose the distribution of trees on the map: 'Original' plants trees uniformly scattered, 'Improved' plants them in groups
STR_CONFIG_SETTING_TREE_PLACER_NONE :None

View File

@@ -1817,6 +1817,7 @@ static SettingsContainer &GetSettingsTree()
genworld->Add(new SettingEntry("game_creation.rainforest_line_height"));
genworld->Add(new SettingEntry("game_creation.amount_of_rivers"));
genworld->Add(new SettingEntry("game_creation.amount_of_rocks"));
genworld->Add(new SettingEntry("game_creation.height_affects_rocks"));
genworld->Add(new SettingEntry("game_creation.tree_placer"));
genworld->Add(new SettingEntry("vehicle.road_side"));
genworld->Add(new SettingEntry("economy.larger_towns"));

View File

@@ -376,6 +376,7 @@ struct GameCreationSettings {
byte river_route_random; ///< the amount of randomicity for the route finding
byte amount_of_rivers; ///< the amount of rivers
uint8 amount_of_rocks; ///< the amount of rocks
uint8 height_affects_rocks; ///< the affect that map height has on rocks
};
/** Settings related to construction in-game */

View File

@@ -3763,6 +3763,19 @@ str = STR_CONFIG_SETTING_ROCKS_AMOUNT
strhelp = STR_CONFIG_SETTING_ROCKS_AMOUNT_HELPTEXT
strval = STR_JUST_COMMA
[SDT_VAR]
base = GameSettings
var = game_creation.height_affects_rocks
type = SLE_UINT8
guiflags = SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO
def = 0
min = 0
max = 25
interval = 1
str = STR_CONFIG_SETTING_HEIGHT_ROCKS
strhelp = STR_CONFIG_SETTING_HEIGHT_ROCKS_HELPTEXT
strval = STR_JUST_COMMA
;;game_creation.build_public_roads
[SDT_NULL]
length = 1