OpenTTD Source 20241224-master-gf74b0cf984
town_type.h File Reference

Types related to towns. More...

#include "core/enum_type.hpp"

Go to the source code of this file.

Data Structures

struct  TransportedCargoStat< Tstorage >
 Store the maximum and actually transported cargo amount for the current and the last month. More...
 

Typedefs

typedef uint16_t TownID
 

Enumerations

enum  TownSize : uint8_t {
  TSZ_SMALL , TSZ_MEDIUM , TSZ_LARGE , TSZ_RANDOM ,
  TSZ_END
}
 Supported initial town sizes. More...
 
enum  TownLayout : uint8_t {
  TL_BEGIN = 0 , TL_ORIGINAL = 0 , TL_BETTER_ROADS , TL_2X2_GRID ,
  TL_3X3_GRID , TL_RANDOM , NUM_TLS
}
 Town Layouts. More...
 
enum  TownFounding : uint8_t {
  TF_BEGIN = 0 , TF_FORBIDDEN = 0 , TF_ALLOWED , TF_CUSTOM_LAYOUT ,
  TF_END
}
 Town founding setting values. More...
 
enum  TownCargoGenMode : uint8_t { TCGM_BEGIN = 0 , TCGM_ORIGINAL = 0 , TCGM_BITCOUNT , TCGM_END }
 Town cargo generation modes. More...
 

Variables

static constexpr int RATING_MINIMUM = -1000
 
static constexpr int RATING_APPALLING = -400
 
static constexpr int RATING_VERYPOOR = -200
 
static constexpr int RATING_POOR = 0
 
static constexpr int RATING_MEDIOCRE = 200
 
static constexpr int RATING_GOOD = 400
 
static constexpr int RATING_VERYGOOD = 600
 
static constexpr int RATING_EXCELLENT = 800
 
static constexpr int RATING_OUTSTANDING = 1000
 OUTSTANDING.
 
static constexpr int RATING_MAXIMUM = RATING_OUTSTANDING
 
static constexpr int RATING_INITIAL = 500
 initial rating
 
static constexpr int RATING_TREE_DOWN_STEP = -35
 
static constexpr int RATING_TREE_MINIMUM = RATING_MINIMUM
 
static constexpr int RATING_TREE_UP_STEP = 7
 
static constexpr int RATING_TREE_MAXIMUM = 220
 
static constexpr int RATING_GROWTH_UP_STEP = 5
 when a town grows, all companies have rating increased a bit ...
 
static constexpr int RATING_GROWTH_MAXIMUM = RATING_MEDIOCRE
 ... up to RATING_MEDIOCRE
 
static constexpr int RATING_STATION_UP_STEP = 12
 when a town grows, company gains reputation for all well serviced stations ...
 
static constexpr int RATING_STATION_DOWN_STEP = -15
 ... but loses for badly serviced stations
 
static constexpr int RATING_TUNNEL_BRIDGE_UP_STEP = 50
 rating increase for improving a town-owned bridge
 
static constexpr int RATING_TUNNEL_BRIDGE_DOWN_STEP = -250
 penalty for removing town owned tunnel or bridge
 
static constexpr int RATING_TUNNEL_BRIDGE_MINIMUM = 0
 minimum rating after removing tunnel or bridge
 
static constexpr int RATING_TUNNEL_BRIDGE_NEEDED_LENIENT = 144
 rating needed, "Lenient" difficulty settings
 
static constexpr int RATING_TUNNEL_BRIDGE_NEEDED_NEUTRAL = 208
 "Neutral"
 
static constexpr int RATING_TUNNEL_BRIDGE_NEEDED_HOSTILE = 400
 "Hostile"
 
static constexpr int RATING_TUNNEL_BRIDGE_NEEDED_PERMISSIVE = RATING_MINIMUM
 "Permissive" (local authority disabled)
 
static constexpr int RATING_ROAD_DOWN_STEP_INNER = -50
 removing a roadpiece in the middle
 
