--- a/src/ai/api/ai_airport.cpp Thu Apr 03 23:01:54 2008 +0000
+++ b/src/ai/api/ai_airport.cpp Fri Apr 04 10:43:13 2008 +0000
@@ -3,6 +3,7 @@
/** @file ai_airport.cpp Implementation of AIAirport. */
#include "ai_airport.hpp"
+#include "ai_error.hpp"
#include "../../openttd.h"
#include "../../variables.h"
#include "../../station_map.h"
@@ -49,16 +50,20 @@
/* static */ bool AIAirport::BuildAirport(TileIndex tile, AirportType type)
{
- if (!::IsValidTile(tile)) return false;
- if (type > AT_HELISTATION) return 0;
+ if (!::IsValidTile(tile) || type > AT_HELISTATION) {
+ AIObject::SetLastError(AIError::ERR_PRECONDITION_FAILED);
+ return false;
+ }
return AIObject::DoCommand(tile, type, 0, CMD_BUILD_AIRPORT);
}
/* static */ bool AIAirport::RemoveAirport(TileIndex tile)
{
- if (!::IsValidTile(tile)) return false;
- if (!IsAirportTile(tile) && !IsHangarTile(tile)) return false;
+ if (!::IsValidTile(tile) || !(IsAirportTile(tile) || IsHangarTile(tile))) {
+ AIObject::SetLastError(AIError::ERR_PRECONDITION_FAILED);
+ return false;
+ }
return AIObject::DoCommand(tile, 0, 0, CMD_LANDSCAPE_CLEAR);
}