Public Member Functions | Static Public Member Functions | Data Fields

Town Struct Reference

Town data structure. More...

#include <town.h>

Inheritance diagram for Town:
Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_town_pool >

Public Member Functions

byte GetPercentTransported (CargoID cid) const
 Town (TileIndex tile=INVALID_TILE)
 Creates a new town.
 ~Town ()
 Destroy the town.
void InitializeLayout (TownLayout layout)
 Assigns town layout.
uint16 MaxTownNoise () const
 Calculate the max town noise.
void UpdateVirtCoord ()
 Resize the sign(label) of the town after changes in population (creation or growth or else).

Static Public Member Functions

static TownGetByTile (TileIndex tile)
static TownGetRandom ()
 Return a random valid town.
static void PostDestructor (size_t index)
 Invalidating of the "nearest town cache" has to be done after removing item from the pool.

Data Fields

TileIndex xy
 town center tile
TownCache cache
 Container for all cacheable data.
uint32 townnamegrfid
uint16 townnametype
uint32 townnameparts
char * name
byte flags
uint16 noise_reached
 level of noise that all the airports are generating
CompanyMask statues
 which companies have a statue?
CompanyMask have_ratings
 which companies have a rating
uint8 unwanted [MAX_COMPANIES]
 how many months companies aren't wanted by towns (bribe)
CompanyByte exclusivity
 which company has exclusivity
uint8 exclusive_counter
 months till the exclusivity expires
int16 ratings [MAX_COMPANIES]
 ratings of each company for this town
TransportedCargoStat< uint32 > supplied [NUM_CARGO]
 Cargo statistics about supplied cargo.
TransportedCargoStat< uint16 > received [NUM_TE]
 Cargo statistics about received cargotypes.
uint32 goal [NUM_TE]
 Amount of cargo required for the town to grow.
char * text
 General text with additional information.
uint32 cargo_produced
 Bitmap of all cargoes produced by houses in this town.
AcceptanceMatrix cargo_accepted
 Bitmap of cargoes accepted by houses for each 4*4 map square of the town.
uint32 cargo_accepted_total
 NOSAVE: Bitmap of all cargoes accepted by houses in this town.
uint16 time_until_rebuild
 time until we rebuild a house
uint16 grow_counter
 counter to count when to grow
uint16 growth_rate
 town growth rate
byte fund_buildings_months
 fund buildings program in action?
byte road_build_months
 fund road reconstruction in action?
bool larger_town
 if this is a larger town and should grow more quickly
TownLayoutByte layout
 town specific road layout
std::list< PersistentStorage * > psa_list

Detailed Description

Town data structure.

Definition at line 54 of file town.h.


Constructor & Destructor Documentation

Town::Town ( TileIndex  tile = INVALID_TILE  )  [inline]

Creates a new town.

Parameters:
tile center tile of the town

Definition at line 112 of file town.h.


Member Function Documentation

void Town::InitializeLayout ( TownLayout  layout  ) 

Assigns town layout.

If Random, generates one based on TileHash.

Definition at line 129 of file town_cmd.cpp.

References NUM_TLS, TileHash(), TileX(), TileY(), TL_RANDOM, and xy.

Referenced by DoCreateTown().

uint16 Town::MaxTownNoise (  )  const [inline]

Calculate the max town noise.

The value is counted using the population divided by the content of the entry in town_noise_population corresponding to the town's tolerance.

Returns:
the maximum noise level the town will tolerate.

Definition at line 125 of file town.h.

References _settings_game, cache, GameSettings::difficulty, GameSettings::economy, TownCache::population, DifficultySettings::town_council_tolerance, and EconomySettings::town_noise_population.

Referenced by CmdBuildAirport(), and TownViewWindow::DrawWidget().

void Town::PostDestructor ( size_t  index  )  [static]

Invalidating of the "nearest town cache" has to be done after removing item from the pool.

Parameters:
index index of deleted item

Reimplemented from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_town_pool >.

Definition at line 114 of file town_cmd.cpp.

References CalcClosestTownFromTile(), InvalidateWindowData(), Object::location, TileArea::tile, Object::town, UpdateNearestTownForRoadTiles(), and WC_TOWN_DIRECTORY.


The documentation for this struct was generated from the following files: