Difference between revisions of "Games/ETS2/Modding guides/1.40"

From SCS Modding Wiki
Jump to navigation Jump to search
(Sun profile)
m (Sound)
 
(7 intermediate revisions by 2 users not shown)
Line 35: Line 35:
  
 
=== Climate profile ===
 
=== Climate profile ===
Climate profile can now specify usage of skyboxes of different climate (attribute '''copy''') with few tweaks ('''weights''', '''temperatures'''). Copied climates are shown and can be edited in weather editor, but won't be saved.
+
Climate profile can now specify usage of skyboxes of different climate ('''copy''') with few tweaks (arrays '''weights''', '''temperatures''' - define ). Copied climates are shown and can be edited in weather editor, but won't be saved.
 +
 
 +
Attribute '''copy''', defines name (token) of source climate.
  
 
=== Sun profile ===
 
=== Sun profile ===
Line 42: Line 44:
 
Few color attributes have been changed from array of floats to float3 values. They all had '''_hdr_coef''' postfix in names. List of new names: '''ambient''', '''diffuse''', '''specular''', '''sky_color''', '''sun_color''', '''fog_color''', '''fog_color2'''. Also '''sunshaft_strength''' has been changed to '''sunshaft_color''' in same way. New attributes have same meaning as former ones.
 
Few color attributes have been changed from array of floats to float3 values. They all had '''_hdr_coef''' postfix in names. List of new names: '''ambient''', '''diffuse''', '''specular''', '''sky_color''', '''sun_color''', '''fog_color''', '''fog_color2'''. Also '''sunshaft_strength''' has been changed to '''sunshaft_color''' in same way. New attributes have same meaning as former ones.
  
Attributes '''min_scale''' and '''max_scale''' do not contain '''target_gray''' anymore, they are just multipliers.
+
Attributes '''min_scale''' and '''max_scale''' do not contain '''target_gray''' anymore, they are just multipliers.  In addition new attribute '''scale_override''' defines allowed ratio for crossing of the limit (0 = no override, 1 = limit ignored).
  
Attribute '''eye_adaptation_speed''' was split to '''dark_adaptation_speed''' and '''bright_adaptation_speed''' for interpolated adaptation speed based on conditions. '''adaptation limit override''' ???
+
Attribute '''eye_adaptation_speed''' was split to '''dark_adaptation_speed''' and '''bright_adaptation_speed''' for interpolated adaptation speed based on conditions.
  
 
Bloom has been remade. Before it was handled after tonemaping, with '''minimal_color''' mapped to 0 and '''half_intesity_color''' mapped to 0.5. Now its supressed below '''bloom_treshold''' and applied before tonemapping. Some older values are thus obsolete (radius, resizing_steps, minimal_color, half_intensity, multipliers, target_white).
 
Bloom has been remade. Before it was handled after tonemaping, with '''minimal_color''' mapped to 0 and '''half_intesity_color''' mapped to 0.5. Now its supressed below '''bloom_treshold''' and applied before tonemapping. Some older values are thus obsolete (radius, resizing_steps, minimal_color, half_intensity, multipliers, target_white).
Line 52: Line 54:
 
== Sound ==
 
== Sound ==
 
There is new layer for map-based sound editation. It is accessed by "-edit -sound" commandline params which open map editor in sound editation mode, rest of the map items are inaccessible (sound items are inaccessible in regular editor mode).
 
There is new layer for map-based sound editation. It is accessed by "-edit -sound" commandline params which open map editor in sound editation mode, rest of the map items are inaccessible (sound items are inaccessible in regular editor mode).
There can be defined sound areas either for reverbs or ambinents and also put specific sound sources with some conditions.
+
There can be defined sound areas either for reverbs or ambients and also you can put specific sound sources with some conditions.
  
TBA
+
For detailed description see https://modding.scssoft.com/wiki/Documentation/Engine/Sound/SoundWorld .
  
 
== Map ==
 
== Map ==
Line 70: Line 72:
  
 
== Vehicles ==
 
== Vehicles ==
 +
Headlight behavior can now be defined in detail with many new options. Default descriptor is in ''/def/default_vehicle_lamp_setup.sii''.
 +
In '''accessory_chassis_data''' it can be overridden per vehicle by '''lamp_setup''' definition. Content of '''vehicle_lamp_setup''' unit is experimental feature a will most probably change in future.
 +
 
