--- a/src/ai/api/ai_sign.cpp Thu Jun 12 21:54:34 2008 +0000
+++ b/src/ai/api/ai_sign.cpp Fri Jun 13 13:07:31 2008 +0000
@@ -11,6 +11,7 @@
#include "../../string_func.h"
#include "../../strings_func.h"
#include "../../tile_map.h"
+#include "../../player_func.h"
/* static */ SignID AISign::GetMaxSignID()
{
@@ -19,12 +20,13 @@
/* static */ bool AISign::IsValidSign(SignID sign_id)
{
- return ::IsValidSignID(sign_id);
+ return ::IsValidSignID(sign_id) && ::GetSign(sign_id)->owner == _current_player;
}
/* static */ char *AISign::GetText(SignID sign_id)
{
if (!IsValidSign(sign_id)) return NULL;
+
static const int len = 64;
char *sign_name = MallocT<char>(len);
@@ -37,17 +39,11 @@
/* static */ TileIndex AISign::GetLocation(SignID sign_id)
{
if (!IsValidSign(sign_id)) return INVALID_TILE;
+
const Sign *sign = ::GetSign(sign_id);
return ::TileVirtXY(sign->x, sign->y);
}
-/* static */ AICompany::CompanyID AISign::GetOwner(SignID sign_id)
-{
- if (!IsValidSign(sign_id)) return AICompany::INVALID_COMPANY;
- const Sign *sign = ::GetSign(sign_id);
- return (AICompany::CompanyID)(byte)sign->owner;
-}
-
/* static */ bool AISign::RemoveSign(SignID sign_id)
{
EnforcePrecondition(false, IsValidSign(sign_id));