diff -r 25b7d020a3a9 -r 9e0a193b2bec src/ai/api/ai_town.cpp --- /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(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; +}