mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-02-04 05:15:21 +00:00
(svn r18738) -Fix (r18719): when a tree died while there was snow the amount of snow on the tile changed
This commit is contained in:
parent
3157dfb675
commit
06842771a8
@ -310,14 +310,14 @@ static inline void MakeField(TileIndex t, uint field_type, IndustryID industry)
|
|||||||
* @param t the tile to make snowy
|
* @param t the tile to make snowy
|
||||||
* @pre GetClearGround(t) != CLEAR_SNOW
|
* @pre GetClearGround(t) != CLEAR_SNOW
|
||||||
*/
|
*/
|
||||||
static inline void MakeSnow(TileIndex t)
|
static inline void MakeSnow(TileIndex t, uint density = 0)
|
||||||
{
|
{
|
||||||
assert(GetClearGround(t) != CLEAR_SNOW);
|
assert(GetClearGround(t) != CLEAR_SNOW);
|
||||||
SetBit(_m[t].m3, 4);
|
SetBit(_m[t].m3, 4);
|
||||||
if (GetClearGround(t) == CLEAR_FIELDS) {
|
if (GetClearGround(t) == CLEAR_FIELDS) {
|
||||||
SetClearGroundDensity(t, CLEAR_GRASS, 0);
|
SetClearGroundDensity(t, CLEAR_GRASS, density);
|
||||||
} else {
|
} else {
|
||||||
SetClearDensity(t, 0);
|
SetClearDensity(t, density);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -702,16 +702,19 @@ static void TileLoop_Trees(TileIndex tile)
|
|||||||
case TREE_GROUND_SHORE: MakeShore(tile); break;
|
case TREE_GROUND_SHORE: MakeShore(tile); break;
|
||||||
case TREE_GROUND_GRASS: MakeClear(tile, CLEAR_GRASS, GetTreeDensity(tile)); break;
|
case TREE_GROUND_GRASS: MakeClear(tile, CLEAR_GRASS, GetTreeDensity(tile)); break;
|
||||||
case TREE_GROUND_ROUGH: MakeClear(tile, CLEAR_ROUGH, 3); break;
|
case TREE_GROUND_ROUGH: MakeClear(tile, CLEAR_ROUGH, 3); break;
|
||||||
case TREE_GROUND_ROUGH_SNOW:
|
case TREE_GROUND_ROUGH_SNOW: {
|
||||||
|
uint density = GetTreeDensity(tile);
|
||||||
MakeClear(tile, CLEAR_ROUGH, 3);
|
MakeClear(tile, CLEAR_ROUGH, 3);
|
||||||
MakeSnow(tile);
|
MakeSnow(tile, density);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
default: // snow or desert
|
default: // snow or desert
|
||||||
if (_settings_game.game_creation.landscape == LT_TROPIC) {
|
if (_settings_game.game_creation.landscape == LT_TROPIC) {
|
||||||
MakeClear(tile, CLEAR_DESERT, GetTreeDensity(tile));
|
MakeClear(tile, CLEAR_DESERT, GetTreeDensity(tile));
|
||||||
} else {
|
} else {
|
||||||
MakeClear(tile, CLEAR_GRASS, GetTreeDensity(tile));
|
uint density = GetTreeDensity(tile);
|
||||||
MakeSnow(tile);
|
MakeClear(tile, CLEAR_GRASS, 3);
|
||||||
|
MakeSnow(tile, density);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user