1
0
Fork 0

Cleanup: Improve code style for OnTick_Trees

pull/13295/head
SamuXarick 2025-01-08 18:13:52 +00:00
parent d79ae73c14
commit c24c075cb3
1 changed files with 16 additions and 13 deletions

View File

@ -834,10 +834,6 @@ void OnTick_Trees()
/* Don't spread trees if that's not allowed */ /* Don't spread trees if that's not allowed */
if (_settings_game.construction.extra_tree_placement == ETP_NO_SPREAD || _settings_game.construction.extra_tree_placement == ETP_NO_GROWTH_NO_SPREAD) return; if (_settings_game.construction.extra_tree_placement == ETP_NO_SPREAD || _settings_game.construction.extra_tree_placement == ETP_NO_GROWTH_NO_SPREAD) return;
uint32_t r;
TileIndex tile;
TreeType tree;
/* Skip some tree ticks for map sizes below 256 * 256. 64 * 64 is 16 times smaller, so /* Skip some tree ticks for map sizes below 256 * 256. 64 * 64 is 16 times smaller, so
* this is the maximum number of ticks that are skipped. Number of ticks to skip is * this is the maximum number of ticks that are skipped. Number of ticks to skip is
* inversely proportional to map size, so that is handled to create a mask. */ * inversely proportional to map size, so that is handled to create a mask. */
@ -847,23 +843,30 @@ void OnTick_Trees()
/* place a tree at a random rainforest spot */ /* place a tree at a random rainforest spot */
if (_settings_game.game_creation.landscape == LT_TROPIC) { if (_settings_game.game_creation.landscape == LT_TROPIC) {
for (uint c = Map::ScaleBySize(1); c > 0; c--) { for (uint c = Map::ScaleBySize(1); c > 0; c--) {
if ((r = Random(), tile = RandomTileSeed(r), GetTropicZone(tile) == TROPICZONE_RAINFOREST) && uint32_t r = Random();
CanPlantTreesOnTile(tile, false) && TileIndex tile = RandomTileSeed(r);
(tree = GetRandomTreeType(tile, GB(r, 24, 8))) != TREE_INVALID) { if (GetTropicZone(tile) != TROPICZONE_RAINFOREST) continue;
if (!CanPlantTreesOnTile(tile, false)) continue;
TreeType tree = GetRandomTreeType(tile, GB(r, 24, 8));
if (tree == TREE_INVALID) continue;
PlantTreesOnTile(tile, tree, 0, TreeGrowthStage::Growing1); PlantTreesOnTile(tile, tree, 0, TreeGrowthStage::Growing1);
} }
} }
}
if (!DecrementTreeCounter() || _settings_game.construction.extra_tree_placement == ETP_SPREAD_RAINFOREST) return; if (!DecrementTreeCounter() || _settings_game.construction.extra_tree_placement == ETP_SPREAD_RAINFOREST) return;
/* place a tree at a random spot */ /* place a tree at a random spot */
r = Random(); uint32_t r = Random();
tile = RandomTileSeed(r); TileIndex tile = RandomTileSeed(r);
if (CanPlantTreesOnTile(tile, false) && (tree = GetRandomTreeType(tile, GB(r, 24, 8))) != TREE_INVALID) { if (CanPlantTreesOnTile(tile, false)) {
TreeType tree = GetRandomTreeType(tile, GB(r, 24, 8));
if (tree != TREE_INVALID) {
PlantTreesOnTile(tile, tree, 0, TreeGrowthStage::Growing1); PlantTreesOnTile(tile, tree, 0, TreeGrowthStage::Growing1);
} }
} }
}
static TrackStatus GetTileTrackStatus_Trees(TileIndex, TransportType, uint, DiagDirection) static TrackStatus GetTileTrackStatus_Trees(TileIndex, TransportType, uint, DiagDirection)
{ {