summaryrefslogtreecommitdiff
path: root/src/ai/api/ai_tile.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-06-06 11:47:21 +0000
committerrubidium <rubidium@openttd.org>2009-06-06 11:47:21 +0000
commitec3ef70adb40d9ff371082a7360652d58e425284 (patch)
tree232721f0f75e9a1b9075d8d3721d7e775b0307fc /src/ai/api/ai_tile.cpp
parent0b8ceb3007c018954203519b3768c45b3fa21920 (diff)
downloadopenttd-ec3ef70adb40d9ff371082a7360652d58e425284.tar.xz
(svn r16524) -Fix [FS#2963]: missing guards in the NoAI API making it possible to hit an assert in OpenTTD.
Diffstat (limited to 'src/ai/api/ai_tile.cpp')
-rw-r--r--src/ai/api/ai_tile.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/ai/api/ai_tile.cpp b/src/ai/api/ai_tile.cpp
index 70bb1fb83..df44cac66 100644
--- a/src/ai/api/ai_tile.cpp
+++ b/src/ai/api/ai_tile.cpp
@@ -175,21 +175,21 @@
return ::TrackStatusToTrackdirBits(::GetTileTrackStatus(tile, (::TransportType)transport_type, UINT32_MAX)) != TRACKDIR_BIT_NONE;
}
-/* static */ int32 AITile::GetCargoAcceptance(TileIndex tile, CargoID cargo_type, uint width, uint height, uint radius)
+/* static */ int32 AITile::GetCargoAcceptance(TileIndex tile, CargoID cargo_type, int width, int height, int radius)
{
- if (!::IsValidTile(tile)) return false;
+ if (!::IsValidTile(tile) || width <= 0 || height <= 0 || radius <= 0) return -1;
AcceptedCargo accepts;
- ::GetAcceptanceAroundTiles(accepts, tile, width, height, _settings_game.station.modified_catchment ? radius : (uint)CA_UNMODIFIED);
+ ::GetAcceptanceAroundTiles(accepts, tile, width, height, _settings_game.station.modified_catchment ? radius : (int)CA_UNMODIFIED);
return accepts[cargo_type];
}
-/* static */ int32 AITile::GetCargoProduction(TileIndex tile, CargoID cargo_type, uint width, uint height, uint radius)
+/* static */ int32 AITile::GetCargoProduction(TileIndex tile, CargoID cargo_type, int width, int height, int radius)
{
- if (!::IsValidTile(tile)) return false;
+ if (!::IsValidTile(tile) || width <= 0 || height <= 0 || radius <= 0) return -1;
AcceptedCargo produced;
- ::GetProductionAroundTiles(produced, tile, width, height, _settings_game.station.modified_catchment ? radius : (uint)CA_UNMODIFIED);
+ ::GetProductionAroundTiles(produced, tile, width, height, _settings_game.station.modified_catchment ? radius : (int)CA_UNMODIFIED);
return produced[cargo_type];
}