mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r12020) -Documentation: Correct description of TropicZone.
This commit is contained in:
parent
1cdee354b4
commit
46589fa827
|
@ -636,7 +636,7 @@ void InitializeLandscape()
|
||||||
for (x = 0; x < maxx; x++) {
|
for (x = 0; x < maxx; x++) {
|
||||||
MakeClear(sizex * y + x, CLEAR_GRASS, 3);
|
MakeClear(sizex * y + x, CLEAR_GRASS, 3);
|
||||||
SetTileHeight(sizex * y + x, 0);
|
SetTileHeight(sizex * y + x, 0);
|
||||||
SetTropicZone(sizex * y + x, TROPICZONE_INVALID);
|
SetTropicZone(sizex * y + x, TROPICZONE_NORMAL);
|
||||||
ClearBridgeMiddle(sizex * y + x);
|
ClearBridgeMiddle(sizex * y + x);
|
||||||
}
|
}
|
||||||
MakeVoid(sizex * y + x);
|
MakeVoid(sizex * y + x);
|
||||||
|
|
|
@ -56,7 +56,7 @@ static void GenerateDesertArea(TileIndex end, TileIndex start)
|
||||||
_generating_world = true;
|
_generating_world = true;
|
||||||
BEGIN_TILE_LOOP(tile, size_x, size_y, TileXY(sx, sy)) {
|
BEGIN_TILE_LOOP(tile, size_x, size_y, TileXY(sx, sy)) {
|
||||||
if (GetTileType(tile) != MP_WATER) {
|
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);
|
DoCommandP(tile, 0, 0, NULL, CMD_LANDSCAPE_CLEAR);
|
||||||
MarkTileDirtyByTile(tile);
|
MarkTileDirtyByTile(tile);
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,11 +41,20 @@ enum TileType {
|
||||||
/**
|
/**
|
||||||
* Additional infos of a tile on a tropic game.
|
* Additional infos of a tile on a tropic game.
|
||||||
*
|
*
|
||||||
* Each non-water tile in a tropic game is either a rainforest tile or a
|
* The tropiczone is not modified during gameplay. It mainly affects tree growth. (desert tiles are visible though)
|
||||||
* desert one.
|
*
|
||||||
|
* 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 {
|
enum TropicZone {
|
||||||
TROPICZONE_INVALID = 0, ///< Invalid tropiczone-type
|
TROPICZONE_NORMAL = 0, ///< Normal tropiczone
|
||||||
TROPICZONE_DESERT = 1, ///< Tile is desert
|
TROPICZONE_DESERT = 1, ///< Tile is desert
|
||||||
TROPICZONE_RAINFOREST = 2, ///< Rainforest tile
|
TROPICZONE_RAINFOREST = 2, ///< Rainforest tile
|
||||||
};
|
};
|
||||||
|
|
|
@ -58,7 +58,7 @@ static TreeType GetRandomTreeType(TileIndex tile, uint seed)
|
||||||
|
|
||||||
case LT_TROPIC:
|
case LT_TROPIC:
|
||||||
switch (GetTropicZone(tile)) {
|
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);
|
case TROPICZONE_DESERT: return (TreeType)((seed > 12) ? TREE_INVALID : TREE_CACTUS);
|
||||||
default: return (TreeType)(seed * TREE_COUNT_RAINFOREST / 256 + TREE_RAINFOREST);
|
default: return (TreeType)(seed * TREE_COUNT_RAINFOREST / 256 + TREE_RAINFOREST);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue