summaryrefslogtreecommitdiff
path: root/ai.c
diff options
context:
space:
mode:
authorpasky <pasky@openttd.org>2005-03-27 00:28:14 +0000
committerpasky <pasky@openttd.org>2005-03-27 00:28:14 +0000
commit0c5d61bd56cb8ec4c2caa8aadb9c397c6931b544 (patch)
treefa4b74ffb1e7fe3ea3fcd1105aa17c0490f7a41c /ai.c
parente416fe8066a4f959212391333ca4dbec1595e007 (diff)
downloadopenttd-0c5d61bd56cb8ec4c2caa8aadb9c397c6931b544.tar.xz
(svn r2080) - Fix: [OldAI] p->ai.state_counter was uint16 but could hold a tile index, therefore overflowing - changed that to uint32 and bumped the savegame revision to 32. It *MIGHT* close bug 1151374 - it certainly caused AI to stop building anything sometimes.
- While at it, use TileIndex as the tile index type in AiRemovePlayerRailOrRoad() and AiStateRemoveTrack(). - Make the number of tiles scanned 4*MapSizeX() instead of 1000. It *MIGHT* close bug 1116614.
Diffstat (limited to 'ai.c')
-rw-r--r--ai.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/ai.c b/ai.c
index 18bdc162f..f740cb28d 100644
--- a/ai.c
+++ b/ai.c
@@ -3640,7 +3640,7 @@ static void AiStateRemoveStation(Player *p)
}
-static void AiRemovePlayerRailOrRoad(Player *p, uint tile)
+static void AiRemovePlayerRailOrRoad(Player *p, TileIndex tile)
{
byte m5;
@@ -3758,10 +3758,11 @@ pos_3:
static void AiStateRemoveTrack(Player *p)
{
- int num = 1000;
+ /* Was 1000 for standard 8x8 maps. */
+ int num = MapSizeX() * 4;
do {
- uint tile = ++p->ai.state_counter;
+ TileIndex tile = ++p->ai.state_counter;
// Iterated all tiles?
if (tile >= MapSize()) {