https://modding.scssoft.com/api.php?action=feedcontributions&user=Smarty&feedformat=atomSCS Modding Wiki - User contributions [en]2024-03-29T14:51:11ZUser contributionsMediaWiki 1.32.1https://modding.scssoft.com/index.php?title=Documentation/Engine/Game_data/Player_trucks_definitions&diff=5332Documentation/Engine/Game data/Player trucks definitions2023-12-13T17:12:49Z<p>Smarty: /* Vehicle Configurations */ add folders for used trucks</p>
<hr />
<div>Player truck definitions can be thought of in two components: <br />
*[[#Vehicle_Parts_Definitions|Vehicle parts definitions]] describe the characteristics of the truck and its many accessories.<br />
:-Think of these as a set of building blocks from which the truck can be built; They don't assemble themselves!<br />
*[[#Vehicle_Configurations|Vehicle configurations]] assemble the parts definitions into a vehicle that may be driven or purchased.<br />
:-Think of them as the instructions for the game to assemble the building blocks (data definitions) into a vehicle when it is first loaded.<br />
<br />
==Vehicle Parts Definitions==<br />
<br />
Each truck is configured in its own folder (e.g. "'''<brand.truck>'''" in tree view below) containing:<br />
# SII file: '''data.sii''' - ''defining: truck info, cameras, fallback rules for parts of the truck and required accessories. There are 8 mandatory fallback rules: chassis, cabin, interior, engine, transmission, f_wheel (or f_tire), r_wheel (or r_tire), paint_job and head_light''.<br />
# Subfolders: ('''chassis''', '''cabin''', '''interior''', '''engine''', '''transmission''', '''paint_job''', '''head_light''', '''sound''') - ''defining different parts and accessories of the truck. First 7 folders are needed because of mandatory fallback rules and sound folder is needed for truck mandatory sounds definitions.''<br />
# Optional folder: '''accessory''' - ''defining all possible accessories for the truck that the user can install in the game Upgrade Shop. This folder holds another level of sub folders for separating different accessory types that the player can install on the truck and will be listed in the Upgrade Shop once the player selects the proper accessory type. Moreover names of subfolders directly correspond to the names of model locators that the truck 3D model has to have for the ability of having those types of accessories enabled in the game.''<br />
<br />
<div class="folder_structure"><br />
<br />
{{FileSystemTreeEntry|icon=FST-IconRoot|type=|name=Root game folder|link=../#Root game folder}} <br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=def|link=../#Definitions}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=vehicle|link=../#Vehicle definitions}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck|mark_current=1}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=<brand.truck>}} ''Truck main configuration folder.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=accessory}} ''Folder for defining all [[Documentation/Engine/Units/accessory_addon_data|accessory]] types which can be installed on this truck.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=beacon}} ''Folder for defining accessories of the type "beacon".''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=shape1.sii}} ''File defining one beacon model which can be named freely (no restriction applies on SII file naming inside accessory type).''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=...}} ''More beacon models definition files.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=...}} ''Folders defining more accessory types and it's model definitions.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=cabin}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_cabin_data|cabin]] mandatory truck part; one cabin per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=chassis}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_chassis_data|chassis]] mandatory truck part; one chassis per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=engine}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_engine_data|engine]] mandatory truck part; one engine per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=head_light}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_head_lights_data|head light]] mandatory truck part; one head light type per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=interior}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_interior_data|interior]] mandatory truck part, its [[Documentation/Engine/Truck_Interior_Animations_and_IDs#Interior_Animations|animations]], dashboard colors and glass data; one interior per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=paint_job}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_paint_job_data|paint job]] mandatory truck part; one paint job per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=transmission}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_transmission_data|transmission]] mandatory truck part; one transmission per one SII file.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=data.sii}} ''Defining [[Documentation/Engine/Units/accessory_truck_data|truck global data]]: info, cameras and fallback rules.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=<2nd_brand.truck>}} ''Folder defining second truck having the same inner folder structure as first truck above.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=...}} ''Folders for defining more trucks.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=fallback.sii}} ''Configuration of fallback truck in the case player loads save with truck that is not in game data any more (may happen when truck mod is removed).''<br />
<br />
</div><br />
<br />
==Vehicle Configurations==<br />
<br />
There are three types of player truck configurations, depending on their use in the game:<br />
# Dealers inside folder: "'''/def/vehicle/truck_dealer/'''" (if truck has RHD variant also in UK dealers folder: "'''/def/vehicle/truck_dealer_uk/'''").<br />
# Desktop preview inside folder: "'''/def/vehicle/truck_desktop/'''" (if truck has RHD variant also in UK dealers folder: "'''/def/vehicle/truck_desktop_uk/'''").<br />
# (Optional) Quick Jobs trucks inside folder: "'''/def/vehicle/truck_company/'''" (if truck has RHD variant also in UK dealers folder: "'''/def/vehicle/truck_company_uk/'''").<br />
<br />
<div class="folder_structure"><br />
<br />
{{FileSystemTreeEntry|icon=FST-IconRoot|type=|name=Root game folder|link=#Root game folder}} <br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=def|link=#Definitions}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=vehicle|mark_current=1}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=...}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_company}} ''Truck configurations for Quick Jobs.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=double}} ''Truck configurations for doubles Quick Jobs (ETS2 Only)''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=heavy}} ''Truck configurations for heavy Quick Jobs''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=oversize}} ''Truck configurations for Special Transport Quick Jobs''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=&lt;brand&gt;_truck_a.sii}} ''Quick Job truck configurations. The file name up to the first underscore is used for brand sorting.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=...}} ''Additional Quick Job truck configurations''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_company_uk}} ''Quick Job truck configurations for RHD trucks (UK related). (ETS2 Only)''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_dealer}} ''Contains truck configurations in brand-specific subfolders..''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=&lt;brand&gt;}} ''Contains truck configurations. The name of the folder should be tokenizable and will be detected as a brand.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=some_truck.sii}} ''Dealer truck configuration.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=...}} ''More dealer truck configurations. Typically one per file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_dealer_uk}} ''Defines assortment of RHD trucks for dealers and has the same structure as '''truck_dealer'''. (ETS2 only)''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_desktop}} ''Truck configurations used in Truck Browser.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=some_truck.sii}} ''Desktop truck configuration. There are no naming restrictions, but be wary of naming collisions.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=...}} ''Additional Desktop truck configurations''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_desktop_uk}} ''Truck configurations for RHD trucks used in Truck Browser if player started game in UK. (ETS2 only)'' <br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_used}} ''Contains used truck configurations in brand-specific subfolders..''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=&lt;brand&gt;}} ''Contains truck configurations. The name of the folder should be tokenizable and will be detected as a brand.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=some_truck.sii}} ''Used truck configuration.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=...}} ''More used truck configurations. Typically one per file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_used_uk}} ''Defines assortment of used RHD trucks and has the same structure as '''truck_used'''. (ETS2 only)'' <br />
└{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=...}} <br />
<br />
</div></div>Smartyhttps://modding.scssoft.com/index.php?title=Games/ETS2/Modding_guides/1.44&diff=5192Games/ETS2/Modding guides/1.442023-04-13T04:38:52Z<p>Smarty: /* External interior locators */</p>
<hr />
<div>= Introduction =<br />
<br />
The following page contains modding guidelines for the new update of the game.<br />
<br />
To better understand changes in units it is recommended to check [[Documentation/Engine/Units|Units documentation]] page.<br />
<br />
= Recommendations =<br />
* When basing your model on the original ones, add to your mod also <strong>ALL</strong> original /automat/ files used by it. The names of the files are generated as CityHash64 hash of theirs content so whenever we change the parameters of the material in any way, a different file will be used to store them and the original file might cease to exist if there is no other model utilizing the original parameters.<br />
* When modifying original models, always include <strong>ALL</strong> components of the model (pmg+pmd) instead of just those you changed. Otherwise you risk crash if we change the model.<br />
* As always when adding new objects to files which support multi-file approach (e.g. road_look.sii) it is <strong>HIGHLY RECOMMENDED</strong> to use suffix or prefix in the name to avoid conflicts with new objects we are adding in patches. Otherwise you might have to use the batch renaming functionality (see Batch renaming) to fix the conflicts when new patch appears.<br />
<br />
= How to convert map =<br />
<br />
* Load map<br />
* Do rebuild (F8)<br />
* Save map<br />
<br />
= Changes & New Features =<br />
<br />
== More generic wheel system ==<br />
<br />
Handling logic of wheels has been rewritten. Now there are not hardcoded front and rear wheels anymore, there are simply wheels of various types.<br />
<br />
Type of the wheel is defined by single letter. For backward compatibility so far existing wheels are F- and R-typed. They are mounted on locator with the same single letter tag and expected to be stored in similarly named folders with similar unit names (including wheel parts - tire, disc, hub ...). All old wheel data thus work exactly the same as before. But in addition you can create new types defined by different letter that are used and controlled by chassis model and its locators, but shared between vehicles still. Sets of truck and trailer wheels are separated much like before.<br />
<br />
For example, new ATS dropdecks trailers have S- and D-type wheels (single and double wheels with much smaller diameter). Wheel part accessories are stored in '''s_tire''', '''s_disc''', '''d_hub''', '''d_nuts''' and similar folders and units are named '''stire''', '''sdisc''', '''dhub''', '''dnuts''' etc.<br />
<br />
This change affects all related data - eg. per type defined defaults in '''def/vehicle/rim_data.sii''' which require completely different fields.<br />
<br />
== External interior locators ==<br />
<br />
As we now have vastly different interiors, it is not enough that cabin toy locators for the exterior view are linked to the cabin exclusively. Thus locators can optionally be put into external interior models. If they are not in the external interior model, search will fall back to the cabin (or chassis) model to preserve backward compatibility.<br />
<br />
== Accessory data ==<br />
=== All accessory data ===<br />
There is new optional attribute '''part_type'''. It defines icon and tooltip shown on accessory.<br />
Available values are '''factory''', '''aftermarket''', '''licensed''' or '''unknown''' (which is also default one).<br />
<br />
=== Chassis accessory data ===<br />
There is new optional attribute '''steerable_lifted_axles'''. The value is boolean with false as default. It controls whether axle reacts to steering when lifted. Mechanical solutions typicaly do, while electronic driven steering axles typicaly don't.<br />
<br />
=== Interior accessory data ===<br />
There is new optional attribute '''show_chassis_rear'''. The value is boolean with false as default. It should be set true in interiors where you can see part of chassis or chassis accessory (eg ATS daycabs).<br />
It renders prebaked model of chassis and all its accessories in interior, so you might have issues with items that are mounted on chassis, but still have their own visualization in interior - you can see them twice and/or z-fighting (we had such issues with hoods and hood mirrors). To be properly visible both inside and outside, either the accessory locator should be in chassis model ONLY, or it should be in interior AND in cabin cabin model both.<br />
<br />
== Desktop trailer definitions ==<br />
Trailers shown in Trailer browser now have separated definitions from Dealer, so it behaves exactly same as truck definitions. Name of folder is ''/def/vehicle/trailer_desktop''.<br />
<br />
The reason for the change was that we want "best" or "typical" configuration for browser while we need at least one "low level" or "cheap" configuration for dealer.</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Tools/SCS_Workshop_Uploader/Changelog&diff=5107Documentation/Tools/SCS Workshop Uploader/Changelog2022-10-06T15:16:29Z<p>Smarty: /* 1.0.31 */ corrected heading to 1.0.32</p>
<hr />
<div>Changelog of the '''SCS Workshop Uploader''' tool.<br />
<br />
__TOC__<br />
<br />
=Intro=<br />
<br />
This page contains detailed changelogs of SCS Workshop Uploader tool. There are two possible versions:<br />
* '''Current Version''' - uploader version that is compatible with the currently released version of the games. Available when you have no beta selected in steam. <!-- {{CurrentUploaderVersion}} --><br />
* '''Public Beta Version''' - uploader version that is compatible with the game's version that is available in open or experimental beta. To access this version, you can find this it in the public_beta branch on Steam. The way to access it is as follows: Steam client → LIBRARY → Tools section → right-click on SCS Workshop Uploader → Properties → Betas tab → public_beta. No password is required. The branch may not be available if no public beta is in progress. <!-- {{PublicBetaUploaderVersion}} --> <br />
<br />
=1.0.32=<br />
== {{PublicBetaUploaderVersion}} 1.0.32 (5b4fcc0b2516) - 27.6.2022==<br />
<br />
* 1.46 support<br />
<br />
=1.0.31=<br />
== {{CurrentUploaderVersion}} 1.0.31 (bd13cf127747) - 27.6.2022==<br />
<br />
* 1.45 support<br />
<br />
=1.0.30=<br />
== 1.0.30 (ccbb66864ea3) - 10.5.2022==<br />
<br />
* Do not fail if condition_data.sii is not present in the game (ATS 1.44)<br />
<br />
=1.0.29=<br />
== 1.0.29 (836e413aac4e) - 25.4.2022==<br />
<br />
* 1.44 support<br />
<br />
=1.0.28=<br />
== 1.0.28 (b45779eeb809) - 9.12.2021==<br />
<br />
* Support for newly added unit attributes (e.g. city_icon_size, no_geometry_stretch, first_direction_focus_id)<br />
<br />
=1.0.27=<br />
== 1.0.27 (3ba2b42b5df4) - 12.11.2021==<br />
<br />
* 1.43 support<br />
<br />
=1.0.26=<br />
== 1.0.26 (2a736d7f7ec1) - 1.10.2021==<br />
<br />
* 1.42 support<br />
<br />
=1.0.25=<br />
== 1.0.25 (2fb534cc2738) - 2.09.2021==<br />
<br />
* Support for '''accessory_addon_tank_data''' accessory<br />
<br />
=1.0.24=<br />
== 1.0.24 (8a410f02f1f4) - 1.07.2021==<br />
<br />
* Support for "retarder_remote" sound in transmission accessory<br />
<br />
=1.0.23=<br />
== 1.0.23 (c2699032a20d) - 21.06.2021==<br />
<br />
* 1.41 support<br />
<br />
=1.0.22=<br />
== 1.0.22 (f6563bb6628c) - 12.04.2021==<br />
<br />
* Support for headlight lamp setup override<br />
<br />
=1.0.21=<br />
== 1.0.21 (f08dd65c9116) - 15.03.2021==<br />
<br />
* 1.40 support<br />
<br />
=1.0.20=<br />
== 1.0.20 (7871b0a1f072) - 8.12.2020==<br />
<br />
* added brand tag for Freightliner brand<br />
<br />
== 1.0.20 (917bd8f7b2de) - 2.12.2020==<br />
<br />
* compatible_versions check relaxed to allow for specifying explicit non-zero third and fourth components<br />
<br />
== 1.0.20 (91e0c6211ebf) - 20.10.2020==<br />
<br />
* Support for position_offset parameter in soundref files<br />
<br />
=1.0.19=<br />
== 1.0.19 (cc61be1d06b1) - 19.10.2020==<br />
<br />
* Fixed air_horn sound support<br />
<br />
=1.0.18=<br />
== 1.0.18 (50b6d3bf0478) - 19.10.2020==<br />
<br />
* Updated for 1.39 Open Beta<br />
<br />
=1.0.17=<br />
== 1.0.17 (a56d7d045cc8) - 1.10.2020==<br />
<br />
* Added Western Star to the Brand list<br />
<br />
=1.0.16=<br />
== 1.0.16 (15e1b3589de8) - 29.06.2020==<br />
<br />
* Fixed verification of traffic vehicles<br />
* Fixed incorrect report of duplicate unit name for some unit types (e.g. cargoes)<br />
<br />
=1.0.15=<br />
== 1.0.15 (02685c693f52) - 19.06.2020==<br />
<br />
* Updated for ATS Open Beta 1.38<br />
<br />
=1.0.14=<br />
== 1.0.14 (8b094d6f3693) - 26.05.2020==<br />
<br />
* Allowed direct "bank#event" reference from units in addition to soundref file<br />
* Improved validation of soundref files<br />
* Removed warning for missing sound references for accessory attributes where default is provided (e.g. sound_horn)<br />
<br />
=1.0.13=<br />
== 1.0.13 (d9e3c1783307) - 28.04.2020==<br />
<br />
* Support for Mack brand tag for ATS<br />
<br />
=1.0.12=<br />
== 1.0.12 (0c9147422e49) - 27.04.2020==<br />
<br />
* Support for sound_retarder attribute of transmission accessory<br />
<br />
=1.0.11=<br />
== 1.0.11 (34d490f577a6) - 08.04.2020==<br />
<br />
* Updated for ETS2 Open Beta 1.37<br />
<br />
=1.0.10=<br />
== 1.0.10 (0c443be8cb93) - 12.03.2020==<br />
<br />
* Support for .soundref format validation<br />
<br />
==1.0.10 (22898975fb90) - 02.03.2020==<br />
<br />
* Support for ATS Open Beta 1.37<br />
* Support for validating .mask format<br />
* Support for validating FMOD sound banks format<br />
* Small UI tweaks<br />
<br />
=1.0.9=<br />
== 1.0.9 (2aaea92d9825) - 12.12.2019==<br />
<br />
* Update to all changes introduced during open beta<br />
* Added International brand tag to ATS<br />
<br />
==1.0.9 (5c58b47e85f9) - 21.10.2019==<br />
<br />
* Update to wander camera unit changes introduced during open beta<br />
<br />
==1.0.9 (cbd5aa3c8fef) - 17.10.2019==<br />
<br />
* 1.36 game version support<br />
<br />
=1.0.8=<br />
<br />
==1.0.8 (ef80e2961800) - 11.06.2019==<br />
<br />
* Fixed validation of multiple packages. Previously if X file was in the first package, it was used for validation in all packages.<br />
<br />
==1.0.8 (3f3f9b51c140) - 06.06.2019==<br />
<br />
* Added "Changelog" button opening this page.<br />
* Fixed language mod descriptions and titles are fetched in to set it to English. Previously steam client language was used. (If user had client set to Polish, Polish descriptions were fetched however upload override English descriptions)<br />
<br />
==1.0.8 (ad5d573c2a51) - 03.06.2019==<br />
<br />
* Fixed game selection droplist not being activated if user has only one game installed<br />
* Added "Voice Navigation" mods category<br />
<br />
==1.0.8 (a54215a157e0) - 06.05.2019==<br />
<br />
* 1.35 game version support<br />
* Unit files validation has been re-implemented, all parsing errors will now be properly reported as validation errors so you no longer have to look at tool.log.txt to understand what is wrong.<br />
* Euro Truck Simulator 2 is no longer preselected when the tool is launched so when the user wants to upload ATS mod he no longer has to wait for ETS2 data to be loaded.<br />
* Validation of packages was changed - from now on only universal and/or packages that are compatible with tool version are validated. Packages that are prepared for a newer version of the game than the version supported by the tool will cause a validation error.<br />
* Correctly detect missing effect referenced by material.<br />
* In case the installed game version is different than the tool version it is now properly shown to the user.<br />
* Validation progress dialog has been slightly redesigned.<br />
* Tool will now ask user for confirmation when closing tool, changing game or an item with unsaved changed to currently edited mod.<br />
* Disable delete button during update.<br />
* Fixed memory wasting caused by new item being created multiple times without a reason.<br />
* Fixed UI bug causing wrong item to be selected after creating a new one.<br />
* Fixed UI glitches when resizing window.<br />
* Fixed missing icons on message boxes.<br />
* Fixed bug that caused previously selected mod icon to be still displayed when selecting new or mod without icon.<br />
<br />
= 1.0.7=<br />
<br />
==1.0.7 (51ad53473468) - 05.09.2018==<br />
<br />
* Fixed validation of trailer configurations.<br />
* Added missing message box icons.<br />
<br />
==1.0.7 (121b71f23ccd) - 04.09.2018==<br />
<br />
Experimental release for 1.32 compatibility. (public_beta branch)<br />
<br />
* Added support for 1.32 version of the game.<br />
* Game data is now being loaded after the main dialog of the tool is open with a proper progress bar displayed. Previously it was possible when the user had many DLCs it would take a significant amount of time to start a tool.<br />
* The file discovering phase is now also updating UI so validation progress dialog is no longer stuck showing nothing.<br />
* Fixed various crashes when validating units and data files.<br />
<br />
=1.0.6=<br />
<br />
==1.0.6 (c1006f4d79a0) - 15.05.2018==<br />
<br />
Release for 1.31 compatibility.<br />
<br />
==1.0.6 (5aeec64b6ae6) - 19.12.2017== <br />
* Fixed crash when validating mod that contains multiple definitions of economy unit.<br />
* Fixed crash when validating player unit. (initial save mods)<br />
* Fixed validation of .sii files that are using UTF-8 with BOM encoding.<br />
<br />
==1.0.6 (4928518be2a5) - 19.12.2017==<br />
<br />
* Added validation of automat materials folder structure.<br />
* Added support for legacy material hash names.<br />
* Print full path to the resource relative to the mod root instead of package root for better understanding which file causes the problem in multi-package mods.<br />
<br />
==1.0.6 (850da2b2cfee) - 13.12.2017==<br />
<br />
* Added validation if automat material file content hash matches its name.<br />
* Materials are now validated before any texture.<br />
* Added name of the material referencing tobj to missing tobj error message if available.<br />
<br />
==1.0.6 (3b47a0690a7b) - 12.12.2017==<br />
<br />
* Fixed crash when validating UI windows.<br />
<br />
==1.0.6 (a1fcdaeeb768) - 04.12.2017==<br />
<br />
* Temporary workaround for traffic_trailer_type.sii related error in ATS vanilla data.<br />
<br />
==1.0.6 (8a923435d922) - 28.11.2017==<br />
<br />
* Support for .font files.<br />
* More restrictive check of the data presence.<br />
* New validation error code (10) which indicates I/O errors.<br />
* Do not prepend path to the package in case there was some problem with the validation of the file that does not belong to the mod.<br />
* Fixed loading of the game effects database. Previously the tool was not able to load any effect and as a result, there was a spam in the tool log file.<br />
<br />
=1.0.5=<br />
<br />
==1.0.5 (070a99774791) - 10.11.2017==<br />
<br />
Compatibility update for ATS 1.29 release - available only in '''123ats_compatibility''' beta.<br />
<br />
The access this build open Steam client then go to LIBRARY → Next to search bar select TOOLS → right-click on SCS Workshop Uploader → Properties → Betas tab → 129ats_compatibility. No password is required.<br />
<br />
==1.0.5 (2835351ba167) - 26.07.2017==<br />
<br />
Stable security release.<br />
<br />
==1.0.5 (79a99c4668c7) - 26.07.2017==<br />
<br />
public_beta branch release for open beta 1.28 compatibility.<br />
<br />
==1.0.5 (b04d44242646) - 15.05.2017==<br />
<br />
The compatibility patch to ETS2 1.27.2.1 and ATS 1.6.1.9.<br />
<br />
==1.0.5 (859ab7102bb0) - 04.03.2017==<br />
<br />
The compatibility patch to ETS2 1.27 and ATS 1.6.<br />
<br />
==1.0.5 (c8931052fa92) - 13.01.2017==<br />
<br />
* Allow using materials from base without copying them to mod content.<br />
<br />
==1.0.5 (6a889ac42143) - 05.12.2016==<br />
<br />
The compatibility patch to ETS2 1.26 and ATS 1.5 available in '''default''' branch on steam.<br />
<br />
==1.0.5 (37800fdabf36) - 15.11.2016==<br />
<br />
The compatibility patch to ETS2 1.26 and ATS 1.5 - you can test it by selecting '''public_beta''' beta on the steam.<br />
<br />
==1.0.5 (ba8913a1daee) - 15.09.2016==<br />
<br />
* Fixed returning of the mods list. (If the creator has more than 50 mods all of them will be shown now)<br />
* Fixed validation of traffic definitions.<br />
* Slightly optimized validation of many SII files.<br />
<br />
=1.0.4=<br />
<br />
==1.0.4 (9f8292f559f8) - 08.09.2016==<br />
<br />
* Updated tool to work with new units that appeared in ATS 1.4 and ETS2 1.25 updates.<br />
* Fixed crash when validating mods that override cutscene data.<br />
<br />
==1.0.4 - 13.06.2016==<br />
* Fixed crash when validating any resource that depends on substances.<br />
* Fixed validation of mods that override UI templates.<br />
* Fixed abnormal CPU usage (+/- 13%) when the tool is idle.<br />
* Fixed problem with unresponsive background window when closing foreground window.<br />
* Added support for informational packages.<br />
* Support for damage_data unit.<br />
<br />
=1.0.3=<br />
<br />
==1.0.3 - 17.03.2016==<br />
<br />
* Fixed crash when validating mod that changes road look.<br />
* Fixed crash when validating mod that changes initial profiles. (economy unit)<br />
<br />
=1.0.2=<br />
<br />
==1.0.2 - 16.03.2016==<br />
* Fixed crash when validating mod that changes photo camera definition.<br />
* Allow using glass.dat file, however, throw a warning about that it's not the best practice to use it.<br />
<br />
=1.0.1=<br />
<br />
==1.0.1 - 15.03.2016==<br />
<br />
* Added version to the main window of the tool.<br />
* Fixed modding of the files which reference prefabs, models, country and other data.<br />
* Fixed validation of the mod when using ZIP packages.<br />
<br />
=1.0=<br />
<br />
==1.0 - 14.03.2016==<br />
<br />
Initial release.</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Game_data/Player_trucks_definitions&diff=5087Documentation/Engine/Game data/Player trucks definitions2022-06-01T15:10:36Z<p>Smarty: /* Vehicle Parts Definitions */ more obsolete references to sounds</p>
<hr />
<div>Player truck definitions can be thought of in two components: <br />
*[[#Vehicle_Parts_Definitions|Vehicle parts definitions]] describe the characteristics of the truck and its many accessories.<br />
:-Think of these as a set of building blocks from which the truck can be built; They don't assemble themselves!<br />
*[[#Vehicle_Configurations|Vehicle configurations]] assemble the parts definitions into a vehicle that may be driven or purchased.<br />
:-Think of them as the instructions for the game to assemble the building blocks (data definitions) into a vehicle when it is first loaded.<br />
<br />
==Vehicle Parts Definitions==<br />
<br />
Each truck is configured in its own folder (e.g. "'''<brand.truck>'''" in tree view below) containing:<br />
# SII file: '''data.sii''' - ''defining: truck info, cameras, fallback rules for parts of the truck and required accessories. There is 8 mandatory fallback rules: chassis, cabin, interior, engine, transmission, f_wheel (or f_tire), r_wheel (or r_tire), paint_job and head_light''.<br />
# Subfolders: ('''chassis''', '''cabin''', '''interior''', '''engine''', '''transmission''', '''paint_job''', '''head_light''', '''sound''') - ''defining different parts and accessories of the truck. First 7 folders are needed because of mandatory fallback rules and sound folder is needed for truck mandatory sounds definitions.''<br />
# Optional folder: '''accessory''' - ''defining all possible accessories for the truck that user can install in game Upgrade Shop. This folder holds another level of sub folders for separating different accessory types that player can install on the truck and will be listed in Upgrade Shop once player selects proper accessory type. Moreover names of subfolders directly correspond to the names of model locators truck 3D model has to have for ability of having that types of accessories enabled in the game.''<br />
<br />
<div class="folder_structure"><br />
<br />
{{FileSystemTreeEntry|icon=FST-IconRoot|type=|name=Root game folder|link=../#Root game folder}} <br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=def|link=../#Definitions}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=vehicle|link=../#Vehicle definitions}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck|mark_current=1}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=<brand.truck>}} ''Truck main configuration folder.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=accessory}} ''Folder for defining all [[Documentation/Engine/Units/accessory_addon_data|accessory]] types which can be installed on this truck.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=beacon}} ''Folder for defining accessories of the type "beacon".''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=shape1.sii}} ''File defining one beacon model which can be named freely (no restriction applies on SII file naming inside accessory type).''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=...}} ''More beacon models definition files.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=...}} ''Folders defining more accessory types and it's model definitions.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=cabin}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_cabin_data|cabin]] mandatory truck part; one cabin per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=chassis}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_chassis_data|chassis]] mandatory truck part; one chassis per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=engine}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_engine_data|engine]] mandatory truck part; one engine per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=head_light}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_head_lights_data|head light]] mandatory truck part; one head light type per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=interior}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_interior_data|interior]] mandatory truck part, its [[Documentation/Engine/Truck_Interior_Animations_and_IDs#Interior_Animations|animations]], dashboard colors and glass data; one interior per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=paint_job}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_paint_job_data|paint job]] mandatory truck part; one paint job per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=transmission}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_transmission_data|transmission]] mandatory truck part; one transmission per one SII file.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=data.sii}} ''Defining [[Documentation/Engine/Units/accessory_truck_data|truck global data]]: info, cameras and fallback rules.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=<2nd_brand.truck>}} ''Folder defining second truck having the same inner folder structure as first truck above.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=...}} ''Folders for defining more trucks.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=fallback.sii}} ''Configuration of fallback truck in the case player loads save with truck that is not in game data any more (may happen when truck mod is removed).''<br />
<br />
</div><br />
<br />
==Vehicle Configurations==<br />
<br />
There are three types of player truck configurations, depending on their use in the game:<br />
# Dealers inside folder: "'''/def/vehicle/truck_dealer/'''" (if truck has RHD variant also in UK dealers folder: "'''/def/vehicle/truck_dealer_uk/'''").<br />
# Desktop preview inside folder: "'''/def/vehicle/truck_desktop/'''" (if truck has RHD variant also in UK dealers folder: "'''/def/vehicle/truck_desktop_uk/'''").<br />
# (Optional) Quick Jobs trucks inside folder: "'''/def/vehicle/truck_company/'''" (if truck has RHD variant also in UK dealers folder: "'''/def/vehicle/truck_company_uk/'''").<br />
<br />
<div class="folder_structure"><br />
<br />
{{FileSystemTreeEntry|icon=FST-IconRoot|type=|name=Root game folder|link=#Root game folder}} <br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=def|link=#Definitions}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=vehicle|mark_current=1}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=...}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_company}} ''Truck configurations for Quick Jobs.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=double}} ''Truck configurations for doubles Quick Jobs (ETS2 Only)''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=heavy}} ''Truck configurations for heavy Quick Jobs''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=oversize}} ''Truck configurations for Special Transport Quick Jobs''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=&lt;brand&gt;_truck_a.sii}} ''Quick Job truck configurations. The file name up to the first underscore is used for brand sorting.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=...}} ''Additional Quick Job truck configurations''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_company_uk}} ''Quick Job truck configurations for RHD trucks (UK related). (ETS2 Only)''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_dealer}} ''Contains truck configurations in brand-specific subfolders..''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=&lt;brand&gt;}} ''Contains truck configurations. The name of the folder should be tokenizable and will be detected as a brand.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=some_truck.sii}} ''Dealer truck configuration.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=...}} ''More dealer truck configurations. Typically one per file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_dealer_uk}} ''Defines assortment of RHD trucks for dealers and has the same structure as '''truck_dealer'''. (ETS2 only)''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_desktop}} ''Truck configurations used in Truck Browser.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=some_truck.sii}} ''Desktop truck configuration. There are no naming restrictions, but be wary of naming collisions.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=...}} ''Additional Desktop truck configurations''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_desktop_uk}} ''Truck configurations for RHD trucks used in Truck Browser if player started game in UK. (ETS2 only)''<br />
└{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=...}} <br />
<br />
</div></div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Game_data/Player_trucks_definitions&diff=5086Documentation/Engine/Game data/Player trucks definitions2022-06-01T15:09:44Z<p>Smarty: /* Vehicle Parts Definitions */ Remove reference to obsolete sound definitions</p>
<hr />
<div>Player truck definitions can be thought of in two components: <br />
*[[#Vehicle_Parts_Definitions|Vehicle parts definitions]] describe the characteristics of the truck and its many accessories.<br />
:-Think of these as a set of building blocks from which the truck can be built; They don't assemble themselves!<br />
*[[#Vehicle_Configurations|Vehicle configurations]] assemble the parts definitions into a vehicle that may be driven or purchased.<br />
:-Think of them as the instructions for the game to assemble the building blocks (data definitions) into a vehicle when it is first loaded.<br />
<br />
==Vehicle Parts Definitions==<br />
<br />
Each truck is configured in its own folder (e.g. "'''<brand.truck>'''" in tree view below) containing:<br />
# SII file: '''data.sii''' - ''defining: truck info, cameras, fallback rules for parts of the truck and required accessories. There is 8 mandatory fallback rules: chassis, cabin, interior, engine, transmission, f_wheel (or f_tire), r_wheel (or r_tire), paint_job and head_light''.<br />
# Subfolders: ('''chassis''', '''cabin''', '''interior''', '''engine''', '''transmission''', '''paint_job''', '''head_light''', '''sound''') - ''defining different parts and accessories of the truck. First 7 folders are needed because of mandatory fallback rules and sound folder is needed for truck mandatory sounds definitions.''<br />
# Optional folder: '''accessory''' - ''defining all possible accessories for the truck that user can install in game Upgrade Shop. This folder holds another level of sub folders for separating different accessory types that player can install on the truck and will be listed in Upgrade Shop once player selects proper accessory type. Moreover names of subfolders directly correspond to the names of model locators truck 3D model has to have for ability of having that types of accessories enabled in the game.''<br />
<br />
<div class="folder_structure"><br />
<br />
{{FileSystemTreeEntry|icon=FST-IconRoot|type=|name=Root game folder|link=../#Root game folder}} <br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=def|link=../#Definitions}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=vehicle|link=../#Vehicle definitions}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck|mark_current=1}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=<brand.truck>}} ''Truck main configuration folder.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=accessory}} ''Folder for defining all [[Documentation/Engine/Units/accessory_addon_data|accessory]] types which can be installed on this truck.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=beacon}} ''Folder for defining accessories of the type "beacon".''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=shape1.sii}} ''File defining one beacon model which can be named freely (no restriction applies on SII file naming inside accessory type).''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=...}} ''More beacon models definition files.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=...}} ''Folders defining more accessory types and it's model definitions.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=cabin}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_cabin_data|cabin]] mandatory truck part; one cabin per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=chassis}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_chassis_data|chassis]] mandatory truck part; one chassis per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=engine}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_engine_data|engine]] mandatory truck part; one engine per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=head_light}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_head_lights_data|head light]] mandatory truck part; one head light type per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=interior}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_interior_data|interior]] mandatory truck part, its [[Documentation/Engine/Truck_Interior_Animations_and_IDs#Interior_Animations|animations]], dashboard colors and glass data; one interior per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=paint_job}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_paint_job_data|paint job]] mandatory truck part; one paint job per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=transmission}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_transmission_data|transmission]] mandatory truck part; one transmission per one SII file.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=data.sii}} ''Defining [[Documentation/Engine/Units/accessory_truck_data|truck global data]]: info, cameras and fallback rules.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=<2nd_brand.truck>}} ''Folder defining second truck having the same inner folder structure as first truck above.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=...}} ''Folders for defining more trucks.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=common_sound_ext.sui}} ''Defines common sounds list for exterior. This list has to be [[Documentation/Engine/Units#Includes|included]] in each truck exterior sounds definition file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=common_sound_ext_data.sui}} ''Defines common sounds data for "'''common_sound_ext.sii'''" list.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=common_sound_int.sui}} ''Defines common sounds list for interior. This list has to be included in each truck interior sounds definition file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=common_sound_int_data.sui}} ''Defines common sounds data for "'''common_sound_int.sii'''" list.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=fallback.sii}} ''Configuration of fallback truck in the case player loads save with truck that is not in game data any more (may happen when truck mod is removed).''<br />
<br />
</div><br />
<br />
==Vehicle Configurations==<br />
<br />
There are three types of player truck configurations, depending on their use in the game:<br />
# Dealers inside folder: "'''/def/vehicle/truck_dealer/'''" (if truck has RHD variant also in UK dealers folder: "'''/def/vehicle/truck_dealer_uk/'''").<br />
# Desktop preview inside folder: "'''/def/vehicle/truck_desktop/'''" (if truck has RHD variant also in UK dealers folder: "'''/def/vehicle/truck_desktop_uk/'''").<br />
# (Optional) Quick Jobs trucks inside folder: "'''/def/vehicle/truck_company/'''" (if truck has RHD variant also in UK dealers folder: "'''/def/vehicle/truck_company_uk/'''").<br />
<br />
<div class="folder_structure"><br />
<br />
{{FileSystemTreeEntry|icon=FST-IconRoot|type=|name=Root game folder|link=#Root game folder}} <br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=def|link=#Definitions}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=vehicle|mark_current=1}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=...}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_company}} ''Truck configurations for Quick Jobs.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=double}} ''Truck configurations for doubles Quick Jobs (ETS2 Only)''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=heavy}} ''Truck configurations for heavy Quick Jobs''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=oversize}} ''Truck configurations for Special Transport Quick Jobs''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=&lt;brand&gt;_truck_a.sii}} ''Quick Job truck configurations. The file name up to the first underscore is used for brand sorting.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=...}} ''Additional Quick Job truck configurations''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_company_uk}} ''Quick Job truck configurations for RHD trucks (UK related). (ETS2 Only)''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_dealer}} ''Contains truck configurations in brand-specific subfolders..''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=&lt;brand&gt;}} ''Contains truck configurations. The name of the folder should be tokenizable and will be detected as a brand.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=some_truck.sii}} ''Dealer truck configuration.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=...}} ''More dealer truck configurations. Typically one per file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_dealer_uk}} ''Defines assortment of RHD trucks for dealers and has the same structure as '''truck_dealer'''. (ETS2 only)''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_desktop}} ''Truck configurations used in Truck Browser.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=some_truck.sii}} ''Desktop truck configuration. There are no naming restrictions, but be wary of naming collisions.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=...}} ''Additional Desktop truck configurations''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_desktop_uk}} ''Truck configurations for RHD trucks used in Truck Browser if player started game in UK. (ETS2 only)''<br />
└{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=...}} <br />
<br />
</div></div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_paint_job_data&diff=5079Documentation/Engine/Units/accessory paint job data2022-05-05T15:06:32Z<p>Smarty: </p>
<hr />
<div>The '''accessory_paint_job_data''' unit class is used to define paint jobs for trucks and trailers (as of ETS2 [[Games/ETS2/Modding_guides/1.25|1.25]]/ATS 1.4).<br />
<br />
== Usage ==<br />
<br />
=== Airbrush ===<br />
In the airbrush mode, the RGB of '''paint_job_mask''' is blended with the base color, using the alpha channel as the blend factor. This mode is active when the attribute '''airbrush''' is ''true''.<br />
=== Colormask ===<br />
In the colormask mode, each of '''paint_job_mask'''&apos;s color channels (RGB) acts as a mask for a color being blended over the base texture. They are applied in the order ''blue'', ''green'', and ''red''. So the red channel has the highest &ldquo;priority&rdquo;, followed by green and then blue.<br />
{{Tip|Texture compression can lead to some minor aliasing at sharp boundaries between the mask channels. To avoid colors &lsquo;bleeding through&rsquo; at these boundaries, try blending some of the lower-priority channel &lsquo;under&rsquo; the higher-priority channel along their shared boundary. For example, at a sharp boundary between the ''red'' (255, 0, 0) and ''green'' (0, 255, 0) channels, a thin line of the base color may be visible. This can be mitigated by extending the edge of the lower-priority mask &lsquo;under&rsquo; the higher-priority mask. So in the case where there is a sharp line between the red mask and the green mask, the green mask should be extended slightly into the area of the red mask. The resultant color looking at the RGB image would be yellow (255, 255, 0).}}<br />
<!-- Section hidden until completion<br />
=== Flipflake ===<br />
<br />
--><br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Modes<br />
!Description<br />
|-<br />
|mask_r_color<br />
|rowspan="3"|float3<br />
|(1, 0, 0)<br />
|rowspan="3"|colormask<br />
|rowspan="3"|Defines the default color applied to each channel of the color mask.<br />
|-<br />
|mask_g_color<br />
|(0, 1, 0)<br />
|-<br />
|mask_b_color<br />
|(0, 0, 1)<br />
|-<br />
|base_color<br />
|float3<br />
|(1, 1, 1)<br />
|all<br />
|Defines the default color of the paint job.<br />
|-<br />
|mask_r_locked<br />
|rowspan="3"|bool<br />
|true<br />
|rowspan="3"|colormask<br />
|rowspan="3"|When false, the player may change each channel's color via the color picker.<br />
|-<br />
|mask_g_locked<br />
|true<br />
|-<br />
|mask_b_locked<br />
|true<br />
|-<br />
|base_color_locked<br />
|bool<br />
|true<br />
|all<br />
|When false, the player may change the base color via the color picker.<br />
|-<br />
|flip_color_locked<br />
|bool<br />
|true<br />
|flipflake<br />
|When false, the player may change the flip color via the color picker.<br />
|-<br />
|flake_color_locked<br />
|bool<br />
|true<br />
|flipflake<br />
|When false, the player may change the flake color via the color picker.<br />
|-<br />
|flip_color<br />
|float3<br />
|(1, 0, 0)<br />
|flipflake<br />
|Defines the color of the flip effect.<br />
|-<br />
|flip_strength<br />
|float<br />
|0.27<br />
|flipflake<br />
|Defines the relative strength of the flip effect.<br />
|-<br />
|flake_color<br />
|float3<br />
|(0, 1, 0)<br />
|flipflake<br />
|Defines the color of the flake effect.<br />
|-<br />
|flake_uvscale<br />
|float<br />
|32.0<br />
|flipflake<br />
|Defines how many times the flake_noise texture repeats within one UV tile. (Another way to think of this is that the UV coordinates are divided by this factor when addressing flake_noise.)<br />
|-<br />
|flake_density<br />
|float<br />
|1.0<br />
|flipflake<br />
|Defines how 'tight' the flake effect is to the specular highlight. Higher values result in a smaller area of the flake effect, while smaller values result in a broad area having it.<br />
|-<br />
|flake_shininess<br />
|float<br />
|50.0<br />
|flipflake<br />
|<br />
|-<br />
|flake_clearcoat_rolloff<br />
|float<br />
|2.2<br />
|flipflake<br />
|Adjusts the sharpness of the clearcoat specular highlight. Higher values yield sharper edges.<br />
|-<br />
|flake_noise<br />
|string<br />
|"/material/custom/flake_noise.tobj"<br />
|flipflake<br />
|Path to the flipflake texture. The RGB component multiplies the flake_color, and the A component masks the flake effect.<br />
|-<br />
|flipflake<br />
|bool<br />
|false<br />
|<br />
|When true, flipflake (metallic/pearlescent) behavior and attributes are enabled. Cannot be used with colormask.<br />
|-<br />
|airbrush<br />
|bool<br />
|false<br />
|<br />
|When true, airbrush behavior and attributes are enabled. Cannot be used with colormask.<br />
|-<br />
|alternate_uvset<br />
|bool<br />
|false<br />
|all<br />
|When true, the resulting material will have the ''altuv'' flavor. This triggers usage of the alternate UV layout, if configured.<br />
|-<br />
|stock<br />
|bool<br />
|false<br />
|all<br />
|Defaults to '''false'''. This was previously used to mark paintjobs available when purchasing a truck when true, and only available from the upgrade shop when false. Currently must be set to '''false''' to avoid undesirable behavior.<br />
|-<br />
|paint_job_mask<br />
|string<br />
|<br />
|all<br />
|Defines the path to the texture resource (.tobj) to be used for color masking (colormask) or for blending (airbrush). If empty, mask is ignored and final result is composed purely from color attributes.<br />
|-<br />
|base_texture_override<br />
|string<br />
|<br />
|all<br />
|Defines the path to a texture resource (.tobj) to override the base texture of the truckpaint material(s). If empty, the base texture will be used as defined in the truckpaint material(s). This is useful for overriding the alpha channel of the base texture if a different specularity is desired.<br />
|}</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_addon_tank_data&diff=4926Documentation/Engine/Units/accessory addon tank data2021-09-02T21:39:39Z<p>Smarty: Corrected language about override behaviour. Removed model section that was specific to trailer cables accessory.</p>
<hr />
<div>{{Note|This article is a work in progress and has yet to be reviewed by SCS staff. Some information may be incomplete or inaccurate.}}<br />
<br />
The '''accessory_addon_tank_data''' unit class is used for adding accessory based tank data container. For player trucks, units of this type are usually defined in '''/def/vehicle/truck/<brand.model>/accessory/tank/*.sii''' and valid unit names end in <code>.tank</code>. ''This unit type was added in 1.41.''<br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_addon_data|'''accessory_addon_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|exterior_model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the model to be displayed in the exterior view (if applicable).<br />
|-<br />
|exterior_model_uk<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the model to be displayed in the exterior view for left-hand drive vehicles (if applicable). If unset, defaults to '''exterior_model'''.<br />
<!--<br />
|-<br />
|interior_model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the model to be displayed in the interior view (if applicable).<br />
|-<br />
|interior_model_uk<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the model to be displayed in the interior view for left-hand drive vehicles (if applicable). If unset, defaults to '''interior_model'''.<br />
--><br />
|-<br />
|coll<br />
|string<br />
|<br />
|Path to the collision descriptor (.pmc) for the accessory (if applicable).<br />
|-<br />
|look<br />
|token<br />
|default<br />
|Name of the look to be used on all descriptors of this accessory.<br />
{{Note|All models for an accessory must have the same set of looks.}}<br />
|-<br />
|variant<br />
|token<br />
|default<br />
|Name of the variant to be used on all descriptors of this accessory.<br />
{{Note|All models for an accessory must have the same set of variants.}}<br />
|-<br />
|fuel_tank_size<br />
|float<br />
|<br />
|Fuel tank size in liters. Overrides [[Documentation/Engine/Units/accessory_chassis_data|chassis]] info about fuel tank size, if positive.<br />
|-<br />
|adblue_tank_size<br />
|float<br />
|<br />
|AdBlue/DEF tank size in liters. Overrides [[Documentation/Engine/Units/accessory_chassis_data|chassis]] info about adblue tank size, if positive.<br />
|}</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Tools/SCS_Workshop_Uploader/Changelog&diff=4914Documentation/Tools/SCS Workshop Uploader/Changelog2021-06-21T15:31:58Z<p>Smarty: /* {{PublicBetaUploaderVersion}} 1.0.23 (c2699032a20d) - 12.04.2021 */ fixed date</p>
<hr />
<div>Changelog of the '''SCS Workshop Uploader''' tool.<br />
<br />
__TOC__<br />
<br />
=Intro=<br />
<br />
This page contains detailed changelogs of SCS Workshop Uploader tool. There are two possible versions:<br />
* '''Current Version''' - uploader version that is compatible with the currently released version of the games. Available when you have no beta selected in steam. <!-- {{CurrentUploaderVersion}} --><br />
* '''Public Beta Version''' - uploader version that is compatible with the game's version that is available in open or experimental beta. To access this version, you can find this it in the public_beta branch on Steam. The way to access it is as follows: Steam client → LIBRARY → Tools section → right-click on SCS Workshop Uploader → Properties → Betas tab → public_beta. No password is required. The branch may not be available if no public beta is in progress. <!-- {{PublicBetaUploaderVersion}} --> <br />
<br />
=1.0.23=<br />
== {{PublicBetaUploaderVersion}} 1.0.23 (c2699032a20d) - 21.06.2021==<br />
<br />
* 1.41 support<br />
<br />
=1.0.22=<br />
== {{CurrentUploaderVersion}} 1.0.22 (f6563bb6628c) - 12.04.2021==<br />
<br />
* Support for headlight lamp setup override<br />
<br />
=1.0.21=<br />
== 1.0.21 (f08dd65c9116) - 15.03.2021==<br />
<br />
* 1.40 support<br />
<br />
=1.0.20=<br />
== 1.0.20 (7871b0a1f072) - 8.12.2020==<br />
<br />
* added brand tag for Freightliner brand<br />
<br />
== 1.0.20 (917bd8f7b2de) - 2.12.2020==<br />
<br />
* compatible_versions check relaxed to allow for specifying explicit non-zero third and fourth components<br />
<br />
== 1.0.20 (91e0c6211ebf) - 20.10.2020==<br />
<br />
* Support for position_offset parameter in soundref files<br />
<br />
=1.0.19=<br />
== 1.0.19 (cc61be1d06b1) - 19.10.2020==<br />
<br />
* Fixed air_horn sound support<br />
<br />
=1.0.18=<br />
== 1.0.18 (50b6d3bf0478) - 19.10.2020==<br />
<br />
* Updated for 1.39 Open Beta<br />
<br />
=1.0.17=<br />
== 1.0.17 (a56d7d045cc8) - 1.10.2020==<br />
<br />
* Added Western Star to the Brand list<br />
<br />
=1.0.16=<br />
== 1.0.16 (15e1b3589de8) - 29.06.2020==<br />
<br />
* Fixed verification of traffic vehicles<br />
* Fixed incorrect report of duplicate unit name for some unit types (e.g. cargoes)<br />
<br />
=1.0.15=<br />
== 1.0.15 (02685c693f52) - 19.06.2020==<br />
<br />
* Updated for ATS Open Beta 1.38<br />
<br />
=1.0.14=<br />
== 1.0.14 (8b094d6f3693) - 26.05.2020==<br />
<br />
* Allowed direct "bank#event" reference from units in addition to soundref file<br />
* Improved validation of soundref files<br />
* Removed warning for missing sound references for accessory attributes where default is provided (e.g. sound_horn)<br />
<br />
=1.0.13=<br />
== 1.0.13 (d9e3c1783307) - 28.04.2020==<br />
<br />
* Support for Mack brand tag for ATS<br />
<br />
=1.0.12=<br />
== 1.0.12 (0c9147422e49) - 27.04.2020==<br />
<br />
* Support for sound_retarder attribute of transmission accessory<br />
<br />
=1.0.11=<br />
== 1.0.11 (34d490f577a6) - 08.04.2020==<br />
<br />
* Updated for ETS2 Open Beta 1.37<br />
<br />
=1.0.10=<br />
== 1.0.10 (0c443be8cb93) - 12.03.2020==<br />
<br />
* Support for .soundref format validation<br />
<br />
==1.0.10 (22898975fb90) - 02.03.2020==<br />
<br />
* Support for ATS Open Beta 1.37<br />
* Support for validating .mask format<br />
* Support for validating FMOD sound banks format<br />
* Small UI tweaks<br />
<br />
=1.0.9=<br />
== 1.0.9 (2aaea92d9825) - 12.12.2019==<br />
<br />
* Update to all changes introduced during open beta<br />
* Added International brand tag to ATS<br />
<br />
==1.0.9 (5c58b47e85f9) - 21.10.2019==<br />
<br />
* Update to wander camera unit changes introduced during open beta<br />
<br />
==1.0.9 (cbd5aa3c8fef) - 17.10.2019==<br />
<br />
* 1.36 game version support<br />
<br />
=1.0.8=<br />
<br />
==1.0.8 (ef80e2961800) - 11.06.2019==<br />
<br />
* Fixed validation of multiple packages. Previously if X file was in the first package, it was used for validation in all packages.<br />
<br />
==1.0.8 (3f3f9b51c140) - 06.06.2019==<br />
<br />
* Added "Changelog" button opening this page.<br />
* Fixed language mod descriptions and titles are fetched in to set it to English. Previously steam client language was used. (If user had client set to Polish, Polish descriptions were fetched however upload override English descriptions)<br />
<br />
==1.0.8 (ad5d573c2a51) - 03.06.2019==<br />
<br />
* Fixed game selection droplist not being activated if user has only one game installed<br />
* Added "Voice Navigation" mods category<br />
<br />
==1.0.8 (a54215a157e0) - 06.05.2019==<br />
<br />
* 1.35 game version support<br />
* Unit files validation has been re-implemented, all parsing errors will now be properly reported as validation errors so you no longer have to look at tool.log.txt to understand what is wrong.<br />
* Euro Truck Simulator 2 is no longer preselected when the tool is launched so when the user wants to upload ATS mod he no longer has to wait for ETS2 data to be loaded.<br />
* Validation of packages was changed - from now on only universal and/or packages that are compatible with tool version are validated. Packages that are prepared for a newer version of the game than the version supported by the tool will cause a validation error.<br />
* Correctly detect missing effect referenced by material.<br />
* In case the installed game version is different than the tool version it is now properly shown to the user.<br />
* Validation progress dialog has been slightly redesigned.<br />
* Tool will now ask user for confirmation when closing tool, changing game or an item with unsaved changed to currently edited mod.<br />
* Disable delete button during update.<br />
* Fixed memory wasting caused by new item being created multiple times without a reason.<br />
* Fixed UI bug causing wrong item to be selected after creating a new one.<br />
* Fixed UI glitches when resizing window.<br />
* Fixed missing icons on message boxes.<br />
* Fixed bug that caused previously selected mod icon to be still displayed when selecting new or mod without icon.<br />
<br />
= 1.0.7=<br />
<br />
==1.0.7 (51ad53473468) - 05.09.2018==<br />
<br />
* Fixed validation of trailer configurations.<br />
* Added missing message box icons.<br />
<br />
==1.0.7 (121b71f23ccd) - 04.09.2018==<br />
<br />
Experimental release for 1.32 compatibility. (public_beta branch)<br />
<br />
* Added support for 1.32 version of the game.<br />
* Game data is now being loaded after the main dialog of the tool is open with a proper progress bar displayed. Previously it was possible when the user had many DLCs it would take a significant amount of time to start a tool.<br />
* The file discovering phase is now also updating UI so validation progress dialog is no longer stuck showing nothing.<br />
* Fixed various crashes when validating units and data files.<br />
<br />
=1.0.6=<br />
<br />
==1.0.6 (c1006f4d79a0) - 15.05.2018==<br />
<br />
Release for 1.31 compatibility.<br />
<br />
==1.0.6 (5aeec64b6ae6) - 19.12.2017== <br />
* Fixed crash when validating mod that contains multiple definitions of economy unit.<br />
* Fixed crash when validating player unit. (initial save mods)<br />
* Fixed validation of .sii files that are using UTF-8 with BOM encoding.<br />
<br />
==1.0.6 (4928518be2a5) - 19.12.2017==<br />
<br />
* Added validation of automat materials folder structure.<br />
* Added support for legacy material hash names.<br />
* Print full path to the resource relative to the mod root instead of package root for better understanding which file causes the problem in multi-package mods.<br />
<br />
==1.0.6 (850da2b2cfee) - 13.12.2017==<br />
<br />
* Added validation if automat material file content hash matches its name.<br />
* Materials are now validated before any texture.<br />
* Added name of the material referencing tobj to missing tobj error message if available.<br />
<br />
==1.0.6 (3b47a0690a7b) - 12.12.2017==<br />
<br />
* Fixed crash when validating UI windows.<br />
<br />
==1.0.6 (a1fcdaeeb768) - 04.12.2017==<br />
<br />
* Temporary workaround for traffic_trailer_type.sii related error in ATS vanilla data.<br />
<br />
==1.0.6 (8a923435d922) - 28.11.2017==<br />
<br />
* Support for .font files.<br />
* More restrictive check of the data presence.<br />
* New validation error code (10) which indicates I/O errors.<br />
* Do not prepend path to the package in case there was some problem with the validation of the file that does not belong to the mod.<br />
* Fixed loading of the game effects database. Previously the tool was not able to load any effect and as a result, there was a spam in the tool log file.<br />
<br />
=1.0.5=<br />
<br />
==1.0.5 (070a99774791) - 10.11.2017==<br />
<br />
Compatibility update for ATS 1.29 release - available only in '''123ats_compatibility''' beta.<br />
<br />
The access this build open Steam client then go to LIBRARY → Next to search bar select TOOLS → right-click on SCS Workshop Uploader → Properties → Betas tab → 129ats_compatibility. No password is required.<br />
<br />
==1.0.5 (2835351ba167) - 26.07.2017==<br />
<br />
Stable security release.<br />
<br />
==1.0.5 (79a99c4668c7) - 26.07.2017==<br />
<br />
public_beta branch release for open beta 1.28 compatibility.<br />
<br />
==1.0.5 (b04d44242646) - 15.05.2017==<br />
<br />
The compatibility patch to ETS2 1.27.2.1 and ATS 1.6.1.9.<br />
<br />
==1.0.5 (859ab7102bb0) - 04.03.2017==<br />
<br />
The compatibility patch to ETS2 1.27 and ATS 1.6.<br />
<br />
==1.0.5 (c8931052fa92) - 13.01.2017==<br />
<br />
* Allow using materials from base without copying them to mod content.<br />
<br />
==1.0.5 (6a889ac42143) - 05.12.2016==<br />
<br />
The compatibility patch to ETS2 1.26 and ATS 1.5 available in '''default''' branch on steam.<br />
<br />
==1.0.5 (37800fdabf36) - 15.11.2016==<br />
<br />
The compatibility patch to ETS2 1.26 and ATS 1.5 - you can test it by selecting '''public_beta''' beta on the steam.<br />
<br />
==1.0.5 (ba8913a1daee) - 15.09.2016==<br />
<br />
* Fixed returning of the mods list. (If the creator has more than 50 mods all of them will be shown now)<br />
* Fixed validation of traffic definitions.<br />
* Slightly optimized validation of many SII files.<br />
<br />
=1.0.4=<br />
<br />
==1.0.4 (9f8292f559f8) - 08.09.2016==<br />
<br />
* Updated tool to work with new units that appeared in ATS 1.4 and ETS2 1.25 updates.<br />
* Fixed crash when validating mods that override cutscene data.<br />
<br />
==1.0.4 - 13.06.2016==<br />
* Fixed crash when validating any resource that depends on substances.<br />
* Fixed validation of mods that override UI templates.<br />
* Fixed abnormal CPU usage (+/- 13%) when the tool is idle.<br />
* Fixed problem with unresponsive background window when closing foreground window.<br />
* Added support for informational packages.<br />
* Support for damage_data unit.<br />
<br />
=1.0.3=<br />
<br />
==1.0.3 - 17.03.2016==<br />
<br />
* Fixed crash when validating mod that changes road look.<br />
* Fixed crash when validating mod that changes initial profiles. (economy unit)<br />
<br />
=1.0.2=<br />
<br />
==1.0.2 - 16.03.2016==<br />
* Fixed crash when validating mod that changes photo camera definition.<br />
* Allow using glass.dat file, however, throw a warning about that it's not the best practice to use it.<br />
<br />
=1.0.1=<br />
<br />
==1.0.1 - 15.03.2016==<br />
<br />
* Added version to the main window of the tool.<br />
* Fixed modding of the files which reference prefabs, models, country and other data.<br />
* Fixed validation of the mod when using ZIP packages.<br />
<br />
=1.0=<br />
<br />
==1.0 - 14.03.2016==<br />
<br />
Initial release.</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_truck_data&diff=4902Documentation/Engine/Units/accessory truck data2021-04-25T16:18:03Z<p>Smarty: First draft of pin overrides section</p>
<hr />
<div>The '''accessory_truck_data''' unit class defines basic information, cameras, fallback rules, and required accessories for the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's truck]]. Units of this type are defined in '''/def/vehicle/truck/<brand.model>/data.sii'''.<br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']]. Required attributes are '''bolded'''.<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|'''info'''<br />
|array&lt;string&gt;<br />
|<br />
|Two info members are typically defined for '''accessory_truck_data''':<br />
<syntaxhighlight lang="cpp"><br />
info[]: "@@brand_peterbilt@@" // The truck brand<br />
info[]: "@@series_peterbilt_579@@" // The truck model<br />
</syntaxhighlight><br />
|-<br />
|require<br />
|array&lt;token&gt;<br />
|<br />
|Accessory types which should be required, regardless of the vehicle configuration, should be defined in '''accessory_truck_data'''. For more information, see [[Documentation/Engine/Units/accessory_data|accessory_data]].<br />
|-<br />
|'''behind_camera'''<br />
|link_ptr<br />
|<br />
|The unit name of the camera to use for the orbit (2) view. Typically <code>camera.behind.basic</code>.<br />
|-<br />
|'''interior_camera'''<br />
|link_ptr<br />
|<br />
|The unit name of the camera to use for the interior (1) view. Typically <code>camera.interior.<brand>.<model></code>.<br />
|-<br />
|'''interior_camera_oculus'''<br />
|link_ptr<br />
|<br />
|The unit name of the camera to use for the interior (1) view when using a head-mounted display. Typically <code>camera.interior.<brand>.<model>.oculus</code>.<br />
|-<br />
|'''window_camera'''<br />
|link_ptr<br />
|<br />
|The unit name of the camera to use in the lean-out (5) view. Typically <code>camera.window.basic</code>.<br />
|-<br />
|'''bumper_camera'''<br />
|link_ptr<br />
|<br />
|The unit name of the camera to use in the bumper (6) view. Typically <code>camera.bumper.basic</code>.<br />
|-<br />
|'''cabin_camera'''<br />
|link_ptr<br />
|<br />
|The unit name of the camera to use for the cabin-top (4) view. Typically <code>camera.cabin.basic</code>, placed at the ''cam_cabin*'' locator of the active cabin accessory variant.<br />
|-<br />
|'''wheel_camera'''<br />
|link_ptr<br />
|<br />
|The unit name of the camera to use in the wheel (7) view. Typically <code>camera.wheel.basic</code>.<br />
|-<br />
|'''top_camera'''<br />
|link_ptr<br />
|<br />
|The unit name of the camera to use for the overhead (3) view. Typically <code>camera.top.basic</code>.<br />
|-<br />
|top_fixed_camera<br />
|link_ptr<br />
|<br />
|Typically unused.<br />
|-<br />
|'''tv_camera'''<br />
|link_ptr<br />
|<br />
|The unit name of the camera to use in TV (8) view. Typically <code>camera.tv.basic</code>.<br />
|-<br />
|predefined_tv_camera<br />
|link_ptr<br />
|<br />
|Typically unused.<br />
|-<br />
|side_camera<br />
|link_ptr<br />
|<br />
|Typically unused.<br />
|-<br />
|wander_camera<br />
|link_ptr<br />
|<br />
|The unit name of the camera to use in wander mode. Typically <code>camera.wander</code>. The player typically won't encounter this mode as it is primarily used for testing.<br />
|-<br />
|'''debug_camera'''<br />
|link_ptr<br />
|<br />
|The unit name of the camera to use for the developer/fly camera (0). Typically <code>camera.debug</code>.<br />
|-<br />
|'''fallback'''<br />
|array&lt;string&gt;<br />
|<br />
|Each member contains a specially-formatted string which defines an accessory type (token) and the relative path to an SII file with a safe fallback accessory defined. So a fallback rule for <code>chassis</code> may look like <code>fallback[]: "chassis<nowiki>|</nowiki>4x2.sii"</code> which would call on ''/def/vehicle/truck/<make.model>/chassis/4x2.sii'' if there is ever a problem with the vehicle's currently assigned chassis accessory that makes it invalid or unloadable. <br />
<br />
Accessories in the accessory folder are handled somewhat specially. For example, a rule for <code>steering_w</code> looks like <code>fallback[]: "accessory<nowiki>|</nowiki>steering_w/shape1.sii"</code>.<br />
<br />
{{Note|There are 15 ''required'' fallback rules: chassis, cabin, engine, transmission, f_tire, f_disc, f_hub, f_nuts, r_tire, r_disc, r_hub, r_nuts, head_light, paint_job, interior. It is generally advisable to include a rule for steering_w if the truck has interchangeable steering wheels.}}<br />
|}<br />
=== Pin Overrides ''(Added in 1.40)'' ===<br />
The following array attributes are used to override the location, appearance, and orientation of accessory pins in the truck configuration scene. Their usage is the same as the identically named attributes in the ui_truck_scene_config unit, such that one member of each array is used to override the behavior of each pin. Pin overrides defined in accessory_truck_data will supersede the data in ui_truck_scene_config for the associated truck.<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Description<br />
|-<br />
|pin_group<br />
|array&lt;token&gt;<br />
|The name of the accessory group for each pin override<br />
|-<br />
|pin_look<br />
|array&lt;token&gt;<br />
|The appearance of the accessory pin to use &ndash; typically <code>custom_acc</code><br />
|-<br />
|pin_offset<br />
|array&lt;float3&gt;<br />
|Vector to offset the accessory pin from the locator<br />
|-<br />
|pin_dir<br />
|array&lt;float3&gt;<br />
|Vector to set the direction of the pin (independent of locator orientation)<br />
|-<br />
|pin_dir_uk<br />
|array&lt;float3&gt;<br />
|Vector to set the direction of the pin for right-hand drive (independent of locator orientation). This attribute is typically omitted in ATS.<br />
|-<br />
|double_sided<br />
|array&lt;bool&gt;<br />
|When true, the pin will be duplicated and mirrored across the truck's X-axis.<br />
|}<br />
<br />
In this first example, the pin for the ''sideskirt'' accessory is offset 1 m to the left of the locator (-X), and pointed to the left as well (-X). It will also be drawn 1 m to the right of the locator, pointed to the right.<br />
<pre> pin_group[]: sideskirt<br />
pin_look[]: custom_acc<br />
pin_offset[]: (-1, 0, 0)<br />
pin_dir[]: (-1, 0, 0)<br />
pin_dir_uk[]: (-1, 0, 0)<br />
double_sided[]: true</pre><br />
In this example, the pin for the ''exhaust'' accessory will be drawn at the locator (no offset), and will be pointed 45° to the rear left of the truck. It will also be drawn 45° to the rear right of the truck. This has the effect of making the pin completely visible from both sides and the rear of the vehicle.<br />
<pre> pin_group[]: exhaust<br />
pin_look[]: custom_acc<br />
pin_offset[]: (0, 0, 0)<br />
pin_dir[]: (-1, 0, 1)<br />
pin_dir_uk[]: (-1, 0, 1)<br />
double_sided[]: true</pre></div>Smartyhttps://modding.scssoft.com/index.php?title=Games/ETS2/Modding_guides/1.40&diff=4894Games/ETS2/Modding guides/1.402021-04-06T15:35:59Z<p>Smarty: /* Vehicles */</p>
<hr />
<div>= Introduction =<br />
<br />
The following page contains modding guidelines for the new update of the game.<br />
<br />
To better understand changes in units it is recommended to check [[Documentation/Engine/Units|Units documentation]] page.<br />
<br />
= Recommendations =<br />
* When basing your model on the original ones, add to your mod also <strong>ALL</strong> original /automat/ files used by it. The names of the files are generated as CityHash64 hash of theirs content so whenever we change the parameters of the material in any way, a different file will be used to store them and the original file might cease to exist if there is no other model utilizing the original parameters.<br />
* When modifying original models, always include <strong>ALL</strong> components of the model (pmg+pmd) instead of just those you changed. Otherwise you risk crash if we change the model.<br />
* As always when adding new objects to files which support multi-file approach (e.g. road_look.sii) it is <strong>HIGHLY RECOMMENDED</strong> to use suffix or prefix in the name to avoid conflicts with new objects we are adding in patches. Otherwise you might have to use the batch renaming functionality (see Batch renaming) to fix the conflicts when new patch appears.<br />
<br />
= How to convert map =<br />
<br />
* Load map<br />
* Do rebuild (F8)<br />
* Save map<br />
<br />
= Changes & New Features =<br />
<br />
== Light ==<br />
<br />
TBA<br />
<br />
Huge pile of new things: materials, shaders, map, vehicles, lamp logic, rendering, weather data .. :)<br />
<br />
Our light is currently albedo-based system with some additional tricks.<br />
<br />
Here is example of material ranges and their absolute limits http://download.eurotrucksimulator2.com/140_material_reference.zip (raw data) or http://download.eurotrucksimulator2.com/140_material_reference_converted.zip (converted, ready to mount as mod).<br />
<br />
TBA<br />
<br />
== Weather ==<br />
<br />
Weather system was changed to more generic one. Elevation ranges of sun profiles might be any real value now (not just 5 degree grid), transition now can mix up to 4 textures on sky and can happen anytime - so no longer locked weather because of sky textures in specific times. Also, thanks to unlimited transition, there is no need for various climates and weathers to meet in any evelation point.<br />
<br />
=== Climate profile ===<br />
Climate profile can now specify usage of skyboxes of different climate ('''copy''') with few tweaks (arrays '''weights''', '''temperatures''' - define ). Copied climates are shown and can be edited in weather editor, but won't be saved.<br />
<br />
Attribute '''copy''', defines name (token) of source climate.<br />
<br />
=== Sun profile ===<br />
Sun profile has few new attributes. Attribute '''stability''' defines chance of locking sky index for following sun profile (0.0 = completely random, 1.0 = sky index stays if possible).<br />
<br />
Few color attributes have been changed from array of floats to float3 values. They all had '''_hdr_coef''' postfix in names. List of new names: '''ambient''', '''diffuse''', '''specular''', '''sky_color''', '''sun_color''', '''fog_color''', '''fog_color2'''. Also '''sunshaft_strength''' has been changed to '''sunshaft_color''' in same way. New attributes have same meaning as former ones.<br />
<br />
Attributes '''min_scale''' and '''max_scale''' do not contain '''target_gray''' anymore, they are just multipliers. In addition new attribute '''scale_override''' defines allowed ratio for crossing of the limit (0 = no override, 1 = limit ignored).<br />
<br />
Attribute '''eye_adaptation_speed''' was split to '''dark_adaptation_speed''' and '''bright_adaptation_speed''' for interpolated adaptation speed based on conditions.<br />
<br />
Bloom has been remade. Before it was handled after tonemaping, with '''minimal_color''' mapped to 0 and '''half_intesity_color''' mapped to 0.5. Now its supressed below '''bloom_treshold''' and applied before tonemapping. Some older values are thus obsolete (radius, resizing_steps, minimal_color, half_intensity, multipliers, target_white).<br />
<br />
The game can convert most of those attributes on its side after loading older '''sun_profile''' format for now but this support will be removed in future.<br />
<br />
== Sound ==<br />
There is new layer for map-based sound editation. It is accessed by "-edit -sound" commandline params which open map editor in sound editation mode, rest of the map items are inaccessible (sound items are inaccessible in regular editor mode).<br />
There can be defined sound areas either for reverbs or ambinents and also put specific sound sources with some conditions.<br />
<br />
For detailed description see https://modding.scssoft.com/wiki/Documentation/Engine/Sound/SoundWorld .<br />
<br />
== Map ==<br />
All filling stations totems are now dynamic signs with prices taken from pre-defined strings.<br />
<br />
New editor features:<br />
* Road edge overrides<br />
* Lasso selection<br />
* Snap mode for all collisions<br />
* Tags in content browser<br />
* Camera snap to ground options: Cabin view (2.5 m), regular height (8.5 m), extreme height (11.5 m)<br />
* Allow using a comma for decimal points in text inputs<br />
<br />
TBA<br />
<br />
== Vehicles ==<br />
Headlight behavior can now be defined in detail with many new options. Default descriptor is in ''/def/default_vehicle_lamp_setup.sii''.<br />
In '''accessory_chassis_data''' it can be overridden per vehicle by '''lamp_setup''' definition.<br />
<br />
Engine brake can control retarder now. There is array '''auxiliary_brakes''' in '''accessory_engine_data''' units and works in similar way as same-named array in '''accessory_transmission_data'''. The only difference is ordering - engines auxiliary brake triplet is in order ''[engine_brake_strength, downshift, retarder_strength]''.<br />
<br />
TBA</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Tools/SCS_Blender_Tools/Materials/Lamp_system&diff=4815Documentation/Tools/SCS Blender Tools/Materials/Lamp system2020-11-06T00:13:57Z<p>Smarty: /* Vehicle lights */ updated front positional lights to reflect changes in color for ATS 1.39</p>
<hr />
<div>Lamp system uses &quot;lamp&quot; material effect to visualize extra lit surfaces by second mask texture or by alpha channel of base texture. This system is used on vehicle lights, vehicle auxiliary lights and traffic lights.<br />
<br />
For easy usage of lamp system Blender Tools has included [[Documentation/Tools/SCS Blender Tools/SCS Tools in Tool Shelf/Lamp Switcher &amp; UV Tool|Lamp Switcher &amp; UV Tool]] which will help you with UV mappings tiling and previewing of lit surfaces directly in Blender 3D viewport.<br />
<br />
== Vehicle lights ==<br />
{| class="wikitable" style="text-align:center;float:right;"<br />
|+Vehicle Lights Quick-Reference<br />
!rowspan="2"|UV Tile<br />
!rowspan="2"|Corresponding<BR />Position<br />
!colspan="4"|Color Channel<br />
|-<br />
|style="background-color:#FF2222;"|'''R'''<br />
|style="background-color:#22FF22;"|'''G'''<br />
|style="background-color:#2222FF;"|'''B'''<br />
|'''A'''<br />
|-<br />
|0<br />
|Front Left<br />
|style="background-color:#ffb44a;"|Left Blinker<br />
|rowspan="2"|High Beam<br />
|rowspan="2"|Low Beam<br />
|rowspan="2" style="background-image:linear-gradient(to right,#ffb44a,rgba(255,255,255,0));"|Positional*<br />
|-<br />
|1<br />
|Front Right<br />
|style="background-color:#ffb44a;"|Right Blinker<br />
|-<br />
|2<br />
|Rear Left<br />
|style="background-image:linear-gradient(to right,#ff4a4a,#ffb44a);"|Left Blinker**<br />
|rowspan="2" style="background-color:#ff4a4a;"|Brake<br />
|rowspan="2"|Reverse<br />
|rowspan="2" style="background-color:#ff4a4a;"|Positional<br />
|-<br />
|3<br />
|Rear Right<br />
|style="background-image:linear-gradient(to right,#ff4a4a,#ffb44a);"|Right Blinker**<br />
|-<br />
|4<br />
|Middle or DRL<br />
|<br />
|<br />
|DRL<br />
|style="background-color:#ffb44a;"|Positional<br />
|-<br />
|colspan="6"|''<nowiki>*</nowiki>Front positional lights are white in ETS2, and orange in ATS by default as of 1.39. <br><nowiki>**</nowiki>Rear blinkers are orange in ETS2, and red in ATS by default.''<br />
|}<br />
<br />
Vehicle lights use a second RGBA mask texture from which each channel defines a luminance mask for a particular type of light:<br />
<br />
* R - left blinker, right blinker<br />
* G - high beam, brake<br />
* B - low beam, reverse, daytime running (DRL)<br />
* A - positional<br />
<br />
The second requirement for vehicle lights to work correctly is to use a separate UV layer for the lamp mask texture and proper tile offset of the mappings. Tiling is applied on the right side of the texture in the following order:<br />
<br />
<ol start="0"><br />
<li>original texture - front left side of vehicle</li><br />
<li>first texture tile - front right side of vehicle</li><br />
<li>second texture tile - rear left side of vehicle</li><br />
<li>third texture tile - rear right side of vehicle</li><br />
<li>fourth texture tile - middle of vehicle and DRL</li><br />
</ol><br />
<br />
== Auxiliary lights ==<br />
<br />
Auxiliary lights on vehicles can also have separate second mask texture but they use only two channels from light mask texture:<br />
<br />
* R - dimmed beam<br />
* G - full beam<br />
* B - not used and must be zero (black)<br />
* A - not used and must be zero (black)<br />
<br />
There is also possible to use two different colors for auxiliary lights with offsetting UV mappings for second mask texture. Tile offset here is also done on the right side of the texture:<br />
<br />
<ol start="0"><br />
<li>original texture - white color</li><br />
<li>first texture tile - orange color</li><br />
</ol><br />
<br />
== Traffic lights ==<br />
<br />
Traffic lights don't use extra second mask texture as they are using alpha channel of base texture for proper lit of traffic lights. But they still use tile offset on UV mappings to properly lit up different color in traffic light. Tile offset here is done on right up side of the texture in the following order:<br />
<br />
<ol start="0"><br />
<li>first texture tile - red color of traffic light</li><br />
<li>second texture tile - yellow color of traffic light</li><br />
<li>third texture tile - green color of traffic light</li><br />
</ol></div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/vehicle_accessory&diff=4758Documentation/Engine/Units/vehicle accessory2020-10-15T01:10:25Z<p>Smarty: /* Related Units */ remove reference to vehicle_sound_accessory because it's deprecated</p>
<hr />
<div>The '''vehicle_accessory''' unit class is used to 'attach' certain types of accessories and their data to vehicle and trailer configurations. Units of this type are typically nameless and declared within the same context as the configuration that owns/uses them.<br />
<br />
== Attributes ==<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|wear<br />
|float<br />
|0.0<br />
|This attribute is used to track damage and wear to the accessory. 0 corresponds to an unworn state and 1 corresponds to a completely worn state.<br />
|-<br />
|'''data_path'''<br />
|string<br />
|<br />
|Full path to the SII file containing a suitable accessory data unit.<br />
|}<br />
<br />
== Suitable Accessory Data Types ==<br />
These accessory data types can be used by '''vehicle_accessory''':<br />
<div style="column-count:2;-moz-column-count:2;-webkit-column-count:2"><br />
*[[Documentation/Engine/Units/accessory_cabin_data|accessory_cabin_data]]<br />
*[[Documentation/Engine/Units/accessory_cargo_data|accessory_cargo_data]]<br />
*[[Documentation/Engine/Units/accessory_chassis_data|accessory_chassis_data]]<br />
*[[Documentation/Engine/Units/accessory_engine_data|accessory_engine_data]]<br />
*[[Documentation/Engine/Units/accessory_headlight_data|accessory_headlight_data]]<br />
*[[Documentation/Engine/Units/accessory_interior_data|accessory_interior_data]]<br />
*[[Documentation/Engine/Units/accessory_truck_data|accessory_trailer_data]]<br />
*[[Documentation/Engine/Units/accessory_truck_data|accessory_trailer_body_data]]<br />
*[[Documentation/Engine/Units/accessory_transmission_data|accessory_transmission_data]]<br />
*[[Documentation/Engine/Units/accessory_truck_data|accessory_truck_data]]<br />
</div><br />
<br />
== Related Units ==<br />
<div style="column-count:2;-moz-column-count:2;-webkit-column-count:2"><br />
*[[Documentation/Engine/Units/traffic_trailer|traffic_trailer]]<br />
*[[Documentation/Engine/Units/traffic_vehicle|traffic_vehicle]]<br />
*[[Documentation/Engine/Units/trailer|trailer]]<br />
*[[Documentation/Engine/Units/vehicle|vehicle]]<br />
*[[Documentation/Engine/Units/vehicle_addon_accessory|vehicle_addon_accessory]]<br />
*[[Documentation/Engine/Units/vehicle_paint_job_accessory|vehicle_paint_job_accessory]]<br />
*[[Documentation/Engine/Units/vehicle_wheel_accessory|vehicle_wheel_accessory]]<br />
</div></div>Smartyhttps://modding.scssoft.com/index.php?title=Tutorials/Map_Editor/Map_Editor_Workflow/1._Saving_your_map&diff=4757Tutorials/Map Editor/Map Editor Workflow/1. Saving your map2020-10-14T20:29:07Z<p>Smarty: Fixed a typo, and updated to have base_map instead of base</p>
<hr />
<div><!-- Defining header row with links to parent page of the tutorial and with links to next/previous steps in tutorials<br />
If you will have user guide on one page, you don't need to include the line below --><br />
{{TutorialNavigation|next=2. Loading your map}}<br />
<br />
{| class="wikitable" width="100%"<br />
<br />
<!-- Defining first row --><br />
|- style="vertical-align: top"<br />
| width="10px" | '''1'''<br />
| width="25%" | <br />
[[File:Save map.jpg|upright]]<br />
| Navigate to the top left of the editor, press '''File''' and then press either '''Save''' or '''Save as'''. You can also use the shortcuts '''Ctrl+s''' or '''Ctrl+Shift+s''' to save your work.<br />
The map files will be written to:<br />
* Retail: '''<c_program_files_x86>/Euro Truck Simulator 2/base_map/map''' (note that '''<c_program_files_x86>''' is just an example as by default games are installed there, if you used different path upon installation, please use that accordingly)<br />
* Steam: '''<steam_library_directory>/SteamApps/common/Euro Truck Simulator 2/base_map/map''' or '''<steam_library_directory>/SteamApps/common/American Truck Simulator/base_map/map''' <br />
<br />
<br />
|}<br />
<br />
<!-- Defining footer row with links use the same line as for header --><br />
{{TutorialNavigation|next=2. Loading your map}}</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_addon_data&diff=4756Documentation/Engine/Units/accessory addon data2020-10-14T20:22:10Z<p>Smarty: New section to link to subclass articles</p>
<hr />
<div>The '''accessory_addon_data''' unit class is used for vehicle accessories which add a visible component to a vehicle. This is most commonly used for customization of the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]]. It defines the paths to the visible models and their configuration (variant, look, excluded views), and the path to the collision mesh if applicable. Units of this type are found in '''/def/vehicle/truck/<brand.model>/accessory/<type>/*.sii'''.<br />
{{Note|Some legacy accessories which don't directly interact with the player (eg. badges) may also be found in '''def/vehicle/truck/<brand.model>/<type>/*.sii''' because of legacy. So when creating new types always create them inside '''accessory''' subfolder.}}<br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|exterior_model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the model to be displayed in the exterior view (if applicable).<br />
|-<br />
|exterior_model_uk<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the model to be displayed in the exterior view for left-hand drive vehicles (if applicable). If unset, defaults to '''exterior_model'''.<br />
|-<br />
|interior_model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the model to be displayed in the interior view (if applicable).<br />
|-<br />
|interior_model_uk<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the model to be displayed in the interior view for left-hand drive vehicles (if applicable). If unset, defaults to '''interior_model'''.<br />
|-<br />
|coll<br />
|string<br />
|<br />
|Path to the collision descriptor (.pmc) for the accessory (if applicable).<br />
|-<br />
|look<br />
|token<br />
|default<br />
|Name of the look to be used on all descriptors of this accessory.<br />
{{Note|All models for an accessory must have the same set of looks.}}<br />
|-<br />
|variant<br />
|token<br />
|default<br />
|Name of the variant to be used on all descriptors of this accessory.<br />
{{Note|All models for an accessory must have the same set of variants.}}<br />
|-<br />
|hide_in<br />
|u32<br />
|0<br />
|Flag for &ldquo;hiding&ldquo; accessory from being drawn in specific views. Valid values can be calculated [http://eurotrucksimulator2.com/modding_changes_114.php#Hide%20following%20views here].<br />
{{Note|Accessories whose model references textures containing the mirror reflection (e.g. the mirror itself) '''MUST''' be marked as not visible in the mirrors. Previously there was a special mechanism to handle this however the now game exclusively relies on hide_in attribute to handle that. }}<br />
|}<br />
<br />
== Subclasses ==<br />
'''accessory_addon_data''' is extended in the following subclasses for more specialized uses:<br />
*accessory_addon_int_data (adds toy physics)<br />
*accessory_addon_patch_data (adds cloth/flag physics)<br />
*[[Documentation/Engine/Units/accessory_horn_addon_data|accessory_horn_addon_data]] (for air horns)</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_horn_addon_data&diff=4755Documentation/Engine/Units/accessory horn addon data2020-10-14T20:17:30Z<p>Smarty: /* Attributes */ Changed to include only those not inherited from accessory_addon_data, per 50keda's request</p>
<hr />
<div>The '''accessory_horn_addon_data''' unit class is an extension of [[Documentation/Engine/Units/accessory_addon_data|'''accessory_addon_data''']], used specifically for air horn accessories. If functions the same as '''accessory_addon_data''', with the addition of the ''sound_path'' attribute used to bind a horn sound event to the accessory. This is most commonly used for customization of the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]]. This unit type was added in 1.38.<br />
<br />
== Attributes ==<br />
Many common attributes are inherited from '''accessory_addon_data''' and, by extension, [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|sound_path<br />
|string<br />
|<br />
|Path to the sound bank/event or soundref to be used for the horn accessory.<br />
|}</div>Smartyhttps://modding.scssoft.com/index.php?title=Tutorials/Map_Editor/Map_Editor_Preparation&diff=4748Tutorials/Map Editor/Map Editor Preparation2020-10-14T16:26:08Z<p>Smarty: Corrected base→base_map; step 2 needs to be rewritten to reflect the need for a shortcut/CLI command with the -edit argument</p>
<hr />
<div>{{TutorialInfoBox<br />
| topic = Maps<br />
| difficulty = Easy<br />
| tools = <br />
[[Documentation/Tools/Map Editor|Map Editor]]<br />
| icon_file = Map_Editor.jpg<br />
}}<br />
<br />
This tutorial will teach you how to set up the map editor to be able save maps.<br />
It assumes that you have enabled the developer console. (More info [[Documentation/Engine/Console|here]])<br />
<br />
{| class="wikitable" width="100%"<br />
|- style="vertical-align: top"<br />
| width="10px" | '''1'''<br />
| width="25%" | [[File:Map_Editor_Folders.jpg|upright]]<br />
| Navigate to either: <br />
* Retail: '''Program Files (x86)/Euro Truck Simulator 2''' or '''Program Files (x86)/American Truck Simulator''' <br />
* Steam: '''<steam_library_directory>/SteamApps/common/Euro Truck Simulator 2''' or '''<steam_library_directory>/SteamApps/common/American Truck Simulator''' <p>Create a new folder called '''base_map''' and in there, a folder called '''map'''.</p><br />
<br />
|- style="vertical-align: top"<br />
| '''2'''<br />
| [[File:Simple_cube_console.jpg|upright]]<br />
| Open the game and in the console type <code>edit</code>.<p>{{Note|If you want to edit an already existing map, type <code>edit MAP_NAME</code>. Where <code>MAP_NAME</code> is the name of the map without the .mbd extension.}}</p><br />
<br />
|- style="vertical-align: top"<br />
| '''3'''<br />
| width="x10" | [[File:Map_Editor.jpg|upright]]<br />
| If done correctly the editor will be able to save maps.<br />
|}</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_interior_data&diff=4740Documentation/Engine/Units/accessory interior data2020-10-11T16:40:13Z<p>Smarty: </p>
<hr />
<div>The '''accessory_interior_data''' unit class is used to define the interior and its animations for the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]]. Units of this type are usually defined in '''/def/vehicle/truck/<brand.model>/interior/*.sii''', making heavy use of [[Documentation/Engine/Units#Includes|includes]] via:<br />
*'''/def/vehicle/truck/<brand.model>/interior/animations.sui''' (animation-related attributes; '''animations_uk.sii''' for RHD vehicles in ETS2)<br />
*'''/def/vehicle/truck/<brand.model>/interior/dashboard_color.sii''' (dashboard_color array attribute)<br />
*'''/def/vehicle/truck/<brand.model>/interior/seat.sui''' (seat adjustment limits; '''seat_uk.sui''' for RHD vehicles in ETS2)<br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the rigid interior model.<br />
|-<br />
|animated_model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the animated interior model.<br />
|-<br />
|collision<br />
|string<br />
|<br />
|Path to the collision descriptor (.pmc). This is used for toy physics.<br />
<!-- Hidden until we have a description<br />
|-<br />
|active_mirrors_part<br />
|token<br />
|<br />
|<br />
|-<br />
|passive_mirrors_part<br />
|token<br />
|<br />
|<br />
--><br />
|-<br />
|variant<br />
|token<br />
|<br />
|Name of the variant to be used for the interior models and collision.<br />
|-<br />
|look<br />
|token<br />
|<br />
|Name of the look to be used for the interior models.<br />
|-<br />
|ext_model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the exterior model (the interior visible from outside cameras).<br />
|-<br />
|ext_variant<br />
|token<br />
|<br />
|Name of the variant to be used on the exterior model.<br />
|-<br />
|ext_look<br />
|token<br />
|<br />
|Name of the look to be used on the exterior model.<br />
|-<br />
|''animation attributes''<br />
|string / float<br />
|<br />
|There are currently nearly 70 [[Documentation/Engine/Truck_Interior_Animations_and_IDs#Interior_Animations|interior animation]] attributes, plus _min and _max attributes for some with adjustable ranges. Interior animations are typically defined externally in '''animations.sui''' and [[Documentation/Engine/Units#Includes|included]] into the interior definition.<br />
|-<br />
|<del>wiper_delay</del><br />
|array&lt;float&gt;<br />
|<br />
|Each member defines a delay in seconds between wipe cycles for intermittent wipers. They should generally be in decreasing order because the last wiper mode is continuous. If empty then only continuous mode is available. ''Removed in 1.35.''<br />
|-<br />
|wiper_duration_and_delay<br />
|array&lt;float2&gt;<br />
|(2.0, 0.0)<br />
|Each member defines the duration of the wipe cycle in seconds, and the delay between wipe cycles in seconds. They should generally be in decreasing order of delay, and decreasing order of speed. ''Added in 1.35.''<br />
|-<br />
|blinker_delay<br />
|float<br />
|0.5<br />
|The length of half of the blinker cycle in seconds. The blinker is on for this length of time, and then off for this length of time, etc. Typically included via '''animations.sui'''.<br />
<!-- Hidden until we have a description<br />
|-<br />
|glass<br />
|string<br />
|<br />
|<br />
--><br />
|-<br />
|dashboard_path<br />
|string<br />
|<br />
|Path to the UI definition for the dashboard display.<br />
|-<br />
|gps_path<br />
|string<br />
|<br />
|Path to the UI definition for the GPS display.<br />
|-<br />
|use_mile_units<br />
|bool<br />
|false<br />
|When true, distances and speeds on the dashboard will use mile units instead of kilometers.<br />
|-<br />
|left_hand_traffic<br />
|bool<br />
|false<br />
|When true, the vehicle uses right-hand drive (UK) conventions.<br />
|-<br />
|backlight_with_lights<br />
|bool<br />
|true<br />
|When false, the dashboard backlight is always on with the ignition. Otherwise, the backlight is activated with the headlights as normal.<br />
|-<br />
|air_brake_safeguard<br />
|bool<br />
|false<br />
|When true, the parking brake is automatically applied when the supply air drops below a certain threshold (typical US behavior).<br />
|-<br />
|panel_intensity_min<br />
|float<br />
|0.01<br />
|The minimum backlight intensity.<br />
|-<br />
|panel_intensity_max<br />
|float<br />
|0.3<br />
|The maximum backlight intensity.<br />
|-<br />
|glass_panes<br />
|array&lt;owner_ptr&gt;<br />
|<br />
|Each member points to the unit name of a [[Documentation/Engine/Units/glass_pane_data|glass_pane_data]] unit.<br />
|-<br />
|dashboard_color<br />
|array&lt;float3&gt;<br />
|<br />
|An array of 16 colors which define the illumination color of dashboard and other dif.lum surfaces in the interior based on the tile they are UV mapped to. Typically included via '''dashboard_color.sui'''.<br />
<!-- Hidden until we have a description<br />
|-<br />
|ui_3d_depth_model<br />
|string<br />
|<br />
|<br />
|-<br />
|ui_3d_depth_model_variant<br />
|token<br />
|<br />
|<br />
--><br />
|-<br />
|seat_left_limit<br />
|float<br />
|&#45;0.15<br />
|Maximum distance the interior camera can be moved left. Typically included via '''seat.sui'''.<br />
|-<br />
|seat_right_limit<br />
|float<br />
|0.15<br />
|Maximum distance the interior camera can be moved right. Typically included via '''seat.sui'''.<br />
|-<br />
|seat_up_limit<br />
|float<br />
|0.15<br />
|Maximum distance the interior camera can be moved up. Typically included via '''seat.sui'''.<br />
|-<br />
|seat_down_limit<br />
|float<br />
|&#45;0.15<br />
|Maximum distance the interior camera can be moved down. Typically included via '''seat.sui'''.<br />
|-<br />
|seat_front_limit<br />
|float<br />
|&#45;0.1<br />
|Maximum distance the interior camera can be moved forward. Typically included via '''seat.sui'''.<br />
|-<br />
|seat_back_limit<br />
|float<br />
|0.2<br />
|Maximum distance the interior camera can be moved backward. Typically included via '''seat.sui'''.<br />
<!-- Hidden until we have a description<br />
|-<br />
|reflection_offset<br />
|float3<br />
|<br />
|<br />
--><br />
|-<br />
|sounds<br />
|array&lt;string&gt;<br />
|<br />
|Each item assigns an FMOD event to a function, using the "''<nowiki>sound_name|sound_path</nowiki>''" [[Games/ETS2/Modding_guides/1.39#Accessories|format]]. ''Added in 1.39''<br />
<br />
Expected sound event names are: air_warning, blinker_off, blinker_on, noise, stick_blinker, stick_blinker_off, stick_engine_brake, stick_hazard_warning, stick_high_beam, stick_light_horn, stick_lights, stick_park_brake, stick_park_brake_off, stick_retarder, stick_wipers, weigh_green, weigh_red, window_click, window_move, wipers_down, and wipers_up.<br />
|}<br />
<br />
==Glass Panes and Wipers==<br />
Related units, '''glass_pane_data''' and '''wiper_data''' are defined within the same <code>SiiNunit</code> scope as accessory_interior_data, included via '''/def/vehicle/truck/<brand.model>/interior/glass.sui''' (or '''glass.dat''' in some legacy cases):<br />
*[[Documentation/Engine/Units/glass_pane_data|glass_pane_data]] (Used to define surfaces for raindrop accumulation and wiper simulation)<br />
*[[Documentation/Engine/Units/wiper_data|wiper_data]] (Used to define wipers that wipe drops from glass panes)<br />
<br />
For example:<br />
<syntaxhighlight lang="cpp">SiiNunit<br />
{ // start of SiiNunit global scope<br />
<br />
accessory_interior_data : something.brand.truck.interior<br />
{ // start of accessory_interior_data unit<br />
<br />
// various attributes belonging to accessory_interior_data<br />
<br />
// each member refers to a unit included via glass.sui<br />
glass_panes[]: .brand.truck.pane.front<br />
glass_panes[]: .brand.truck.pane.close<br />
glass_panes[]: .brand.truck.pane.far<br />
// etc...<br />
<br />
} // end of accessory_interior_data scope<br />
<br />
@include "glass.sui" // file containing glass_pane_data and wiper_data units<br />
<br />
} // end of SiiNunit global scope<br />
</syntaxhighlight></div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_cabin_data&diff=4739Documentation/Engine/Units/accessory cabin data2020-10-11T16:39:31Z<p>Smarty: </p>
<hr />
<div>The '''accessory_cabin_data''' unit class configures the models for the cabin of the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]]. Units of this type are found in '''/def/vehicle/truck/&lt;brand.model&gt;/cabin/'''.<br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|detail_model<br />
|string<br />
|<br />
|Path to the detailed mesh model descriptor (.pmd). This is used only for vehicles used by player. Additionally they are used in vehicle previews & browser windows.<br />
|-<br />
|model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd). If only a single LOD is used, it should be set up as '''model''', and the other attributes (detail_model, lods) should not be defined.<br />
|-<br />
|lods<br />
|array&lt;string&gt;<br />
|<br />
|Paths to the reduced level-of-detail model descriptors (.pmd), in order of increasing viewing distance (decreasing model complexity).<br />
|-<br />
|collision<br />
|string<br />
|<br />
|Path to the collision descriptor (.pmc).<br />
|-<br />
|variant<br />
|token<br />
|<br />
|Selects the variant to be used for all models/collisions defined. This is required if the cabin and chassis share a model as is currently the standard practice in ETS2 and ATS. Default value is ''default''.<br />
{{Note|All models defined for this '''accessory_cabin_data''' must have this variant name.}}<br />
|-<br />
|variant_uk<br />
|token<br />
|<br />
|Selects the variant to be used for all models/collisions for right-hand-drive (RHD) vehicles. If unset, defaults to the same value as '''variant'''.<br />
{{Note|All models defined for this '''accessory_cabin_data''' must have this variant name.}}<br />
|-<br />
|look<br />
|token<br />
|<br />
|Selects the look to be used for all models defined. Default value is ''default''.<br />
{{Note|All models defined for this '''accessory_cabin_data''' must have this look name.}}<br />
|-<br />
|wiper_model<br />
|string<br />
|<br />
|Path to the animated wiper model (.pmg)<br />
|-<br />
|wiper_anim<br />
|resource_tie<br />
|<br />
|Path to the wiper animation (.pma)<br />
|-<br />
|wiper_model_uk<br />
|string<br />
|<br />
|Path to the animated wiper model (.pmg) for RHD vehicles. If unset, defaults to the value of '''wiper_model'''.<br />
|-<br />
|wiper_anim_uk<br />
|resource_tie<br />
|<br />
|Path to the wiper animation (.pma) for RHD vehicles. If unset, defaults to the value of '''wiper_anim'''.<br />
|-<br />
|drl_with_headlights<br />
|float<br />
|0.0<br />
|Sets the relative strength of the daytime running lights when the headlights are on. For the DRL to be ''off'' when the headlights are on, a value of 0 is used. If the DRL should stay on and not dim when the headlights are on, a value of 1 is used. An intermediate value will dim the DRL when the headlights are on, and a value greater than 1 will intensify the DRL when the headlights are on. The typical value in ETS2 is 0.4.<br />
<!--<br />
|-<br />
|toll_tag<br />
|string<br />
|<br />
|Currently unused.<br />
--><br />
|-<br />
|suspension<br />
|bool<br />
|true<br />
|When true, physical simulation of cabin air suspension is enabled.<br />
|-<br />
|sounds<br />
|array&lt;string&gt;<br />
|<br />
|Each item assigns an FMOD event to a function, using the "''<nowiki>sound_name|sound_path</nowiki>''" [[Games/ETS2/Modding_guides/1.39#Accessories|format]]. ''Added in 1.39''<br />
<br />
Expected sound event names are: horn, air_horn, aero_noise, and rain_noise.<br />
|}</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_chassis_data&diff=4738Documentation/Engine/Units/accessory chassis data2020-10-11T16:39:10Z<p>Smarty: </p>
<hr />
<div>The '''accessory_chassis_data''' unit class is used to define the chassis characteristics for the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]] including axle weights, extended shadow parameters, and fluid capacities. It is also used to define chassis characteristics of trailers and AI vehicles. Units of this type are usually defined in '''/def/vehicle/truck/<brand.model>/chassis/*.sii''', '''/def/vehicle/trailer/<trailer_name>/*.sii''', and '''/def/vehicle/ai/<vehicle_name>/chassis.sii. <br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|detail_model<br />
|string<br />
|<br />
|Path to the detailed mesh model descriptor (.pmd). This is used only for vehicles used by player. Additionally they are used in vehicle previews & browser windows.<br />
|-<br />
|model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd). If only a single LOD is used, it should be set up as '''model''', and the other attributes (detail_model, lods) should not be defined.<br />
|-<br />
|lods<br />
|array&lt;string&gt;<br />
|<br />
|Paths to the reduced level-of-detail model descriptors (.pmd), in order of increasing viewing distance (decreasing model complexity).<br />
|-<br />
|collision<br />
|string<br />
|<br />
|Path to the collision descriptor (.pmc).<br />
|-<br />
|trailer_brace_model<br />
|string<br />
|<br />
|''For trailer usage only.'' Path to the animated landing gear model.<br />
|-<br />
|trailer_brace_anim<br />
|string<br />
|<br />
|''For trailer usage only.'' Path to the landing gear animation.<br />
|-<br />
|trailer_brace_up_sound<br />
|string<br />
|<br />
|''For trailer usage only.'' Path to the sound to be played when retracting landing gear. ''Default value changed to blank (no sound) in 1.35.''<br />
|-<br />
|trailer_brace_down_sound<br />
|string<br />
|<br />
|''For trailer usage only.'' Path to the sound to be played when extending landing gear. ''Default value changed to blank (no sound) in 1.35.''<br />
|-<br />
|variant<br />
|token<br />
|<br />
|Variant to be used from '''detail_model''', '''model''', and '''lods'''.<br />
|-<br />
|variant_uk<br />
|token<br />
|<br />
|Variant to be used in countries which drive on the left. If unspecified, defaults to the value of '''variant'''.<br />
|-<br />
|look<br />
|token<br />
|<br />
|Look to be used from '''detail_model''', '''model''', and '''lods'''.<br />
|-<br />
|shadow_texture<br />
|string<br />
|<br />
|Texture to be used for basic shadow.<br />
|-<br />
|shadow_intensity<br />
|float<br />
|1.0<br />
|Relative intensity of basic shadow.<br />
|-<br />
|extended_shadow_texture<br />
|string<br />
|<br />
|Texture to be used for the extended (volumetric) shadow.<br />
|-<br />
|extended_shadow_intensity<br />
|float<br />
|1.0<br />
|Relative intensity of the extended (volumetric) shadow.<br />
|-<br />
|extended_shadow_fadeout_start<br />
|float<br />
|0.0<br />
|Sets the distance in meters from the fakeshadow surface to begin fading the extended shadow.<br />
|-<br />
|extended_shadow_fadeout_length<br />
|float<br />
|1.0<br />
|Sets the length in meters over which to fade out the extended shadow.<br />
|-<br />
|extended_shadow_shared_model_variant<br />
|token<br />
|<br />
|If provided, specified variant of model will be used to draw the shared shadows.<br />
|-<br />
|ui_shadow<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the UI shadow (used for the truck/trailer browser, thumbnail generation, etc).<br />
|-<br />
|tank_size<br />
|float<br />
|0.0<br />
|Fuel tank size in liters.<br />
|-<br />
|adblue_tank_size<br />
|float<br />
|80.0<br />
|AdBlue/DEF tank size in liters.<br />
|-<br />
|air_tank_pressure<br />
|float<br />
|10.0<br />
|Nominal air brake reservoir pressure in bar. ''Added in ETS2 1.27/ATS 1.6.''<br />
|-<br />
|nominal_voltage<br />
|float<br />
|24.0<br />
|Nominal battery voltage. ''Added in 1.36''<br />
|-<br />
|residual_travel<br />
|array&lt;float&gt;<br />
|<br />
|''For trucks and trailers.'' The limit of upwards and downwards travel in meters for each axle. Each array member corresponds to an axle, from front to back (or from back to front in the case of trailers).<br />
|-<br />
|trailer_mass<br />
|float<br />
|7000.0<br />
|''For trailer usage only.'' Sets the unladen mass of the trailer.<br />
|-<br />
|powered_axle<br />
|array&lt;bool&gt;<br />
|<br />
|''For truck usage only.'' When true, motive torque will be applied on the axle. Each array member corresponds to an axle, from front to back.<br />
|-<br />
|kerb_weight<br />
|array&lt;float&gt;<br />
|<br />
|''For truck usage only.'' Assigns the static weight on each axle. Each array member corresponds to an axle, from front to back.<br />
|-<br />
|liftable_axle<br />
|array&lt;bool&gt;<br />
|false<br />
|''For truck and trailers.'' When true, the axle can be lifted. Each array member corresponds to an axle, from front to back (or from back to front in the case of trailers). ''Trailer functionality is added in ETS2 1.27/ATS 1.6.''<br />
|-<br />
|steerable_axle<br />
|array&lt;bool&gt;<br />
|see description<br />
|''For truck and trailers.'' When true, the axle will be steerable. Each array member corresponds to an axle, from front to back (or from back to front in the case of trailers). By default, all wheel_f axles on trucks are ''true'', while all others are ''false''. ''Added in 1.31.''<br />
|-<br />
|weight_distribution<br />
|enum<br />
|semitrailer<br />
|''For trailer usage only.'' Determines how forces are transferred between the trailer and its connected vehicle(s). Possible values are:<br />
*semitrailer (fifth wheel, part of trailer weight transferred)<br />
*trailer (hook, no weight transfer)<br />
*spreader (removes the pitch degree of freedom, typical of a spreader/booster/stinger on a lowboy configuration)<br />
''Added in ATS 1.6.2''<br />
|-<br />
|cog_cargo_mass_min<br />
|float<br />
|0<br />
|Lowest cargo mass at which to offset the center of gravity. ''Added in 1.35.''<br />
|-<br />
|cog_cargo_mass_max<br />
|float<br />
|20000<br />
|Highest cargo mass at which to offset the center of gravity. ''Added in 1.35.''<br />
|-<br />
|cog_cargo_offset_min<br />
|float3<br />
|(0,0,0)<br />
|Distance to offset the center of gravity at '''cog_cargo_mass_min'''. ''Added in 1.35.''<br />
|-<br />
|cog_cargo_offset_max<br />
|float3<br />
|(0,1,0)<br />
|Distance to offset the center of gravity at '''cog_cargo_mass_max'''. ''Added in 1.35.''<br />
|-<br />
|sounds<br />
|array&lt;string&gt;<br />
|<br />
|Each item assigns an FMOD event to a chassis function, using the "''<nowiki>sound_name|sound_path</nowiki>''" [[Games/ETS2/Modding_guides/1.39#Accessories|format]]. ''Added in 1.39''<br />
<br />
Expected sound event names are: air_brake, air_cutoff, reverse, lift_axle, hook_attach, hook_detach, and trailer_cables.<br />
|}</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_cabin_data&diff=4737Documentation/Engine/Units/accessory cabin data2020-10-11T16:38:26Z<p>Smarty: </p>
<hr />
<div>The '''accessory_cabin_data''' unit class configures the models for the cabin of the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]]. Units of this type are found in '''/def/vehicle/truck/&lt;brand.model&gt;/cabin/'''.<br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|detail_model<br />
|string<br />
|<br />
|Path to the detailed mesh model descriptor (.pmd). This is used only for vehicles used by player. Additionally they are used in vehicle previews & browser windows.<br />
|-<br />
|model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd). If only a single LOD is used, it should be set up as '''model''', and the other attributes (detail_model, lods) should not be defined.<br />
|-<br />
|lods<br />
|array&lt;string&gt;<br />
|<br />
|Paths to the reduced level-of-detail model descriptors (.pmd), in order of increasing viewing distance (decreasing model complexity).<br />
|-<br />
|collision<br />
|string<br />
|<br />
|Path to the collision descriptor (.pmc).<br />
|-<br />
|variant<br />
|token<br />
|<br />
|Selects the variant to be used for all models/collisions defined. This is required if the cabin and chassis share a model as is currently the standard practice in ETS2 and ATS. Default value is ''default''.<br />
{{Note|All models defined for this '''accessory_cabin_data''' must have this variant name.}}<br />
|-<br />
|variant_uk<br />
|token<br />
|<br />
|Selects the variant to be used for all models/collisions for right-hand-drive (RHD) vehicles. If unset, defaults to the same value as '''variant'''.<br />
{{Note|All models defined for this '''accessory_cabin_data''' must have this variant name.}}<br />
|-<br />
|look<br />
|token<br />
|<br />
|Selects the look to be used for all models defined. Default value is ''default''.<br />
{{Note|All models defined for this '''accessory_cabin_data''' must have this look name.}}<br />
|-<br />
|wiper_model<br />
|string<br />
|<br />
|Path to the animated wiper model (.pmg)<br />
|-<br />
|wiper_anim<br />
|resource_tie<br />
|<br />
|Path to the wiper animation (.pma)<br />
|-<br />
|wiper_model_uk<br />
|string<br />
|<br />
|Path to the animated wiper model (.pmg) for RHD vehicles. If unset, defaults to the value of '''wiper_model'''.<br />
|-<br />
|wiper_anim_uk<br />
|resource_tie<br />
|<br />
|Path to the wiper animation (.pma) for RHD vehicles. If unset, defaults to the value of '''wiper_anim'''.<br />
|-<br />
|drl_with_headlights<br />
|float<br />
|0.0<br />
|Sets the relative strength of the daytime running lights when the headlights are on. For the DRL to be ''off'' when the headlights are on, a value of 0 is used. If the DRL should stay on and not dim when the headlights are on, a value of 1 is used. An intermediate value will dim the DRL when the headlights are on, and a value greater than 1 will intensify the DRL when the headlights are on. The typical value in ETS2 is 0.4.<br />
<!--<br />
|-<br />
|toll_tag<br />
|string<br />
|<br />
|Currently unused.<br />
--><br />
|-<br />
|suspension<br />
|bool<br />
|true<br />
|When true, physical simulation of cabin air suspension is enabled.<br />
|-<br />
|sounds<br />
|array&lt;string&gt;<br />
|<br />
|Each item assigns an FMOD event to a function, using the "''<nowiki>sound_name|sound_path</nowiki>''" [[Games/ETS2/Modding_guides/1.39#Accessories|format]]. ''Added in 1.39''<br />
<br />
Expected sound event names are: horn, air_horn, aero_noise, rain_noise<br />
|}</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_interior_data&diff=4736Documentation/Engine/Units/accessory interior data2020-10-11T16:37:58Z<p>Smarty: /* Attributes */</p>
<hr />
<div>The '''accessory_interior_data''' unit class is used to define the interior and its animations for the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]]. Units of this type are usually defined in '''/def/vehicle/truck/<brand.model>/interior/*.sii''', making heavy use of [[Documentation/Engine/Units#Includes|includes]] via:<br />
*'''/def/vehicle/truck/<brand.model>/interior/animations.sui''' (animation-related attributes; '''animations_uk.sii''' for RHD vehicles in ETS2)<br />
*'''/def/vehicle/truck/<brand.model>/interior/dashboard_color.sii''' (dashboard_color array attribute)<br />
*'''/def/vehicle/truck/<brand.model>/interior/seat.sui''' (seat adjustment limits; '''seat_uk.sui''' for RHD vehicles in ETS2)<br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the rigid interior model.<br />
|-<br />
|animated_model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the animated interior model.<br />
|-<br />
|collision<br />
|string<br />
|<br />
|Path to the collision descriptor (.pmc). This is used for toy physics.<br />
<!-- Hidden until we have a description<br />
|-<br />
|active_mirrors_part<br />
|token<br />
|<br />
|<br />
|-<br />
|passive_mirrors_part<br />
|token<br />
|<br />
|<br />
--><br />
|-<br />
|variant<br />
|token<br />
|<br />
|Name of the variant to be used for the interior models and collision.<br />
|-<br />
|look<br />
|token<br />
|<br />
|Name of the look to be used for the interior models.<br />
|-<br />
|ext_model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the exterior model (the interior visible from outside cameras).<br />
|-<br />
|ext_variant<br />
|token<br />
|<br />
|Name of the variant to be used on the exterior model.<br />
|-<br />
|ext_look<br />
|token<br />
|<br />
|Name of the look to be used on the exterior model.<br />
|-<br />
|''animation attributes''<br />
|string / float<br />
|<br />
|There are currently nearly 70 [[Documentation/Engine/Truck_Interior_Animations_and_IDs#Interior_Animations|interior animation]] attributes, plus _min and _max attributes for some with adjustable ranges. Interior animations are typically defined externally in '''animations.sui''' and [[Documentation/Engine/Units#Includes|included]] into the interior definition.<br />
|-<br />
|<del>wiper_delay</del><br />
|array&lt;float&gt;<br />
|<br />
|Each member defines a delay in seconds between wipe cycles for intermittent wipers. They should generally be in decreasing order because the last wiper mode is continuous. If empty then only continuous mode is available. ''Removed in 1.35.''<br />
|-<br />
|wiper_duration_and_delay<br />
|array&lt;float2&gt;<br />
|(2.0, 0.0)<br />
|Each member defines the duration of the wipe cycle in seconds, and the delay between wipe cycles in seconds. They should generally be in decreasing order of delay, and decreasing order of speed. ''Added in 1.35.''<br />
|-<br />
|blinker_delay<br />
|float<br />
|0.5<br />
|The length of half of the blinker cycle in seconds. The blinker is on for this length of time, and then off for this length of time, etc. Typically included via '''animations.sui'''.<br />
<!-- Hidden until we have a description<br />
|-<br />
|glass<br />
|string<br />
|<br />
|<br />
--><br />
|-<br />
|dashboard_path<br />
|string<br />
|<br />
|Path to the UI definition for the dashboard display.<br />
|-<br />
|gps_path<br />
|string<br />
|<br />
|Path to the UI definition for the GPS display.<br />
|-<br />
|use_mile_units<br />
|bool<br />
|false<br />
|When true, distances and speeds on the dashboard will use mile units instead of kilometers.<br />
|-<br />
|left_hand_traffic<br />
|bool<br />
|false<br />
|When true, the vehicle uses right-hand drive (UK) conventions.<br />
|-<br />
|backlight_with_lights<br />
|bool<br />
|true<br />
|When false, the dashboard backlight is always on with the ignition. Otherwise, the backlight is activated with the headlights as normal.<br />
|-<br />
|air_brake_safeguard<br />
|bool<br />
|false<br />
|When true, the parking brake is automatically applied when the supply air drops below a certain threshold (typical US behavior).<br />
|-<br />
|panel_intensity_min<br />
|float<br />
|0.01<br />
|The minimum backlight intensity.<br />
|-<br />
|panel_intensity_max<br />
|float<br />
|0.3<br />
|The maximum backlight intensity.<br />
|-<br />
|glass_panes<br />
|array&lt;owner_ptr&gt;<br />
|<br />
|Each member points to the unit name of a [[Documentation/Engine/Units/glass_pane_data|glass_pane_data]] unit.<br />
|-<br />
|dashboard_color<br />
|array&lt;float3&gt;<br />
|<br />
|An array of 16 colors which define the illumination color of dashboard and other dif.lum surfaces in the interior based on the tile they are UV mapped to. Typically included via '''dashboard_color.sui'''.<br />
<!-- Hidden until we have a description<br />
|-<br />
|ui_3d_depth_model<br />
|string<br />
|<br />
|<br />
|-<br />
|ui_3d_depth_model_variant<br />
|token<br />
|<br />
|<br />
--><br />
|-<br />
|seat_left_limit<br />
|float<br />
|&#45;0.15<br />
|Maximum distance the interior camera can be moved left. Typically included via '''seat.sui'''.<br />
|-<br />
|seat_right_limit<br />
|float<br />
|0.15<br />
|Maximum distance the interior camera can be moved right. Typically included via '''seat.sui'''.<br />
|-<br />
|seat_up_limit<br />
|float<br />
|0.15<br />
|Maximum distance the interior camera can be moved up. Typically included via '''seat.sui'''.<br />
|-<br />
|seat_down_limit<br />
|float<br />
|&#45;0.15<br />
|Maximum distance the interior camera can be moved down. Typically included via '''seat.sui'''.<br />
|-<br />
|seat_front_limit<br />
|float<br />
|&#45;0.1<br />
|Maximum distance the interior camera can be moved forward. Typically included via '''seat.sui'''.<br />
|-<br />
|seat_back_limit<br />
|float<br />
|0.2<br />
|Maximum distance the interior camera can be moved backward. Typically included via '''seat.sui'''.<br />
<!-- Hidden until we have a description<br />
|-<br />
|reflection_offset<br />
|float3<br />
|<br />
|<br />
--><br />
|-<br />
|sounds<br />
|array&lt;string&gt;<br />
|<br />
|Each item assigns an FMOD event to a function, using the "''<nowiki>sound_name|sound_path</nowiki>''" [[Games/ETS2/Modding_guides/1.39#Accessories|format]]. ''Added in 1.39''<br />
<br />
Expected sound event names are: air_warning, blinker_off, blinker_on, noise, stick_blinker, stick_blinker_off, stick_engine_brake, stick_hazard_warning, stick_high_beam, stick_light_horn, stick_lights, stick_park_brake, stick_park_brake_off, stick_retarder, stick_wipers, weigh_green, weigh_red, window_click, window_move, wipers_down, wipers_up<br />
|}<br />
<br />
==Glass Panes and Wipers==<br />
Related units, '''glass_pane_data''' and '''wiper_data''' are defined within the same <code>SiiNunit</code> scope as accessory_interior_data, included via '''/def/vehicle/truck/<brand.model>/interior/glass.sui''' (or '''glass.dat''' in some legacy cases):<br />
*[[Documentation/Engine/Units/glass_pane_data|glass_pane_data]] (Used to define surfaces for raindrop accumulation and wiper simulation)<br />
*[[Documentation/Engine/Units/wiper_data|wiper_data]] (Used to define wipers that wipe drops from glass panes)<br />
<br />
For example:<br />
<syntaxhighlight lang="cpp">SiiNunit<br />
{ // start of SiiNunit global scope<br />
<br />
accessory_interior_data : something.brand.truck.interior<br />
{ // start of accessory_interior_data unit<br />
<br />
// various attributes belonging to accessory_interior_data<br />
<br />
// each member refers to a unit included via glass.sui<br />
glass_panes[]: .brand.truck.pane.front<br />
glass_panes[]: .brand.truck.pane.close<br />
glass_panes[]: .brand.truck.pane.far<br />
// etc...<br />
<br />
} // end of accessory_interior_data scope<br />
<br />
@include "glass.sui" // file containing glass_pane_data and wiper_data units<br />
<br />
} // end of SiiNunit global scope<br />
</syntaxhighlight></div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_engine_data&diff=4735Documentation/Engine/Units/accessory engine data2020-10-11T16:36:57Z<p>Smarty: /* Attributes */</p>
<hr />
<div>The '''accessory_engine_data''' unit 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/<brand.model>/engine/*.sii'''<br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|info<br />
|array&lt;string&gt;<br />
|<br />
|This member is attribute of accessory data, however three '''info''' members are usually defined for '''accessory_engine_data'''.<br />
<syntaxhighlight lang="cpp"><br />
info[]: "197 @@hp@@ (147@@kw@@)" // The first is the rated power<br />
info[]: "550 @@lb_ft@@ (782 @@nm@@)" // The second is the peak torque<br />
info[]: "1@@dg@@200 @@rpm@@" // The third is the peak torque speed<br />
</syntaxhighlight><br />
{{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.}}<br />
{{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.}}<br />
|-<br />
|torque<br />
|float<br />
|0.0<br />
|This defines the maximum torque output of the engine in N&middot;m.<br />
|-<br />
|secondary_torque<br />
|float<br />
|0.0<br />
|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)''<br />
|-<br />
|secondary_torque_gear_ratio<br />
|float<br />
|1.0<br />
|This defines the transmission gear ratio below which '''secondary_torque''' is used on multi-torque engines. ''(Added in 1.30)''<br />
|-<br />
|torque_curve<br />
|array&lt;float2&gt;<br />
|''See description''<br />
|This defines the torque output of the engine at various engine speeds, relative to the maximum torque defined in '''torque'''. If unset, the default curve is used:<br />
<syntaxhighlight lang="cpp"><br />
torque_curve[]: (300, 0)<br />
torque_curve[]: (440, 0.5)<br />
torque_curve[]: (1000, 1)<br />
torque_curve[]: (1300, 1)<br />
torque_curve[]: (1900, 0.77)<br />
torque_curve[]: (2400, 0.4)<br />
torque_curve[]: (2600, 0)<br />
</syntaxhighlight><br />
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.<br />
|-<br />
|secondary_torque_curve<br />
|array&lt;float2&gt;<br />
|''See description''<br />
|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)''<br />
|-<br />
|resistance_torque<br />
|float<br />
| -1<br />
|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)''<br />
{{Note|When unset, or when set to any negative value, resistance_torque is calculated as (''volume'' &times; 20.0).}}<br />
|-<br />
|rpm_idle<br />
|float<br />
|550<br />
|This is the engine speed the virtual engine controller will attempt to maintain with no throttle input. Valid range is 500-850 rpm.<br />
|-<br />
|rpm_limit<br />
|float<br />
|2500<br />
|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).<br />
|-<br />
|rpm_limit_neutral<br />
|float<br />
|2500<br />
|This is the maximum engine speed the virtual engine controller will allow if the transmission is in neutral &ndash; unless '''rpm_limit''' is lower, in which case it is clamped.<br />
|-<br />
|rpm_range_low_gear<br />
|float2<br />
|(700, 1500)<br />
|Defines the downshift and upshift engine speeds in low-range gears (automatic transmission).<br />
|-<br />
|rpm_range_high_gear<br />
|float2<br />
|(1000, 1350)<br />
|Defines the downshift and upshift engine speeds in high-range gears - typically peek torque range (automatic transmission). ''(Tweaked in 1.38)''<br />
|-<br />
|rpm_range_power<br />
|float2<br />
|(1400, 1900)<br />
|Defines the rough rpm range if more power is requested - used either in hills or for adaptive shifting, especially power mode (automatic transmission). ''(Added in 1.37, tweaked in 1.38)''<br />
|-<br />
|''rpm_range_power_boost''<br />
|float2<br />
|(550, 450)<br />
|''(Obsolete in 1.37)''<br />
Defines the rough rpm range ''change'' to '''rpm_range_low_gear''' and '''rpm_range_high_gear''' if more power is requested - used either in hills or for adaptive shifting, especially power mode. (Automatic transmission).<br />
{{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 mode.}}<br />
|-<br />
|rpm_range_engine_brake<br />
|float2<br />
|(1500, 2500)<br />
|Defines the downshift and upshift engine speeds while the engine brake is operating. (Automatic transmission)<br />
|-<br />
|engine_brake<br />
|float<br />
|1.0<br />
|Engine braking torque relative to a typical exhaust brake on an engine of the same '''volume'''.<br />
|-<br />
|engine_brake_downshift<br />
|bool<br />
|true<br />
|When true, automatic transmissions will downshift upon beginning engine brake behavior, to keep rpm within '''rpm_range_engine_brake'''. When false, the regular rpm are kept.<br />
|-<br />
|engine_brake_positions<br />
|uint<br />
|3<br />
|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> of the full strength, the second position will have <sup>2</sup>&frasl;<sub>3</sub> of the full strength, and the highest position will have the full strength.<br />
|-<br />
|volume<br />
|float<br />
|0.0<br />
|The volumetric displacement of the engine in liters. It is used in base fuel consumption calculation, engine mass & inertia calculations, and also default '''resistance_torque''' calculations.<br />
|-<br />
|consumption_coef<br />
|float<br />
|1.0<br />
|This is used to scale the fuel consumption of the engine relative to the game's calculated value.<br />
|-<br />
|adblue_consumption<br />
|float<br />
|0.05<br />
|This is how many liters of AdBlue (Diesel Exhaust Fluid) are consumed per liter of fuel.<br />
{{Tip|For older engines which do not use AdBlue, this attribute should be set to 0.}}<br />
|-<br />
|no_adblue_power_limit<br />
|float<br />
|1.0<br />
|When the AdBlue tank is empty, the engine's power is scaled by this factor.<br />
|-<br />
|sound<br />
|string<br />
|<br />
|Path to the truck [[Documentation/Engine/Sound/TruckEngine|engine sound bank.]] (format like "/sound/truck/engine.bank")<br />
{{Note|The default engine bank has been removed (1.38+). You must explicitly specify a bank from one of the base game vehicles, or specify your own bank.}}<br />
|-<br />
|sounds<br />
|array&lt;string&gt;<br />
|<br />
|Each item assigns an FMOD event to an engine function, using the "''<nowiki>sound_name|sound_path</nowiki>''" [[Games/ETS2/Modding_guides/1.39#Accessories|format]]. ''Added in 1.39''<br />
<br />
Expected sound event names are: engine, exhaust, start_bad, and turbo.<br />
|}<br />
<br />
== Relevant Unit Conversions and Formulas ==<br />
=== Cubic Inches to Liters ===<br />
1 cu&middot;in = 0.0164 L<br />
=== Pound-Feet to Newton-Meters ===<br />
1 lb<sub>f</sub>&middot;ft = 1.3558 N&middot;m<br />
=== Horsepower to Kilowatts ===<br />
1 hp = 0.7457 kW<br />
=== Torque from Power and Speed (Metric Units) ===<br />
T [N&middot;m] = ( P [kW] &times; 9549 ) &divide; N [RPM]<br />
=== Torque from Power and Speed (English Units) ===<br />
T [lb<sub>f</sub>&middot;ft] = ( P [hp] &times; 5252 ) &divide; N [RPM]</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Sound&diff=4732Documentation/Engine/Sound2020-10-11T03:43:43Z<p>Smarty: /* Master Bank */ grammar</p>
<hr />
<div>__TOC__<br />
<br />
<br />
{{Note|'''The sound system and current pages are in 'work in progress' state. We will continuously update content of the site and the audio data structures.'''}}<br />
<br />
== FMOD® ==<br />
<br />
The FMOD® system is now (from 1.37 version) used as a core sound engine in the game.<br><br />
The FMOD® Studio 2.00.07 version is currently in use.<br />
<br />
''See FMOD documentation ([http://www.fmod.com www.fmod.com]) to better understand of the sound system.''<br />
<br />
== Sound and Sound Bank(s) ==<br />
<br />
Each sound is represented by the sound '''Event'''. An Event is an instanceable sound unit of the FMOD Studio project. All sounds/events are provided by sound banks. The final sound banks are builded by FMOD Studio.<br><br />
<br />
FMOD Studio builds the "[bank name].bank" file for each bank in the sound project. It is collection of the Events and Parameters used for the sound playing in the game.<br />
<br />
== Master Bank ==<br />
<br />
Master Bank is primary sound bank of the sound system. There are no Events in the bank.<br />
<br />
'''The Master Bank defines:'''<br />
<br />
* The sound buses<br>Events in FMOD Studio do not exist in a vacuum. Their output is routed into the project mixer. The Events have to be routed to one of the buses registered in the Master Bank. Users can set the sound volume and mute state in the application settings for each bus which is used as a routing target for sound events.<br />
* Mixer and Routing<br>The project mixer consists of a number of interconnected buses. Connection between the audio buses describe the sound event flow through the sound system.<br />
* Global Parameters<br>An event contains and is primarily composed of tracks and parameters. Some parameters are defined in the master. This parameters are global and can be used for Automation and Modulation of events across all banks.<br />
<br />
The Master Bank is a fundamental building block of the sound system so: '''Never change the Master Bank!'''<br />
<br />
Only if you absolutely sure what you are doing and you are rewriting all the sounds of the game you can change it.<br />
<br />
== Sound definition ==<br />
<br />
A common sound in game is the '''Event''' in the FMOD Studio project. Each object (bank, bus, event, parameter, etc.) used by FMOD system has unique identifier - '''GUID'''.<br><br />
(''GUID is something like this: {1315eda7-1829-4dd8-9d1a-176f65637ab2}'')<br />
<br />
The sound system use GUIDs internally for the processing objects. It's very important. If you delete object in the sound project (bus, event, etc.) and create new object even with the same name it will be different object because the object has a different GUID.<br />
<br />
FMOD Studio exports GUIDs to the txt file.<br />
# Use FMOD Studio menu command: File / Export GUIDs...<br />
# There is new file GUIDS.txt in the "build" subfolder of the project main folder.<br />
# The file has to be renamed to "[bank filename].guids" and has to be placed next to "bank" file. It's a "dictionary" between names of the objects in the bank and their GUIDs.<br />
<br />
The game uses two ways to define usage of sound object:<br />
# Direct 'sound id':<br>"Sound id" is string in format "[bank filename]#[event name]". Where [bank filename] is file of the bank relative to the game "base" folder and [event name] is name of the event in the FMOD Studio project.<br>Example: ''"/sound/ui/ui.bank#click"''<br />
# Sound reference file:<br>Sound reference file is used as link for the sound specification. It uses simple path to the soundref file (e.g. ''"/sound/ui/ui_click.soundref"''). Soundref file is text file (with UTF-8 encoding) and contents 'sound id' on the separate line with following format: source="[bank filename]#[event name]".<br>Example of content of the file ''"ui_click.soundref": source="/sound/ui/ui.bank#click"''<br />
<br />
== Sound documentation ==<br />
<br />
* [[Documentation/Engine/Sound/Mixer|Audio buses, routing and mixer]]<br />
* (WIP) Global parameters<br />
* [[Documentation/Engine/Sound/TruckEngine|Sounds - Truck Engine]]<br />
* (WIP) Sounds - Truck Retarder<br />
* (WIP) Sounds - Truck Effects<br />
* (WIP) Sounds - Truck Noise<br />
* (WIP) Sounds - Truck Interior<br />
* (WIP) Sounds - Tires<br />
* (WIP) Sounds - Collisions<br />
* (WIP) Sounds - Traffic<br />
* (WIP) Sounds - World<br />
* (WIP) Sounds - Game UI and Music<br />
* [[Documentation/Engine/Sound/Modding|Modding sounds]]<br />
* [[Documentation/Engine/Sound/Downloads|Downloads (templates, samples)]]</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_engine_data&diff=4731Documentation/Engine/Units/accessory engine data2020-10-11T02:59:27Z<p>Smarty: </p>
<hr />
<div>The '''accessory_engine_data''' unit 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/<brand.model>/engine/*.sii'''<br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|info<br />
|array&lt;string&gt;<br />
|<br />
|This member is attribute of accessory data, however three '''info''' members are usually defined for '''accessory_engine_data'''.<br />
<syntaxhighlight lang="cpp"><br />
info[]: "197 @@hp@@ (147@@kw@@)" // The first is the rated power<br />
info[]: "550 @@lb_ft@@ (782 @@nm@@)" // The second is the peak torque<br />
info[]: "1@@dg@@200 @@rpm@@" // The third is the peak torque speed<br />
</syntaxhighlight><br />
{{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.}}<br />
{{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.}}<br />
|-<br />
|torque<br />
|float<br />
|0.0<br />
|This defines the maximum torque output of the engine in N&middot;m.<br />
|-<br />
|secondary_torque<br />
|float<br />
|0.0<br />
|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)''<br />
|-<br />
|secondary_torque_gear_ratio<br />
|float<br />
|1.0<br />
|This defines the transmission gear ratio below which '''secondary_torque''' is used on multi-torque engines. ''(Added in 1.30)''<br />
|-<br />
|torque_curve<br />
|array&lt;float2&gt;<br />
|''See description''<br />
|This defines the torque output of the engine at various engine speeds, relative to the maximum torque defined in '''torque'''. If unset, the default curve is used:<br />
<syntaxhighlight lang="cpp"><br />
torque_curve[]: (300, 0)<br />
torque_curve[]: (440, 0.5)<br />
torque_curve[]: (1000, 1)<br />
torque_curve[]: (1300, 1)<br />
torque_curve[]: (1900, 0.77)<br />
torque_curve[]: (2400, 0.4)<br />
torque_curve[]: (2600, 0)<br />
</syntaxhighlight><br />
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.<br />
|-<br />
|secondary_torque_curve<br />
|array&lt;float2&gt;<br />
|''See description''<br />
|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)''<br />
|-<br />
|resistance_torque<br />
|float<br />
| -1<br />
|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)''<br />
{{Note|When unset, or when set to any negative value, resistance_torque is calculated as (''volume'' &times; 20.0).}}<br />
|-<br />
|rpm_idle<br />
|float<br />
|550<br />
|This is the engine speed the virtual engine controller will attempt to maintain with no throttle input. Valid range is 500-850 rpm.<br />
|-<br />
|rpm_limit<br />
|float<br />
|2500<br />
|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).<br />
|-<br />
|rpm_limit_neutral<br />
|float<br />
|2500<br />
|This is the maximum engine speed the virtual engine controller will allow if the transmission is in neutral &ndash; unless '''rpm_limit''' is lower, in which case it is clamped.<br />
|-<br />
|rpm_range_low_gear<br />
|float2<br />
|(700, 1500)<br />
|Defines the downshift and upshift engine speeds in low-range gears (automatic transmission).<br />
|-<br />
|rpm_range_high_gear<br />
|float2<br />
|(1000, 1350)<br />
|Defines the downshift and upshift engine speeds in high-range gears - typically peek torque range (automatic transmission). ''(Tweaked in 1.38)''<br />
|-<br />
|rpm_range_power<br />
|float2<br />
|(1400, 1900)<br />
|Defines the rough rpm range if more power is requested - used either in hills or for adaptive shifting, especially power mode (automatic transmission). ''(Added in 1.37, tweaked in 1.38)''<br />
|-<br />
|''rpm_range_power_boost''<br />
|float2<br />
|(550, 450)<br />
|''(Obsolete in 1.37)''<br />
Defines the rough rpm range ''change'' to '''rpm_range_low_gear''' and '''rpm_range_high_gear''' if more power is requested - used either in hills or for adaptive shifting, especially power mode. (Automatic transmission).<br />
{{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 mode.}}<br />
|-<br />
|rpm_range_engine_brake<br />
|float2<br />
|(1500, 2500)<br />
|Defines the downshift and upshift engine speeds while the engine brake is operating. (Automatic transmission)<br />
|-<br />
|engine_brake<br />
|float<br />
|1.0<br />
|Engine braking torque relative to a typical exhaust brake on an engine of the same '''volume'''.<br />
|-<br />
|engine_brake_downshift<br />
|bool<br />
|true<br />
|When true, automatic transmissions will downshift upon beginning engine brake behavior, to keep rpm within '''rpm_range_engine_brake'''. When false, the regular rpm are kept.<br />
|-<br />
|engine_brake_positions<br />
|uint<br />
|3<br />
|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> of the full strength, the second position will have <sup>2</sup>&frasl;<sub>3</sub> of the full strength, and the highest position will have the full strength.<br />
|-<br />
|volume<br />
|float<br />
|0.0<br />
|The volumetric displacement of the engine in liters. It is used in base fuel consumption calculation, engine mass & inertia calculations, and also default '''resistance_torque''' calculations.<br />
|-<br />
|consumption_coef<br />
|float<br />
|1.0<br />
|This is used to scale the fuel consumption of the engine relative to the game's calculated value.<br />
|-<br />
|adblue_consumption<br />
|float<br />
|0.05<br />
|This is how many liters of AdBlue (Diesel Exhaust Fluid) are consumed per liter of fuel.<br />
{{Tip|For older engines which do not use AdBlue, this attribute should be set to 0.}}<br />
|-<br />
|no_adblue_power_limit<br />
|float<br />
|1.0<br />
|When the AdBlue tank is empty, the engine's power is scaled by this factor.<br />
|-<br />
|sound<br />
|string<br />
|<br />
|Path to the truck [[Documentation/Engine/Sound/TruckEngine|engine sound bank.]] (format like "/sound/truck/engine.bank")<br />
{{Note|The default engine bank has been removed (1.38+). You must explicitly specify a bank from one of the base game vehicles, or specify your own bank.}}<br />
|-<br />
|sounds<br />
|array&lt;string&gt;<br />
|<br />
|Each member assigns an FMOD event to an engine function, using the "''<nowiki>sound_name|sound_path</nowiki>''" [[Games/ETS2/Modding_guides/1.39#Accessories|format]]. ''Added in 1.39''<br />
<br />
Expected event names are: engine, exhaust, start_bad, and turbo.<br />
|}<br />
<br />
== Relevant Unit Conversions and Formulas ==<br />
=== Cubic Inches to Liters ===<br />
1 cu&middot;in = 0.0164 L<br />
=== Pound-Feet to Newton-Meters ===<br />
1 lb<sub>f</sub>&middot;ft = 1.3558 N&middot;m<br />
=== Horsepower to Kilowatts ===<br />
1 hp = 0.7457 kW<br />
=== Torque from Power and Speed (Metric Units) ===<br />
T [N&middot;m] = ( P [kW] &times; 9549 ) &divide; N [RPM]<br />
=== Torque from Power and Speed (English Units) ===<br />
T [lb<sub>f</sub>&middot;ft] = ( P [hp] &times; 5252 ) &divide; N [RPM]</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_transmission_data&diff=4730Documentation/Engine/Units/accessory transmission data2020-10-11T02:26:35Z<p>Smarty: </p>
<hr />
<div>The '''accessory_transmission_data''' unit class is used to define the transmission characteristics for the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]], as well as the differential ratio. Units of this type are usually defined in '''/def/vehicle/truck/<brand.model>/transmission/*.sii''' and valid unit names end in <code>.transmission</code>.<br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|stall_torque_ratio<br />
|float<br />
|&#45;1.0<br />
|Torque ratio multiplier if torque converter/multiplier is present. Any positive value is used as multiplier on lower RPM torque.<br />
|-<br />
|differential_ratio<br />
|float<br />
|1.0<br />
|This defines the differential/final drive ratio between the transmission output shaft and the wheels.<br />
|-<br />
|retarder<br />
|uint<br />
|0<br />
|The number of output levels for the retarder if applicable. If zero, retarder behavior is disabled for the transmission.<br />
|-<br />
|auxiliary_brakes<br />
|array&lt;float3&gt;<br />
|<br />
|When set, this overrides the retarder control so that it controls both the retarder and engine brake. The components are (retarder strength, engine brake strength, forced downshift). The value of retarder must match the number of members in auxiliary_brakes. (''Added in 1.28'') For example:<br />
<pre> retarder: 5<br />
auxiliary_brakes[]: (0.3, 0, 0) // 30% retarder only<br />
auxiliary_brakes[]: (0.6, 0, 0) // 60% retarder only<br />
auxiliary_brakes[]: (1.0, 0, 0) // 100% retarder only<br />
auxiliary_brakes[]: (1.0, 1, 0) // 100% retarder and 100% engine brake<br />
auxiliary_brakes[]: (1.0, 1, 1) // 100% retarder, 100% engine brake and downshift</pre><br />
|-<br />
|ratios_reverse<br />
|array&lt;float&gt;<br />
|<br />
|This defines the reverse gear ratios in order of decreasing gear reduction. The values should be negative. Example:<br />
<pre> ratios_reverse[0]: -11.002<br />
ratios_reverse[1]: -8.875</pre><br />
|-<br />
|ratios_forward<br />
|array&lt;float&gt;<br />
|<br />
|This defines the forward gear ratios in order of decreasing gear reduction. The values should be positive. Example:<br />
<pre> ratios_forward[0]: 11.32<br />
ratios_forward[1]: 9.132<br />
ratios_forward[2]: 7.207<br />
...etc...</pre><br />
|-<br />
|transmission_names<br />
|owner_ptr<br />
|<br />
|Points to a unit of the type [[Documentation/Engine/Units/transmission_names|transmission_names]], usually nameless and within the same unit definition file or [[Documentation/Engine/Units#Includes|included]] from a Serialized Unit Include (.sui) type file. This is used to assign custom names to each gear in automatic and sequential modes (these are overridden by h-shifter pattern definitions).<br />
|-<br />
|auto_mode_name<br />
|string<br />
|A<br />
|Prefix for gear number in dashboard display (element id 1310) during automatic transmission mode. ''(Added in 1.35)''<br />
|-<br />
|manual_mode_name<br />
|string<br />
|M<br />
|Prefix for gear number in dashboard display (element id 1310) during manual transmission mode. ''(Added in 1.35)''<br />
|-<br />
|crawls<br />
|uint<br />
|0<br />
|The number of ratios_forward to handle as crawler gears for UI display. ''(Added in ETS2 [[Games/ETS2/Modding_guides/1.27.2#Transmission_Data|1.27.2]])''<br />
|-<br />
|shift_time<br />
|float<br />
|1.0<br />
|The time, in seconds, it takes to shift gears in automatic shifting. ''(Added in 1.31)''<br />
|-<br />
|sounds<br />
|array&lt;string&gt;<br />
|<br />
|Each member assigns an FMOD event to a function, using the "''<nowiki>sound_name|sound_path</nowiki>''" [[Games/ETS2/Modding_guides/1.39#Accessories|format]]. ''(Added in 1.39)''<br />
<br />
Expected event names are: air_gear_noise, retarder, gear_grind, gear_wrong<br />
|}</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_interior_data&diff=4722Documentation/Engine/Units/accessory interior data2020-10-10T01:06:50Z<p>Smarty: </p>
<hr />
<div>The '''accessory_interior_data''' unit class is used to define the interior and its animations for the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]]. Units of this type are usually defined in '''/def/vehicle/truck/<brand.model>/interior/*.sii''', making heavy use of [[Documentation/Engine/Units#Includes|includes]] via:<br />
*'''/def/vehicle/truck/<brand.model>/interior/animations.sui''' (animation-related attributes; '''animations_uk.sii''' for RHD vehicles in ETS2)<br />
*'''/def/vehicle/truck/<brand.model>/interior/dashboard_color.sii''' (dashboard_color array attribute)<br />
*'''/def/vehicle/truck/<brand.model>/interior/seat.sui''' (seat adjustment limits; '''seat_uk.sui''' for RHD vehicles in ETS2)<br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the rigid interior model.<br />
|-<br />
|animated_model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the animated interior model.<br />
|-<br />
|collision<br />
|string<br />
|<br />
|Path to the collision descriptor (.pmc). This is used for toy physics.<br />
<!-- Hidden until we have a description<br />
|-<br />
|active_mirrors_part<br />
|token<br />
|<br />
|<br />
|-<br />
|passive_mirrors_part<br />
|token<br />
|<br />
|<br />
--><br />
|-<br />
|variant<br />
|token<br />
|<br />
|Name of the variant to be used for the interior models and collision.<br />
|-<br />
|look<br />
|token<br />
|<br />
|Name of the look to be used for the interior models.<br />
|-<br />
|ext_model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the exterior model (the interior visible from outside cameras).<br />
|-<br />
|ext_variant<br />
|token<br />
|<br />
|Name of the variant to be used on the exterior model.<br />
|-<br />
|ext_look<br />
|token<br />
|<br />
|Name of the look to be used on the exterior model.<br />
|-<br />
|''animation attributes''<br />
|string / float<br />
|<br />
|There are currently nearly 70 [[Documentation/Engine/Truck_Interior_Animations_and_IDs#Interior_Animations|interior animation]] attributes, plus _min and _max attributes for some with adjustable ranges. Interior animations are typically defined externally in '''animations.sui''' and [[Documentation/Engine/Units#Includes|included]] into the interior definition.<br />
|-<br />
|<del>wiper_delay</del><br />
|array&lt;float&gt;<br />
|<br />
|Each member defines a delay in seconds between wipe cycles for intermittent wipers. They should generally be in decreasing order because the last wiper mode is continuous. If empty then only continuous mode is available. ''Removed in 1.35.''<br />
|-<br />
|wiper_duration_and_delay<br />
|array&lt;float2&gt;<br />
|(2.0, 0.0)<br />
|Each member defines the duration of the wipe cycle in seconds, and the delay between wipe cycles in seconds. They should generally be in decreasing order of delay, and decreasing order of speed. ''Added in 1.35.''<br />
|-<br />
|blinker_delay<br />
|float<br />
|0.5<br />
|The length of half of the blinker cycle in seconds. The blinker is on for this length of time, and then off for this length of time, etc. Typically included via '''animations.sui'''.<br />
<!-- Hidden until we have a description<br />
|-<br />
|glass<br />
|string<br />
|<br />
|<br />
--><br />
|-<br />
|dashboard_path<br />
|string<br />
|<br />
|Path to the UI definition for the dashboard display.<br />
|-<br />
|gps_path<br />
|string<br />
|<br />
|Path to the UI definition for the GPS display.<br />
|-<br />
|use_mile_units<br />
|bool<br />
|false<br />
|When true, distances and speeds on the dashboard will use mile units instead of kilometers.<br />
|-<br />
|left_hand_traffic<br />
|bool<br />
|false<br />
|When true, the vehicle uses right-hand drive (UK) conventions.<br />
|-<br />
|backlight_with_lights<br />
|bool<br />
|true<br />
|When false, the dashboard backlight is always on with the ignition. Otherwise, the backlight is activated with the headlights as normal.<br />
|-<br />
|air_brake_safeguard<br />
|bool<br />
|false<br />
|When true, the parking brake is automatically applied when the supply air drops below a certain threshold (typical US behavior).<br />
|-<br />
|panel_intensity_min<br />
|float<br />
|0.01<br />
|The minimum backlight intensity.<br />
|-<br />
|panel_intensity_max<br />
|float<br />
|0.3<br />
|The maximum backlight intensity.<br />
|-<br />
|glass_panes<br />
|array&lt;owner_ptr&gt;<br />
|<br />
|Each member points to the unit name of a [[Documentation/Engine/Units/glass_pane_data|glass_pane_data]] unit.<br />
|-<br />
|dashboard_color<br />
|array&lt;float3&gt;<br />
|<br />
|An array of 16 colors which define the illumination color of dashboard and other dif.lum surfaces in the interior based on the tile they are UV mapped to. Typically included via '''dashboard_color.sui'''.<br />
<!-- Hidden until we have a description<br />
|-<br />
|ui_3d_depth_model<br />
|string<br />
|<br />
|<br />
|-<br />
|ui_3d_depth_model_variant<br />
|token<br />
|<br />
|<br />
--><br />
|-<br />
|seat_left_limit<br />
|float<br />
|&#45;0.15<br />
|Maximum distance the interior camera can be moved left. Typically included via '''seat.sui'''.<br />
|-<br />
|seat_right_limit<br />
|float<br />
|0.15<br />
|Maximum distance the interior camera can be moved right. Typically included via '''seat.sui'''.<br />
|-<br />
|seat_up_limit<br />
|float<br />
|0.15<br />
|Maximum distance the interior camera can be moved up. Typically included via '''seat.sui'''.<br />
|-<br />
|seat_down_limit<br />
|float<br />
|&#45;0.15<br />
|Maximum distance the interior camera can be moved down. Typically included via '''seat.sui'''.<br />
|-<br />
|seat_front_limit<br />
|float<br />
|&#45;0.1<br />
|Maximum distance the interior camera can be moved forward. Typically included via '''seat.sui'''.<br />
|-<br />
|seat_back_limit<br />
|float<br />
|0.2<br />
|Maximum distance the interior camera can be moved backward. Typically included via '''seat.sui'''.<br />
<!-- Hidden until we have a description<br />
|-<br />
|reflection_offset<br />
|float3<br />
|<br />
|<br />
--><br />
|-<br />
|sounds<br />
|array&lt;string&gt;<br />
|<br />
|Each member assigns an FMOD event to a function, using the "''<nowiki>sound_name|sound_path</nowiki>''" [[Games/ETS2/Modding_guides/1.39#Accessories|format]]. ''Added in 1.39''<br />
<br />
Expected event names are: air_warning, blinker_off, blinker_on, noise, stick_blinker, stick_blinker_off, stick_engine_brake, stick_hazard_warning, stick_high_beam, stick_light_horn, stick_lights, stick_park_brake, stick_park_brake_off, stick_retarder, stick_wipers, weigh_green, weigh_red, window_click, window_move, wipers_down, wipers_up<br />
|}<br />
<br />
==Glass Panes and Wipers==<br />
Related units, '''glass_pane_data''' and '''wiper_data''' are defined within the same <code>SiiNunit</code> scope as accessory_interior_data, included via '''/def/vehicle/truck/<brand.model>/interior/glass.sui''' (or '''glass.dat''' in some legacy cases):<br />
*[[Documentation/Engine/Units/glass_pane_data|glass_pane_data]] (Used to define surfaces for raindrop accumulation and wiper simulation)<br />
*[[Documentation/Engine/Units/wiper_data|wiper_data]] (Used to define wipers that wipe drops from glass panes)<br />
<br />
For example:<br />
<syntaxhighlight lang="cpp">SiiNunit<br />
{ // start of SiiNunit global scope<br />
<br />
accessory_interior_data : something.brand.truck.interior<br />
{ // start of accessory_interior_data unit<br />
<br />
// various attributes belonging to accessory_interior_data<br />
<br />
// each member refers to a unit included via glass.sui<br />
glass_panes[]: .brand.truck.pane.front<br />
glass_panes[]: .brand.truck.pane.close<br />
glass_panes[]: .brand.truck.pane.far<br />
// etc...<br />
<br />
} // end of accessory_interior_data scope<br />
<br />
@include "glass.sui" // file containing glass_pane_data and wiper_data units<br />
<br />
} // end of SiiNunit global scope<br />
</syntaxhighlight></div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_cabin_data&diff=4721Documentation/Engine/Units/accessory cabin data2020-10-10T01:02:18Z<p>Smarty: /* Attributes */</p>
<hr />
<div>The '''accessory_cabin_data''' unit class configures the models for the cabin of the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]]. Units of this type are found in '''/def/vehicle/truck/&lt;brand.model&gt;/cabin/'''.<br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|detail_model<br />
|string<br />
|<br />
|Path to the detailed mesh model descriptor (.pmd). This is used only for vehicles used by player. Additionally they are used in vehicle previews & browser windows.<br />
|-<br />
|model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd). If only a single LOD is used, it should be set up as '''model''', and the other attributes (detail_model, lods) should not be defined.<br />
|-<br />
|lods<br />
|array&lt;string&gt;<br />
|<br />
|Paths to the reduced level-of-detail model descriptors (.pmd), in order of increasing viewing distance (decreasing model complexity).<br />
|-<br />
|collision<br />
|string<br />
|<br />
|Path to the collision descriptor (.pmc).<br />
|-<br />
|variant<br />
|token<br />
|<br />
|Selects the variant to be used for all models/collisions defined. This is required if the cabin and chassis share a model as is currently the standard practice in ETS2 and ATS. Default value is ''default''.<br />
{{Note|All models defined for this '''accessory_cabin_data''' must have this variant name.}}<br />
|-<br />
|variant_uk<br />
|token<br />
|<br />
|Selects the variant to be used for all models/collisions for right-hand-drive (RHD) vehicles. If unset, defaults to the same value as '''variant'''.<br />
{{Note|All models defined for this '''accessory_cabin_data''' must have this variant name.}}<br />
|-<br />
|look<br />
|token<br />
|<br />
|Selects the look to be used for all models defined. Default value is ''default''.<br />
{{Note|All models defined for this '''accessory_cabin_data''' must have this look name.}}<br />
|-<br />
|wiper_model<br />
|string<br />
|<br />
|Path to the animated wiper model (.pmg)<br />
|-<br />
|wiper_anim<br />
|resource_tie<br />
|<br />
|Path to the wiper animation (.pma)<br />
|-<br />
|wiper_model_uk<br />
|string<br />
|<br />
|Path to the animated wiper model (.pmg) for RHD vehicles. If unset, defaults to the value of '''wiper_model'''.<br />
|-<br />
|wiper_anim_uk<br />
|resource_tie<br />
|<br />
|Path to the wiper animation (.pma) for RHD vehicles. If unset, defaults to the value of '''wiper_anim'''.<br />
|-<br />
|drl_with_headlights<br />
|float<br />
|0.0<br />
|Sets the relative strength of the daytime running lights when the headlights are on. For the DRL to be ''off'' when the headlights are on, a value of 0 is used. If the DRL should stay on and not dim when the headlights are on, a value of 1 is used. An intermediate value will dim the DRL when the headlights are on, and a value greater than 1 will intensify the DRL when the headlights are on. The typical value in ETS2 is 0.4.<br />
<!--<br />
|-<br />
|toll_tag<br />
|string<br />
|<br />
|Currently unused.<br />
--><br />
|-<br />
|suspension<br />
|bool<br />
|true<br />
|When true, physical simulation of cabin air suspension is enabled.<br />
|-<br />
|sounds<br />
|array&lt;string&gt;<br />
|<br />
|Each member assigns an FMOD event to a function, using the "''<nowiki>sound_name|sound_path</nowiki>''" [[Games/ETS2/Modding_guides/1.39#Accessories|format]]. ''Added in 1.39''<br />
<br />
Expected event names are: horn, air_horn, aero_noise, rain_noise<br />
|}</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_cabin_data&diff=4720Documentation/Engine/Units/accessory cabin data2020-10-10T01:01:43Z<p>Smarty: </p>
<hr />
<div>The '''accessory_cabin_data''' unit class configures the models for the cabin of the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]]. Units of this type are found in '''/def/vehicle/truck/&lt;brand.model&gt;/cabin/'''.<br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|detail_model<br />
|string<br />
|<br />
|Path to the detailed mesh model descriptor (.pmd). This is used only for vehicles used by player. Additionally they are used in vehicle previews & browser windows.<br />
|-<br />
|model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd). If only a single LOD is used, it should be set up as '''model''', and the other attributes (detail_model, lods) should not be defined.<br />
|-<br />
|lods<br />
|array&lt;string&gt;<br />
|<br />
|Paths to the reduced level-of-detail model descriptors (.pmd), in order of increasing viewing distance (decreasing model complexity).<br />
|-<br />
|collision<br />
|string<br />
|<br />
|Path to the collision descriptor (.pmc).<br />
|-<br />
|variant<br />
|token<br />
|<br />
|Selects the variant to be used for all models/collisions defined. This is required if the cabin and chassis share a model as is currently the standard practice in ETS2 and ATS. Default value is ''default''.<br />
{{Note|All models defined for this '''accessory_cabin_data''' must have this variant name.}}<br />
|-<br />
|variant_uk<br />
|token<br />
|<br />
|Selects the variant to be used for all models/collisions for right-hand-drive (RHD) vehicles. If unset, defaults to the same value as '''variant'''.<br />
{{Note|All models defined for this '''accessory_cabin_data''' must have this variant name.}}<br />
|-<br />
|look<br />
|token<br />
|<br />
|Selects the look to be used for all models defined. Default value is ''default''.<br />
{{Note|All models defined for this '''accessory_cabin_data''' must have this look name.}}<br />
|-<br />
|wiper_model<br />
|string<br />
|<br />
|Path to the animated wiper model (.pmg)<br />
|-<br />
|wiper_anim<br />
|resource_tie<br />
|<br />
|Path to the wiper animation (.pma)<br />
|-<br />
|wiper_model_uk<br />
|string<br />
|<br />
|Path to the animated wiper model (.pmg) for RHD vehicles. If unset, defaults to the value of '''wiper_model'''.<br />
|-<br />
|wiper_anim_uk<br />
|resource_tie<br />
|<br />
|Path to the wiper animation (.pma) for RHD vehicles. If unset, defaults to the value of '''wiper_anim'''.<br />
|-<br />
|drl_with_headlights<br />
|float<br />
|0.0<br />
|Sets the relative strength of the daytime running lights when the headlights are on. For the DRL to be ''off'' when the headlights are on, a value of 0 is used. If the DRL should stay on and not dim when the headlights are on, a value of 1 is used. An intermediate value will dim the DRL when the headlights are on, and a value greater than 1 will intensify the DRL when the headlights are on. The typical value in ETS2 is 0.4.<br />
<!--<br />
|-<br />
|toll_tag<br />
|string<br />
|<br />
|Currently unused.<br />
--><br />
|-<br />
|suspension<br />
|bool<br />
|true<br />
|When true, physical simulation of cabin air suspension is enabled.<br />
|-<br />
|sounds<br />
|array&lt;string&gt;<br />
|<br />
|Each member assigns an FMOD event to a chassis function, using the "''<nowiki>sound_name|sound_path</nowiki>''" [[Games/ETS2/Modding_guides/1.39#Accessories|format]]. ''Added in 1.39''<br />
<br />
Expected event names are: horn, air_horn, aero_noise, rain_noise<br />
|}</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_chassis_data&diff=4719Documentation/Engine/Units/accessory chassis data2020-10-10T00:59:56Z<p>Smarty: Added sounds attribute for 1.39</p>
<hr />
<div>The '''accessory_chassis_data''' unit class is used to define the chassis characteristics for the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]] including axle weights, extended shadow parameters, and fluid capacities. It is also used to define chassis characteristics of trailers and AI vehicles. Units of this type are usually defined in '''/def/vehicle/truck/<brand.model>/chassis/*.sii''', '''/def/vehicle/trailer/<trailer_name>/*.sii''', and '''/def/vehicle/ai/<vehicle_name>/chassis.sii. <br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|detail_model<br />
|string<br />
|<br />
|Path to the detailed mesh model descriptor (.pmd). This is used only for vehicles used by player. Additionally they are used in vehicle previews & browser windows.<br />
|-<br />
|model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd). If only a single LOD is used, it should be set up as '''model''', and the other attributes (detail_model, lods) should not be defined.<br />
|-<br />
|lods<br />
|array&lt;string&gt;<br />
|<br />
|Paths to the reduced level-of-detail model descriptors (.pmd), in order of increasing viewing distance (decreasing model complexity).<br />
|-<br />
|collision<br />
|string<br />
|<br />
|Path to the collision descriptor (.pmc).<br />
|-<br />
|trailer_brace_model<br />
|string<br />
|<br />
|''For trailer usage only.'' Path to the animated landing gear model.<br />
|-<br />
|trailer_brace_anim<br />
|string<br />
|<br />
|''For trailer usage only.'' Path to the landing gear animation.<br />
|-<br />
|trailer_brace_up_sound<br />
|string<br />
|<br />
|''For trailer usage only.'' Path to the sound to be played when retracting landing gear. ''Default value changed to blank (no sound) in 1.35.''<br />
|-<br />
|trailer_brace_down_sound<br />
|string<br />
|<br />
|''For trailer usage only.'' Path to the sound to be played when extending landing gear. ''Default value changed to blank (no sound) in 1.35.''<br />
|-<br />
|variant<br />
|token<br />
|<br />
|Variant to be used from '''detail_model''', '''model''', and '''lods'''.<br />
|-<br />
|variant_uk<br />
|token<br />
|<br />
|Variant to be used in countries which drive on the left. If unspecified, defaults to the value of '''variant'''.<br />
|-<br />
|look<br />
|token<br />
|<br />
|Look to be used from '''detail_model''', '''model''', and '''lods'''.<br />
|-<br />
|shadow_texture<br />
|string<br />
|<br />
|Texture to be used for basic shadow.<br />
|-<br />
|shadow_intensity<br />
|float<br />
|1.0<br />
|Relative intensity of basic shadow.<br />
|-<br />
|extended_shadow_texture<br />
|string<br />
|<br />
|Texture to be used for the extended (volumetric) shadow.<br />
|-<br />
|extended_shadow_intensity<br />
|float<br />
|1.0<br />
|Relative intensity of the extended (volumetric) shadow.<br />
|-<br />
|extended_shadow_fadeout_start<br />
|float<br />
|0.0<br />
|Sets the distance in meters from the fakeshadow surface to begin fading the extended shadow.<br />
|-<br />
|extended_shadow_fadeout_length<br />
|float<br />
|1.0<br />
|Sets the length in meters over which to fade out the extended shadow.<br />
|-<br />
|extended_shadow_shared_model_variant<br />
|token<br />
|<br />
|If provided, specified variant of model will be used to draw the shared shadows.<br />
|-<br />
|ui_shadow<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the UI shadow (used for the truck/trailer browser, thumbnail generation, etc).<br />
|-<br />
|tank_size<br />
|float<br />
|0.0<br />
|Fuel tank size in liters.<br />
|-<br />
|adblue_tank_size<br />
|float<br />
|80.0<br />
|AdBlue/DEF tank size in liters.<br />
|-<br />
|air_tank_pressure<br />
|float<br />
|10.0<br />
|Nominal air brake reservoir pressure in bar. ''Added in ETS2 1.27/ATS 1.6.''<br />
|-<br />
|nominal_voltage<br />
|float<br />
|24.0<br />
|Nominal battery voltage. ''Added in 1.36''<br />
|-<br />
|residual_travel<br />
|array&lt;float&gt;<br />
|<br />
|''For trucks and trailers.'' The limit of upwards and downwards travel in meters for each axle. Each array member corresponds to an axle, from front to back (or from back to front in the case of trailers).<br />
|-<br />
|trailer_mass<br />
|float<br />
|7000.0<br />
|''For trailer usage only.'' Sets the unladen mass of the trailer.<br />
|-<br />
|powered_axle<br />
|array&lt;bool&gt;<br />
|<br />
|''For truck usage only.'' When true, motive torque will be applied on the axle. Each array member corresponds to an axle, from front to back.<br />
|-<br />
|kerb_weight<br />
|array&lt;float&gt;<br />
|<br />
|''For truck usage only.'' Assigns the static weight on each axle. Each array member corresponds to an axle, from front to back.<br />
|-<br />
|liftable_axle<br />
|array&lt;bool&gt;<br />
|false<br />
|''For truck and trailers.'' When true, the axle can be lifted. Each array member corresponds to an axle, from front to back (or from back to front in the case of trailers). ''Trailer functionality is added in ETS2 1.27/ATS 1.6.''<br />
|-<br />
|steerable_axle<br />
|array&lt;bool&gt;<br />
|see description<br />
|''For truck and trailers.'' When true, the axle will be steerable. Each array member corresponds to an axle, from front to back (or from back to front in the case of trailers). By default, all wheel_f axles on trucks are ''true'', while all others are ''false''. ''Added in 1.31.''<br />
|-<br />
|weight_distribution<br />
|enum<br />
|semitrailer<br />
|''For trailer usage only.'' Determines how forces are transferred between the trailer and its connected vehicle(s). Possible values are:<br />
*semitrailer (fifth wheel, part of trailer weight transferred)<br />
*trailer (hook, no weight transfer)<br />
*spreader (removes the pitch degree of freedom, typical of a spreader/booster/stinger on a lowboy configuration)<br />
''Added in ATS 1.6.2''<br />
|-<br />
|cog_cargo_mass_min<br />
|float<br />
|0<br />
|Lowest cargo mass at which to offset the center of gravity. ''Added in 1.35.''<br />
|-<br />
|cog_cargo_mass_max<br />
|float<br />
|20000<br />
|Highest cargo mass at which to offset the center of gravity. ''Added in 1.35.''<br />
|-<br />
|cog_cargo_offset_min<br />
|float3<br />
|(0,0,0)<br />
|Distance to offset the center of gravity at '''cog_cargo_mass_min'''. ''Added in 1.35.''<br />
|-<br />
|cog_cargo_offset_max<br />
|float3<br />
|(0,1,0)<br />
|Distance to offset the center of gravity at '''cog_cargo_mass_max'''. ''Added in 1.35.''<br />
|-<br />
|sounds<br />
|array&lt;string&gt;<br />
|<br />
|Each member assigns an FMOD event to a chassis function, using the "''<nowiki>sound_name|sound_path</nowiki>''" [[Games/ETS2/Modding_guides/1.39#Accessories|format]]. ''Added in 1.39''<br />
<br />
Expected event names are: air_brake, air_cutoff, reverse, lift_axle, hook_attach, hook_detach, trailer_cables<br />
|}</div>Smartyhttps://modding.scssoft.com/index.php?title=Games/ETS2/Modding_guides/1.39&diff=4718Games/ETS2/Modding guides/1.392020-10-10T00:01:40Z<p>Smarty: /* Interiror data */</p>
<hr />
<div>= Introduction =<br />
<br />
The following page contains modding guidelines for the new update of the game.<br />
<br />
To better understand changes in units it is recommended to check [[Documentation/Engine/Units|Units documentation]] page.<br />
<br />
= Recommendations =<br />
* When basing your model on the original ones, add to your mod also <strong>ALL</strong> original /automat/ files used by it. The names of the files are generated as CityHash64 hash of theirs content so whenever we change the parameters of the material in any way, a different file will be used to store them and the original file might cease to exist if there is no other model utilizing the original parameters.<br />
* When modifying original models, always include <strong>ALL</strong> components of the model (pmg+pmd) instead of just those you changed. Otherwise you risk crash if we change the model.<br />
* As always when adding new objects to files which support multi-file approach (e.g. road_look.sii) it is <strong>HIGHLY RECOMMENDED</strong> to use suffix or prefix in the name to avoid conflicts with new objects we are adding in patches. Otherwise you might have to use the batch renaming functionality (see Batch renaming) to fix the conflicts when new patch appears.<br />
<br />
= How to convert map =<br />
<br />
* Load map<br />
* Do rebuild (F8)<br />
* Save map<br />
<br />
= Changes & New Features =<br />
<br />
== Sound ==<br />
<br />
cabin mixing, removed defaults ... TBA<br />
<br />
=== Accessories ===<br />
<br />
All core vehicle accessories have new attribute '''sounds'''. It is string array and each item has format of "''sound_name|sound_path''". Sound path could be defined by one of three ways:<br />
* Empty string or "-" means no sound is played. Also if the item is missing at all no sample will be played for given sound.<br />
* Path to sound reference file ("''*.soundref''") file where sound event is written. This indirection supports easier modding if you only need link another sound without actually touching sound banks.<br />
* Path to event in bank ("''bank_path#event_name''") which directly specifies event sample. Advantage of this direct approach is simplicity and readability.<br />
Most of the sounds events are former attributes of old sound accessory. For detailed info about all sounds and their names in each accessory see their lists below.<br />
<br />
In our data, the basic mechanism is that accessories of given type share "''sound.sui''" file that contains mentioned '''sounds''' array. In array are links to shared soundrefs or to unique soundrefs, and in them are names of specific banks and events. This can be modded by many ways and on many levels. First, you can directly change the accessory itself (eg make own sound set). Or you can change content of shared "''sound.sui''" (without touching the accessory itself which will make mod more compatible with future updates). Or you can mod a single sound just by modifying its soundref (both shared or unique sounds). Or you can change sample in bank.<br />
<br />
== Vehicle Data ==<br />
<br />
* Light part on vehicles .. TBA<br />
<br />
=== Engine data ===<br />
<br />
Arrays '''torque_curve''' and '''secondary_torque_curve''' now support any rpm range. Before there was unintentional hard cap of 3000 rpm which is now gone.<br />
<br />
New attribute '''sounds''' in accessory engine data can handle 4 sound events: engine, exhaust, start_bad, turbo.<br />
<br />
=== Transmission data ===<br />
<br />
New attribute '''sounds''' in accessory transmission data can handle 4 sound events: air_gear_noise, retarder, gear_grind, gear_wrong.<br />
<br />
=== Cabin data ===<br />
<br />
New attribute '''sounds''' in accessory cabin data can handle 4 sound events: horn, air_horn, aero_noise, rain_noise.<br />
<br />
=== Chassis data ===<br />
<br />
New attribute '''sounds''' in accessory chassis data can handle 7 sound events: air_brake, air_cutoff, reverse, lift_axle, hook_attach, hook_detach, trailer_cables.<br />
<br />
=== Interior data ===<br />
<br />
New attribute '''sounds''' in accessory chassis data can handle 21 sound events: air_warning, blinker_off, blinker_on, noise, stick_blinker, stick_blinker_off, stick_engine_brake, stick_hazard_warning, stick_high_beam, stick_light_horn, stick_lights, stick_park_brake, stick_park_brake_off, stick_retarder, stick_wipers, weigh_green, weigh_red, window_click, window_move, wipers_down, wipers_up.<br />
<br />
=== Trailer body data ===<br />
<br />
There is new attribute '''empty_cargo_model'''. It is used as virtual cargo every time the trailer is not loaded by another cargo. The purpose is to handle properly all switches, handlers and other parts that are regularly used for cargo mounting.</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_trailer_body_data&diff=4705Documentation/Engine/Units/accessory trailer body data2020-10-09T21:58:08Z<p>Smarty: New article, including new empty cargo model attribute for 1.39</p>
<hr />
<div>The '''accessory_trailer_body_data''' unit class is used to define ownable trailer body accessories, including body dimensions, volume, mass, and visual data. Units of this type are usually defined in '''/def/vehicle/trailer_owned/<brand.model>/body/*.sii'''. <br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|size<br />
|float3<br />
|<br />
|Interior dimensions (cargo area) of the body in meters. (width, height, length)<br />
|-<br />
|total_size<br />
|float3<br />
|<br />
|Overall exterior dimensions of the trailer in meters. (width, height, length)<br />
|-<br />
|volume<br />
|float<br />
|<br />
|The cargo volume in meters cubed (m<sup>3</sup>).<br />
|-<br />
|body_type<br />
|token<br />
|<br />
|The trailer body type (e.g. flatbed, dryvan, etc).<br />
|-<br />
|mass<br />
|float<br />
|<br />
|The mass of the body accessory in kilograms.<br />
|-<br />
|detail_model<br />
|string<br />
|<br />
|Path to the detailed mesh model descriptor (.pmd). This is used only for vehicles used by player. Additionally they are used in vehicle previews & browser windows.<br />
|-<br />
|model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd). If only a single LOD is used, it should be set up as '''model''', and the other attributes (detail_model, lods) should not be defined. Presently it is typical to use only this for owned trailers.<br />
|-<br />
|lods<br />
|array&lt;string&gt;<br />
|<br />
|Paths to the reduced level-of-detail model descriptors (.pmd), in order of increasing viewing distance (decreasing model complexity).<br />
|-<br />
|collision<br />
|string<br />
|<br />
|Path to the collision descriptor (.pmc).<br />
|-<br />
|variant<br />
|token<br />
|<br />
|Variant to be used from '''detail_model''', '''model''', and '''lods'''.<br />
|-<br />
|look<br />
|token<br />
|<br />
|Look to be used from '''detail_model''', '''model''', and '''lods'''.<br />
|-<br />
|empty_cargo_model<br />
|string<br />
|<br />
|Path to an [[Documentation/Engine/Units/accessory_cargo_data|accessory_cargo_data]] definition to be hooked up when the trailer is empty. ''(Added in 1.39)''<br />
|}</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_horn_addon_data&diff=4638Documentation/Engine/Units/accessory horn addon data2020-07-09T17:01:38Z<p>Smarty: Shiny new page for shiny new unit.</p>
<hr />
<div>The '''accessory_horn_addon_data''' unit class is an extension of [[Documentation/Engine/Units/accessory_addon_data|'''accessory_addon_data''']], used specifically for air horn accessories. If functions the same as '''accessory_addon_data''', with the addition of the ''sound_path'' attribute used to bind a horn sound event to the accessory. This is most commonly used for customization of the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]]. This unit type was added in 1.38.<br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|exterior_model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the model to be displayed in the exterior view (if applicable).<br />
|-<br />
|exterior_model_uk<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the model to be displayed in the exterior view for left-hand drive vehicles (if applicable). If unset, defaults to '''exterior_model'''.<br />
|-<br />
|interior_model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the model to be displayed in the interior view (if applicable).<br />
|-<br />
|interior_model_uk<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the model to be displayed in the interior view for left-hand drive vehicles (if applicable). If unset, defaults to '''interior_model'''.<br />
|-<br />
|coll<br />
|string<br />
|<br />
|Path to the collision descriptor (.pmc) for the accessory (if applicable).<br />
|-<br />
|look<br />
|token<br />
|default<br />
|Name of the look to be used on all descriptors of this accessory.<br />
{{Note|All models for an accessory must have the same set of looks.}}<br />
|-<br />
|variant<br />
|token<br />
|default<br />
|Name of the variant to be used on all descriptors of this accessory.<br />
{{Note|All models for an accessory must have the same set of variants.}}<br />
|-<br />
|hide_in<br />
|u32<br />
|0<br />
|Flag for &ldquo;hiding&ldquo; accessory from being drawn in specific views. Valid values can be calculated [http://eurotrucksimulator2.com/modding_changes_114.php#Hide%20following%20views here].<br />
{{Note|Accessories whose model references textures containing the mirror reflection (e.g. the mirror itself) '''MUST''' be marked as not visible in the mirrors. Previously there was a special mechanism to handle this however the now game exclusively relies on hide_in attribute to handle that. }}<br />
|-<br />
|sound_path<br />
|string<br />
|<br />
|Path to the sound bank/event or soundref to be used for the horn accessory.<br />
|}</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_engine_data&diff=4637Documentation/Engine/Units/accessory engine data2020-07-09T15:59:07Z<p>Smarty: Added note about removed default sound bank.</p>
<hr />
<div>The '''accessory_engine_data''' unit 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/<brand.model>/engine/*.sii'''<br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|info<br />
|array&lt;string&gt;<br />
|<br />
|This member is attribute of accessory data, however three '''info''' members are usually defined for '''accessory_engine_data'''.<br />
<syntaxhighlight lang="cpp"><br />
info[]: "197 @@hp@@ (147@@kw@@)" // The first is the rated power<br />
info[]: "550 @@lb_ft@@ (782 @@nm@@)" // The second is the peak torque<br />
info[]: "1@@dg@@200 @@rpm@@" // The third is the peak torque speed<br />
</syntaxhighlight><br />
{{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.}}<br />
{{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.}}<br />
|-<br />
|torque<br />
|float<br />
|0.0<br />
|This defines the maximum torque output of the engine in N&middot;m.<br />
|-<br />
|secondary_torque<br />
|float<br />
|0.0<br />
|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)''<br />
|-<br />
|secondary_torque_gear_ratio<br />
|float<br />
|1.0<br />
|This defines the transmission gear ratio below which '''secondary_torque''' is used on multi-torque engines. ''(Added in 1.30)''<br />
|-<br />
|torque_curve<br />
|array&lt;float2&gt;<br />
|''See description''<br />
|This defines the torque output of the engine at various engine speeds, relative to the maximum torque defined in '''torque'''. If unset, the default curve is used:<br />
<syntaxhighlight lang="cpp"><br />
torque_curve[]: (300, 0)<br />
torque_curve[]: (440, 0.5)<br />
torque_curve[]: (1000, 1)<br />
torque_curve[]: (1300, 1)<br />
torque_curve[]: (1900, 0.77)<br />
torque_curve[]: (2400, 0.4)<br />
torque_curve[]: (2600, 0)<br />
</syntaxhighlight><br />
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.<br />
|-<br />
|secondary_torque_curve<br />
|array&lt;float2&gt;<br />
|''See description''<br />
|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)''<br />
|-<br />
|resistance_torque<br />
|float<br />
| -1<br />
|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)''<br />
{{Note|When unset, or when set to any negative value, resistance_torque is calculated as (''volume'' &times; 20.0).}}<br />
|-<br />
|rpm_idle<br />
|float<br />
|550<br />
|This is the engine speed the virtual engine controller will attempt to maintain with no throttle input. Valid range is 500-850 rpm.<br />
|-<br />
|rpm_limit<br />
|float<br />
|2500<br />
|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).<br />
|-<br />
|rpm_limit_neutral<br />
|float<br />
|2500<br />
|This is the maximum engine speed the virtual engine controller will allow if the transmission is in neutral &ndash; unless '''rpm_limit''' is lower, in which case it is clamped.<br />
|-<br />
|rpm_range_low_gear<br />
|float2<br />
|(700, 1500)<br />
|Defines the downshift and upshift engine speeds in low-range gears (automatic transmission).<br />
|-<br />
|rpm_range_high_gear<br />
|float2<br />
|(1000, 1350)<br />
|Defines the downshift and upshift engine speeds in high-range gears - typically peek torque range (automatic transmission). ''(Tweaked in 1.38)''<br />
|-<br />
|rpm_range_power<br />
|float2<br />
|(1400, 1900)<br />
|Defines the rough rpm range if more power is requested - used either in hills or for adaptive shifting, especially power mode (automatic transmission). ''(Added in 1.37, tweaked in 1.38)''<br />
|-<br />
|''rpm_range_power_boost''<br />
|float2<br />
|(550, 450)<br />
|''(Obsolete in 1.37)''<br />
Defines the rough rpm range ''change'' to '''rpm_range_low_gear''' and '''rpm_range_high_gear''' if more power is requested - used either in hills or for adaptive shifting, especially power mode. (Automatic transmission).<br />
{{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 mode.}}<br />
|-<br />
|rpm_range_engine_brake<br />
|float2<br />
|(1500, 2500)<br />
|Defines the downshift and upshift engine speeds while the engine brake is operating. (Automatic transmission)<br />
|-<br />
|engine_brake<br />
|float<br />
|1.0<br />
|Engine braking torque relative to a typical exhaust brake on an engine of the same '''volume'''.<br />
|-<br />
|engine_brake_downshift<br />
|bool<br />
|true<br />
|When true, automatic transmissions will downshift upon beginning engine brake behavior, to keep rpm within '''rpm_range_engine_brake'''. When false, the regular rpm are kept.<br />
|-<br />
|engine_brake_positions<br />
|uint<br />
|3<br />
|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> of the full strength, the second position will have <sup>2</sup>&frasl;<sub>3</sub> of the full strength, and the highest position will have the full strength.<br />
|-<br />
|volume<br />
|float<br />
|0.0<br />
|The volumetric displacement of the engine in liters. It is used in base fuel consumption calculation, engine mass & inertia calculations, and also default '''resistance_torque''' calculations eventually.<br />
|-<br />
|consumption_coef<br />
|float<br />
|1.0<br />
|This is used to scale the fuel consumption of the engine relative to the game's calculated value.<br />
|-<br />
|adblue_consumption<br />
|float<br />
|0.05<br />
|This is how many liters of AdBlue (Diesel Exhaust Fluid) are consumed per liter of fuel.<br />
{{Tip|For older engines which do not use AdBlue, this attribute should be set to 0.}}<br />
|-<br />
|no_adblue_power_limit<br />
|float<br />
|1.0<br />
|When the AdBlue tank is empty, the engine's power is scaled by this factor.<br />
|-<br />
|sound<br />
|string<br />
|"/sound/truck/engine.bank"<br />
|Path to the truck [[Documentation/Engine/Sound/TruckEngine|engine sound bank.]]<br />
{{Note|The default engine bank has been removed. You must explicitly specify a bank from one of the base game vehicles, or specify your own bank.}}<br />
|}<br />
<br />
== Relevant Unit Conversions and Formulas ==<br />
=== Cubic Inches to Liters ===<br />
1 cu&middot;in = 0.0164 L<br />
=== Pound-Feet to Newton-Meters ===<br />
1 lb<sub>f</sub>&middot;ft = 1.3558 N&middot;m<br />
=== Horsepower to Kilowatts ===<br />
1 hp = 0.7457 kW<br />
=== Torque from Power and Speed (Metric Units) ===<br />
T [N&middot;m] = ( P [kW] &times; 9549 ) &divide; N [RPM]<br />
=== Torque from Power and Speed (English Units) ===<br />
T [lb<sub>f</sub>&middot;ft] = ( P [hp] &times; 5252 ) &divide; N [RPM]</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_engine_data&diff=4617Documentation/Engine/Units/accessory engine data2020-07-08T18:25:59Z<p>Smarty: Added entry for the sound attribute.</p>
<hr />
<div>The '''accessory_engine_data''' unit 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/<brand.model>/engine/*.sii'''<br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|info<br />
|array&lt;string&gt;<br />
|<br />
|This member is attribute of accessory data, however three '''info''' members are usually defined for '''accessory_engine_data'''.<br />
<syntaxhighlight lang="cpp"><br />
info[]: "197 @@hp@@ (147@@kw@@)" // The first is the rated power<br />
info[]: "550 @@lb_ft@@ (782 @@nm@@)" // The second is the peak torque<br />
info[]: "1@@dg@@200 @@rpm@@" // The third is the peak torque speed<br />
</syntaxhighlight><br />
{{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.}}<br />
{{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.}}<br />
|-<br />
|sound<br />
|string<br />
|"/sound/truck/engine.bank"<br />
|Path to the truck [[Documentation/Engine/Sound/TruckEngine|engine sound bank.]]<br />
|-<br />
|torque<br />
|float<br />
|0.0<br />
|This defines the maximum torque output of the engine in N&middot;m.<br />
|-<br />
|secondary_torque<br />
|float<br />
|0.0<br />
|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)''<br />
|-<br />
|secondary_torque_gear_ratio<br />
|float<br />
|1.0<br />
|This defines the transmission gear ratio below which '''secondary_torque''' is used on multi-torque engines. ''(Added in 1.30)''<br />
|-<br />
|torque_curve<br />
|array&lt;float2&gt;<br />
|''See description''<br />
|This defines the torque output of the engine at various engine speeds, relative to the maximum torque defined in '''torque'''. If unset, the default curve is used:<br />
<syntaxhighlight lang="cpp"><br />
torque_curve[]: (300, 0)<br />
torque_curve[]: (440, 0.5)<br />
torque_curve[]: (1000, 1)<br />
torque_curve[]: (1300, 1)<br />
torque_curve[]: (1900, 0.77)<br />
torque_curve[]: (2400, 0.4)<br />
torque_curve[]: (2600, 0)<br />
</syntaxhighlight><br />
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.<br />
|-<br />
|secondary_torque_curve<br />
|array&lt;float2&gt;<br />
|''See description''<br />
|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)''<br />
|-<br />
|resistance_torque<br />
|float<br />
| -1<br />
|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)''<br />
{{Note|When unset, or when set to any negative value, resistance_torque is calculated as (''volume'' &times; 20.0).}}<br />
|-<br />
|rpm_idle<br />
|float<br />
|550<br />
|This is the engine speed the virtual engine controller will attempt to maintain with no throttle input. Valid range is 500-850 rpm.<br />
|-<br />
|rpm_limit<br />
|float<br />
|2500<br />
|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).<br />
|-<br />
|rpm_limit_neutral<br />
|float<br />
|2500<br />
|This is the maximum engine speed the virtual engine controller will allow if the transmission is in neutral &ndash; unless '''rpm_limit''' is lower, in which case it is clamped.<br />
|-<br />
|rpm_range_low_gear<br />
|float2<br />
|(700, 1500)<br />
|Defines the downshift and upshift engine speeds in low-range gears (automatic transmission).<br />
|-<br />
|rpm_range_high_gear<br />
|float2<br />
|(1000, 1350)<br />
|Defines the downshift and upshift engine speeds in high-range gears - typically peek torque range (automatic transmission). ''(Tweaked in 1.38)''<br />
|-<br />
|rpm_range_power<br />
|float2<br />
|(1400, 1900)<br />
|Defines the rough rpm range if more power is requested - used either in hills or for adaptive shifting, especially power mode (automatic transmission). ''(Added in 1.37, tweaked in 1.38)''<br />
|-<br />
|''rpm_range_power_boost''<br />
|float2<br />
|(550, 450)<br />
|''(Obsolete in 1.37)''<br />
Defines the rough rpm range ''change'' to '''rpm_range_low_gear''' and '''rpm_range_high_gear''' if more power is requested - used either in hills or for adaptive shifting, especially power mode. (Automatic transmission).<br />
{{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 mode.}}<br />
|-<br />
|rpm_range_engine_brake<br />
|float2<br />
|(1500, 2500)<br />
|Defines the downshift and upshift engine speeds while the engine brake is operating. (Automatic transmission)<br />
|-<br />
|engine_brake<br />
|float<br />
|1.0<br />
|Engine braking torque relative to a typical exhaust brake on an engine of the same '''volume'''.<br />
|-<br />
|engine_brake_downshift<br />
|bool<br />
|true<br />
|When true, automatic transmissions will downshift upon beginning engine brake behavior, to keep rpm within '''rpm_range_engine_brake'''. When false, the regular rpm are kept.<br />
|-<br />
|engine_brake_positions<br />
|uint<br />
|3<br />
|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> of the full strength, the second position will have <sup>2</sup>&frasl;<sub>3</sub> of the full strength, and the highest position will have the full strength.<br />
|-<br />
|volume<br />
|float<br />
|0.0<br />
|The volumetric displacement of the engine in liters. It is used in base fuel consumption calculation, engine mass & inertia calculations, and also default '''resistance_torque''' calculations eventually.<br />
|-<br />
|consumption_coef<br />
|float<br />
|1.0<br />
|This is used to scale the fuel consumption of the engine relative to the game's calculated value.<br />
|-<br />
|adblue_consumption<br />
|float<br />
|0.05<br />
|This is how many liters of AdBlue (Diesel Exhaust Fluid) are consumed per liter of fuel.<br />
{{Tip|For older engines which do not use AdBlue, this attribute should be set to 0.}}<br />
|-<br />
|no_adblue_power_limit<br />
|float<br />
|1.0<br />
|When the AdBlue tank is empty, the engine's power is scaled by this factor.<br />
|}<br />
<br />
== Relevant Unit Conversions and Formulas ==<br />
=== Cubic Inches to Liters ===<br />
1 cu&middot;in = 0.0164 L<br />
=== Pound-Feet to Newton-Meters ===<br />
1 lb<sub>f</sub>&middot;ft = 1.3558 N&middot;m<br />
=== Horsepower to Kilowatts ===<br />
1 hp = 0.7457 kW<br />
=== Torque from Power and Speed (Metric Units) ===<br />
T [N&middot;m] = ( P [kW] &times; 9549 ) &divide; N [RPM]<br />
=== Torque from Power and Speed (English Units) ===<br />
T [lb<sub>f</sub>&middot;ft] = ( P [hp] &times; 5252 ) &divide; N [RPM]</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_wheel_data&diff=4386Documentation/Engine/Units/accessory wheel data2020-01-10T15:58:35Z<p>Smarty: </p>
<hr />
<div>The '''accessory_wheel_data''' unit class is used to define wheels for most vehicle types, and tires for the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]]. It defines the path to the visible model, the look used, whether it is paintable, and some physical characteristics of the tire (for playable vehicles). Units of this type are typically found in:<br />
* '''/def/vehicle/ai_wheel/*.sii''' (wheels used for AI vehicles)<br />
* '''/def/vehicle/f_tire/*.sii''' (front tires for playable trucks)<br />
* '''/def/vehicle/f_wheel/*.sii''' (front wheels for AI trucks)<br />
* '''/def/vehicle/r_tire/*.sii''' (rear tires for playable trucks)<br />
* '''/def/vehicle/r_wheel/*.sii''' (rear wheels for AI trucks)<br />
* '''/def/vehicle/tr_wheel/*.sii''' (wheels for trailers)<br />
* '''/def/vehicle/trailer_wheel/f_tire/*.sii''' (front tires for owned trailers)<br />
* '''/def/vehicle/trailer_wheel/r_tire/*.sii''' (rear tires for owned trailers)<br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']]. Required attributes are '''bolded'''.<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|'''model'''<br />
|string<br />
|<br />
|Path to the descriptor (.pmd) of a valid wheel model. Valid wheel models have ''left'' and ''right'' variants and a ''bb'' model locator which sets the rolling/collision radius.<br />
|-<br />
|look<br />
|token<br />
|default<br />
|Selects the look to be used.<br />
|-<br />
|paintable<br />
|boolean<br />
|false<br />
|When true, enables the color picker on the garage, truck browser, etc screens. The paint color is applied to pieces of the '''model''' whose materials use the [[Documentation/Tools/SCS_Blender_Tools/Supported_shaders#paint|paint]] flavor.<br />
{{Note|Unlike other accessories, wheel accessories do not inherit the paint color(s) of the vehicle they belong to.}}<br />
|-<br />
|default_color<br />
|float3<br />
|(1.0, 1.0, 1.0)<br />
|Sets the default color for the wheel accessory.<br />
<!--<br />
|-<br />
|inner_width<br />
|float<br />
|<br />
|<br />
|-<br />
|inner_radius<br />
|float<br />
|<br />
|<br />
--><br />
|-<br />
|roll_resistance<br />
|float<br />
|5.5<br />
|Tire rolling resistance in kg/t (EU Tyre Labelling Regulation 1222/2009)<br />
|-<br />
|wet_grip<br />
|float<br />
|1.0<br />
|Tire wet grip performance (EU Tyre Labelling Regulation 1222/2009)<br />
|-<br />
|noise_volume<br />
|float<br />
|73.0<br />
|Tire rolling noise in dB (EU Tyre Labelling Regulation 1222/2009)<br />
|-<br />
|wheel_shift<br />
|float<br />
|0.0<br />
|Offset of the tire centerline from the model origin (based on the left side variant) to correctly generate the wheel collision. Make sure that the 'bb' locator is positioned at the outer edge of the tire.<br />
|}<br />
<br />
== EU Tire Label Letter Grades for Truck and Bus (C3) Tires ==<br />
''From [http://www.etrma.org/uploads/Modules/Documentsmanager/2012-07-05--industry-guideline-on-tyre-labelling-(vers4).pdf ETRMA Industry Guidelines Version 4] (5 July, 2012)''<br />
<br />
Where numerical data is not available, the following tables are useful to translate letter grades from tire labels to the values used for '''roll_resistance''' and '''wet_grip'''.<br />
<br />
=== Rolling Resistance ===<br />
{|class="wikitable"<br />
!Class<br />
!RRC in kg/t<br />
|-<br />
|A<br />
|RRC &le; 4.0<br />
|-<br />
|B<br />
|4.1 &le; RRC &le; 5.0<br />
|-<br />
|C<br />
|5.1 &le; RRC &le; 6.0<br />
|-<br />
|D<br />
|6.1 &le; RRC &le; 7.0<br />
|-<br />
|E<br />
|7.1 &le; RRC &le; 8.0<br />
|-<br />
|F<br />
|RRC &ge; 8.1<br />
|-<br />
|G<br />
|Empty<br />
|}<br />
=== Wet Grip ===<br />
{|class="wikitable"<br />
!Class<br />
!''G''<br />
|-<br />
|A<br />
|''G'' &ge; 1.25<br />
|-<br />
|B<br />
|1.10 &le; ''G'' &le; 1.24<br />
|-<br />
|C<br />
|0.95 &le; ''G'' &le; 1.09<br />
|-<br />
|D<br />
|0.80 &le; ''G'' &le; 0.94<br />
|-<br />
|E<br />
|0.65 &le; ''G'' &le; 0.79<br />
|-<br />
|F<br />
|''G'' &le; 0.64<br />
|-<br />
|G<br />
|Empty<br />
|}<br />
== Calculating Rolling Radius from RPM or RPK ==<br />
To get a correct rolling radius for accurate performance, it is possible to use the Revolutions per Mile (RPM) or per Kilometer (RPK) figure published by the tire manufacturer. This is used to set the position of the ''bb'' locator in the wheel model.<br />
===From RPM===<br />
The rolling radius in meters is given by:<br />
r<sub>rolling</sub> = 1609.34 &divide; ( RPM &times; 2 &times; &pi; )<br />
===From RPK===<br />
The rolling radius in meters is given by:<br />
r<sub>rolling</sub> = 1000 &divide; ( RPK &times; 2 &times; &pi; )<br />
== Related Classes ==<br />
*[[Documentation/Engine/Units/accessory_rim_data|accessory_rim_data]]</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/accessory_chassis_data&diff=4234Documentation/Engine/Units/accessory chassis data2019-11-05T22:20:21Z<p>Smarty: /* Attributes */ Added nominal_voltage for 1.36</p>
<hr />
<div>The '''accessory_chassis_data''' unit class is used to define the chassis characteristics for the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]] including axle weights, extended shadow parameters, and fluid capacities. It is also used to define chassis characteristics of trailers and AI vehicles. Units of this type are usually defined in '''/def/vehicle/truck/<brand.model>/chassis/*.sii''', '''/def/vehicle/trailer/<trailer_name>/*.sii''', and '''/def/vehicle/ai/<vehicle_name>/chassis.sii. <br />
<br />
== Attributes ==<br />
Many common attributes are inherited from [[Documentation/Engine/Units/accessory_data|'''accessory_data''']].<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|detail_model<br />
|string<br />
|<br />
|Path to the detailed mesh model descriptor (.pmd). This is used only for vehicles used by player. Additionally they are used in vehicle previews & browser windows.<br />
|-<br />
|model<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd). If only a single LOD is used, it should be set up as '''model''', and the other attributes (detail_model, lods) should not be defined.<br />
|-<br />
|lods<br />
|array&lt;string&gt;<br />
|<br />
|Paths to the reduced level-of-detail model descriptors (.pmd), in order of increasing viewing distance (decreasing model complexity).<br />
|-<br />
|collision<br />
|string<br />
|<br />
|Path to the collision descriptor (.pmc).<br />
|-<br />
|trailer_brace_model<br />
|string<br />
|<br />
|''For trailer usage only.'' Path to the animated landing gear model.<br />
|-<br />
|trailer_brace_anim<br />
|string<br />
|<br />
|''For trailer usage only.'' Path to the landing gear animation.<br />
|-<br />
|trailer_brace_up_sound<br />
|string<br />
|<br />
|''For trailer usage only.'' Path to the sound to be played when retracting landing gear. ''Default value changed to blank (no sound) in 1.35.''<br />
|-<br />
|trailer_brace_down_sound<br />
|string<br />
|<br />
|''For trailer usage only.'' Path to the sound to be played when extending landing gear. ''Default value changed to blank (no sound) in 1.35.''<br />
|-<br />
|variant<br />
|token<br />
|<br />
|Variant to be used from '''detail_model''', '''model''', and '''lods'''.<br />
|-<br />
|variant_uk<br />
|token<br />
|<br />
|Variant to be used in countries which drive on the left. If unspecified, defaults to the value of '''variant'''.<br />
|-<br />
|look<br />
|token<br />
|<br />
|Look to be used from '''detail_model''', '''model''', and '''lods'''.<br />
|-<br />
|shadow_texture<br />
|string<br />
|<br />
|Texture to be used for basic shadow.<br />
|-<br />
|shadow_intensity<br />
|float<br />
|1.0<br />
|Relative intensity of basic shadow.<br />
|-<br />
|extended_shadow_texture<br />
|string<br />
|<br />
|Texture to be used for the extended (volumetric) shadow.<br />
|-<br />
|extended_shadow_intensity<br />
|float<br />
|1.0<br />
|Relative intensity of the extended (volumetric) shadow.<br />
|-<br />
|extended_shadow_fadeout_start<br />
|float<br />
|0.0<br />
|Sets the distance in meters from the fakeshadow surface to begin fading the extended shadow.<br />
|-<br />
|extended_shadow_fadeout_length<br />
|float<br />
|1.0<br />
|Sets the length in meters over which to fade out the extended shadow.<br />
|-<br />
|extended_shadow_shared_model_variant<br />
|token<br />
|<br />
|If provided, specified variant of model will be used to draw the shared shadows.<br />
|-<br />
|ui_shadow<br />
|string<br />
|<br />
|Path to the model descriptor (.pmd) for the UI shadow (used for the truck/trailer browser, thumbnail generation, etc).<br />
|-<br />
|tank_size<br />
|float<br />
|0.0<br />
|Fuel tank size in liters.<br />
|-<br />
|adblue_tank_size<br />
|float<br />
|80.0<br />
|AdBlue/DEF tank size in liters.<br />
|-<br />
|air_tank_pressure<br />
|float<br />
|10.0<br />
|Nominal air brake reservoir pressure in bar. ''Added in ETS2 1.27/ATS 1.6.''<br />
|-<br />
|nominal_voltage<br />
|float<br />
|24.0<br />
|Nominal battery voltage. ''Added in 1.36''<br />
|-<br />
|residual_travel<br />
|array&lt;float&gt;<br />
|<br />
|''For trucks and trailers.'' The limit of upwards and downwards travel in meters for each axle. Each array member corresponds to an axle, from front to back (or from back to front in the case of trailers).<br />
|-<br />
|trailer_mass<br />
|float<br />
|7000.0<br />
|''For trailer usage only.'' Sets the unladen mass of the trailer.<br />
|-<br />
|powered_axle<br />
|array&lt;bool&gt;<br />
|<br />
|''For truck usage only.'' When true, motive torque will be applied on the axle. Each array member corresponds to an axle, from front to back.<br />
|-<br />
|kerb_weight<br />
|array&lt;float&gt;<br />
|<br />
|''For truck usage only.'' Assigns the static weight on each axle. Each array member corresponds to an axle, from front to back.<br />
|-<br />
|liftable_axle<br />
|array&lt;bool&gt;<br />
|false<br />
|''For truck and trailers.'' When true, the axle can be lifted. Each array member corresponds to an axle, from front to back (or from back to front in the case of trailers). ''Trailer functionality is added in ETS2 1.27/ATS 1.6.''<br />
|-<br />
|steerable_axle<br />
|array&lt;bool&gt;<br />
|see description<br />
|''For truck and trailers.'' When true, the axle will be steerable. Each array member corresponds to an axle, from front to back (or from back to front in the case of trailers). By default, all wheel_f axles on trucks are ''true'', while all others are ''false''. ''Added in 1.31.''<br />
|-<br />
|weight_distribution<br />
|enum<br />
|semitrailer<br />
|''For trailer usage only.'' Determines how forces are transferred between the trailer and its connected vehicle(s). Possible values are:<br />
*semitrailer (fifth wheel, part of trailer weight transferred)<br />
*trailer (hook, no weight transfer)<br />
*spreader (removes the pitch degree of freedom, typical of a spreader/booster/stinger on a lowboy configuration)<br />
''Added in ATS 1.6.2''<br />
|-<br />
|cog_cargo_mass_min<br />
|float<br />
|0<br />
|Lowest cargo mass at which to offset the center of gravity. ''Added in 1.35.''<br />
|-<br />
|cog_cargo_mass_max<br />
|float<br />
|20000<br />
|Highest cargo mass at which to offset the center of gravity. ''Added in 1.35.''<br />
|-<br />
|cog_cargo_offset_min<br />
|float3<br />
|(0,0,0)<br />
|Distance to offset the center of gravity at '''cog_cargo_mass_min'''. ''Added in 1.35.''<br />
|-<br />
|cog_cargo_offset_max<br />
|float3<br />
|(0,1,0)<br />
|Distance to offset the center of gravity at '''cog_cargo_mass_max'''. ''Added in 1.35.''<br />
|}</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/trailer_def&diff=4209Documentation/Engine/Units/trailer def2019-10-07T21:22:28Z<p>Smarty: /* Attributes */ Corrected mass ratio attribute</p>
<hr />
<div>The '''trailer_def''' unit class acts as an intermediary between [[Documentation/Engine/Units/cargo_data|cargo_data]] and [[Documentation/Engine/Units/trailer|trailer]] units. Units of this type are usually defined in '''/def/cargo/&lt;cargo_name&gt;/&lt;trailer_name&gt;.sii''', corresponding to '''def/cargo/&lt;cargo_name&gt;.sii'''. They define which trailer configuration to enable for the cargo, the cargo's mass for that trailer configuration, how that mass is distributed/placed on the trailer and its slave units, and where the configuration is permitted.<br />
<br />
== Attributes ==<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|trailer<br />
|string<br />
|<br />
|The unit name of the '''trailer''' unit to be enabled for the cargo. This attribute can safely refer to units which aren't present. (Only for legacy usage when defined in /def/cargo/&lt;cargo_name&gt;/)<br />
|-<br />
|gross_trailer_weight_limit<br />
|float<br />
|<br />
|The maximum technical or logical combined weight of the trailer and its cargo (take into account bridge formula, and other similar rules).<br />
|-<br />
|chassis_mass<br />
|float<br />
|<br />
|The mass of the trailer chassis in kg.<br />
|-<br />
|body_mass<br />
|float<br />
|<br />
|The mass of the trailer body in kg.<br />
|-<br />
|length<br />
|float<br />
|0<br />
|The length of the trailer combination in meters. When generating a job this is compared against the '''allowed_trailer_length''' of the source and destination depot [[Documentation/Engine/Units/prefab_data|prefabs]] to determine whether this trailer_def is suitable for the job.<br />
|-<br />
|axles<br />
|uint<br />
|<br />
|The number of axles in the trailer combination, which is checked against country_data&rarr;mass_limit_per_axle_count to determine the allowable gross weight.<br />
|-<br />
|volume<br />
|float<br />
|<br />
|The interior volume of the trailer body in m<sup>3</sup>.<br />
|-<br />
|body_type<br />
|token<br />
|<br />
|Sets the body type of the trailer configuration, which determines which cargoes are allowed to be carried.<br />
|-<br />
|chain_type<br />
|token<br />
|<br />
|Sets the trailer chain type of the trailer configuration.<br />
|-<br />
|country_validity<br />
|array&lt;token&gt;<br />
|<br />
|Each member is a <!--[[Documentation/Engine/Units/country_data|country]]-->country (or a state in ATS) where this trailer_def will be suitable for generated jobs. Both the origin and destination of a job must be in the ''country'' array for the trailer_def to be suitable for it. If unset, then the trailer_def is suitable in all countries.<br />
<br />
For example, the following would be limited to only Nevada and Arizona:<br />
<pre>country[]: arizona<br />
country[]: nevada</pre><br />
|-<br />
|'''mass_ratio'''<br />
|array&lt;float&gt;<br />
|<br />
|Each member defines how much of the cargo mass and forces are borne by each trailer in the trailer configuration, starting with the ''master'' trailer and iterating through the ''slave'' trailers. These must add up to 1.<br />
|}<br />
<br />
== World of Trucks Compatibility ==<br />
World of Trucks jobs will make use of mod trailers if the following conditions are satisfied:<br />
*The '''mass''' is equal to, or greater than the job's cargo mass.<br />
*The '''length''' is compatible with the source and destination prefabs.<br />
*The configuration is valid for the source and destination '''country'''.<br />
*The trailer count is equal to the trailer count of the job (i.e. A multipivot trailer configuration won't be selected for a single-trailer job).<br />
<br />
== Related Units ==<br />
*[[Documentation/Engine/Units/cargo_data|cargo_data]]<br />
*[[Documentation/Engine/Units/trailer|trailer]]</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Game_data/Player_trucks_definitions&diff=4075Documentation/Engine/Game data/Player trucks definitions2019-05-22T13:40:26Z<p>Smarty: /* Vehicle Configurations */</p>
<hr />
<div>Player truck definitions can be thought of in two components: <br />
*[[#Vehicle_Parts_Definitions|Vehicle parts definitions]] describe the characteristics of the truck and its many accessories.<br />
:-Think of these as a set of building blocks from which the truck can be built; They don't assemble themselves!<br />
*[[#Vehicle_Configurations|Vehicle configurations]] assemble the parts definitions into a vehicle that may be driven or purchased.<br />
:-Think of them as the instructions for the game to assemble the building blocks (data definitions) into a vehicle when it is first loaded.<br />
<br />
==Vehicle Parts Definitions==<br />
<br />
Each truck is configured in its own folder (e.g. "'''<brand.truck>'''" in tree view below) containing:<br />
# SII file: '''data.sii''' - ''defining: truck info, cameras, fallback rules for parts of the truck and required accessories. There is 8 mandatory fallback rules: chassis, cabin, interior, engine, transmission, f_wheel (or f_tire), r_wheel (or r_tire), paint_job and head_light''.<br />
# Subfolders: ('''chassis''', '''cabin''', '''interior''', '''engine''', '''transmission''', '''paint_job''', '''head_light''', '''sound''') - ''defining different parts and accessories of the truck. First 7 folders are needed because of mandatory fallback rules and sound folder is needed for truck mandatory sounds definitions.''<br />
# Optional folder: '''accessory''' - ''defining all possible accessories for the truck that user can install in game Upgrade Shop. This folder holds another level of sub folders for separating different accessory types that player can install on the truck and will be listed in Upgrade Shop once player selects proper accessory type. Moreover names of subfolders directly correspond to the names of model locators truck 3D model has to have for ability of having that types of accessories enabled in the game.''<br />
<br />
<div class="folder_structure"><br />
<br />
{{FileSystemTreeEntry|icon=FST-IconRoot|type=|name=Root game folder|link=../#Root game folder}} <br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=def|link=../#Definitions}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=vehicle|link=../#Vehicle definitions}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck|mark_current=1}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=<brand.truck>}} ''Truck main configuration folder.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=accessory}} ''Folder for defining all [[Documentation/Engine/Units/accessory_addon_data|accessory]] types which can be installed on this truck.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=beacon}} ''Folder for defining accessories of the type "beacon".''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=shape1.sii}} ''File defining one beacon model which can be named freely (no restriction applies on SII file naming inside accessory type).''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=...}} ''More beacon models definition files.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=...}} ''Folders defining more accessory types and it's model definitions.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=cabin}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_cabin_data|cabin]] mandatory truck part; one cabin per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=chassis}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_chassis_data|chassis]] mandatory truck part; one chassis per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=engine}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_engine_data|engine]] mandatory truck part; one engine per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=head_light}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_head_lights_data|head light]] mandatory truck part; one head light type per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=interior}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_interior_data|interior]] mandatory truck part, its [[Documentation/Engine/Truck_Interior_Animations_and_IDs#Interior_Animations|animations]], dashboard colors and glass data; one interior per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=paint_job}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_paint_job_data|paint job]] mandatory truck part; one paint job per one SII file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=sound}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_sound_data|sound]] mandatory truck part. There should be at least two SII files:''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=<name>_ext.sii}} ''File defining exterior sounds.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=<name>_int.sii}} ''File defining interior sounds.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=...}} ''Additional sound definition files (if applicable).''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=transmission}} ''Folder with SII files defining [[Documentation/Engine/Units/accessory_transmission_data|transmission]] mandatory truck part; one transmission per one SII file.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=data.sii}} ''Defining [[Documentation/Engine/Units/accessory_truck_data|truck global data]]: info, cameras and fallback rules.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=<2nd_brand.truck>}} ''Folder defining second truck having the same inner folder structure as first truck above.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=...}} ''Folders for defining more trucks.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=common_sound_ext.sui}} ''Defines common sounds list for exterior. This list has to be [[Documentation/Engine/Units#Includes|included]] in each truck exterior sounds definition file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=common_sound_ext_data.sui}} ''Defines common sounds data for "'''common_sound_ext.sii'''" list.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=common_sound_int.sui}} ''Defines common sounds list for interior. This list has to be included in each truck interior sounds definition file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=common_sound_int_data.sui}} ''Defines common sounds data for "'''common_sound_int.sii'''" list.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=fallback.sii}} ''Configuration of fallback truck in the case player loads save with truck that is not in game data any more (may happen when truck mod is removed).''<br />
<br />
</div><br />
<br />
==Vehicle Configurations==<br />
<br />
There are three types of player truck configurations, depending on their use in the game:<br />
# Dealers inside folder: "'''/def/vehicle/truck_dealer/'''" (if truck has RHD variant also in UK dealers folder: "'''/def/vehicle/truck_dealer_uk/'''").<br />
# Desktop preview inside folder: "'''/def/vehicle/truck_desktop/'''" (if truck has RHD variant also in UK dealers folder: "'''/def/vehicle/truck_desktop_uk/'''").<br />
# (Optional) Quick Jobs trucks inside folder: "'''/def/vehicle/truck_company/'''" (if truck has RHD variant also in UK dealers folder: "'''/def/vehicle/truck_company_uk/'''").<br />
<br />
<div class="folder_structure"><br />
<br />
{{FileSystemTreeEntry|icon=FST-IconRoot|type=|name=Root game folder|link=#Root game folder}} <br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=def|link=#Definitions}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=vehicle|mark_current=1}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=...}}<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_company}} ''Truck configurations for Quick Jobs.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=double}} ''Truck configurations for doubles Quick Jobs (ETS2 Only)''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=heavy}} ''Truck configurations for heavy Quick Jobs''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=oversize}} ''Truck configurations for Special Transport Quick Jobs''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=&lt;brand&gt;_truck_a.sii}} ''Quick Job truck configurations. The file name up to the first underscore is used for brand sorting.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=...}} ''Additional Quick Job truck configurations''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_company_uk}} ''Quick Job truck configurations for RHD trucks (UK related). (ETS2 Only)''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_dealer}} ''Contains truck configurations in brand-specific subfolders..''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=&lt;brand&gt;}} ''Contains truck configurations. The name of the folder should be tokenizable and will be detected as a brand.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=some_truck.sii}} ''Dealer truck configuration.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=...}} ''More dealer truck configurations. Typically one per file.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_dealer_uk}} ''Defines assortment of RHD trucks for dealers and has the same structure as '''truck_dealer'''. (ETS2 only)''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_desktop}} ''Truck configurations used in Truck Browser.''<br />
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=some_truck.sii}} ''Desktop truck configuration. There are no naming restrictions, but be wary of naming collisions.''<br />
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=...}} ''Additional Desktop truck configurations''<br />
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_desktop_uk}} ''Truck configurations for RHD trucks used in Truck Browser if player started game in UK. (ETS2 only)''<br />
└{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=...}} <br />
<br />
</div></div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/trailer_configuration&diff=4067Documentation/Engine/Units/trailer configuration2019-05-21T14:24:01Z<p>Smarty: </p>
<hr />
<div>The '''trailer_configuration''' unit class is used to collect the chassis of a given configuration for an ownable trailer, define which body set(s) are valid for that configuration, and define which configurations are &ldquo;equivalent&rdquo; for the purposes of trailer configuration. Units of this type are usually found in '''/def/vehicle/trailer_owned/&lt;brand.model&gt;/configurations/'''<br />
<br />
== Attributes ==<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|'''name'''<br />
|string<br />
|<br />
|Full name of the configuration for UI display.<br />
|-<br />
|icon<br />
|string<br />
|<br />
|Path relative to <code>/material/ui/accessory/</code> to the icon for the accessory, omitting the file extension. For example, <code>icon: "truck_name/fancy_doodad"</code> would point to <code>/material/ui/accessory/truck_name/fancy_doodad.mat</code>.<br />
|-<br />
|'''chain_type'''<br />
|token<br />
|<br />
|Defines the chain type (e.g. single, double, rmdouble, etc)<br />
|-<br />
|equivalency<br />
|token<br />
|<br />
|Trailer configurations with matching '''equivalency''' tokens can be switched during gameplay using the Trailer Configuration menu. This must be set explicitly &mdash; Configurations with blank equivalency attributes will not match.<br />
|-<br />
|'''chassis'''<br />
|array&lt;string&gt;<br />
|<br />
|Array of paths to chassis definitions for the trailer configuration (e.g. <code>chassis[]: "/def/vehicle/trailer_owned/scs.box/chassis/ch_45_f.sii"</code>). The expected unit type is [[Documentation/Engine/Units/accessory_chassis_data|accessory_chassis_data]].<br />
|-<br />
|'''body_sets'''<br />
|array&lt;owner_ptr&gt; ([[Documentation/Engine/Units/trailer_body_set|trailer_body_set]])<br />
|<br />
|Array of compatible '''trailer_body_set'''s with this configuration. This array is usually automatically gathered from a sub-folder with the same name as the base configuration file (name of the file to first dot, so configuration "single3.sii" or "single3.mymod.sii" should have body sets in folder "/def/vehicle/trailer_owned/&lt;brand.model&gt;/configurations/single3"). Body sets can also be defined and linked explicitly within the configuration definition. Each trailer configuration must have at least one valid body set.<br />
|}<br />
<br />
==Related Units==<br />
*[[Documentation/Engine/Units/trailer_body_set|trailer_body_set]]<br />
*[[Documentation/Engine/Units/accessory_chassis_data|accessory_chassis_data]]</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/vehicle_accessory&diff=4066Documentation/Engine/Units/vehicle accessory2019-05-21T14:20:26Z<p>Smarty: /* Suitable Accessory Data Types */</p>
<hr />
<div>The '''vehicle_accessory''' unit class is used to 'attach' certain types of accessories and their data to vehicle and trailer configurations. Units of this type are typically nameless and declared within the same context as the configuration that owns/uses them.<br />
<br />
== Attributes ==<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|wear<br />
|float<br />
|0.0<br />
|This attribute is used to track damage and wear to the accessory. 0 corresponds to an unworn state and 1 corresponds to a completely worn state.<br />
|-<br />
|'''data_path'''<br />
|string<br />
|<br />
|Full path to the SII file containing a suitable accessory data unit.<br />
|}<br />
<br />
== Suitable Accessory Data Types ==<br />
These accessory data types can be used by '''vehicle_accessory''':<br />
<div style="column-count:2;-moz-column-count:2;-webkit-column-count:2"><br />
*[[Documentation/Engine/Units/accessory_cabin_data|accessory_cabin_data]]<br />
*[[Documentation/Engine/Units/accessory_cargo_data|accessory_cargo_data]]<br />
*[[Documentation/Engine/Units/accessory_chassis_data|accessory_chassis_data]]<br />
*[[Documentation/Engine/Units/accessory_engine_data|accessory_engine_data]]<br />
*[[Documentation/Engine/Units/accessory_headlight_data|accessory_headlight_data]]<br />
*[[Documentation/Engine/Units/accessory_interior_data|accessory_interior_data]]<br />
*[[Documentation/Engine/Units/accessory_truck_data|accessory_trailer_data]]<br />
*[[Documentation/Engine/Units/accessory_truck_data|accessory_trailer_body_data]]<br />
*[[Documentation/Engine/Units/accessory_transmission_data|accessory_transmission_data]]<br />
*[[Documentation/Engine/Units/accessory_truck_data|accessory_truck_data]]<br />
</div><br />
<br />
== Related Units ==<br />
<div style="column-count:2;-moz-column-count:2;-webkit-column-count:2"><br />
*[[Documentation/Engine/Units/traffic_trailer|traffic_trailer]]<br />
*[[Documentation/Engine/Units/traffic_vehicle|traffic_vehicle]]<br />
*[[Documentation/Engine/Units/trailer|trailer]]<br />
*[[Documentation/Engine/Units/vehicle|vehicle]]<br />
*[[Documentation/Engine/Units/vehicle_addon_accessory|vehicle_addon_accessory]]<br />
*[[Documentation/Engine/Units/vehicle_paint_job_accessory|vehicle_paint_job_accessory]]<br />
*[[Documentation/Engine/Units/vehicle_sound_accessory|vehicle_sound_accessory]]<br />
*[[Documentation/Engine/Units/vehicle_wheel_accessory|vehicle_wheel_accessory]]<br />
</div></div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/trailer_configuration&diff=4065Documentation/Engine/Units/trailer configuration2019-05-21T14:14:22Z<p>Smarty: Created page with "The '''trailer_configuration''' unit class is used to collect the chassis of a given configuration for an ownable trailer, define which body set(s) are valid for that configur..."</p>
<hr />
<div>The '''trailer_configuration''' unit class is used to collect the chassis of a given configuration for an ownable trailer, define which body set(s) are valid for that configuration, and define which configurations are &ldquo;equivalent&rdquo; for the purposes of trailer configuration.<br />
<br />
== Attributes ==<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|'''name'''<br />
|string<br />
|<br />
|Full name of the configuration for UI display.<br />
|-<br />
|icon<br />
|string<br />
|<br />
|Path relative to <code>/material/ui/accessory/</code> to the icon for the accessory, omitting the file extension. For example, <code>icon: "truck_name/fancy_doodad"</code> would point to <code>/material/ui/accessory/truck_name/fancy_doodad.mat</code>.<br />
|-<br />
|'''chain_type'''<br />
|token<br />
|<br />
|Defines the chain type (e.g. single, double, rmdouble, etc)<br />
|-<br />
|equivalency<br />
|token<br />
|<br />
|Trailer configurations with matching '''equivalency''' tokens can be switched during gameplay using the Trailer Configuration menu. This must be set explicitly &mdash; Configurations with blank equivalency attributes will not match.<br />
|-<br />
|'''chassis'''<br />
|array&lt;string&gt;<br />
|<br />
|Array of paths to chassis definitions for the trailer configuration (e.g. <code>chassis[]: "/def/vehicle/trailer_owned/scs.box/chassis/ch_45_f.sii"</code>). The expected unit type is [[Documentation/Engine/Units/accessory_chassis_data|accessory_chassis_data]].<br />
|-<br />
|'''body_sets'''<br />
|array&lt;owner_ptr&gt; ([[Documentation/Engine/Units/trailer_body_set|trailer_body_set]])<br />
|<br />
|Array of compatible '''trailer_body_set'''s with this configuration. This array is usually automatically gathered from a sub-folder with the same name as the base configuration file (name of the file to first dot, so configuration "single3.sii" or "single3.mymod.sii" should have body sets in folder "/def/vehicle/trailer_owned/<brand.model>/configurations/single3"). Body sets can also be defined and linked explicitly within the configuration definition. Each trailer configuration must have at least one valid body set.<br />
|}</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/cargo_data&diff=4061Documentation/Engine/Units/cargo data2019-05-15T04:42:18Z<p>Smarty: </p>
<hr />
<div>The '''cargo_data''' unit class is used to define the logistical, semantic, and economic properties of a cargo. Units of this type are usually defined in '''/def/cargo/&lt;cargo_name&gt;.sii''' and [[Documentation/Engine/Units#Includes|included]] in '''/def/cargo.&lt;mod_name&gt;.sii''' and therefore '''must not''' use the SiiNunit magic mark.<br />
<br />
== Attributes ==<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|name<br />
|string<br />
|<br />
|The name of the cargo for ui display. Supports @@localization@@.<br />
|-<br />
|body_types<br />
|array&lt;token&gt;<br />
|<br />
|List of body types the cargo can be loaded in.<br />
|-<br />
|volume<br />
|float<br />
|<br />
|The volume in m<sup>3</sup> of one unit of cargo.<br />
|-<br />
|mass<br />
|float<br />
|<br />
|The mass in kg of one unit of cargo.<br />
|-<br />
|unit_reward_per_km<br />
|float<br />
|<br />
|The reward in the base currency to transport one unit of the cargo one kilometer.<br />
|-<br />
|unit_load_time<br />
|float<br />
|<br />
|The time in seconds to load one unit of cargo.<br />
|-<br />
|fragility<br />
|float<br />
|<br />
|Defines how sensitive to damage the cargo is.<br />
|-<br />
|valuable<br />
|bool<br />
|false<br />
|When true, the player will require the Valuable Cargo skill to take the cargo and will receive related skill bonuses to XP and income.<br />
|-<br />
|overweight<br />
|bool<br />
|false<br />
|<br />
|-<br />
|adr_class<br />
|uint<br />
|<br />
|Assigns an ADR/Hazardous Materials classification to the cargo. The player will require the corresponding skill to take the cargo.<br />
|-<br />
|minimum_distance<br />
|float<br />
|0<br />
|The minimum distance in kilometers (km) for which a job may be generated using this cargo.<br />
|-<br />
|maximum_distance<br />
|float<br />
|&infin;<br />
|The maximum distance in kilometers (km) for which a job may be generated using this cargo.<br />
|-<br />
|prob_coef<br />
|float<br />
|1.0<br />
|The relative probability of spawning a job with this cargo.<br />
|-<br />
|group<br />
|array&lt;token&gt;<br />
|<br />
|Each member marks the cargo as belonging to a predefined group for cargo sorting. Valid values are:<br />
<div style="column-count:2;-moz-column-count:2;-webkit-column-count:2"><br />
*machinery<br />
*adr<br />
*containers<br />
*refrigerated<br />
*liquid<br />
*fragile<br />
*construction<br />
*bulk<br />
*oversize<br />
</div><br />
Typically, the ''fragile'' category is reserved for cargoes with a '''fragility''' of 0.7 or higher.<br />
|}<br />
<br />
== Related Units ==<br />
*[[Documentation/Engine/Units/cargo_def|cargo_def]] (used to mark a cargo as produced or accepted by a company)<br />
*[[Documentation/Engine/Units/trailer_def|trailer_def]] (used to assign a trailer configuration to a cargo and set related mass properties)</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/trailer_def&diff=4060Documentation/Engine/Units/trailer def2019-05-15T02:01:15Z<p>Smarty: /* Attributes */ Much-needed update</p>
<hr />
<div>The '''trailer_def''' unit class acts as an intermediary between [[Documentation/Engine/Units/cargo_data|cargo_data]] and [[Documentation/Engine/Units/trailer|trailer]] units. Units of this type are usually defined in '''/def/cargo/&lt;cargo_name&gt;/&lt;trailer_name&gt;.sii''', corresponding to '''def/cargo/&lt;cargo_name&gt;.sii'''. They define which trailer configuration to enable for the cargo, the cargo's mass for that trailer configuration, how that mass is distributed/placed on the trailer and its slave units, and where the configuration is permitted.<br />
<br />
== Attributes ==<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|trailer<br />
|string<br />
|<br />
|The unit name of the '''trailer''' unit to be enabled for the cargo. This attribute can safely refer to units which aren't present. (Only for legacy usage when defined in /def/cargo/&lt;cargo_name&gt;/)<br />
|-<br />
|gross_trailer_weight_limit<br />
|float<br />
|<br />
|The maximum technical or logical combined weight of the trailer and its cargo (take into account bridge formula, and other similar rules).<br />
|-<br />
|chassis_mass<br />
|float<br />
|<br />
|The mass of the trailer chassis in kg.<br />
|-<br />
|body_mass<br />
|float<br />
|<br />
|The mass of the trailer body in kg.<br />
|-<br />
|length<br />
|float<br />
|0<br />
|The length of the trailer combination in meters. When generating a job this is compared against the '''allowed_trailer_length''' of the source and destination depot [[Documentation/Engine/Units/prefab_data|prefabs]] to determine whether this trailer_def is suitable for the job.<br />
|-<br />
|axles<br />
|uint<br />
|<br />
|The number of axles in the trailer combination, which is checked against country_data&rarr;mass_limit_per_axle_count to determine the allowable gross weight.<br />
|-<br />
|volume<br />
|float<br />
|<br />
|The interior volume of the trailer body in m<sup>3</sup>.<br />
|-<br />
|body_type<br />
|token<br />
|<br />
|Sets the body type of the trailer configuration, which determines which cargoes are allowed to be carried.<br />
|-<br />
|chain_type<br />
|token<br />
|<br />
|Sets the trailer chain type of the trailer configuration.<br />
|-<br />
|country_validity<br />
|array&lt;token&gt;<br />
|<br />
|Each member is a <!--[[Documentation/Engine/Units/country_data|country]]-->country (or a state in ATS) where this trailer_def will be suitable for generated jobs. Both the origin and destination of a job must be in the ''country'' array for the trailer_def to be suitable for it. If unset, then the trailer_def is suitable in all countries.<br />
<br />
For example, the following would be limited to only Nevada and Arizona:<br />
<pre>country[]: arizona<br />
country[]: nevada</pre><br />
|-<br />
|cargo_mass_ratio<br />
|array&lt;float&gt;<br />
|<pre>cargo_mass_ratio:&nbsp;1<br />
cargo_mass_ratio[0]:&nbsp;1</pre><br />
|Each member defines how much of the cargo mass and forces are borne by each trailer in the trailer configuration, starting with the ''master'' trailer and iterating through the ''slave'' trailers. These must add up to 1.<br />
|}<br />
<br />
== World of Trucks Compatibility ==<br />
World of Trucks jobs will make use of mod trailers if the following conditions are satisfied:<br />
*The '''mass''' is equal to, or greater than the job's cargo mass.<br />
*The '''length''' is compatible with the source and destination prefabs.<br />
*The configuration is valid for the source and destination '''country'''.<br />
*The trailer count is equal to the trailer count of the job (i.e. A multipivot trailer configuration won't be selected for a single-trailer job).<br />
<br />
== Related Units ==<br />
*[[Documentation/Engine/Units/cargo_data|cargo_data]]<br />
*[[Documentation/Engine/Units/trailer|trailer]]</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/cargo_model_match&diff=4059Documentation/Engine/Units/cargo model match2019-05-15T00:52:05Z<p>Smarty: Created page with "The '''cargo_model_match''' unit class is used to match cargo models with appropriate trailers. Units of this type are f..."</p>
<hr />
<div>The '''cargo_model_match''' unit class is used to match cargo models with appropriate [[Documentation/Engine/Game_data#Trailer_definitions|trailers]]. Units of this type are found in '''/def/cargo/&lt;cargo_name&gt;/model_*.sii'''<br />
<br />
== Attributes ==<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|compatible_body<br />
|array&lt;string&gt;<br />
|<br />
|Paths to definitions of compatible bodies and/or chassis. The expected unit type is either [[Documentation/Engine/Units/accessory_chassis_data|'''accessory_chassis_data''']] or [[Documentation/Engine/Units/accessory_trailer_body_data|'''accessory_trailer_body_data''']].<br />
|-<br />
|data_path<br />
|array&lt;string&gt;<br />
|<br />
|Paths to definitions of compatible cargo accessories, one of which will be chosen pseudo-randomly during job generation. The expected unit type is [[Documentation/Engine/Units/accessory_cargo_data|'''accessory_cargo_data''']].<br />
|}</div>Smartyhttps://modding.scssoft.com/index.php?title=Tutorials/Advanced/Extended_Shadows&diff=4056Tutorials/Advanced/Extended Shadows2019-05-13T22:12:06Z<p>Smarty: /* Making the Fakeshadow Surface */ Text first draft; needed images in comments</p>
<hr />
<div>{{Construction}}<br />
<br />
This tutorial will provide a brief overview of the extended shadow effect used for player trucks and trailers, and guide you through correctly setting up your model for it.<br />
<br />
== Overview ==<br />
The extended shadow effect is used to draw a shadow volume underneath the player's truck and trailer. A grayscale texture is used to define the strength of the shadow volume along its length and width. Within the model, two locators are used to define the shadow volume and a surface is used to define the limit of the effect in the vertical direction. The effect can be fine tuned in the corresponding [[Documentation/Engine/Units/accessory_chassis_data|chassis definition]].<br />
<br />
[[File:Ext_shadow_001.jpg|thumb]]<br />
[[File:Ext_shadow_002.jpg|thumb]]<br />
=== Locators ===<br />
The origin locator (shadow_x_ori, shd_x_ori1, shd_x_ori2, etc) defines the upper boundary, center, direction, and orientation of the shadow volume. This locator should generally always be oriented so that it points down (i.e. rotated so that the locator '''+y''' points in global '''-Z''') and rotated so that its '''+z''' points in global '''-Y'''. The corner locator (shadow_x_crn, shd_x_crn1, shd_x_crn2, etc) defines the width, length, and lower boundary of the shadow volume.<br />
<br />
=== ''Fakeshadow'' Surface ===<br />
A surface using the ''fakeshadow'' effect is used to limit where shading is applied within the shadow volume. By default, the extended shadow texture is projected vertically within the entire shadow volume, shading all of the geometry within. When a ''fakeshadow'' surface is present, only the volume 'outside' of the surface relative to the shadow volume origin will be shaded. So, typically, the normals of any fakeshadow surface will point toward the ground. It is also important that the ''fakeshadow'' surface covers the entire length and width of the shadow volume, or there may be undesirable shading in the uncovered areas.<br />
<br clear=all /><br />
== Model Set-Up ==<br />
<br />
=== Placing the Locators ===<br />
Typically, the same texture will be used for both the extended shadow and the UI shadow model of a truck or trailer. In this case, the extended shadow locators must be placed in reference to the UI shadow model so that the texture will project onto the shadow volume the same way it's mapped to the UI shadow.<br />
<br />
#Place the origin locator (shadow_x_ori) using {{Key_press|Shift|A}} so that is sits in the bounding box center of your UI shadow model when viewed from above. Its position in Z is the top of the shadow volume/the highest point that would be darkened by the extended shadow.<br />[[File:Ext_shadow_3.jpg|center]]<br />
#Rotate the origin locator to the standard orientation: {{Key_press|R}}, {{Key_press|X}}, -90; {{Key_press|R}}, {{Key_press|Z}}, 180. Its orientation in the Transform panel should look like this:<br />[[File:Ext_shadow_3b.jpg|center]]<br />
#Place the corner locator (shadow_x_crn) at the front left (+Y, -X) extreme of your UI shadow model when viewed from above. Usually, it is placed it below ground level so that the shadow doesn't disappear awkwardly when the player goes over a dip. A reasonable value is around -65cm. (If it is very low, the shadow volume will extend below bridges, etc)<br />[[File:Ext_shadow_4.jpg|center]]<br />
<br />
=== Making the ''Fakeshadow'' Surface ===<br />
Select the extended shadow origin locator (shadow_x_ori or shd_x_ori) and snap the 3D cursor to it ({{Key_press| Shift|S}} &rarr; ''Cursor to Selected''). Add a plane to the scene ({{Key_press|Shift|A}} &rarr; Mesh &rarr; Plane). This plane will become your fakeshadow surface!<br />
<br />
<!-- Image showing freshly-inserted plane at origin locator with 3D cursor visible --><br />
<br />
Enable snapping ({{Key_press|Shift|Tab}}), select vertex mode, and use the ''Closest'' target mode. Make sure the corner locator (shadow_x_crn or shd_x_crn) is visible.<br />
<br />
<!-- Small image showing snapping settings --><br />
<br />
Select the plane you created, enter Edit mode, and select all. Scale the plane in ''X'' and then in ''Y'', snapping to the corner locator each time. Flip the normals of the plane so that they face down, using {{Key_press|Ctrl|F}} &rarr; Flip Normals.<br />
<br />
<!-- Image showing scaled, flipped plane --><br />
<br />
Assign your fakeshadow surface an SCS Material using the ''fakeshadow'' effect. [https://docs.blender.org/manual/en/dev/editors/3dview/object/properties/relations/parents.html Parent] the plane to your vehicle's SCS root locator.<br />
<br />
<!-- Image showing fakeshadow material on fakeshadow surface --><br />
<br />
At this point, your vehicle has a functional fakeshadow surface! However, it may not fit very well yet. The surface can be subdivided and manipulated as needed. Be careful to ensure that the outside edges still cover the entire shadow volume.<br />
{{Tip|The [https://docs.blender.org/manual/en/dev/modeling/meshes/editing/subdividing/loop.html Loop Cut] tool is useful for quickly subdividing the fakeshadow surface.}}<br />
<br />
<!-- Quick GIF or video showing fakeshadow surface being subdivided and manipulated into final form. --><br />
<br />
=== Creating the Shadow Texture ===<br />
<br />
== Definitions Set-Up ==<br />
<br />
== Troubleshooting ==</div>Smartyhttps://modding.scssoft.com/index.php?title=Games/ETS2/Modding_guides/1.35&diff=4055Games/ETS2/Modding guides/1.352019-05-13T17:35:08Z<p>Smarty: /* Trailer type and storage renaming */</p>
<hr />
<div>= Introduction =<br />
<br />
The following page contains modding guidelines for the new update of the game.<br />
<br />
To better understand changes in units it is recommended to check [[Documentation/Engine/Units|Units documentation]] page.<br />
<br />
= Recommendations =<br />
* When basing your model on the original ones, add to your mod also <strong>ALL</strong> original /automat/ files used by it. The names of the files are generated as CityHash64 hash of theirs content so whenever we change the parameters of the material in any way, a different file will be used to store them and the original file might cease to exist if there is no other model utilizing the original parameters.<br />
* When modifying original models, always include <strong>ALL</strong> components of the model (pmg+pmd) instead of just those you changed. Otherwise you risk crash if we change the model.<br />
* As always when adding new objects to files which support multi-file approach (e.g. road_look.sii) it is <strong>HIGHLY RECOMMENDED</strong> to use suffix or prefix in the name to avoid conflicts with new objects we are adding in patches. Otherwise you might have to use the batch renaming functionality (see Batch renaming) to fix the conflicts when new patch appears.<br />
<br />
= How to convert map =<br />
<br />
* If your mod adds Estonia, Latvia, Lithuania, Russia or Finland update your country, ferry, semaphore model and semaphore profile definitions to avoid conflicts.<br />
* Load map<br />
* Do rebuild (F8)<br />
* Save map<br />
* Select correct looks for models where the selection of the looks changed<br />
<br />
= Changes & New Features =<br />
<br />
== Curve items ==<br />
<br />
TBA, map<br />
<br />
== Mover/walker unification and improvement ==<br />
<br />
Approach to movers and similar object has been completely reworked. '''Walker item''' is now obsolete and it is possible that it will be removed in the future. For the similar functionality use '''mover item''' with [[Documentation/Engine/Mover_model_group|mover model group]]. Mover item now supports all important properties from the walker item.<br />
<br />
Moverover <code>mover_model_u</code> property <code>model_anim_alt</code> is also now obsolete and it '''will be removed''' in the next update. It means that '''pedestrian hookups''' using this property won't work correctly. Recommended approach is to replace them by new mover hookups with [[Documentation/Engine/Mover_model_group|mover model group]] models.<br />
<br />
== Traffic changes ==<br />
<br />
=== Trailer chains ===<br />
<br />
Supported trailers are now defined at one place: ''in '''traffic_vehicle''' by defining the whole trailer chain'' (previously it was combination of per vehicle/trailer type + per vehicle/trailer)<br />
Related attributes in '''traffic_trailer''', '''traffic_vehicle_type''' and '''traffic_trailer_type''' are now obsolete. <br />
Partial backward compatibility is provided (more complex trailer configurations may not be created correctly using old attributes)<br />
<br />
{{Note|Support for wildcards has been removed to avoid the unnecessary complexity.}}<br />
{{Tip|If you have used (now obsolete) attribute '''allowed_tractor''', the similar functionality can be achieved by setting '''spawn_ratio: 0.0''' for trailers which have been using it. This way, they won't be chosen for any vehicle unless explicitly set in '''trailer_chains'''.}}<br />
<br />
Each trailer chain element can be specified either by trailer type name (a random trailer model of that type will be spawned)<br />
or directly by traffic trailer unit name. Optionally, for each element, the minimum and maximum count of occurrence can be specified. Elements and counts are separated by '|'.<br />
<br />
'''Examples:'''<br />
<br />
<code>trailer_chains[]: "semi_trailer"</code> - the vehicle will have one trailer of type '''semi_trailer'''<br />
<br />
<code>trailer_chains[]: "traffic_trailer.first | traffic_trailer.middle 2-4 | traffic_trailer.last"</code> - trailer chain with specific elements, 'traffic_trailer.middle' can occur 2-4 times.<br />
<br />
=== Spawn density rules ===<br />
<br />
Trailer chain support has been added also to ''spawn density'' traffic rules (''traffic_rules_spawn.sui''). All items beyond the first one in the '''str_params''' attribute are now interpreted as allowed trailer chains. This can be useful for specifying areas in map where custom trailers (custom cargo) are spawned.<br />
<br />
Example:<br />
<br />
<pre><br />
traffic_rule_data : traffic_rule.s_train_c2<br />
{<br />
name: "Spawn density - cargo train (plane)"<br />
<br />
rule: "density"<br />
<br />
str_params[]: "train_cargo"<br />
str_params[]: "train_car.trplane_car 1 | train_car.trplane_care 1 | train_car.trplane_car 1 | train_car.trplane_care 1 | train_car.trplane_car 1 | train_car.trplane_care 1"<br />
<br />
num_params[]: 0.0 # 00:00<br />
num_params[]: 0.015 # frequency<br />
num_params[]: 1 # count limit<br />
}<br />
</pre><br />
<br />
=== Parked vehicles/trailers ===<br />
<br />
Parked vehicle/trailer attribute '''allowed_trailer''' is now also interpreted as a trailer chain definition. <br />
<br />
{{Note|Attribute '''allowed_trailer_count''' is now obsolete, since the trailer count is determined from trailer chain automatically.}}<br />
<br />
=== Trailer type and storage renaming ===<br />
<br />
Some trailer types and corresponding storages have been renamed by using a more universal ''special'' suffix to better match their usage. They contain trailers which are always selected explicitly, never randomly across the whole storage:<br />
<br />
* ''traffic_storage_train_car_pass.sii'' &rarr; ''traffic_storage_train_car_special.sii''<br />
* ''traffic_storage_trailer_parked.sii'' &rarr; ''traffic_storage_trailer_special.sii''<br />
<br />
== Dynamic lods ==<br />
<br />
use dynamic_lod_desc[] instead of lod_desc<br />
<br />
TBA<br />
<br />
== Modded trucks support ==<br />
<br />
For a brand/truck to show up correctly in the Mod Truck Dealer screen, the following conditions must be met:<br />
* The truck's data is located in '''/def/vehicle/truck/<brand>.<model>/'''.<br />
* The truck's unit name in its '''data.sii''' is correctly formatted as '''vehicle.<brand>.<model>'''.<br />
* The truck's dealer definition is located in '''/def/vehicle/truck_dealer/<brand>/'''.<br />
* The '''<brand>''' token must match for all of these.<br />
<br />
The brand's icon in the dealer will be '''/material/ui/truck_brand_logo/<brand>.mat'''.<br />
<br />
== COG data in '''accessory_chassis_data''' ==<br />
<br />
Center of gravity (COG) data has been moved from trailer definition to [[Documentation/Engine/Units/accessory_chassis_data|chassis data]]. They are easier to edit, they have less count than trailer definitions and on given chassis cargo is typically loaded in same way.<br />
<br />
Value logic itself work as before: '''cog_cargo_mass_min''' (float, default 0) and '''cog_cargo_mass_max''' (float, default 20000) sets border limits and '''cog_cargo_offset_min''' (float3, default (0,0,0)) and '''cog_cargo_offset_max''' (float3, default (0,1,0)) set values for interpolation.<br />
<br />
In addition, default COG is now in center of model based on some trailer geometry analysis regardless of trailer model scene origin. So the longitudinal offset used as workaround should be discarded.<br />
<br />
== Cabin suspension ==<br />
<br />
4 point simulation (locator, obsolete/new values in physics.sii)<br />
TBA<br />
<br />
== Wheel offsets ?? ==<br />
<br />
??<br />
<br />
== Wipers duration+delay format ==<br />
<br />
In unit [[Documentation/Engine/Units/accessory interior data|'''accessory_interior_data''']] attribute '''wiper_delay''' has been removed. Instead, the new attribute '''wiper_duration_and_delay''' (array of float2) has been added. Each element contains animation length (in seconds) and time delay between animation loops (in seconds) of one active state.<br />
<br />
If no '''wiper_duration_and_delay''' is correctly stated it is defaulted to single element float2(2.0, 0.0), which serves as single active state in such case.<br />
<br />
== Trailer braces sound ==<br />
<br />
Default value is now set empty. So there is sound only if data explicitly state it.<br />
<br />
== Cargo model randomized ==<br />
<br />
If there are stated more than one model of cargo visualization (see '''data_path''' array in '''cargo_model_match''' unit, stored in '''def/cargo/*/''' folders of cargoes for owned trailers) for given trailer, the one used is chosen pseudo-randomly from them.<br />
<br />
== Timezone sub-areas ==<br />
<br />
Data for time zone sub-areas has been introduced silently in 1.34 update (look for Malheur county, Oregon in ATS or Kaliningrad area, Russia in ETS).<br />
<br />
One set of data is in '''city_data''' units and data is used for static city-based zone usage (eg. delivery times in game economy):<br />
* '''time_zone''' (integer, default is undefined value, represented by week of time, 10080) - time zone of given city in minutes<br />
* '''time_zone_name''' (string, default empty) - name of eventual time zone<br />
If city time zone is undefined (or 10080) then there is used time zone of country the city belongs to.<br />
<br />
Second set of additional data consists of three synchronized arrays (same length expected) stored in '''country_data''' units and is used for spatial detection of time zone on map:<br />
* '''secondary_time_zone_area''' (float4 array) - elements of rectangle areas in editor coordinates<br />
* '''secondary_time_zone''' (integer array) - time delta of given area in minutes<br />
* '''secondary_time_zone_name''' (string array) - name of time zone in given area<br />
If point is in given country (decided by map logic by road/prefabs & borders) then all existing rectangle elements are checked for different time zone than country has. First matching area element defines the proper time zone. If no area is found, country time zone is used instead.<br />
<br />
== Transmission mode names ==<br />
<br />
Unit '''accessory_transmission_data''' has two new string attributes - '''auto_mode_name''' (default "A") and '''manual_mode_name''' (default "M"). Their value is used in dashboard computer display as transmission mode element (id 1310) if truck display contains one.</div>Smartyhttps://modding.scssoft.com/index.php?title=Games/ETS2/Modding_guides/1.35&diff=4054Games/ETS2/Modding guides/1.352019-05-13T16:19:42Z<p>Smarty: /* Trailer chains */ Corrected attribute name and syntax</p>
<hr />
<div>= Introduction =<br />
<br />
The following page contains modding guidelines for the new update of the game.<br />
<br />
To better understand changes in units it is recommended to check [[Documentation/Engine/Units|Units documentation]] page.<br />
<br />
= Recommendations =<br />
* When basing your model on the original ones, add to your mod also <strong>ALL</strong> original /automat/ files used by it. The names of the files are generated as CityHash64 hash of theirs content so whenever we change the parameters of the material in any way, a different file will be used to store them and the original file might cease to exist if there is no other model utilizing the original parameters.<br />
* When modifying original models, always include <strong>ALL</strong> components of the model (pmg+pmd) instead of just those you changed. Otherwise you risk crash if we change the model.<br />
* As always when adding new objects to files which support multi-file approach (e.g. road_look.sii) it is <strong>HIGHLY RECOMMENDED</strong> to use suffix or prefix in the name to avoid conflicts with new objects we are adding in patches. Otherwise you might have to use the batch renaming functionality (see Batch renaming) to fix the conflicts when new patch appears.<br />
<br />
= How to convert map =<br />
<br />
* If your mod adds Estonia, Latvia, Lithuania, Russia or Finland update your country, ferry, semaphore model and semaphore profile definitions to avoid conflicts.<br />
* Load map<br />
* Do rebuild (F8)<br />
* Save map<br />
* Select correct looks for models where the selection of the looks changed<br />
<br />
= Changes & New Features =<br />
<br />
== Curve items ==<br />
<br />
TBA, map<br />
<br />
== Mover/walker unification and improvement ==<br />
<br />
Approach to movers and similar object has been completely reworked. '''Walker item''' is now obsolete and it is possible that it will be removed in the future. For the similar functionality use '''mover item''' with [[Documentation/Engine/Mover_model_group|mover model group]]. Mover item now supports all important properties from the walker item.<br />
<br />
Moverover <code>mover_model_u</code> property <code>model_anim_alt</code> is also now obsolete and it '''will be removed''' in the next update. It means that '''pedestrian hookups''' using this property won't work correctly. Recommended approach is to replace them by new mover hookups with [[Documentation/Engine/Mover_model_group|mover model group]] models.<br />
<br />
== Traffic changes ==<br />
<br />
=== Trailer chains ===<br />
<br />
Supported trailers are now defined at one place: ''in '''traffic_vehicle''' by defining the whole trailer chain'' (previously it was combination of per vehicle/trailer type + per vehicle/trailer)<br />
Related attributes in '''traffic_trailer''', '''traffic_vehicle_type''' and '''traffic_trailer_type''' are now obsolete. <br />
Partial backward compatibility is provided (more complex trailer configurations may not be created correctly using old attributes)<br />
<br />
{{Note|Support for wildcards has been removed to avoid the unnecessary complexity.}}<br />
{{Tip|If you have used (now obsolete) attribute '''allowed_tractor''', the similar functionality can be achieved by setting '''spawn_ratio: 0.0''' for trailers which have been using it. This way, they won't be chosen for any vehicle unless explicitly set in '''trailer_chains'''.}}<br />
<br />
Each trailer chain element can be specified either by trailer type name (a random trailer model of that type will be spawned)<br />
or directly by traffic trailer unit name. Optionally, for each element, the minimum and maximum count of occurrence can be specified. Elements and counts are separated by '|'.<br />
<br />
'''Examples:'''<br />
<br />
<code>trailer_chains[]: "semi_trailer"</code> - the vehicle will have one trailer of type '''semi_trailer'''<br />
<br />
<code>trailer_chains[]: "traffic_trailer.first | traffic_trailer.middle 2-4 | traffic_trailer.last"</code> - trailer chain with specific elements, 'traffic_trailer.middle' can occur 2-4 times.<br />
<br />
=== Spawn density rules ===<br />
<br />
Trailer chain support has been added also to ''spawn density'' traffic rules (''traffic_rules_spawn.sui''). All items beyond the first one in the '''str_params''' attribute are now interpreted as allowed trailer chains. This can be useful for specifying areas in map where custom trailers (custom cargo) are spawned.<br />
<br />
Example:<br />
<br />
<pre><br />
traffic_rule_data : traffic_rule.s_train_c2<br />
{<br />
name: "Spawn density - cargo train (plane)"<br />
<br />
rule: "density"<br />
<br />
str_params[]: "train_cargo"<br />
str_params[]: "train_car.trplane_car 1 | train_car.trplane_care 1 | train_car.trplane_car 1 | train_car.trplane_care 1 | train_car.trplane_car 1 | train_car.trplane_care 1"<br />
<br />
num_params[]: 0.0 # 00:00<br />
num_params[]: 0.015 # frequency<br />
num_params[]: 1 # count limit<br />
}<br />
</pre><br />
<br />
=== Parked vehicles/trailers ===<br />
<br />
Parked vehicle/trailer attribute '''allowed_trailer''' is now also interpreted as a trailer chain definition. <br />
<br />
{{Note|Attribute '''allowed_trailer_count''' is now obsolete, since the trailer count is determined from trailer chain automatically.}}<br />
<br />
=== Trailer type and storage renaming ===<br />
<br />
Some trailer types and corresponding storages have been renamed by using a more universal ''special'' suffix to better match their usage. They contain trailers which are always selected explicitly, never randomly across the whole storage:<br />
<br />
* ''traffic_storage_train_car_pass.sii'' -> ''traffic_storage_train_car_special.sii''<br />
* ''traffic_storage_trailer_parked.sii'' -> ''traffic_storage_trailer_special.sii''<br />
<br />
== Dynamic lods ==<br />
<br />
use dynamic_lod_desc[] instead of lod_desc<br />
<br />
TBA<br />
<br />
== Modded trucks support ==<br />
<br />
For a brand/truck to show up correctly in the Mod Truck Dealer screen, the following conditions must be met:<br />
* The truck's data is located in '''/def/vehicle/truck/<brand>.<model>/'''.<br />
* The truck's unit name in its '''data.sii''' is correctly formatted as '''vehicle.<brand>.<model>'''.<br />
* The truck's dealer definition is located in '''/def/vehicle/truck_dealer/<brand>/'''.<br />
* The '''<brand>''' token must match for all of these.<br />
<br />
The brand's icon in the dealer will be '''/material/ui/truck_brand_logo/<brand>.mat'''.<br />
<br />
== COG data in '''accessory_chassis_data''' ==<br />
<br />
Center of gravity (COG) data has been moved from trailer definition to [[Documentation/Engine/Units/accessory_chassis_data|chassis data]]. They are easier to edit, they have less count than trailer definitions and on given chassis cargo is typically loaded in same way.<br />
<br />
Value logic itself work as before: '''cog_cargo_mass_min''' (float, default 0) and '''cog_cargo_mass_max''' (float, default 20000) sets border limits and '''cog_cargo_offset_min''' (float3, default (0,0,0)) and '''cog_cargo_offset_max''' (float3, default (0,1,0)) set values for interpolation.<br />
<br />
In addition, default COG is now in center of model based on some trailer geometry analysis regardless of trailer model scene origin. So the longitudinal offset used as workaround should be discarded.<br />
<br />
== Cabin suspension ==<br />
<br />
4 point simulation (locator, obsolete/new values in physics.sii)<br />
TBA<br />
<br />
== Wheel offsets ?? ==<br />
<br />
??<br />
<br />
== Wipers duration+delay format ==<br />
<br />
In unit [[Documentation/Engine/Units/accessory interior data|'''accessory_interior_data''']] attribute '''wiper_delay''' has been removed. Instead, the new attribute '''wiper_duration_and_delay''' (array of float2) has been added. Each element contains animation length (in seconds) and time delay between animation loops (in seconds) of one active state.<br />
<br />
If no '''wiper_duration_and_delay''' is correctly stated it is defaulted to single element float2(2.0, 0.0), which serves as single active state in such case.<br />
<br />
== Trailer braces sound ==<br />
<br />
Default value is now set empty. So there is sound only if data explicitly state it.<br />
<br />
== Cargo model randomized ==<br />
<br />
If there are stated more than one model of cargo visualization (see '''data_path''' array in '''cargo_model_match''' unit, stored in '''def/cargo/*/''' folders of cargoes for owned trailers) for given trailer, the one used is chosen pseudo-randomly from them.<br />
<br />
== Timezone sub-areas ==<br />
<br />
Data for time zone sub-areas has been introduced silently in 1.34 update (look for Malheur county, Oregon in ATS or Kaliningrad area, Russia in ETS).<br />
<br />
One set of data is in '''city_data''' units and data is used for static city-based zone usage (eg. delivery times in game economy):<br />
* '''time_zone''' (integer, default is undefined value, represented by week of time, 10080) - time zone of given city in minutes<br />
* '''time_zone_name''' (string, default empty) - name of eventual time zone<br />
If city time zone is undefined (or 10080) then there is used time zone of country the city belongs to.<br />
<br />
Second set of additional data consists of three synchronized arrays (same length expected) stored in '''country_data''' units and is used for spatial detection of time zone on map:<br />
* '''secondary_time_zone_area''' (float4 array) - elements of rectangle areas in editor coordinates<br />
* '''secondary_time_zone''' (integer array) - time delta of given area in minutes<br />
* '''secondary_time_zone_name''' (string array) - name of time zone in given area<br />
If point is in given country (decided by map logic by road/prefabs & borders) then all existing rectangle elements are checked for different time zone than country has. First matching area element defines the proper time zone. If no area is found, country time zone is used instead.<br />
<br />
== Transmission mode names ==<br />
<br />
Unit '''accessory_transmission_data''' has two new string attributes - '''auto_mode_name''' (default "A") and '''manual_mode_name''' (default "M"). Their value is used in dashboard computer display as transmission mode element (id 1310) if truck display contains one.</div>Smartyhttps://modding.scssoft.com/index.php?title=Games/ETS2/Modding_guides/1.35&diff=4042Games/ETS2/Modding guides/1.352019-05-10T17:51:51Z<p>Smarty: /* Modded trucks support */ Added brand logo mat file location</p>
<hr />
<div>= Introduction =<br />
<br />
The following page contains modding guidelines for the new update of the game.<br />
<br />
To better understand changes in units it is recommended to check [[Documentation/Engine/Units|Units documentation]] page.<br />
<br />
= Recommendations =<br />
* When basing your model on the original ones, add to your mod also <strong>ALL</strong> original /automat/ files used by it. The names of the files are generated as CityHash64 hash of theirs content so whenever we change the parameters of the material in any way, a different file will be used to store them and the original file might cease to exist if there is no other model utilizing the original parameters.<br />
* When modifying original models, always include <strong>ALL</strong> components of the model (pmg+pmd) instead of just those you changed. Otherwise you risk crash if we change the model.<br />
* As always when adding new objects to files which support multi-file approach (e.g. road_look.sii) it is <strong>HIGHLY RECOMMENDED</strong> to use suffix or prefix in the name to avoid conflicts with new objects we are adding in patches. Otherwise you might have to use the batch renaming functionality (see Batch renaming) to fix the conflicts when new patch appears.<br />
<br />
= How to convert map =<br />
<br />
* If your mod adds Estonia, Latvia, Lithuania, Russia or Finland update your country, ferry, semaphore model and semaphore profile definitions to avoid conflicts.<br />
* Load map<br />
* Do rebuild (F8)<br />
* Save map<br />
* Select correct looks for models where the selection of the looks changed<br />
<br />
= Changes & New Features =<br />
<br />
== Curve items ==<br />
<br />
TBA, map<br />
<br />
== Mover/walker unification and improvement ==<br />
<br />
Approach to movers and similar object has been completely reworked.<br />
<br />
For details see [[Documentation/Engine/Mover_model_group|Mover documentation]].<br />
<br />
== AI changes ==<br />
<br />
TBA<br />
<br />
== Dynamic lods ==<br />
<br />
use dynamic_lod_desc[] instead of lod_desc<br />
<br />
TBA<br />
<br />
== Modded trucks support ==<br />
<br />
For a brand/truck to show up correctly in the Mod Truck Dealer screen, the following conditions must be met:<br />
* The truck's data is located in '''/def/vehicle/truck/<brand>.<model>/'''.<br />
* The truck's unit name in its '''data.sii''' is correctly formatted as '''vehicle.<brand>.<model>'''.<br />
* The truck's dealer definition is located in '''/def/vehicle/truck_dealer/<brand>/'''.<br />
* The '''<brand>''' token must match for all of these.<br />
<br />
The brand's icon in the dealer will be '''/material/ui/truck_brand_logo/<brand>.mat'''.<br />
<br />
== COG data in '''accessory_chassis_data''' ==<br />
<br />
Center of gravity (COG) data has been moved from trailer definition to [[Documentation/Engine/Units/accessory_chassis_data|chassis data]]. They are easier to edit, they have less count than trailer definitions and on given chassis cargo is typically loaded in same way.<br />
<br />
Value logic itself work as before: '''cog_cargo_mass_min''' (float, default 0) and '''cog_cargo_mass_max''' (float, default 20000) sets border limits and '''cog_cargo_offset_min''' (float3, default (0,0,0)) and '''cog_cargo_offset_max''' (float3, default (0,1,0)) set values for interpolation.<br />
<br />
In addition, default COG is now in center of model based on some trailer geometry analysis regardless of trailer model scene origin. So the longitudinal offset used as workaround should be discarded.<br />
<br />
== Cabin suspension ==<br />
<br />
4 point simulation (locator, obsolete/new values in physics.sii)<br />
TBA<br />
<br />
== Wheel offsets ?? ==<br />
<br />
??<br />
<br />
== Wipers duration+delay format ==<br />
<br />
In unit [[Documentation/Engine/Units/accessory interior data|'''accessory_interior_data''']] attribute '''wiper_delay''' has been removed. Instead, the new attribute '''wiper_duration_and_delay''' (array of float2) has been added. Each element contains animation length (in seconds) and time delay between animation loops (in seconds) of one active state.<br />
<br />
If no '''wiper_duration_and_delay''' is correctly stated it is defaulted to single element float2(2.0, 0.0), which serves as single active state in such case.<br />
<br />
== Trailer braces sound ==<br />
<br />
Default value is now set empty. So there is sound only if data explicitly state it.<br />
<br />
== Cargo model randomized ==<br />
<br />
If there are stated more than one model of cargo visualization (see '''data_path''' array in '''cargo_model_match''' unit, stored in '''def/cargo/*/''' folders of cargoes for owned trailers) for given trailer, the one used is chosen pseudo-randomly from them.<br />
<br />
== Timezone sub-areas ==<br />
<br />
Data for time zone sub-areas has been introduced silently in 1.34 update (look for Malheur county, Oregon in ATS or Kaliningrad area, Russia in ETS).<br />
<br />
One set of data is in '''city_data''' units and data is used for static city-based zone usage (eg. delivery times in game economy):<br />
* '''time_zone''' (integer, default is undefined value, represented by week of time, 10080) - time zone of given city in minutes<br />
* '''time_zone_name''' (string, default empty) - name of eventual time zone<br />
If city time zone is undefined (or 10080) then there is used time zone of country the city belongs to.<br />
<br />
Second set of additional data consists of three synchronized arrays (same length expected) stored in '''country_data''' units and is used for spatial detection of time zone on map:<br />
* '''secondary_time_zone_area''' (float4 array) - elements of rectangle areas in editor coordinates<br />
* '''secondary_time_zone''' (integer array) - time delta of given area in minutes<br />
* '''secondary_time_zone_name''' (string array) - name of time zone in given area<br />
If point is in given country (decided by map logic by road/prefabs & borders) then all existing rectangle elements are checked for different time zone than country has. First matching area element defines the proper time zone. If no area is found, country time zone is used instead.<br />
<br />
== Transmission mode names ==<br />
<br />
Unit '''accessory_transmission_data''' has two new string attributes - '''auto_mode_name''' (default "A") and '''manual_mode_name''' (default "M"). Their value is used in dashboard computer display as transmission mode element (id 1310) if truck display contains one.</div>Smartyhttps://modding.scssoft.com/index.php?title=Documentation/Engine/Units/trailer_cable_data&diff=4038Documentation/Engine/Units/trailer cable data2019-05-09T16:07:13Z<p>Smarty: /* Attributes */ Added 1.32 attributes.</p>
<hr />
<div>{{Note|This article is a work in progress and has yet to be reviewed by SCS staff. Some information may be incomplete or inaccurate.}}<br />
<br />
The '''trailer_cable_data''' unit class is used for defining a dynamic trailer cable connection between a vehicle and its trailer. Units of this type are typically nameless, and defined in-line with an '''[[Documentation/Engine/Units/accessory_addon_trailer_cables_data|accessory_addon_trailer_cables_data]]''' unit. ''This unit type was added in 1.31 and was previously named '''physics_trailer_cable_data''' until 1.32.''<br />
<br />
== Attributes ==<br />
{|class="wikitable"<br />
!Name<br />
![[Documentation/Engine/Units#Attribute_types|Type]]<br />
!Default Value<br />
!Description<br />
|-<br />
|locator_prefix<br />
|token<br />
|<br />
|The name of the locators on the vehicle and trailer that will be used to connect the cable.<br />
|-<br />
|rest_locator_prefix<br />
|token<br />
|<br />
|The name of the locator on the vehicle that will be used as a rest position for the trailer end of the cable when no trailer is connected. If there is no rest locator, the cable will not be drawn unless there is a cable connected.<br />
|-<br />
|vehicle_plug_model<br />
|string<br />
|<br />
|Path to the descriptor (.pmd) of the model to be used at the vehicle end of the cable. This model will be hooked up at, and oriented to, the locator defined in '''locator_prefix'''. If no model is defined, the cable will be hooked up directly to the locator on the vehicle.<br />
|-<br />
|vehicle_plug_model_variant<br />
|token<br />
|default<br />
|The variant of the '''vehicle_plug_model''' to be used.<br />
|-<br />
|vehicle_plug_model_look<br />
|token<br />
|default<br />
|The look of the '''vehicle_plug_model''' to be used.<br />
|-<br />
|vehicle_plug_model_offset<br />
|float3<br />
|(0.0, 0.0, 0.0)<br />
|The offset (in local space) from the '''vehicle_plug_model''' origin at which the vehicle end of the cable will be attached.<br />
|-<br />
|trailer_plug_model<br />
|string<br />
|<br />
|Path to the descriptor (.pmd) of the model to be used at the trailer end of the cable. This model will be hooked up at, and oriented to, the locator defined in '''locator_prefix''' when there is a trailer attached, or the locator defined in '''rest_locator_prefix''' when there is not a trailer attached. If no model is defined, the cable will be hooked up directly to the locator on the trailer.<br />
|-<br />
|trailer_plug_model_variant<br />
|token<br />
|default<br />
|The variant of the '''trailer_plug_model''' to be used.<br />
|-<br />
|trailer_plug_model_look<br />
|token<br />
|default<br />
|The look of the '''trailer_plug_model''' to be used.<br />
|-<br />
|trailer_plug_model_offset<br />
|float3<br />
|(0.0, 0.0, 0.0)<br />
|The offset (in local space) from the '''trailer_plug_model''' origin at which the trailer end of the cable will be attached.<br />
|-<br />
|ring_count<br />
|int<br />
|<br />
|The number of rings in the spiral portion of the cable. (Minimum 2)<br />
|-<br />
|ring_resolution<br />
|int<br />
|<br />
|The number of sides each ring has. (Minimum 3)<br />
|-<br />
|diameter<br />
|float<br />
|<br />
|Diameter of the spiral portion of the cable. (Minimum 0.02)<br />
|-<br />
|width<br />
|float<br />
|<br />
|Diameter of the cable itself. (Minimum 0.001, cannot exceed '''diameter''')<br />
|-<br />
|straight_cable_length<br />
|float<br />
|0<br />
|Length of straight cable, in meters, if greater than zero. Cables are spiral otherwise.<br />
|-<br />
|back_faces<br />
|boolean<br />
|false<br />
|When true, the "inside" faces of a straight cable are drawn. This can be useful when using a transparent material on cable, so that inner wall of the cable will also be visible (for example back faces are currently used in the new trailer cables for traffic vehicles).<br />
|-<br />
|material<br />
|string<br />
|"/material/ropes/cable_white.mat"<br />
|The material used for rendering the cable.<br />
|-<br />
|color<br />
|float3<br />
|(0.5, 0.5, 0.5)<br />
|The vertex color (in linear colorspace) applied to the cable model.<br />
|-<br />
|resolution<br />
|int<br />
|<br />
|The number of lengthwise segments for the cable simulation. (Minimum 2)<br />
<!--<br />
|-<br />
|position_iterations<br />
|int<br />
|<br />
|<br />
|-<br />
|node_damping<br />
|float<br />
|<br />
|<br />
|-<br />
|linear_stiffness<br />
|float<br />
|<br />
|--><br />
|}</div>Smartyhttps://modding.scssoft.com/index.php?title=Games/ETS2/Modding_guides/1.35&diff=4037Games/ETS2/Modding guides/1.352019-05-08T21:58:33Z<p>Smarty: /* Wipers duration+delay format */ Added relevant wikilink for accessory_interior_data unit description</p>
<hr />
<div>= Introduction =<br />
<br />
The following page contains modding guidelines for the new update of the game.<br />
<br />
To better understand changes in units it is recommended to check [[Documentation/Engine/Units|Units documentation]] page.<br />
<br />
= Recommendations =<br />
* When basing your model on the original ones, add to your mod also <strong>ALL</strong> original /automat/ files used by it. The names of the files are generated as CityHash64 hash of theirs content so whenever we change the parameters of the material in any way, a different file will be used to store them and the original file might cease to exist if there is no other model utilizing the original parameters.<br />
* When modifying original models, always include <strong>ALL</strong> components of the model (pmg+pmd) instead of just those you changed. Otherwise you risk crash if we change the model.<br />
* As always when adding new objects to files which support multi-file approach (e.g. road_look.sii) it is <strong>HIGHLY RECOMMENDED</strong> to use suffix or prefix in the name to avoid conflicts with new objects we are adding in patches. Otherwise you might have to use the batch renaming functionality (see Batch renaming) to fix the conflicts when new patch appears.<br />
<br />
= How to convert map =<br />
<br />
* If your mod adds Estonia, Latvia, Lithuania, Russia or Finland update your country, ferry, semaphore model and semaphore profile definitions to avoid conflicts.<br />
* Load map<br />
* Do rebuild (F8)<br />
* Save map<br />
* Select correct looks for models where the selection of the looks changed<br />
<br />
= Changes & New Features =<br />
<br />
== Curve items ==<br />
<br />
TBA, map<br />
<br />
== Mover/walker unification and improvement ==<br />
<br />
Approach to movers and similar object has been completely reworked.<br />
<br />
For details see [[Documentation/Engine/Mover_model_group|Mover documentation]].<br />
<br />
== AI changes ==<br />
<br />
TBA<br />
<br />
== Dynamic lods ==<br />
<br />
use dynamic_lod_desc[] instead of lod_desc<br />
<br />
TBA<br />
<br />
== Modded trucks support ==<br />
<br />
TBA (in game function)<br />
<br />
== COG data in '''accessory_chassis_data''' ==<br />
<br />
Center of gravity (COG) data has been moved from trailer definition to [[Documentation/Engine/Units/accessory_chassis_data|chassis data]]. They are easier to edit, they have less count than trailer definitions and on given chassis cargo is typically loaded in same way.<br />
<br />
Value logic itself work as before: '''cog_cargo_mass_min''' (float, default 0) and '''cog_cargo_mass_max''' (float, default 20000) sets border limits and '''cog_cargo_offset_min''' (float3, default (0,0,0)) and '''cog_cargo_offset_max''' (float3, default (0,1,0)) set values for interpolation.<br />
<br />
In addition, default COG is now in center of model based on some trailer geometry analysis regardless of trailer model scene origin. So the longitudinal offset used as workaround should be discarded.<br />
<br />
== Cabin suspension ==<br />
<br />
4 point simulation (locator, obsolete/new values in physics.sii)<br />
TBA<br />
<br />
== Wheel offsets ?? ==<br />
<br />
??<br />
<br />
== Wipers duration+delay format ==<br />
<br />
In unit [[Documentation/Engine/Units/accessory interior data|'''accessory_interior_data''']] attribute '''wiper_delay''' has been removed. Instead, the new attribute '''wiper_duration_and_delay''' (array of float2) has been added. Each element contains animation length (in seconds) and time delay between animation loops (in seconds) of one active state.<br />
<br />
If no '''wiper_duration_and_delay''' is correctly stated it is defaulted to single element float2(2.0, 0.0), which serves as single active state in such case.<br />
<br />
== Trailer braces sound ==<br />
<br />
Default value is now set empty. So there is sound only if data explicitly state it.<br />
<br />
== Cargo model randomized ==<br />
<br />
If there are stated more than one model of cargo visualization (see '''data_path''' array in '''cargo_model_match''' unit, stored in '''def/cargo/*/''' folders of cargoes for owned trailers) for given trailer, the one used is chosen pseudo-randomly from them.<br />
<br />
== Timezone sub-areas ==<br />
<br />
Data for time zone sub-areas has been introduced silently in 1.34 update (look for Malheur county, Oregon in ATS or Kaliningrad area, Russia in ETS).<br />
<br />
One set of data is in '''city_data''' units and data is used for static city-based zone usage (eg. delivery times in game economy):<br />
* '''time_zone''' (integer, default is undefined value, represented by week of time, 10080) - time zone of given city in minutes<br />
* '''time_zone_name''' (string, default empty) - name of eventual time zone<br />
If city time zone is undefined (or 10080) then there is used time zone of country the city belongs to.<br />
<br />
Second set of additional data consists of three synchronized arrays (same length expected) stored in '''country_data''' units and is used for spatial detection of time zone on map:<br />
* '''secondary_time_zone_area''' (float4 array) - elements of rectangle areas in editor coordinates<br />
* '''secondary_time_zone''' (integer array) - time delta of given area in minutes<br />
* '''secondary_time_zone_name''' (string array) - name of time zone in given area<br />
If point is in given country (decided by map logic by road/prefabs & borders) then all existing rectangle elements are checked for different time zone than country has. First matching area element defines the proper time zone. If no area is found, country time zone is used instead.<br />
<br />
== Transmission mode names ==<br />
<br />
Unit '''accessory_transmission_data''' has two new string attributes - '''auto_mode_name''' (default "A") and '''manual_mode_name''' (default "M"). Their value is used in dashboard computer display as transmission mode element (id 1310) if truck display contains one.</div>Smarty