--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ai/api/ai_town.cpp Thu Mar 15 22:46:22 2007 +0000
@@ -0,0 +1,47 @@
+/* $Id$ */
+
+/** @file ai_town.cpp handles the town-related functions of the AITown class */
+
+#include "ai_town.hpp"
+#include "../../town.h"
+#include "../../strings.h"
+#include "../../variables.h" /* For SetDParam */
+#include "table/strings.h"
+
+TownID AITown::GetMaxTownID()
+{
+ return ::GetMaxTownIndex();
+}
+
+int32 AITown::GetTownCount()
+{
+ return ::GetNumTowns();
+}
+
+bool AITown::IsValidTown(TownID town_id)
+{
+ return ::IsValidTownID(town_id);
+}
+
+char *AITown::GetName(TownID town_id)
+{
+ static const int len = 64;
+ char *town_name = MallocT<char>(len);
+
+ SetDParam(0, town_id);
+ GetString(town_name, STR_TOWN, &town_name[len - 1]);
+
+ return town_name;
+}
+
+int32 AITown::GetPopulation(TownID town_id)
+{
+ const Town *t = ::GetTown(town_id);
+ return t->population;
+}
+
+TileIndex AITown::GetLocation(TownID town_id)
+{
+ const Town *t = ::GetTown(town_id);
+ return t->xy;
+}