# HG changeset patch # User rubidium # Date 2013-11-14 22:16:43 # Node ID 71e7f714250df040777a9b03990a68885bf4b73c # Parent e518144297712a88365ef2c3916cc6b5048b6c84 (svn r25998) -Document [FS#5661]: why catchment area's are (slightly) inconsistent diff --git a/known-bugs.txt b/known-bugs.txt --- a/known-bugs.txt +++ b/known-bugs.txt @@ -403,3 +403,34 @@ Mouse cursor going missing with SDL [FS# We cannot fix this problem as SDL simply does not provide the required information in these corner cases. This is a bug in SDL and as such there is little that we can do about it. + +Inconsistent catchment areas [FS#5661]: + Due to performance decisions the catchment area for cargo accepted + by a station for delivery to houses or industries differs from the + catchment area for cargo that is delivered to stations from houses + or industries. + + Conceptually they work the same, but the effect in game differs. + They work by finding the closest destination "around" the source + which is within a certain distance. This distance depends on the + type of station, e.g. road stops have a smaller catchment area than + large airports. In both cases the bounding box, the smallest + rectangle that contains all tiles of something, is searched for the + target of the cargo, and then spiraling outwards finding the closest + tile of the target. + + In the case of a station with two tiles spread far apart with a house + that is within the station's bounding box, it would be possible that + the spiraling search from the house does not reach one of the station + tiles before the search ends, i.e. all tiles within that distance + are searched. So the house does not deliver cargo to the station. On + the other hand, the station will deliver cargo because the house + falls within the bounding box, and thus search area. + + It is possible to make these consistent, but then cargo from a house + to a station needs to search up to 32 tiles around itself, i.e. 64 + by 64 tiles, to find all possible stations it could deliver to + instead of 10 by 10 tiles (40 times more tiles). Alternatively the + search from a station could be changed to use the actual tiles, but + that would require considering checking 10 by 10 tiles for each of + the tiles of a station, instead of just once.