rubidium@9380: /* $Id$ */ rubidium@9380: rubidium@9380: /** @file query.cpp handles the town-related functions of the AITown class */ rubidium@9380: rubidium@9380: #include "../ai_town.hpp" rubidium@9380: #include "../../../town.h" rubidium@9380: #include "../../../strings.h" rubidium@9380: #include "../../../variables.h" /* For SetDParam */ rubidium@9380: rubidium@9380: TownID AITown::GetMaxTownID() rubidium@9380: { rubidium@9380: return ::GetMaxTownIndex(); rubidium@9380: } rubidium@9380: rubidium@9380: int32 AITown::GetTownCount() rubidium@9380: { rubidium@9380: return ::GetNumTowns(); rubidium@9380: } rubidium@9380: rubidium@9380: bool AITown::IsValidTown(TownID town_id) rubidium@9380: { rubidium@9380: return ::IsValidTownID(town_id); rubidium@9380: } rubidium@9380: rubidium@9380: char *AITown::GetName(TownID town_id) rubidium@9380: { rubidium@9380: static const int len = 64; rubidium@9380: char *town_name = MallocT(len); rubidium@9380: rubidium@9380: const Town *t = ::GetTown(town_id); rubidium@9380: SetDParam(0, t->townnameparts); rubidium@9380: GetString(town_name, t->townnametype, &town_name[len - 1]); rubidium@9380: rubidium@9380: return town_name; rubidium@9380: } rubidium@9380: rubidium@9380: int32 AITown::GetPopulation(TownID town_id) rubidium@9380: { rubidium@9380: const Town *t = ::GetTown(town_id); rubidium@9380: return t->population; rubidium@9380: } rubidium@9380: rubidium@9380: TileIndex AITown::GetLocation(TownID town_id) rubidium@9380: { rubidium@9380: const Town *t = ::GetTown(town_id); rubidium@9380: return t->xy; rubidium@9380: }