static constexpr int RATING_ROAD_DOWN_STEP_EDGE = -18
 removing a roadpiece at the edge
 
static constexpr int RATING_ROAD_MINIMUM = -100
 minimum rating after removing town owned road
 
static constexpr int RATING_ROAD_NEEDED_LENIENT = 16
 rating needed, "Lenient" difficulty settings
 
static constexpr int RATING_ROAD_NEEDED_NEUTRAL = 64
 "Neutral"
 
static constexpr int RATING_ROAD_NEEDED_HOSTILE = 112
 "Hostile"
 
static constexpr int RATING_ROAD_NEEDED_PERMISSIVE = RATING_MINIMUM
 "Permissive" (local authority disabled)
 
static constexpr int RATING_HOUSE_MINIMUM = RATING_MINIMUM
 
static constexpr int RATING_BRIBE_UP_STEP = 200
 
static constexpr int RATING_BRIBE_MAXIMUM = 800
 
static constexpr int RATING_BRIBE_DOWN_TO = -50
 
static const uint MAX_LENGTH_TOWN_NAME_CHARS = 32
 The maximum length of a town name in characters including '\0'.
 

Detailed Description

Types related to towns.

Definition in file town_type.h.

Typedef Documentation

◆ TownID

typedef uint16_t TownID

Definition at line 15 of file town_type.h.

Enumeration Type Documentation

◆ TownCargoGenMode

enum TownCargoGenMode : uint8_t

Town cargo generation modes.

Enumerator
TCGM_ORIGINAL 

Original algorithm (quadratic cargo by population)

TCGM_BITCOUNT 

Bit-counted algorithm (normal distribution from individual house population)

Definition at line 102 of file town_type.h.

◆ TownFounding

enum TownFounding : uint8_t

Town founding setting values.

It needs to be 8bits, because we save and load it as such

Enumerator
TF_BEGIN 

Used for iterations and limit testing.

TF_FORBIDDEN 

Forbidden.

TF_ALLOWED 

Allowed.

TF_CUSTOM_LAYOUT 

Allowed, with custom town layout.

TF_END 

Used for iterations and limit testing.

Definition at line 93 of file town_type.h.

◆ TownLayout

enum TownLayout : uint8_t

Town Layouts.

It needs to be 8bits, because we save and load it as such

Enumerator
TL_ORIGINAL 

Original algorithm (min. 1 distance between roads)

TL_BETTER_ROADS 

Extended original algorithm (min. 2 distance between roads)

TL_2X2_GRID 

Geometric 2x2 grid algorithm.

TL_3X3_GRID 

Geometric 3x3 grid algorithm.

TL_RANDOM 

Random town layout.

NUM_TLS 

Number of town layouts.

Definition at line 79 of file town_type.h.

◆ TownSize

enum TownSize : uint8_t

Supported initial town sizes.

Enumerator
TSZ_SMALL 

Small town.

TSZ_MEDIUM 

Medium town.

TSZ_LARGE 

Large town.

TSZ_RANDOM 

Random size, bigger than small, smaller than large.

TSZ_END 

Number of available town sizes.

Definition at line 19 of file town_type.h.

Variable Documentation

◆ MAX_LENGTH_TOWN_NAME_CHARS

const uint MAX_LENGTH_TOWN_NAME_CHARS = 32
static

The maximum length of a town name in characters including '\0'.

Definition at line 109 of file town_type.h.

Referenced by CmdFoundTown(), CmdRenameTown(), TownViewWindow::OnClick(), and VerifyTownName().

◆ RATING_APPALLING

constexpr int RATING_APPALLING = -400
staticconstexpr

Definition at line 32 of file town_type.h.

◆ RATING_BRIBE_DOWN_TO

constexpr int RATING_BRIBE_DOWN_TO = -50
staticconstexpr

Definition at line 76 of file town_type.h.

◆ RATING_BRIBE_MAXIMUM

constexpr int RATING_BRIBE_MAXIMUM = 800
staticconstexpr

