summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/landscape.cpp2
-rw-r--r--src/terraform_gui.cpp2
-rw-r--r--src/tile_type.h15
-rw-r--r--src/tree_cmd.cpp2
4 files changed, 15 insertions, 6 deletions
diff --git a/src/landscape.cpp b/src/landscape.cpp
index 74161c7b8..8745fa19f 100644
--- a/src/landscape.cpp
+++ b/src/landscape.cpp
@@ -636,7 +636,7 @@ void InitializeLandscape()
for (x = 0; x < maxx; x++) {
MakeClear(sizex * y + x, CLEAR_GRASS, 3);
SetTileHeight(sizex * y + x, 0);
- SetTropicZone(sizex * y + x, TROPICZONE_INVALID);
+ SetTropicZone(sizex * y + x, TROPICZONE_NORMAL);
ClearBridgeMiddle(sizex * y + x);
}
MakeVoid(sizex * y + x);
diff --git a/src/terraform_gui.cpp b/src/terraform_gui.cpp
index b0d8cfee5..858aa85bc 100644
--- a/src/terraform_gui.cpp
+++ b/src/terraform_gui.cpp
@@ -56,7 +56,7 @@ static void GenerateDesertArea(TileIndex end, TileIndex start)
_generating_world = true;
BEGIN_TILE_LOOP(tile, size_x, size_y, TileXY(sx, sy)) {
if (GetTileType(tile) != MP_WATER) {
- SetTropicZone(tile, (_ctrl_pressed) ? TROPICZONE_INVALID : TROPICZONE_DESERT);
+ SetTropicZone(tile, (_ctrl_pressed) ? TROPICZONE_NORMAL : TROPICZONE_DESERT);
DoCommandP(tile, 0, 0, NULL, CMD_LANDSCAPE_CLEAR);
MarkTileDirtyByTile(tile);
}
diff --git a/src/tile_type.h b/src/tile_type.h
index e954aa1fb..2d46a74d5 100644
--- a/src/tile_type.h
+++ b/src/tile_type.h
@@ -41,11 +41,20 @@ enum TileType {
/**
* Additional infos of a tile on a tropic game.
*
- * Each non-water tile in a tropic game is either a rainforest tile or a
- * desert one.
+ * The tropiczone is not modified during gameplay. It mainly affects tree growth. (desert tiles are visible though)
+ *
+ * In randomly generated maps:
+ * TROPICZONE_DESERT: Generated everywhere, if there is neither water nor mountains (TileHeight >= 4) in a certain distance from the tile.
+ * TROPICZONE_RAINFOREST: Genereated everywhere, if there is no desert in a certain distance from the tile.
+ * TROPICZONE_NORMAL: Everywhere else, i.e. between desert and rainforest and on sea (if you clear the water).
+ *
+ * In scenarios:
+ * TROPICZONE_NORMAL: Default value.
+ * TROPICZONE_DESERT: Placed manually.
+ * TROPICZONE_RAINFOREST: Placed if you plant certain rainforest-trees.
*/
enum TropicZone {
- TROPICZONE_INVALID = 0, ///< Invalid tropiczone-type
+ TROPICZONE_NORMAL = 0, ///< Normal tropiczone
TROPICZONE_DESERT = 1, ///< Tile is desert
TROPICZONE_RAINFOREST = 2, ///< Rainforest tile
};
diff --git a/src/tree_cmd.cpp b/src/tree_cmd.cpp
index 7fc9c133c..890243ed6 100644
--- a/src/tree_cmd.cpp
+++ b/src/tree_cmd.cpp
@@ -58,7 +58,7 @@ static TreeType GetRandomTreeType(TileIndex tile, uint seed)
case LT_TROPIC:
switch (GetTropicZone(tile)) {
- case TROPICZONE_INVALID: return (TreeType)(seed * TREE_COUNT_SUB_TROPICAL / 256 + TREE_SUB_TROPICAL);
+ case TROPICZONE_NORMAL: return (TreeType)(seed * TREE_COUNT_SUB_TROPICAL / 256 + TREE_SUB_TROPICAL);
case TROPICZONE_DESERT: return (TreeType)((seed > 12) ? TREE_INVALID : TREE_CACTUS);
default: return (TreeType)(seed * TREE_COUNT_RAINFOREST / 256 + TREE_RAINFOREST);
}