Difference between revisions of "Action0/Vehicles/Ships"
Planetmaker (talk | contribs) (table and style) |
(PR #13090) |
||
(30 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
+ | <div style="float:right; padding-left:12px; background:none;">{{NFONavVehicles}}</div> |
||
− | =Action 0 - Properties for road vehicles= |
||
+ | == Introduction == |
||
− | Defining properties of road vehicles. |
||
+ | Defining properties of ships. |
||
− | |||
− | =Properties= |
+ | == Properties == |
{| |- |
{| |- |
||
− | !Number!! |
+ | !Number!![[GRFActionsDetailed|Size]]!!Version!!Description |
|- |
|- |
||
+ | |08||B||{{ottdp|0.6|2.0}}||Sprite (FF for new graphics) |
||
− | |08|| ||B||Speed in mph*3.2||no |
||
|- |
|- |
||
+ | |09||B||{{ottdp|0.6|2.0}}||Refittable (0 no, 1 yes) |
||
− | |09|| ||B||Running cost factor||should be zero |
||
|- |
|- |
||
+ | |0A||B||{{ottdp|0.6|2.0}}||Cost factor |
||
− | |0A|| ||D||Running cost base, see below||should be zero |
||
|- |
|- |
||
+ | |0B||B||{{ottdp|0.6|2.0}}||Speed in mph*3.2, use property 23 for speeds > 255 |
||
− | |0E|| ||B||Sprite ID (FF for new graphics)||yes |
||
|- |
|- |
||
+ | |0C||B||{{ottdp|0.6|2.0}}||Cargo type, see [[CargoTypes]]<br/> |
||
− | |0F|| ||B||Capacity||yes |
||
+ | {{grfTill|7}} For GRF version 7 and below: Type B 'cargo slot'<br/> |
||
+ | {{grfFrom|8}} For GRF version 8 and above: Type A '(translated) cargo bit'<br/> |
||
+ | {{ottd|15.0}} Since 15.0, a default cargo translation table corresponding to the climate is used if one is not provided. |
||
|- |
|- |
||
+ | |0D||W||{{ottdp|0.6|2.0}}||Capacity |
||
− | |10|| ||B||Cargo type, see column 3 (type B) in [[CargoTypes]]||yes |
||
|- |
|- |
||
− | | |
+ | |0F||B||{{ottdp|0.6|2.0}}||Running cost factor |
|- |
|- |
||
+ | |10||B||{{ottdp|0.6|2.0}}||Sound effect type (4=cargo ship, 5=passenger ship)<br/>{{ottdp|1.6|no|ottdrev=r27507}} Since OpenTTD r27507 also custom sound effects from Action11 are allowed here. |
||
− | |12|| ||B||Sound effect: 17/19/1A for regular, 3C/3E for toyland||no |
||
|- |
|- |
||
+ | |11||D||{{ottdp|0.6|2.0}} {{grfFrom|1}}||Bit mask of cargo types available for refitting, see column 2 (bit values) in [[CargoTypes]]. <b>Obsoleted by properties 1E/1F</b> |
||
− | |13||2||B||Power in 10 hp, see below||should be zero |
||
|- |
|- |
||
− | | |
+ | |12||B||{{ottdp|0.6|2.5}} {{grfFrom|6}}||Callback flags bit mask, see below |
|- |
|- |
||
+ | |13||B||{{ottdp|0.6|2.5|ttdprev=alpha 30}}||Refit cost, using 1/32 of the default refit cost base |
||
− | |15||2||B||Speed in mph*0.8, see below||no |
||
|- |
|- |
||
+ | |14||B||{{ottdp|1.2|2.5|ttdprev=alpha 44|ottdrev=r22639}}||Ocean speed fraction, sets fraction of top speed available in the ocean; e.g. 00=100%, 80=50%, FF=0.4% |
||
− | |16||2||D||Bit mask of cargo types available for refitting (not refittable if 0 or unset), see column 2 (bit values) in [[CargoTypes]]||yes |
||
|- |
|- |
||
+ | |15||B||{{ottdp|1.2|2.5|ttdprev=alpha 44|ottdrev=r22639}}||Canal speed fraction, same as above but for canals and rivers |
||
− | |17||6||B||Callback flags bit mask, see below||yes |
||
|- |
|- |
||
+ | |16||B||{{ottdp|0.6|2.5|ttdprev=alpha 44}}||Retire vehicle early, this many years before the end of phase 2 (see [[Action0General]]) |
||
− | |18||(a)||B||Coefficient of tractive effort||should be zero |
||
|- |
|- |
||
+ | |17||B||{{ottdp|0.6|2.5|ttdprev=alpha 55}}||Miscellaneous vehicle flags |
||
− | |19||(a)||B||Coefficient of air drag||should be zero |
||
|- |
|- |
||
+ | |18||W||{{ottdp|0.6|2.5|ttdprev=alpha 55}}||Refittable cargo classes, see [[Action0Trains#Cargo_classes (28, 29, 32)|train prop. 28]] |
||
− | |1A||(a)||B||Refit cost, using 25% of the [[BaseCosts|purchase price cost base]]||yes |
||
|- |
|- |
||
+ | |19||W||{{ottdp|0.6|2.5|ttdprev=alpha 55}}||Non-refittable cargo classes, see [[Action0Trains#Cargo_classes (28, 29, 32)|train prop. 29]] |
||
− | |1B||(b)||B||Retire vehicle early, this many years before the end of phase 2 (see [[Action0General]])||no |
||
|- |
|- |
||
+ | |1A||D||{{ottdp|0.6|2.6|ttdprev=r1210|ottdrev=r7191}}||Long format introduction date |
||
− | |1C||(c)||B||Miscellaneous vehicle flags||partly ("tram" should be same as front) |
||
|- |
|- |
||
+ | |1B||B*||{{ottdp|0.7|no|ottdrev=r13831}}||Sort the purchase list |
||
− | |1D||(c)||W||Refittable cargo classes, see [[Action0Trains#Cargo_classes_28_29_|train prop. 28]]||yes |
||
|- |
|- |
||
+ | |1C||B||{{ottdp|1.1|no|ottdrev=r21240}}||Visual effect |
||
− | |1E||(c)||W||Non-refittable cargo classes, see [[Action0Trains#Cargo_classes_28_29_|train prop. 29]]||yes |
||
|- |
|- |
||
+ | |1D||W||{{ottdp|1.2|no|ottdrev=r22713}}||Custom cargo ageing period |
||
− | |1F||(d)||D||Long format introduction date||no |
||
|- |
|- |
||
+ | |1E||B n*B||{{ottdp|1.2|no|ottdrev=r23291}}||List of always refittable cargo types, see [[Action0/Vehicles/Trains#List_of_always_refittable_cargo_types_.282C.2C_2D.29|train property 2C]] |
||
− | |20||(e)||B*||Sort the purchase list||no |
||
|- |
|- |
||
+ | |1F||B n*B||{{ottdp|1.2|no|ottdrev=r23291}}||List of never refittable cargo types, see [[Action0/Vehicles/Trains#List_of_always_refittable_cargo_types_.282C.2C_2D.29|train property 2D]] |
||
− | |21||(f)||B||Visual effect||yes |
||
− | |} |
||
− | |||
− | Version codes: |
||
− | |||
− | {| |- |
||
− | !Code!!Version |
||
|- |
|- |
||
+ | |20||W||{{ottdp|13|no}}||Vehicle variant group, see [[Action0/Vehicles/Trains#Vehicle_variant_group_.282F.29|train property 2F]] |
||
− | |(a)||2.0.1 alpha 30 |
||
|- |
|- |
||
+ | |21||D||{{ottdp|13|no}}||Extra flags, see [[Action0/Vehicles/Trains#Extra_flags_.2830.29|train property 30]] |
||
− | |(b)||2.0.1 alpha 44 |
||
|- |
|- |
||
+ | |22||B||{{ottdp|14|no|ottdrev=g2d73076056}}||Additional callback flags bit mask, see below |
||
− | |(c)||2.0.1 alpha 58 |
||
|- |
|- |
||
+ | |23||W||{{ottdp|14|no|ottdrev=g5a55c4a934}}||Speed in mph*3.2 |
||
− | |(d)||2.5 r1210, OpenTTD r7191 |
||
|- |
|- |
||
+ | |24||B||{{ottdp|14|no|ottdrev=g5a55c4a934}}||Acceleration in mph*3.2/h (0.5 km-ish/h). Minimum 1, defaults to 1 when omitted |
||
− | |(e)||OpenTTD r13831 |
||
|- |
|- |
||
+ | |25||W||{{ottdp|15|no|ottdrev=gd2496b6ec4}}||Cargo classes required for refittability, see [[Action0Trains#Cargo_classes (28, 29, 32)|train prop. 32]] |
||
− | |(f)||OpenTTD r21240 |
||
|} |
|} |
||
+ | == Descriptions == |
||
− | =Comments= |
||
+ | === Callbacks (12, 22) === |
||
− | ==Running cost base (0A) and factor (09)== |
||
+ | For ships, the following [[callbacks]] have to be enabled by setting the corresponding bit in properties 12 and 22 (certain other, not as frequently used callbacks are available without setting a bit here): |
||
− | |||
− | TTD calculates all costs by multiplying a 48-bit base amount with an 8-bit factor. The base amount is changed according to inflation, whereas the factor remains constant. |
||
− | |||
− | For the running costs of road vehicles, the following base amounts are available: |
||
{| |- |
{| |- |
||
− | ! |
+ | !Bit!!Value!!Variable 0C value!!Callback |
|- |
|- |
||
+ | |2||4||12||Load amount |
||
− | |Road vehicle running cost base||4C48||48 4C 00 00 |
||
− | |} |
||
− | |||
− | Theoretically, you could use pointers to other [[BaseCosts|base amounts]] available in TTD, but these are the numbers TTD uses for road vehicles. |
||
− | |||
− | ==Cost factor (11)== |
||
− | |||
− | The cost factor is a bit-coded value which determines how expensive a vehicle is. The table below gives you some values to use for finding the right price for your vehicles. |
||
− | |||
− | {| |- |
||
− | !Cost factor!!Price |
||
|- |
|- |
||
+ | |3||8||15||Set refitted capacity |
||
− | |00||$ 0 |
||
|- |
|- |
||
+ | |5||20||19||show a suffix after the cargo type name |
||
− | |01||$ 108 |
||
|- |
|- |
||
+ | |6||40||2D||Select color mapping for vehicle |
||
− | |10||$ 1,750 |
||
|- |
|- |
||
+ | |7||80||33||Sound effect callbacks |
||
− | |20||$ 3,500 |
||
|- |
|- |
||
+ | |8||100||161||{{ottd|14|ottdrev=gf5394ed2ef}}Engine name |
||
− | |80||$ 14,000 |
||
|- |
|- |
||
+ | |9||200||163||{{ottdp|15|no|ottdrev=gd2496b6ec4}}Custom refit |
||
− | |FF||$ 27,890 |
||
|} |
|} |
||
+ | Bit is the bit you have to set, you do this by adding all the values for all the bits. Variable 0C value is what variable 0C will be set to, for checking it in the VarAction2 for callbacks. |
||
− | ==Realistic acceleration properties (13, 14, 15)== |
||
+ | === Refit cost (13) === |
||
− | TTDP uses these properties only if road vehicles are set to realistic acceleration in the NewCurveAndMountainHandling switch. They are ignored otherwise. |
||
+ | Refit cost, using 1/32 of the default refit cost base. This property can be overridden by callback 15E. |
||
− | OpenTTD uses these properties always, if they are defined and gives the speed defined here precedence over the one defined in property 08. |
||
+ | {{ottdp|1.2|no|ottdrev=r23087}} If the refit cost factor is set to zero and bit 4 of the miscellaneous flags (17) is set, auto-refitting is allowed. |
||
− | Using property 15 to set the speed, it is possible to achieve speeds larger than 80 mph (127 km/h), to which property 08 is limited. When setting property 15, always set property 08 as well, so that the vehicle works reasonably well whether realistic acceleration is turned on or off. If property 15 is not set, the value from property 08 is used instead. |
||
− | == |
+ | === Miscellaneous flags (17) === |
+ | This is a bit mask, with the following bits: |
||
− | For road vehicles, the following [[Callbacks|callbacks]] have to be enabled by setting the corresponding bit in property 17 (certain other, not as frequently used callbacks are available without setting a bit here): |
||
{| |- |
{| |- |
||
− | !Bit!!Value!! |
+ | !Bit!!Value!!Meaning |
|- |
|- |
||
+ | |0||1||reserved, do not use |
||
− | |1||2||11||Wagon length |
||
|- |
|- |
||
+ | |1||2||Uses two company colors |
||
− | |2||4||12||Load amount |
||
|- |
|- |
||
+ | |2||4||reserved, do not use |
||
− | |3||8||15||Set refitted capacity |
||
|- |
|- |
||
+ | |3||8||reserved, do not use |
||
− | |4||10||16||Build articulated vehicle |
||
|- |
|- |
||
+ | |4||10||{{ottdp|1.2|no|ottdrev=r23087}} Auto-refitting is enabled for refits where callback 15E allows it or prop 13 specifies zero cost. |
||
− | |5||20||19||show a suffix after the cargo type name |
||
|- |
|- |
||
+ | |5|| 20||{{ottdp|1.2|no|ottdrev=r23861}} Use cargo multiplier for default cargo. See page about [[VehicleRefitting#Misc._vehicle_flag_5_.27use_of_capacity_multiplier_for_default_cargo.27_set|vehicle refitting]]. |
||
− | |6||40||2D||Select color mapping for vehicle |
||
|- |
|- |
||
+ | |6|| 40||{{ottdp|1.3|no|ottdrev=r24124}} Disable breakdown smoke effect. |
||
− | |7||80||33||Sound effect callbacks |
||
− | |} |
||
− | |||
− | Bit is the bit you have to set, you do this by adding all the values for all the bits. Variable 0C value is what variable 0C will be set to, for checking it in the variational action 2 for callbacks. |
||
− | |||
− | ==Coefficient of tractive effort (18)== |
||
− | |||
− | This cofficient sets what fraction of the vehicle weight is equal to the maximum tractive effort. This includes the effect of having some unpowered axles, as well as the coefficient of friction that is available. |
||
− | |||
− | For a value of FF, the tractive effort is equal to the vehicle weight, for 80, it is half, and so on. If not set, a default of 4C is used, for a fraction of 0.30, corresponding to Wadh=W and a coefficient of friction of 0.30, which is the value used by the patch before 2.0.1 alpha 19. |
||
− | |||
− | ==Coefficient of air drag (19)== |
||
− | |||
− | This property sets the air drag coefficient c2 used for the realistic acceleration model, from 01 (no airdrag) to FF (most air drag) in arbitrary units. 00 means to use the default value that depends on the top speed (to simulate the fact that high-speed engines are more streamlined). |
||
− | |||
− | The default values are the following: |
||
− | |||
− | {| |- |
||
− | !top speed (mph/1.6)!!<16!!16!!24!!32!!48!!64!!96!!128!!192!!256!!... |
||
|- |
|- |
||
+ | |7|| 80||{{ottdp|1.7|no|ottdrev=r27668}} [[Action2/Vehicles#Composing_vehicles_from_multiple_sprites|Compose vehicle from multiple sprites.]] |
||
− | |c2||192||128||96||64||48||32||24||16||12||8 |
||
|} |
|} |
||
+ | === Long format introduction date (1A) === |
||
− | For higher speeds, the series is continued in the same manner. |
||
+ | Set the vehicle introduction date, in days since the year 0. This takes account of leap years; dividable by 4, but not 100 unless 400. A start date of 1920-01-01 is obtained with a value of 701265 (51 B3 0A 00). This property must be set after property 00 to take effect. |
||
− | Air drag in Newtons will then be c2*v*v with v in m/s, although it is probably futile to attempt to make c2 a realistic number due to the lack of TTd's consistent scaling. If a vehicle doesn't reach its historical top speed, you might try setting prop. 19 one or two higher than the default above, otherwise it's probably a good idea to leave it at the default. |
||
− | |||
− | ==Miscellaneous flags (1C)== |
||
− | |||
− | This is a bit mask, with the following bits: |
||
− | |||
− | {| |- |
||
− | !Bit!!Value!!Meaning |
||
− | |- |
||
− | |0||1||Vehicle is a tram/light rail vehicle and requires tram tracks to operate |
||
− | |- |
||
− | |1||2||Uses two company colors |
||
− | |} |
||
+ | {{ottdp|no|}} In TTDPatch, dates after 2044 will be limited to 2044. |
||
− | ==Long format introduction date (1F)== |
||
+ | === Sort vehicle list (1B) === |
||
− | Set the vehicle introduction date, in days since the year 0. This takes account of leap years; dividable by 4, but not 100 unless 400. A start date of 1920-01-01 is obtained with a value of 701265 (51 B3 0A 00). This property must be set after property 00 to take effect. In TTDPatch, dates after 2044 will be limited to 2044. |
||
+ | See sort vehicle list for [[Action0Trains#Sort_vehicle_list_.281A.29|trains]] for details. |
||
− | == |
+ | === Visual effect (1C) === |
+ | See the equivalent [[Action0Trains#Visual_effects_and_wagon_power_.2822.29|train property]] for information about the meaning of all bits. There is no default effect for ships, therefore values of 00..0F will show no visual effect. Bit 7 (disable wagon power) currently has no meaning and should be left at 0. |
||
+ | === Custom cargo ageing period (1D) === |
||
− | See sort vehicle list for [[Action0Trains#Sort_vehicle_list_1A_|trains]] for details. |
||
+ | See custom cargo ageing period for [[Action0Trains#Custom_cargo_ageing_period_.282B.29|trains]] for details. |
||
− | == |
+ | == Example == |
+ | To be written |
||
− | See the equivalent [[Action0Trains#Visual_effects_and_wagon_power_22_|train property]] for information about the meaning of all bits. There is no default effect for road vehicles, therefore values of 00..0F will show no visual effect. Bit 7 (disable wagon power) currently has no meaning and should be left at 0. |
Latest revision as of 21:48, 18 November 2024
Introduction
Defining properties of ships.
Properties
Number | Size | Version | Description |
---|---|---|---|
08 | B | 0.6 2.0 | Sprite (FF for new graphics) |
09 | B | 0.6 2.0 | Refittable (0 no, 1 yes) |
0A | B | 0.6 2.0 | Cost factor |
0B | B | 0.6 2.0 | Speed in mph*3.2, use property 23 for speeds > 255 |
0C | B | 0.6 2.0 | Cargo type, see CargoTypes GRFv≤7 For GRF version 7 and below: Type B 'cargo slot' |
0D | W | 0.6 2.0 | Capacity |
0F | B | 0.6 2.0 | Running cost factor |
10 | B | 0.6 2.0 | Sound effect type (4=cargo ship, 5=passenger ship) 1.6 Since OpenTTD r27507 also custom sound effects from Action11 are allowed here. |
11 | D | 0.6 2.0 GRFv≥1 | Bit mask of cargo types available for refitting, see column 2 (bit values) in CargoTypes. Obsoleted by properties 1E/1F |
12 | B | 0.6 2.5 GRFv≥6 | Callback flags bit mask, see below |
13 | B | 0.6 2.5 | Refit cost, using 1/32 of the default refit cost base |
14 | B | 1.2 2.5 | Ocean speed fraction, sets fraction of top speed available in the ocean; e.g. 00=100%, 80=50%, FF=0.4% |
15 | B | 1.2 2.5 | Canal speed fraction, same as above but for canals and rivers |
16 | B | 0.6 2.5 | Retire vehicle early, this many years before the end of phase 2 (see Action0General) |
17 | B | 0.6 2.5 | Miscellaneous vehicle flags |
18 | W | 0.6 2.5 | Refittable cargo classes, see train prop. 28 |
19 | W | 0.6 2.5 | Non-refittable cargo classes, see train prop. 29 |
1A | D | 0.6 2.6 | Long format introduction date |
1B | B* | 0.7 | Sort the purchase list |
1C | B | 1.1 | Visual effect |
1D | W | 1.2 | Custom cargo ageing period |
1E | B n*B | 1.2 | List of always refittable cargo types, see train property 2C |
1F | B n*B | 1.2 | List of never refittable cargo types, see train property 2D |
20 | W | 13 | Vehicle variant group, see train property 2F |
21 | D | 13 | Extra flags, see train property 30 |
22 | B | 14 | Additional callback flags bit mask, see below |
23 | W | 14 | Speed in mph*3.2 |
24 | B | 14 | Acceleration in mph*3.2/h (0.5 km-ish/h). Minimum 1, defaults to 1 when omitted |
25 | W | 15 | Cargo classes required for refittability, see train prop. 32 |
Descriptions
Callbacks (12, 22)
For ships, the following callbacks have to be enabled by setting the corresponding bit in properties 12 and 22 (certain other, not as frequently used callbacks are available without setting a bit here):
Bit is the bit you have to set, you do this by adding all the values for all the bits. Variable 0C value is what variable 0C will be set to, for checking it in the VarAction2 for callbacks.
Refit cost (13)
Refit cost, using 1/32 of the default refit cost base. This property can be overridden by callback 15E.
1.2 If the refit cost factor is set to zero and bit 4 of the miscellaneous flags (17) is set, auto-refitting is allowed.
Miscellaneous flags (17)
This is a bit mask, with the following bits:
Bit | Value | Meaning |
---|---|---|
0 | 1 | reserved, do not use |
1 | 2 | Uses two company colors |
2 | 4 | reserved, do not use |
3 | 8 | reserved, do not use |
4 | 10 | 1.2 Auto-refitting is enabled for refits where callback 15E allows it or prop 13 specifies zero cost. |
5 | 20 | 1.2 Use cargo multiplier for default cargo. See page about vehicle refitting. |
6 | 40 | 1.3 Disable breakdown smoke effect. |
7 | 80 | 1.7 Compose vehicle from multiple sprites. |
Long format introduction date (1A)
Set the vehicle introduction date, in days since the year 0. This takes account of leap years; dividable by 4, but not 100 unless 400. A start date of 1920-01-01 is obtained with a value of 701265 (51 B3 0A 00). This property must be set after property 00 to take effect.
In TTDPatch, dates after 2044 will be limited to 2044.
Sort vehicle list (1B)
See sort vehicle list for trains for details.
Visual effect (1C)
See the equivalent train property for information about the meaning of all bits. There is no default effect for ships, therefore values of 00..0F will show no visual effect. Bit 7 (disable wagon power) currently has no meaning and should be left at 0.
Custom cargo ageing period (1D)
See custom cargo ageing period for trains for details.
Example
To be written