Definition at line 75 of file town_type.h.

◆ RATING_BRIBE_UP_STEP

constexpr int RATING_BRIBE_UP_STEP = 200
staticconstexpr

Definition at line 74 of file town_type.h.

◆ RATING_EXCELLENT

constexpr int RATING_EXCELLENT = 800
staticconstexpr

Definition at line 38 of file town_type.h.

◆ RATING_GOOD

constexpr int RATING_GOOD = 400
staticconstexpr

Definition at line 36 of file town_type.h.

◆ RATING_GROWTH_MAXIMUM

constexpr int RATING_GROWTH_MAXIMUM = RATING_MEDIOCRE
staticconstexpr

... up to RATING_MEDIOCRE

Definition at line 52 of file town_type.h.

Referenced by UpdateTownRating().

◆ RATING_GROWTH_UP_STEP

constexpr int RATING_GROWTH_UP_STEP = 5
staticconstexpr

when a town grows, all companies have rating increased a bit ...

Definition at line 51 of file town_type.h.

Referenced by UpdateTownRating().

◆ RATING_HOUSE_MINIMUM

constexpr int RATING_HOUSE_MINIMUM = RATING_MINIMUM
staticconstexpr

Definition at line 72 of file town_type.h.

◆ RATING_INITIAL

constexpr int RATING_INITIAL = 500
staticconstexpr

initial rating

Definition at line 43 of file town_type.h.

Referenced by AfterLoadGame(), ChangeOwnershipOfCompanyItems(), and DoCreateTown().

◆ RATING_MAXIMUM

constexpr int RATING_MAXIMUM = RATING_OUTSTANDING
staticconstexpr

Definition at line 41 of file town_type.h.

◆ RATING_MEDIOCRE

constexpr int RATING_MEDIOCRE = 200
staticconstexpr

Definition at line 35 of file town_type.h.

◆ RATING_MINIMUM

constexpr int RATING_MINIMUM = -1000
staticconstexpr

Definition at line 31 of file town_type.h.

◆ RATING_OUTSTANDING

constexpr int RATING_OUTSTANDING = 1000
staticconstexpr

OUTSTANDING.

Definition at line 39 of file town_type.h.

◆ RATING_POOR

constexpr int RATING_POOR = 0
staticconstexpr

Definition at line 34 of file town_type.h.

◆ RATING_ROAD_DOWN_STEP_EDGE

constexpr int RATING_ROAD_DOWN_STEP_EDGE = -18
staticconstexpr

removing a roadpiece at the edge

Definition at line 65 of file town_type.h.

Referenced by CheckAllowRemoveRoad().

◆ RATING_ROAD_DOWN_STEP_INNER

constexpr int RATING_ROAD_DOWN_STEP_INNER = -50
staticconstexpr

removing a roadpiece in the middle

Definition at line 64 of file town_type.h.

Referenced by CheckAllowRemoveRoad().

◆ RATING_ROAD_MINIMUM

constexpr int RATING_ROAD_MINIMUM = -100
staticconstexpr

minimum rating after removing town owned road

Definition at line 66 of file town_type.h.

Referenced by CheckAllowRemoveRoad().

◆ RATING_ROAD_NEEDED_HOSTILE

constexpr int RATING_ROAD_NEEDED_HOSTILE = 112
staticconstexpr

"Hostile"

Definition at line 69 of file town_type.h.

Referenced by CheckforTownRating().

◆ RATING_ROAD_NEEDED_LENIENT

constexpr int RATING_ROAD_NEEDED_LENIENT = 16
staticconstexpr

rating needed, "Lenient" difficulty settings

Definition at line 67 of file town_type.h.

Referenced by CheckforTownRating().

◆ RATING_ROAD_NEEDED_NEUTRAL

constexpr int RATING_ROAD_NEEDED_NEUTRAL = 64
staticconstexpr

"Neutral"

Definition at line 68 of file town_type.h.

Referenced by CheckforTownRating().

