Games/ETS2/Modding guides/1.44

From SCS Modding Wiki
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

More generic wheel system

Handling logic of wheels has been rewritten. Now there are not hardcoded front and rear wheels anymore, there are simply wheels of various types.

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.

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.

This change affects all related data - eg. per type defined defaults in def/vehicle/rim_data.sii which require completely different fields.

External interior locators

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.

Accessory data

All accessory data

There is new optional attribute part_type. It defines icon and tooltip shown on accessory. Available values are factory, aftermarket, licensed or unknown (which is also default one).

Chassis accessory data

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.

Interior accessory data

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

Desktop trailer definitions

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.

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.