Files
@ r14895:fb237f7e7f5b
Branch filter:
Location: cpp/openttd-patchpack/source/src/town_type.h - annotation
r14895:fb237f7e7f5b
4.2 KiB
text/x-c
(svn r19502) -Codechange: During NewGRF loading, store rail type labels in temporary data and process after loading has finished. This avoids deactivated rail vehicles being reactivated if the climate property is set after the rail type property.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | r8213:466402e95092 r8213:466402e95092 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r11012:e1373ff6cc04 r11012:e1373ff6cc04 r14872:dfad0b6fd384 r14872:dfad0b6fd384 r14872:dfad0b6fd384 r14872:dfad0b6fd384 r14873:15b9b1a863e0 r14873:15b9b1a863e0 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8814:8b2b17bb64fc r8814:8b2b17bb64fc r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r10208:ef8fcc3dc4ca r8814:8b2b17bb64fc r10208:ef8fcc3dc4ca r8814:8b2b17bb64fc r8814:8b2b17bb64fc r11874:0c1573de8851 r11874:0c1573de8851 r11874:0c1573de8851 r11874:0c1573de8851 r11874:0c1573de8851 r8213:466402e95092 r11874:0c1573de8851 r11874:0c1573de8851 r11874:0c1573de8851 r11874:0c1573de8851 r11874:0c1573de8851 r11874:0c1573de8851 r11874:0c1573de8851 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r11000:d03bad32156f r11000:d03bad32156f r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8213:466402e95092 r8796:7940548db691 r8796:7940548db691 r8213:466402e95092 r8213:466402e95092 r12016:12cc374b77e8 r12016:12cc374b77e8 r8213:466402e95092 r13746:3eeb0ceed378 r13746:3eeb0ceed378 r13746:3eeb0ceed378 r13746:3eeb0ceed378 r13746:3eeb0ceed378 r13746:3eeb0ceed378 r13746:3eeb0ceed378 r13746:3eeb0ceed378 r13746:3eeb0ceed378 r13746:3eeb0ceed378 r13746:3eeb0ceed378 r9913:5ef437117969 r9913:5ef437117969 r9913:5ef437117969 r9913:5ef437117969 r9913:5ef437117969 r8213:466402e95092 | /* $Id$ */
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/** @file town_type.h Types related to towns. */
#ifndef TOWN_TYPE_H
#define TOWN_TYPE_H
#include "core/enum_type.hpp"
typedef uint16 TownID;
struct Town;
/** Supported initial town sizes */
enum TownSize {
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.
};
enum {
/* These refer to the maximums, so Appalling is -1000 to -400
* MAXIMUM RATINGS BOUNDARIES */
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, ///< OUTSTANDING
RATING_MAXIMUM = RATING_OUTSTANDING,
RATING_INITIAL = 500, ///< initial rating
/* RATINGS AFFECTING NUMBERS */
RATING_TREE_DOWN_STEP = -35,
RATING_TREE_MINIMUM = RATING_MINIMUM,
RATING_TREE_UP_STEP = 7,
RATING_TREE_MAXIMUM = 220,
RATING_GROWTH_UP_STEP = 5, ///< when a town grows, all companies have rating increased a bit ...
RATING_GROWTH_MAXIMUM = RATING_MEDIOCRE, ///< ... up to RATING_MEDIOCRE
RATING_STATION_UP_STEP = 12, ///< when a town grows, company gains reputation for all well serviced stations ...
RATING_STATION_DOWN_STEP = -15, ///< ... but loses for bad serviced stations
RATING_TUNNEL_BRIDGE_DOWN_STEP = -250, ///< penalty for removing town owned tunnel or bridge
RATING_TUNNEL_BRIDGE_MINIMUM = 0, ///< minimum rating after removing tunnel or bridge
RATING_TUNNEL_BRIDGE_NEEDED_PERMISSIVE = 144, ///< rating needed, "Permissive" difficulty settings
RATING_TUNNEL_BRIDGE_NEEDED_NEUTRAL = 208, ///< "Neutral"
RATING_TUNNEL_BRIDGE_NEEDED_HOSTILE = 400, ///< "Hostile"
RATING_ROAD_DOWN_STEP_INNER = -50, ///< removing a roadpiece in the middle
RATING_ROAD_DOWN_STEP_EDGE = -18, ///< removing a roadpiece at the edge
RATING_ROAD_MINIMUM = -100, ///< minimum rating after removing town owned road
RATING_ROAD_NEEDED_PERMISSIVE = 16, ///< rating needed, "Permissive" difficulty settings
RATING_ROAD_NEEDED_NEUTRAL = 64, ///< "Neutral"
RATING_ROAD_NEEDED_HOSTILE = 112, ///< "Hostile"
RATING_HOUSE_MINIMUM = RATING_MINIMUM,
RATING_BRIBE_UP_STEP = 200,
RATING_BRIBE_MAXIMUM = 800,
RATING_BRIBE_DOWN_TO = -50 // XXX SHOULD BE SOMETHING LOWER?
};
/**
* Town Layouts
*/
enum TownLayout {
TL_BEGIN = 0,
TL_ORIGINAL = 0, ///< 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
};
/** It needs to be 8bits, because we save and load it as such */
typedef SimpleTinyEnumT<TownLayout, byte> TownLayoutByte; // typedefing-enumification of TownLayout
/** Town founding setting values */
enum TownFounding {
TF_BEGIN = 0, ///< Used for iterations and limit testing
TF_FORBIDDEN = 0, ///< Forbidden
TF_ALLOWED, ///< Allowed
TF_CUSTOM_LAYOUT, ///< Allowed, with custom town layout
TF_END, ///< Used for iterations and limit testing
};
/** It needs to be 8bits, because we save and load it as such */
typedef SimpleTinyEnumT<TownFounding, byte> TownFoundingByte;
enum {
MAX_LENGTH_TOWN_NAME_BYTES = 31, ///< The maximum length of a town name in bytes including '\0'
MAX_LENGTH_TOWN_NAME_PIXELS = 130, ///< The maximum length of a town name in pixels
};
#endif /* TOWN_TYPE_H */
|