◆ RATING_ROAD_NEEDED_PERMISSIVE

constexpr int RATING_ROAD_NEEDED_PERMISSIVE = RATING_MINIMUM
staticconstexpr

"Permissive" (local authority disabled)

Definition at line 70 of file town_type.h.

Referenced by CheckforTownRating().

◆ RATING_STATION_DOWN_STEP

constexpr int RATING_STATION_DOWN_STEP = -15
staticconstexpr

... but loses for badly serviced stations

Definition at line 54 of file town_type.h.

◆ RATING_STATION_UP_STEP

constexpr int RATING_STATION_UP_STEP = 12
staticconstexpr

when a town grows, company gains reputation for all well serviced stations ...

Definition at line 53 of file town_type.h.

◆ RATING_TREE_DOWN_STEP

constexpr int RATING_TREE_DOWN_STEP = -35
staticconstexpr

Definition at line 46 of file town_type.h.

◆ RATING_TREE_MAXIMUM

constexpr int RATING_TREE_MAXIMUM = 220
staticconstexpr

Definition at line 49 of file town_type.h.

◆ RATING_TREE_MINIMUM

constexpr int RATING_TREE_MINIMUM = RATING_MINIMUM
staticconstexpr

Definition at line 47 of file town_type.h.

◆ RATING_TREE_UP_STEP

constexpr int RATING_TREE_UP_STEP = 7
staticconstexpr

Definition at line 48 of file town_type.h.

◆ RATING_TUNNEL_BRIDGE_DOWN_STEP

constexpr int RATING_TUNNEL_BRIDGE_DOWN_STEP = -250
staticconstexpr

penalty for removing town owned tunnel or bridge

Definition at line 57 of file town_type.h.

Referenced by DoClearBridge(), and DoClearTunnel().

◆ RATING_TUNNEL_BRIDGE_MINIMUM

constexpr int RATING_TUNNEL_BRIDGE_MINIMUM = 0
staticconstexpr

minimum rating after removing tunnel or bridge

Definition at line 58 of file town_type.h.

Referenced by DoClearBridge(), and DoClearTunnel().

◆ RATING_TUNNEL_BRIDGE_NEEDED_HOSTILE

constexpr int RATING_TUNNEL_BRIDGE_NEEDED_HOSTILE = 400
staticconstexpr

"Hostile"

Definition at line 61 of file town_type.h.

Referenced by CheckforTownRating().

◆ RATING_TUNNEL_BRIDGE_NEEDED_LENIENT

constexpr int RATING_TUNNEL_BRIDGE_NEEDED_LENIENT = 144
staticconstexpr

rating needed, "Lenient" difficulty settings

Definition at line 59 of file town_type.h.

Referenced by CheckforTownRating().

◆ RATING_TUNNEL_BRIDGE_NEEDED_NEUTRAL

constexpr int RATING_TUNNEL_BRIDGE_NEEDED_NEUTRAL = 208
staticconstexpr

"Neutral"

Definition at line 60 of file town_type.h.

Referenced by CheckforTownRating().

◆ RATING_TUNNEL_BRIDGE_NEEDED_PERMISSIVE

constexpr int RATING_TUNNEL_BRIDGE_NEEDED_PERMISSIVE = RATING_MINIMUM
staticconstexpr

"Permissive" (local authority disabled)

Definition at line 62 of file town_type.h.

Referenced by CheckforTownRating().

◆ RATING_TUNNEL_BRIDGE_UP_STEP

constexpr int RATING_TUNNEL_BRIDGE_UP_STEP = 50
staticconstexpr

rating increase for improving a town-owned bridge

Definition at line 56 of file town_type.h.

Referenced by CmdBuildBridge().

◆ RATING_VERYGOOD

constexpr int RATING_VERYGOOD = 600
staticconstexpr

Definition at line 37 of file town_type.h.

◆ RATING_VERYPOOR

constexpr int RATING_VERYPOOR = -200
staticconstexpr

Definition at line 33 of file town_type.h.