/**
* Append an orthogonal area of cleared tiles in _cleared_object_areas, then return the pointer.
* @param cleared_tile The tile being cleared, which then causes the whole area to be cleared.
* @param ta_tile The top most tile of the area to be appended as cleared.
* @param w The width (x) of the area to be appended as cleared.
* @param h The height (y) of the area to be appended as cleared.
* @return The pointer to _cleared_object_areas with the appended cleared area.
*/
ClearedObjectArea *MakeClearedObjectArea(TileIndex cleared_tile, TileIndex ta_tile, uint w, uint h)
{
ClearedObjectArea *coa = FindClearedObject(cleared_tile);
if (coa == NULL) {
coa = _cleared_object_areas.Append();
coa->first_tile = cleared_tile;
coa->area = TileArea(ta_tile, w, h);
}
return coa;
}