# 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 | EnumPropsT< TownSize >
struct | EnumPropsT< TownLayout >
## Typedefs
typedef uint16 | TownID
typedef SimpleTinyEnumT < TownLayout, byte > | TownLayoutByte
| It needs to be 8bits, because we save and load it as such.
typedef SimpleTinyEnumT < TownFounding, byte > | TownFoundingByte
| It needs to be 8bits, because we save and load it as such.
## Enumerations
enum | TownSize { TSZ_SMALL, TSZ_MEDIUM, TSZ_LARGE, TSZ_RANDOM, TSZ_END }
| Supported initial town sizes. More...
enum | { RATING_MINIMUM = -1000, RATING_APPALLING = -400, RATING_VERYPOOR = -200, RATING_POOR = 0, RATING_MEDIOCRE = 200, RATING_GOOD = 400, RATING_VERYGOOD = 600, RATING_EXCELLENT = 800, RATING_OUTSTANDING = 1000, RATING_MAXIMUM = RATING_OUTSTANDING, RATING_INITIAL = 500, RATING_TREE_DOWN_STEP = -35, RATING_TREE_MINIMUM = RATING_MINIMUM, RATING_TREE_UP_STEP = 7, RATING_TREE_MAXIMUM = 220, RATING_GROWTH_UP_STEP = 5, RATING_GROWTH_MAXIMUM = RATING_MEDIOCRE, RATING_STATION_UP_STEP = 12, RATING_STATION_DOWN_STEP = -15, RATING_TUNNEL_BRIDGE_DOWN_STEP = -250, RATING_TUNNEL_BRIDGE_MINIMUM = 0, RATING_TUNNEL_BRIDGE_NEEDED_PERMISSIVE = 144, RATING_TUNNEL_BRIDGE_NEEDED_NEUTRAL = 208, RATING_TUNNEL_BRIDGE_NEEDED_HOSTILE = 400, RATING_ROAD_DOWN_STEP_INNER = -50, RATING_ROAD_DOWN_STEP_EDGE = -18, RATING_ROAD_MINIMUM = -100, RATING_ROAD_NEEDED_PERMISSIVE = 16, RATING_ROAD_NEEDED_NEUTRAL = 64, RATING_ROAD_NEEDED_HOSTILE = 112, RATING_HOUSE_MINIMUM = RATING_MINIMUM, RATING_BRIBE_UP_STEP = 200, RATING_BRIBE_MAXIMUM = 800, RATING_BRIBE_DOWN_TO = -50 }
enum | TownLayout { TL_BEGIN = 0, TL_ORIGINAL = 0, TL_BETTER_ROADS, TL_2X2_GRID, TL_3X3_GRID, TL_RANDOM, NUM_TLS }
| Town Layouts. More...
enum | TownFounding { TF_BEGIN = 0, TF_FORBIDDEN = 0, TF_ALLOWED, TF_CUSTOM_LAYOUT, TF_END }
| Town founding setting values. More...
enum | { MAX_LENGTH_TOWN_NAME_BYTES = 31, MAX_LENGTH_TOWN_NAME_PIXELS = 130 }

## Detailed Description

Types related to towns.

Definition in file town_type.h.

## Enumeration Type Documentation

anonymous enum

Enumerator:

  RATING_OUTSTANDING | OUTSTANDING.
  RATING_INITIAL | initial rating
  RATING_GROWTH_UP_STEP | when a town grows, all companies have rating increased a bit ...
  RATING_GROWTH_MAXIMUM | ... up to RATING_MEDIOCRE
  RATING_STATION_UP_STEP | when a town grows, company gains reputation for all well serviced stations ...
  RATING_STATION_DOWN_STEP | ... but loses for bad serviced stations
  RATING_TUNNEL_BRIDGE_DOWN_STEP | penalty for removing town owned tunnel or bridge
  RATING_TUNNEL_BRIDGE_MINIMUM | minimum rating after removing tunnel or bridge
  RATING_TUNNEL_BRIDGE_NEEDED_PERMISSIVE | rating needed, "Permissive" difficulty settings
  RATING_TUNNEL_BRIDGE_NEEDED_NEUTRAL | "Neutral"
  RATING_TUNNEL_BRIDGE_NEEDED_HOSTILE | "Hostile"
  RATING_ROAD_DOWN_STEP_INNER | removing a roadpiece in the middle
  RATING_ROAD_DOWN_STEP_EDGE | removing a roadpiece at the edge
  RATING_ROAD_MINIMUM | minimum rating after removing town owned road
  RATING_ROAD_NEEDED_PERMISSIVE | rating needed, "Permissive" difficulty settings
  RATING_ROAD_NEEDED_NEUTRAL | "Neutral"
  RATING_ROAD_NEEDED_HOSTILE | "Hostile"

Definition at line 31 of file town_type.h.

anonymous enum

Enumerator:

  MAX_LENGTH_TOWN_NAME_BYTES | The maximum length of a town name in bytes including ''.
  MAX_LENGTH_TOWN_NAME_PIXELS | The maximum length of a town name in pixels.

Definition at line 108 of file town_type.h.

enum TownFounding

Town founding setting values.

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 98 of file town_type.h.

enum TownLayout

Town Layouts.

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 82 of file town_type.h.

enum TownSize

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 21 of file town_type.h.