Open main menu

Games/ETS2/Modding guides/1.35

< Games‎ | ETS2/Modding guides
Revision as of 15:19, 1 May 2019 by Max (talk | contribs) (Timezone sub-areas)

Contents

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

  • If your mod adds Estonia, Latvia, Lithuania, Russia or Finland update your country, ferry, semaphore model and semaphore profile definitions to avoid conflicts.
  • Load map
  • Do rebuild (F8)
  • Save map
  • Select correct looks for models where the selection of the looks changed

Changes & New Features

Curve items

TBA, map

Mover/walker unification

TBA

AI changes

TBA

Dynamic lods

use dynamic_lod_desc[] instead of lod_desc

TBA

Modded trucks support

TBA (in game function)

COG data in accessory_chassis_data

Center of gravity (COG) data has been moved from trailer definition to 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.

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.

Cabin suspension

4 point simulation (locator, obsolete/new values in physics.sii) TBA

Wheel offsets ??

??

Wipers delay+speed format

TBA

Trailer braces sound

Default value is now set empty. So there is sound only if data explicitly state it.

Cargo model randomized

pseudo random cargo visualization (eg container, log, flatbed)

Timezone sub-areas

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

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

  • time_zone (integer, default is undefined value, represented by week of time, 10080) - time zone of given city in minutes
  • time_zone_name (string, default empty) - name of eventual time zone

If city time zone is undefined (or 10080) then time zone of country the city belongs to is used.

Second set of additional data consist of three synchronized arrays (same length expected) stored in country_data units and is used for spatial detection of time zone on map:

  • secondary_time_zone_area (float4 array) define elements of rectangle areas in editor coordinates
  • secondary_time_zone (integer array) specifies time delta of given area in minutes
  • secondary_time_zone_name (string array) specifies name of time zone in given area

If point is in given country (decided by map logic by road/prefabs) 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.

Transmission mode names

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