Games/ETS2/Modding guides/1.36

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

Automatic Walker->Mover Conversion

As written here, walker item support will be removed soon. There is a new command line parameter which enables the automatic conversion of walker items to mover items using existing mover models:

  • Create a text file with conversion rules
    • each line is a rule in format (source_walker_prefix),(target_mover_model)[,non - if specified 'prefer non movable anim' flag is used] e.g. angry_man,m_angry01 or foto,foto_man_01,non
  • Run the editor with -conversion_walker_path (conversion_file)], where conversion_file is a ufs path to a file containing conversion rules
  • Save the map

Using these example files you can convert our walkers into movers: File:Walker conversion.zip

Changes & New Features

Editor

The editor now works as separate tool started by executing the game with "-edit" launch option/command line parameter. Its log is stored in editor.log.txt instead of the game.log.txt which is used by the game and preview modes.

Weather/Lighting

From sun profiles has been removed all HDR multipliers. Its expected all of them are now included in respective intensity and color settings. If older sun profile format (with separate HDR settings) is loaded they are applied and removed. Thus re-saving weather in editor will update sun profiles to new format.

Triggers

Due to improvements in game trigger handling, there was some cleanup in /def/world/trigger_action.sii: several trigger commands were renamed and to keep backward compatibility, obsolete trigger actions were moved to /def/world/trigger_action.compatibility.sii.

City data

Attribute city_name_sort has been removed. Sorting by city name is now performed by shown city name in selected localization and/or visualization option.

Traffic data

License plate generation templates format improvement

More data driven license plate system for AI vehicles.

Attributes lp_variant_front and lp_variant_rear from unit traffic_vehicle have been removed.

Unit license_plate_data has new attributes: background_front, background_rear. Both are strings (up to 32 characters), default values are "front" and "rear" respective. Texture with given name is looked for as material/ui/lp/<country>/*.mat file. Proper usage for variants of texture background for AI vehicles is now per license_plate_type in traffic_vehicle class as was text of the plate. If no type is defined the game tries to guess from vehicle speed_class (like car, truck or bus). All other vehicle classes has to be defined explicitly or they get some default (either car or first defined license plate type).

Due to interaction with player-owned vehicles (apportioned trucks and trailer in US) such textures should still be named "truck_front", "truck_rear" or "trailer" respectively (like they were before). Failing to use these names in license plate definitions will end with improper license plate backgrounds for player vehicles.

Vehicles data

Chassis data

There is new attribute nominal_voltage (float, default 24.0V) used for battery voltage simulations ranges and display.

Dashboard computer display elements (IDs)

Dash element ui_gauge has changed attributes - instead of single range attribute that defined range always from 0 is now used value_min and value_max for proper scaling of input values. Those values are directly mapped to old min and max attributes describing gauge angles.

New IDs added:

  • 1320 - battery voltage
  • 1330 - battery voltage gauge, expected to be ui_gauge element type
  • 1340 - oil temperature gauge, expected to be ui_gauge element type
  • 1350 - ui::text for instant fuel economy bar, the text is cut according to current value
  • 1355 - ui::text that defines size, orientation and range of instant fuel economy bar (typical data "H~~0~~5", horizontal range 0 to 5 km/l)
  • 1360 - ui::text for average fuel economy bar, the text is cut according to current value
  • 1365 - ui::text that defines size, orientation and range of average fuel economy bar (typical data "H~~0~~5", horizontal range 0 to 5 km/l)