Games/ETS2/Modding guides/1.39

From SCS Modding Wiki
< Games‎ | ETS2/Modding guides
Revision as of 22:12, 9 October 2020 by Max (talk | contribs) (Accessories)

Jump to navigation Jump to search

Introduction

The following page contains modding guidelines for the new update of the game.

To better understand changes in units it is recommended to check Units documentation page.

Recommendations

  • When basing your model on the original ones, add to your mod also ALL 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.
  • When modifying original models, always include ALL components of the model (pmg+pmd) instead of just those you changed. Otherwise you risk crash if we change the model.
  • As always when adding new objects to files which support multi-file approach (e.g. road_look.sii) it is HIGHLY RECOMMENDED 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.

How to convert map

  • Load map
  • Do rebuild (F8)
  • Save map

Changes & New Features

Sound

cabin mixing, removed defaults ... TBA

Accessories

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 three ways:

  • Empty string or "-" means no sound is played. Also if the item is missing at all no sample will be plaed for given sound.
  • Path to sound reference file ("*.soundref") file where sound event is written. This indirection supports easier modding if you only need link another sound wihtout actually touching sound banks.
  • Path to event in bank ("bank_path#event_name") which directly specifies event in sound bank. Advantage of this direct approach is simplicity and readability.

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.

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 soudrefs 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.

Vehicle Data

  • Light part on vehicles .. TBA

Engine data

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.

New attribute sounds in accessory engine data can handle 4 sound events: engine, exhaust, start_bad, turbo.

Transmission data

New attribute sounds in accessory transmission data can handle 4 sound events: air_gear_noise, retarder, gear_grind, gear_wrong.

Cabin data

New attribute sounds in accessory cabin data can handle 4 sound events: horn, air_horn, aero_noise, rain_noise.

Chassis data

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

Interiror data

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,

Trailer body data

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.