@@ -140,13 +140,17 @@ static inline bool IncreaseRoadWorksCoun
}
static inline void StartRoadWorks(TileIndex t)
{
assert(!HasRoadWorks(t));
/* Remove any trees or lamps in case or roadwork */
SetGroundType(t, (RoadGroundType)(min(GetGroundType(t), RGT_PAVED) + RGT_ROADWORK_OFFSET));
switch (GetGroundType(t)) {
case RGT_BARREN:
case RGT_GRASS: SetGroundType(t, RGT_ROADWORK_GRASS); break;
default: SetGroundType(t, RGT_ROADWORK_PAVED); break;
static inline void TerminateRoadWorks(TileIndex t)
assert(HasRoadWorks(t));
SetGroundType(t, (RoadGroundType)(GetGroundType(t) - RGT_ROADWORK_OFFSET));