diff -r 6e89b780c2c9 -r f4c7eb98b43d src/ai/core/town/query.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ai/core/town/query.cpp Wed Mar 14 11:14:57 2007 +0000 @@ -0,0 +1,47 @@ +/* $Id$ */ + +/** @file query.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 */ + +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); + + const Town *t = ::GetTown(town_id); + SetDParam(0, t->townnameparts); + GetString(town_name, t->townnametype, &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; +}