Games/ETS2/Modding guides/1.47

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

Game Substances

Game substance unit type (defined in /material/material.db) got new physics float attributes: bump_granularity, bump_amplitude and an integer attribute: bump_perlin_order. They are used to describe the bumpiness of the material substance.

Additionally substance unit also got a new token attribute: sound_class. It is used to determine the type of the sound that is played when player is driving on the geometry with material using a given substance. There are 6 different sound class types currently:

  • asphalt
  • rumble
  • gravel
  • dirt
  • grass
  • generic

Game Data

City Data

City data unit has new attribute population. If defined, it is used as additional modifier for apparent city pin and label sizes. Progression is from 75% size on zero population, with 100% size on 40k population, up to 150% pin size on 4M population (area based).

Vehicle Data

Accessory addon electric type

All accessory addon unit types got new electric_type attribute value: vehicle_interior.

When used, accessory will be picking up parameter packets for luminance based materials (material use luminosity effects e.g. eut2.dif.lum) from dashboard_color[] array of accessory_interior_data. So any illuminated parts of accessories can use same functionality of backlight coloring as interior model does.

Cabin suspension type

Accessory cabin data unit got new suspension_type attribute. It is a token with default 4air value. Other accepted value is hinge2air which gives the option to setup two basic types of cabin suspension used in Europe and the US.

With US-type suspension rendering of truck parts has been slightly changed due to hood mounted parts. In exterior view everything is rendered as before, using exterior_model (and baked into chassis and cabin models). In interior view all accessories on interior-mounted locators are rendered as before (in fixed position to camera/interior). Also if show_chassis_rear is enabled baked chassis model is rendered as before. But additionally chassis-mounted accessories that have explicitly defined interior_model are also rendered. This allows specific detail level from interior (like nose mirrors) or show some specific chassis-mounted part instead of force game to draw whole baked chassis (hood, headache rack, etc). Slight caveat is that definition of interior model excludes accessory from baking process, so its exterior rendering might be bit slower.

Dashboard Colors

Handling of the dashboard_color[] array in accessory_interior_data was changed. Instead of possible 16 slots, user can now define only up to 8 slots. Remaining 8 slots are now system reserved and are currently used as follows:

  • slot9-14[uv(0..3, 2..3)] - unused, reserved for future use, set to MAGENTA(1.0,0.0,1.0) to easily spot misplaced UVs
  • slot15[uv(2,-3)] - permanently WHITE(1.0,1.0,1.0), useful for any permanently lit surfaces or material simulating mirror surface
  • slot16[uv(3,-3)] - WHITE(1.0,1.0,1.0) when engine electric is ON, otherwise BLACK(0.0,0.0,0.0), useful for any lit surfaces that are depended on the engine electrics (e.g. dashboard computer)

Interior Animations

Vehicle interior accessory unit accessory_interior_data got new indicator blind spot indicator animation attributes: indicator_blind_spot_[left|right] to work with new blind spot detection feature. For more information see: Documentation/Engine/Truck_Interior_Animations_and_IDs.

Dashboard Display IDs

There is now support for new group of IDs (IDs from 1620 to 1650), that are displayed when vehicle is using specific camera based mirror accessories. More info at: Documentation/Engine/Truck_Interior_Animations_and_IDs.

Additionally there is now support for blind spot indicator IDs, that are displayed the same way as blind spot indicator animations are engaged. More info at: Documentation/Engine/Truck_Interior_Animations_and_IDs.

Sounds

There are three new sound event types defined for the accessory_interior_data unit:

  • system_warning1 - Sound of (generic) system warning, currently used when EBS or BSD is engaged.
  • system_warning2 - Sound of (generic) system warning, currently unused.
  • system_warning3 - Sound of (generic) system warning, currently unused.