OpenTTD Source  20241120-master-g6d3adc6169
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.

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.