Mark dirty the catchment of a station on change as necessary for zoning.

If the zoning mode is station catchment, or unserved industry/building,
mark dirty the station catchment rectangle before removing, or after
adding, (a) station tile(s).
In the case of unserved industry mode, increase the refreshed catchment
radius by 10 tiles, to wholly include industries partially inside
the catchment area.
This commit is contained in:
Jonathan G Rennison
2015-11-01 16:07:55 +00:00
parent 74bccb5d50
commit c120b810d1
5 changed files with 57 additions and 6 deletions

View File

@@ -291,13 +291,11 @@ uint Station::GetCatchmentRadius() const
* Determines catchment rectangle of this station
* @return clamped catchment rectangle
*/
Rect Station::GetCatchmentRect() const
Rect Station::GetCatchmentRectUsingRadius(uint catchment_radius) const
{
assert(!this->rect.IsEmpty());
/* Compute acceptance rectangle */
int catchment_radius = this->GetCatchmentRadius();
Rect ret = {
max<int>(this->rect.left - catchment_radius, 0),
max<int>(this->rect.top - catchment_radius, 0),