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