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
|
||||
* @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);
|
||||
SetBit(_m[t].m3, 4);
|
||||
if (GetClearGround(t) == CLEAR_FIELDS) {
|
||||
SetClearGroundDensity(t, CLEAR_GRASS, 0);
|
||||
SetClearGroundDensity(t, CLEAR_GRASS, density);
|
||||
} 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_GRASS: MakeClear(tile, CLEAR_GRASS, GetTreeDensity(tile)); 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);
|
||||
MakeSnow(tile);
|
||||
MakeSnow(tile, density);
|
||||
break;
|
||||
}
|
||||
default: // snow or desert
|
||||
if (_settings_game.game_creation.landscape == LT_TROPIC) {
|
||||
MakeClear(tile, CLEAR_DESERT, GetTreeDensity(tile));
|
||||
} else {
|
||||
MakeClear(tile, CLEAR_GRASS, GetTreeDensity(tile));
|
||||
MakeSnow(tile);
|
||||
uint density = GetTreeDensity(tile);
|
||||
MakeClear(tile, CLEAR_GRASS, 3);
|
||||
MakeSnow(tile, density);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user