Changes

Jump to navigation Jump to search

Games/ATS/Modding guides/1.6

2,156 bytes added, 07:58, 27 April 2018
Changes
= Changes =
== Vehicles data == === Truck Accessory Data cameras === Please ensure that all cameras are set in the accessory_truck_data. A missing camera data can cause crash of ATS 1.6.0.6 open beta. === Truck accessory data ===
There is new rule '''overrides[]''' added. Its values are file names and it is non-lazy version of '''defaults[]'''. This means whenever this rule is used adding accessory also adds all override accessories regardless of presence of same type accessory (old ones are discarded). Typical use case is engine that takes engine badge or sound with itself. Forcing the change simplifies other rules as now engine badges or sounds do not need suitable rule on their sides which removes unwanted cross links between accessories. Use carefully as any forced change can loop easily with incorrect data.
=== Engine Data data ===
Part of engine simulation improvement is specifying inner engine resistance. It is defined by '''resistance_torque''' attributes that defines resistance in Nm that is measured at 2000 rpm (arbitrary value). It is mainly linked with size of engine so if you set it to negative value it is defaulted from engine volume (it is near volume * 20.0).
Default value for '''engine_brake_positions''' was changed to 3. Hold button logic works same as before, but now players could use partial engine brake usage as is present in most current trucks.
=== Chassis Data data ===
New attribute '''air_tank_pressure''' now defines nominal pressure truck wants to keep in air tanks. Default value is 10 bars.
=== Interior Data data ===
With more exact simulation of air pressure we unified animation API. All animation now expect values in bars. To prevent misunderstanding they were also renamed (with their '''_max''' and '''_min''' values): '''oil_psi_anim''' to '''oil_pressure_anim''', '''air_psi_anim''' to '''air_pressure_anim''', '''button_low_air_psi''' to '''indicator_low_air_pressure''', '''button_low_oil_psi''' to '''indicator_low_oil_pressure'''.
* A updated conversion tools generating this new format will be released soon.
* If necessary, existing PMG resources can be converted to the new format using the '''-conversion_dump_path''' command line option.
 
=== Low level format changes ===
 
==== Low level format changes ====
 
This is description of changes between the 0x506d6713 and 0x506d6714 version of the PMG format. It is intended to be used by people who are already familiar with the previous version of the format and need to access it directly.
 
* Changes to file header.
** A u32 field containing number of per vertex weights was added directly behind the field containing number of bones. The only allowed values are either 0 for rigid model or 4 for skinned model.
** Instead of tree separate blocks containing static, dynamic and skinning data respectively, there is only one block containing interleaved vertex data (see bellow). Offset and size fields for the separate blocks were removed and replaced by single offset and size for this combined block.
 
* Changes to piece header.
** A u32 field containing number of per vertex weights was removed.
** A u32 field containing size of a single interleaved vertex in bytes was added to the piece header between the AABB and positions offset.
** A u32 field containing offset of array with vertex influences was removed.
** A u32 field containing offset of array with indices was moved to the end of the piece header.
** The bone dependencies and weights offsets should be set to 0xffffffff if skinning data are not present (i.e. for rigid model)
 
* Interleaved vertex
** float3 position
** float3 normal
** (optional) float4 tangent
** u32 vertex color
** (optional) u32 secondary vertex color
** (optional) float2[texcoord_width] texture coordinate
** (bone_count > 0) u8[4] with 8bit bone indexes
** (bone_count > 0) u8[4] with 8bit bone weights
 
If the vertex is affected by less than four bones, those bones should be stored in the leading entries. The remaining entries should replicate bone index from the last valid entry and use a zero weight. There must be at least one bone affecting each vertex and sum of weights over all bones affecting a vertex should be 255.
== Prefab ==

Navigation menu