Engine brake can control retarder now. There is array '''auxiliary_brakes''' in '''accessory_engine_data''' units and works in similar way as same-named array in '''accessory_transmission_data'''. The only difference is ordering - engines auxiliary brake triplet is in order ''[engine_brake_strength, downshift, retarder_strength]''.
 
Engine brake can control retarder now. There is array '''auxiliary_brakes''' in '''accessory_engine_data''' units and works in similar way as same-named array in '''accessory_transmission_data'''. The only difference is ordering - engines auxiliary brake triplet is in order ''[engine_brake_strength, downshift, retarder_strength]''.
  
 
TBA
 
TBA

Latest revision as of 00:31, 19 December 2022

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

Light

TBA

Huge pile of new things: materials, shaders, map, vehicles, lamp logic, rendering, weather data .. :)

Our light is currently albedo-based system with some additional tricks.

Here is example of material ranges and their absolute limits http://download.eurotrucksimulator2.com/140_material_reference.zip (raw data) or http://download.eurotrucksimulator2.com/140_material_reference_converted.zip (converted, ready to mount as mod).

TBA

Weather

Weather system was changed to more generic one. Elevation ranges of sun profiles might be any real value now (not just 5 degree grid), transition now can mix up to 4 textures on sky and can happen anytime - so no longer locked weather because of sky textures in specific times. Also, thanks to unlimited transition, there is no need for various climates and weathers to meet in any evelation point.

Climate profile

Climate profile can now specify usage of skyboxes of different climate (copy) with few tweaks (arrays weights, temperatures - define ). Copied climates are shown and can be edited in weather editor, but won't be saved.

Attribute copy, defines name (token) of source climate.

Sun profile

Sun profile has few new attributes. Attribute stability defines chance of locking sky index for following sun profile (0.0 = completely random, 1.0 = sky index stays if possible).

Few color attributes have been changed from array of floats to float3 values. They all had _hdr_coef postfix in names. List of new names: ambient, diffuse, specular, sky_color, sun_color, fog_color, fog_color2. Also sunshaft_strength has been changed to sunshaft_color in same way. New attributes have same meaning as former ones.

Attributes min_scale and max_scale do not contain target_gray anymore, they are just multipliers. In addition new attribute scale_override defines allowed ratio for crossing of the limit (0 = no override, 1 = limit ignored).

Attribute eye_adaptation_speed was split to dark_adaptation_speed and bright_adaptation_speed for interpolated adaptation speed based on conditions.

Bloom has been remade. Before it was handled after tonemaping, with minimal_color mapped to 0 and half_intesity_color mapped to 0.5. Now its supressed below bloom_treshold and applied before tonemapping. Some older values are thus obsolete (radius, resizing_steps, minimal_color, half_intensity, multipliers, target_white).

The game can convert most of those attributes on its side after loading older sun_profile format for now but this support will be removed in future.

Sound

There is new layer for map-based sound editation. It is accessed by "-edit -sound" commandline params which open map editor in sound editation mode, rest of the map items are inaccessible (sound items are inaccessible in regular editor mode). There can be defined sound areas either for reverbs or ambients and also you can put specific sound sources with some conditions.

For detailed description see https://modding.scssoft.com/wiki/Documentation/Engine/Sound/SoundWorld .

Map

All filling stations totems are now dynamic signs with prices taken from pre-defined strings.

New editor features:

  • Road edge overrides
  • Lasso selection
  • Snap mode for all collisions
  • Tags in content browser
  • Camera snap to ground options: Cabin view (2.5 m), regular height (8.5 m), extreme height (11.5 m)
  • Allow using a comma for decimal points in text inputs

TBA

Vehicles

Headlight behavior can now be defined in detail with many new options. Default descriptor is in /def/default_vehicle_lamp_setup.sii. In accessory_chassis_data it can be overridden per vehicle by lamp_setup definition. Content of vehicle_lamp_setup unit is experimental feature a will most probably change in future.

Engine brake can control retarder now. There is array auxiliary_brakes in accessory_engine_data units and works in similar way as same-named array in accessory_transmission_data. The only difference is ordering - engines auxiliary brake triplet is in order [engine_brake_strength, downshift, retarder_strength].

TBA