diff -r da67225401cf -r 24de69e236d2 landscape.c --- a/landscape.c Wed Feb 01 09:11:31 2006 +0000 +++ b/landscape.c Wed Feb 01 15:31:21 2006 +0000 @@ -2,6 +2,7 @@ #include "stdafx.h" #include "openttd.h" +#include "clear.h" #include "functions.h" #include "map.h" #include "player.h" @@ -237,12 +238,13 @@ void DoClearSquare(TileIndex tile) { - ModifyTile(tile, - MP_SETTYPE(MP_CLEAR) | - MP_MAP2_CLEAR | MP_MAP3LO_CLEAR | MP_MAP3HI_CLEAR | MP_MAPOWNER | MP_MAP5, - OWNER_NONE, /* map_owner */ - _generating_world ? 3 : 0 /* map5 */ - ); + SetTileType(tile, MP_CLEAR); + SetTileOwner(tile, OWNER_NONE); + _m[tile].m2 = 0; + _m[tile].m3 = 0; + _m[tile].m4 = 0; + SetClearGroundDensity(tile, CL_GRASS, _generating_world ? 3 : 0); + MarkTileDirtyByTile(tile); } uint32 GetTileTrackStatus(TileIndex tile, TransportType mode) @@ -615,7 +617,7 @@ for (data = _make_desert_or_rainforest_data; data != endof(_make_desert_or_rainforest_data); ++data) { TileIndex t = TILE_MASK(tile + ToTileIndexDiff(*data)); - if (IsTileType(t, MP_CLEAR) && (_m[t].m5 & 0x1c) == 0x14) break; + if (IsTileType(t, MP_CLEAR) && IsClearGround(t, CL_DESERT)) break; } if (data == endof(_make_desert_or_rainforest_data)) SetMapExtraBits(tile, 2);