ETS2 1.14 Game Changes – Part 1 – Trailers

While everyone else is getting excited and huffing and puffing over an axle, I wanted to focus on things that everyone in general shares an enjoyment for in ETS2 – hauling cargo. To make this successfully happen, modders have made lots of standalone and AI trailers that greatly increase the immersion of ETS2 .  In game update 1.14, SCS has changed the structure a bit on how these mods are written.  To help others pick up on the changes and to get into compliance with the new ETS2 structure standard, I decided to hit on the code a bit.

Basically what has changed about trailers is simply the assignment of trailers to cargo and how they are written in. It’s NOT game breaking though, and on the old format I still have my trailers and cargo.

When loading a game with AI made by the current ETS2Studio, you get warnings like these:


00:01:32.966 : Cargo ‘cargo.dns_poof.fireworks’: vehicles list is not empty! The list should be defined using the new directory-based mechanism.
00:01:32.966 : Cargo ‘cargo.dns_poof.explosives’: vehicles list is not empty! The list should be defined using the new directory-based mechanism.

If you are one of those with a LOT of packs, such as the entire Jazzy Pack collection, and combined with all the cargos I have added with ETS2 studio, this blasts your log with literally thousands of lines of these warnings. However the game will continue to function and you will still see and get jobs from your custom trailers, so for now users CAN continue to use the current version of ETS2 Studio to make new AI and trailers.

The changes:

The old structure was just /def/cargo. In /cargo you had the files that told the cargo AND the trailer that hauls it. If you wanted to add the trailer to a group, you had to do it manually, but in the end it looked like this:


cargo_data: cargo.aero_dynamic.beef_meat
{
name: “@@cn_beef_meat@@”
vehicles[]: trailer.aero_dynamic
mass[]: 21000.0
fragility: 0.2
price_coef: 1.261
group[]: refrigerated
}

Now in /def/cargo there is a new layer of folders. We’ll get to those in a moment, but in the /cargo folder itself for the cargo definitions the sii files now look like this:


cargo_data: cargo.beef_meat
{
name: “@@cn_beef_meat@@”
fragility: 0.2
price_coef: 1.261
group[]: refrigerated
}

See what’s missing? Yep – the trailer assignment. They took the trailer OUT of the file and made it in it’s own seperate tree, making more files to keep track of, which brings us to the new folders. For this cargo, beef_meat, there is a folder for it, so we go to /def/cargo/beef_meat and there we see an sii file for every trailer we want to haul that cargo. In the default game’s case, there are two – aero_dynamic.sii and krone.coolliner.sii. Let’s pop open the aero:


SiiNunit
{
trailer_def : .aero_dynamic
{
trailer: trailer.aero_dynamic
mass: 21000
cog_height_offset: 1
}
}

So there we have it. The change seems simpler now after I typed this. Basically what SCS did was take the trailer specifics out of the individual cargo def and make it an independent file. For those with large packs, such as jazzy, it’s going to be a process to go through and convert everything. But for people going forward creating stuff from scratch, you just need to remember to create your trailer defs for the file seperately.

Disadvantages: Those with already existing packs have to convert a LOT of stuff

Advantages: Future additions can have a quicker workflow over controlling what trailers haul what cargo. If you decide that you want only the cool liner hauling the beef (Where’s the beef??? – remember that commercial?) then instead of opening and editing the cargo def, you just delete or rename the aero file from .sii to .bak or something. Another advantage here is if you are troubleshooting a buggy trailer, you can essentially use this method to enable/disable a trailer without having to worry about editing code in and out of the cargo def file and risk corrupting the entire cargo and other trailers hauling it.

Besides that – everything else about the cargo/trailer ETS2 structures seem to be the same. 🙂

I wrote this article initially from a discussion on the SCS Forums for ETS2 Studio. For the developers there, I believe it should be as simple as assuring the future xml code for the Studio tosses the trailer’s info into that seperate folder and file accordingly and all should be well in the life of the game.log.txt 🙂 We’ll have to wait and see, but for now this information should help those who wish to manually get up to speed on their trailer mods.