Codechange: Return pair from instead of optional out parameter. (#13166)
[openttd-github.git] / src / newgrf_properties.h
bloba33e02f165032ca0f6cc8dce207b552cbae82544
1 /*
2 * This file is part of OpenTTD.
3 * 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.
4 * 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.
5 * 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/>.
6 */
8 /** @file newgrf_properties.h Properties of NewGRF Action 0. */
10 #ifndef NEWGRF_PROPERTIES_H
11 #define NEWGRF_PROPERTIES_H
13 /**
14 * List of NewGRF properties used in Action 0 or Callback 0x36 (CBID_VEHICLE_MODIFY_PROPERTY).
15 * Names are formatted as PROP_<CLASS>_<NAME>
16 * @todo Currently the list only contains properties which are used more than once in the code. I.e. they are available for callback 0x36.
18 enum PropertyID {
19 PROP_VEHICLE_LOAD_AMOUNT = 0x07, ///< Loading speed
21 PROP_TRAIN_SPEED = 0x09, ///< Max. speed: 1 unit = 1/1.6 mph = 1 km-ish/h
22 PROP_TRAIN_POWER = 0x0B, ///< Power in hp (if dualheaded: sum of both vehicles)
23 PROP_TRAIN_RUNNING_COST_FACTOR = 0x0D, ///< Yearly runningcost (if dualheaded: sum of both vehicles)
24 PROP_TRAIN_CARGO_CAPACITY = 0x14, ///< Capacity (if dualheaded: for each single vehicle)
25 PROP_TRAIN_WEIGHT = 0x16, ///< Weight in t (if dualheaded: for each single vehicle)
26 PROP_TRAIN_COST_FACTOR = 0x17, ///< Purchase cost (if dualheaded: sum of both vehicles)
27 PROP_TRAIN_TRACTIVE_EFFORT = 0x1F, ///< Tractive effort coefficient in 1/256
28 PROP_TRAIN_SHORTEN_FACTOR = 0x21, ///< Shorter vehicles
29 PROP_TRAIN_USER_DATA = 0x25, ///< User defined data for vehicle variable 0x42
30 PROP_TRAIN_CARGO_AGE_PERIOD = 0x2B, ///< Number of ticks before carried cargo is aged
31 PROP_TRAIN_CURVE_SPEED_MOD = 0x2E, ///< Modifier to maximum speed in curves
33 PROP_ROADVEH_RUNNING_COST_FACTOR = 0x09, ///< Yearly runningcost
34 PROP_ROADVEH_CARGO_CAPACITY = 0x0F, ///< Capacity
35 PROP_ROADVEH_COST_FACTOR = 0x11, ///< Purchase cost
36 PROP_ROADVEH_POWER = 0x13, ///< Power in 10 HP
37 PROP_ROADVEH_WEIGHT = 0x14, ///< Weight in 1/4 t
38 PROP_ROADVEH_SPEED = 0x15, ///< Max. speed: 1 unit = 1/0.8 mph = 2 km-ish/h
39 PROP_ROADVEH_TRACTIVE_EFFORT = 0x18, ///< Tractive effort coefficient in 1/256
40 PROP_ROADVEH_CARGO_AGE_PERIOD = 0x22, ///< Number of ticks before carried cargo is aged
41 PROP_ROADVEH_SHORTEN_FACTOR = 0x23, ///< Shorter vehicles
43 PROP_SHIP_COST_FACTOR = 0x0A, ///< Purchase cost
44 PROP_SHIP_SPEED = 0x0B, ///< Max. speed: 1 unit = 1/3.2 mph = 0.5 km-ish/h
45 PROP_SHIP_CARGO_CAPACITY = 0x0D, ///< Capacity
46 PROP_SHIP_RUNNING_COST_FACTOR = 0x0F, ///< Yearly runningcost
47 PROP_SHIP_CARGO_AGE_PERIOD = 0x1D, ///< Number of ticks before carried cargo is aged
49 PROP_AIRCRAFT_COST_FACTOR = 0x0B, ///< Purchase cost
50 PROP_AIRCRAFT_SPEED = 0x0C, ///< Max. speed: 1 unit = 8 mph = 12.8 km-ish/h
51 PROP_AIRCRAFT_RUNNING_COST_FACTOR = 0x0E, ///< Yearly runningcost
52 PROP_AIRCRAFT_PASSENGER_CAPACITY = 0x0F, ///< Passenger Capacity
53 PROP_AIRCRAFT_MAIL_CAPACITY = 0x11, ///< Mail Capacity
54 PROP_AIRCRAFT_CARGO_AGE_PERIOD = 0x1C, ///< Number of ticks before carried cargo is aged
55 PROP_AIRCRAFT_RANGE = 0x1F, ///< Aircraft range
58 #endif /* NEWGRF_PROPERTIES_H */