Changes

Jump to navigation Jump to search

Documentation/Engine/Units/accessory engine data

57 bytes removed, 07:47, 5 July 2019
no edit summary
The '''accessory_engine_data''' unit type class is used to define the engine characteristics for the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]], as well as some upshift and downshift characteristics for automatic transmission gameplay. Units of this type are usually defined in '''/def/vehicle/truck/<makebrand.model>/engine/*.sii'''
== Attributes ==
!Name
![[Documentation/Engine/Units#Attribute_types|Type]]
!Required/OptionalDefault Value
!Description
|-
|info
|array&lt;string array&gt;|optional|Three This member is attribute of accessory data, however three '''info''' members are usually defined for '''accessory_engine_data'''.
<syntaxhighlight lang="cpp">
info[]: "197 @@hp@@ (147@@kw@@)" // The first is the rated power
</syntaxhighlight>
{{Note|The info attribute has no effect on the engine simulation. Rather, it is used for UI display and for attaching to World of Trucks profile truck uploads.}}
{{Tip|The strings surrounded by ''@'' are for localization &mdash; <code>@@hp@@</code> displays the localized shorthand for horsepower, <code>@@dg@@</code> displays the localized thousands separator, etc.}}
|-
|torque
|float
|required0.0
|This defines the maximum torque output of the engine in N&middot;m.
|-
|secondary_torque
|float
|0.0
|If positive and greater than zero, this defines the secondary maximum torque output of the engine in N&middot;m for multi-torque engines. ''(Added in 1.30)''
|-
|secondary_torque_gear_ratio
|float
|1.0
|This defines the transmission gear ratio below which '''secondary_torque''' is used on multi-torque engines. ''(Added in 1.30)''
|-
|torque_curve
|array&lt;float2 array&gt;|optional''See description''|This defines the torque output of the engine at various engine speeds, relative to the maximum torque defined in '''torque'''. For exampleIf unset, the default curve is used:
<syntaxhighlight lang="cpp">
torque: 745.7 // 550 lb-ft // Detroit Diesel Curve E4-1061-52-20 torque_curve[]: (300, 0) torque_curve[]: (440, 0.5) // Fiddling with the output around 440 rpm will influence how easily the engine stalls when clutching. torque_curve[]: (8001000, 0.961) // 528 lb-ft at 800 rpm torque_curve[]: (12001300, 1) // 550 lb-ft at 1200 rpm (peak torque) torque_curve[]: (14001900, 0.9977) torque_curve[]: (16002400, 0.974) torque_curve[]: (18002600, 0.45)torque_curve[]: (2000, 0.91)torque_curve[]: (2100, 0.89) // 489.5 lb-ft at 2100 rpm (197 hp, rated power)torque_curve[]: (2300, 0) // High idle (0hp) at 2300 rpm
</syntaxhighlight>
 
The torque output is linearly interpolated between data points. For engine speeds outside the domain of the data points, the output is clamped to the values at the highest/lowest rpm points. The valid range for torque output is 0-1.
|-
|secondary_torque_curve
|array&lt;float2&gt;
|''See description''
|This defines the secondary torque output of a multi-torque engine at various engine speeds, relative to the maximum torque defined in '''secondary_torque'''. If unset, '''torque_curve''' is used instead. The syntax is the same as '''torque_curve'''. ''(Added in 1.30)''
|-
|resistance_torque
|float
| -1
|This is the resistive torque in N&middot;m at 2000rpm, used for passive engine braking and consumption. ''(New as of ETS 1.27/ATS 1.6)''
{{Note|When unset, or when set to any negative value, resistance_torque is calculated as (''volume'' &times; 20.0).}}
|-
|rpm_idle
|float
|required550|This is the engine speed the virtual engine controller will attempt to maintain with no throttle input. Valid range is 500-850 rpm.
|-
|rpm_limit
|float
|required2500|This is the maximum engine speed the virtual engine controller will allow (except if the engine is being driven by the wheels(e.g. if the vehicle is running away downhill or the player makes an ill-advised downshift).
|-
|rpm_limit_neutral
|float
|optional2500|This is the maximum engine speed the virtual engine controller will allow if the transmission is in neutral. If unset, this defaults to &ndash; unless '''rpm_limit'''is lower, in which case it is clamped.
|-
|rpm_range_low_gear
|float2
|required(700, 1500)|Defines the downshift and upshift engine speeds in low-range gears.(Automatic transmission)
|-
|rpm_range_high_gear
|float2
|required(1000, 1500)|Defines the downshift and upshift engine speeds in high-range gears- typically peek torque range.(Automatic transmission)
|-
|rpm_range_engine_brake
|float2
|optional(1500, 2500)|Defines the downshift and upshift engine speeds while the engine brake is operating.(Automatic transmission)
|-
|rpm_range_power_boost
|float2
|optional(550, 450)|Defines the rough rpm range ''change'' to '''rpm_range_low_gear''' and '''rpm_range_high_gear''' at full throttle if more power is requested - used either in hills or for adaptive shifting, especially power mode. (Automatic transmission).{{Tip|Be careful that the resulting values when '''rpm_range_power_boost''' is added to '''rpm_range_*_gear''' don't exceed '''rpm_limit'''. Otherwise, the transmission may fail to shift correctly in adaptive automatic transmission is enabledmode.}}
|-
|engine_brake
|float
|optional1.0|Peak engine Engine braking torque relative to a typical exhaust brake on an engine of the same '''torquevolume''', at the maximum engine brake strength.
|-
|engine_brake_downshift
|bool
|optionaltrue|When true, automatic transmissions will downshift upon beginning engine brake behavior as long as , to keep rpm within '''rpm_limitrpm_range_engine_brake''' is not exceeded. Defaults to When false, the regular rpm are kept.
|-
|engine_brake_positions
|uint
|optional3|Defines the number of strength levels for the engine brake. The braking torque at each position is based linearly on the number of positions. So for <code>engine_brake_positions: 3</code> the first position will have <sup>1</sup>&frasl;<sub>3</sub> &times; '''engine_brake''' &times; '''torque'''of the maximum strength, the second position will have <sup>2</sup>&frasl;<sub>3</sub> &times; '''engine_brake''' &times; '''torque'''of the maximum strength, and the highest position will have '''engine_brake''' &times; '''torque'''the maximum strength.
|-
|volume
|float
|required0.0
|The (four-stroke) volumetric displacement of the engine in liters. It is used in fuel consumption calculations. {{Note|For two-stroke diesel engines, this should be roughly twice the swept volume.}}
|-
|consumption_coef
|float
|optional1.0
|This is used to scale the fuel consumption of the engine relative to the game's calculated value.
|-
|adblue_consumption
|float
|optional0.05|This is used to scale the engine's consumption how many liters of AdBlue (Diesel Exhaust Fluid) relative are consumed per liter of fuel.{{Tip|For older engines which do not use AdBlue, this attribute should be set to the game's default0.}}
|-
|no_adblue_power_limit
|float
|optional1.0
|When the AdBlue tank is empty, the engine's power is scaled by this factor.
|}
=== Torque from Power and Speed (English Units) ===
T [lb<sub>f</sub>&middot;ft] = ( P [hp] &times; 5252 ) &divide; N [RPM]
 
== Raw Unit Definition ==
<pre style="max-height:300px;overflow:auto"> "accessory_engine_data":{
"superclass":"accessory_data",
"attrs":{
"name":{
"type": "string"
},
"short_name":{
"type": "string"
},
"icon":{
"type": "string"
},
"info":{
"type": "string_array"
},
"price":{
"type": "s64"
},
"unlock":{
"type": "uint"
},
"suitable_for":{
"type": "string_array"
},
"conflict_with":{
"type": "string_array"
},
"defaults":{
"type": "string_array"
},
"require":{
"type": "token_array"
},
"torque":{
"type": "float"
},
"torque_curve":{
"type": "float2_array"
},
"rpm_idle":{
"type": "float"
},
"rpm_limit":{
"type": "float"
},
"rpm_limit_neutral":{
"type": "float"
},
"rpm_range_low_gear":{
"type": "float2"
},
"rpm_range_high_gear":{
"type": "float2"
},
"rpm_range_engine_brake":{
"type": "float2"
},
"rpm_range_power_boost":{
"type": "float2"
},
"engine_brake":{
"type": "float"
},
"engine_brake_downshift":{
"type": "bool"
},
"engine_brake_positions":{
"type": "uint"
},
"volume":{
"type": "float"
},
"consumption_coef":{
"type": "float"
},
"adblue_consumption":{
"type": "float"
},
"no_adblue_power_limit":{
"type": "float"
}
}
},</pre>
507
edits

Navigation menu