Overriding graphics or definitions possible?

Forum rules
SCS as a company do not wish to have paid mods on this forum. While we understand that not all paid mods use the Intellectual Property of other companies/people, it is very hard to moderate what is and isn't acceptable when money is involved. There are also concerns that it could look unfavorable to potential work partners going forward if SCS allow mods that may potentially use unlicensed branding.
Posting in the Mods forum (ATS and ETS2) is restricted to sharing free-to-the-public mods and providing support for mods. For more details, please check the Forum Rules.
Post Reply
User avatar
Firestone
Posts: 13
Joined: 12 Jan 2023 19:43

Overriding graphics or definitions possible?

#1 Post by Firestone » 17 Jan 2023 21:14

I'm starting to get a grip of the ETS2 system, but there are a few things that comes to my mind....

If you got a mod, let's say a vehicle mod with a few skins, accessories and a bunch of other stuff.

Is it possible to override anything based on the mod load order? For example if you're trying to extend an existing mod by loading the extensionmod after the original one in the mod menu
by defining new parameters that can overwrite existing ones already defined in the original mod file?
Or override what .tobj or .dds files it should use?
User avatar
Madkine
Global moderator
Posts: 12444
Joined: 08 Oct 2018 16:35
Location: Australia
Contact:

Re: Overriding graphics or definitions possible?

#2 Post by Madkine » 18 Jan 2023 06:55

Yes you can create a new mod to over-ride information in another mod.
To do so you need to include updated versions of the files you'd like to change in your new mod.
WoT Profile
ATS Workshop

"never attribute to malice that which is adequately explained by stupidity"
User avatar
Firestone
Posts: 13
Joined: 12 Jan 2023 19:43

Re: Overriding graphics or definitions possible?

#3 Post by Firestone » 20 Jan 2023 21:52

So if you want to replace a certain .dds file from the original mod, you just place it in the same path in the new mod, and then load it AFTER the original mod....?
User avatar
Madkine
Global moderator
Posts: 12444
Joined: 08 Oct 2018 16:35
Location: Australia
Contact:

Re: Overriding graphics or definitions possible?

#4 Post by Madkine » 20 Jan 2023 22:06

Basically yes, but you still need all the basic files that a mod needs.
WoT Profile
ATS Workshop

"never attribute to malice that which is adequately explained by stupidity"
User avatar
Firestone
Posts: 13
Joined: 12 Jan 2023 19:43

Re: Overriding graphics or definitions possible?

#5 Post by Firestone » 21 Jan 2023 00:00

Allright, but here is an example of what I'm unable to do....

This is the mod load order:
1. DBMX_Volvo9700_TX_DEF_1.5
2. DBMX_Volvo9700_TX_BASE_1.5
3. DBMX_Volvo9700_TX_SKINS_1.5
4. CustomMod

This is the traffic_storage_bus.dbmx_volvo9700_tx.sii file in mod 1 in the list above:
Path : /def/vehicle/traffic_storage_bus.dbmx_volvo9700_tx.sii

Code: Select all

SiiNunit
{
@include "ai/tx_6x2_03.sii"
@include "ai/tx_6x2_04.sii"
@include "ai/tx_6x2_05.sii"
@include "ai/tx_6x2_06.sii"
@include "ai/tx_6x2_07.sii"
@include "ai/tx_6x2_08.sii"
@include "ai/tx_6x2_09.sii"
@include "ai/tx_6x2_10.sii"
@include "ai/tx_6x2_11.sii"
@include "ai/tx_6x2_12.sii"
@include "ai/tx_6x2_13.sii"
@include "ai/tx_6x2_14.sii"
@include "ai/tx_6x2_15.sii"
@include "ai/tx_6x2_16.sii"
@include "ai/tx_6x2_17.sii"
@include "ai/tx_6x2_18.sii"
@include "ai/tx_6x2_19.sii"
@include "ai/tx_6x2_20.sii"
@include "ai/tx_6x2_21.sii"
@include "ai/tx_6x2_22.sii"
@include "ai/tx_6x2_23.sii"
@include "ai/tx_6x2_24.sii"
@include "ai/tx_6x2_25.sii"
@include "ai/tx_6x2_26.sii"
@include "ai/tx_6x2_27.sii"
@include "ai/tx_6x2_28.sii"
@include "ai/tx_6x2_29.sii"
@include "ai/tx_6x2_30.sii"
@include "ai/tx_6x2_31.sii"
@include "ai/tx_6x2_32.sii"
@include "ai/tx_6x2_33.sii"
@include "ai/tx_6x2_34.sii"
@include "ai/tx_6x2_35.sii"
@include "ai/tx_6x2_36.sii"
@include "ai/tx_6x2_37.sii"
@include "ai/tx_6x2_38.sii"
@include "ai/tx_6x2_39.sii"
@include "ai/tx_6x2_40.sii"
@include "ai/tx_6x2_41.sii"
@include "ai/tx_6x2_42.sii"
@include "ai/tx_6x2_43.sii"
@include "ai/tx_6x2_44.sii"
@include "ai/tx_6x2_45.sii"
@include "ai/tx_6x2_46.sii"
@include "ai/tx_6x2_47.sii"
@include "ai/tx_6x2_48.sii"
@include "ai/tx_6x2_49.sii"
@include "ai/tx_6x2_50.sii"
@include "ai/tx_6x2_51.sii"
@include "ai/tx_4x2_03.sii"
@include "ai/tx_4x2_04.sii"
@include "ai/tx_4x2_05.sii"
@include "ai/tx_4x2_06.sii"
@include "ai/tx_4x2_07.sii"
@include "ai/tx_4x2_08.sii"
@include "ai/tx_4x2_09.sii"
@include "ai/tx_4x2_10.sii"
@include "ai/tx_4x2_11.sii"
@include "ai/tx_4x2_12.sii"
@include "ai/tx_4x2_13.sii"
@include "ai/tx_4x2_14.sii"
@include "ai/tx_4x2_15.sii"
@include "ai/tx_4x2_16.sii"
@include "ai/tx_4x2_17.sii"
@include "ai/tx_4x2_18.sii"
@include "ai/tx_4x2_19.sii"
@include "ai/tx_4x2_20.sii"
@include "ai/tx_4x2_21.sii"
@include "ai/tx_4x2_22.sii"
@include "ai/tx_4x2_23.sii"
@include "ai/tx_4x2_24.sii"
@include "ai/tx_4x2_25.sii"
@include "ai/tx_4x2_26.sii"
@include "ai/tx_4x2_27.sii"
@include "ai/tx_4x2_28.sii"
@include "ai/tx_4x2_29.sii"
@include "ai/tx_4x2_30.sii"
@include "ai/tx_4x2_31.sii"
@include "ai/tx_4x2_32.sii"
@include "ai/tx_4x2_33.sii"
@include "ai/tx_4x2_34.sii"
@include "ai/tx_4x2_35.sii"
@include "ai/tx_4x2_36.sii"
@include "ai/tx_4x2_37.sii"
@include "ai/tx_4x2_38.sii"
@include "ai/tx_4x2_39.sii"
@include "ai/tx_4x2_40.sii"
@include "ai/tx_4x2_41.sii"
@include "ai/tx_4x2_42.sii"
@include "ai/tx_4x2_43.sii"
@include "ai/tx_4x2_44.sii"
@include "ai/tx_4x2_45.sii"
@include "ai/tx_4x2_46.sii"
@include "ai/tx_4x2_47.sii"
@include "ai/tx_4x2_48.sii"
}

This is the same file in the Custommod at file 4 with the same path:

Code: Select all

SiiNunit
{
@include "ai/tx_6x2_03.sii"
@include "ai/tx_6x2_04.sii"
@include "ai/tx_6x2_05.sii"
@include "ai/tx_6x2_06.sii"
@include "ai/tx_6x2_07.sii"
@include "ai/tx_6x2_08.sii"
@include "ai/tx_6x2_09.sii"
@include "ai/tx_6x2_10.sii"
@include "ai/tx_6x2_11.sii"
@include "ai/tx_6x2_12.sii"
@include "ai/tx_6x2_13.sii"
@include "ai/tx_6x2_14.sii"
@include "ai/tx_6x2_15.sii"
@include "ai/tx_6x2_16.sii"
@include "ai/tx_6x2_17.sii"
@include "ai/tx_6x2_18.sii"
@include "ai/tx_6x2_19.sii"
@include "ai/tx_6x2_20.sii"
@include "ai/tx_6x2_21.sii"
@include "ai/tx_6x2_22.sii"
@include "ai/tx_6x2_23.sii"
@include "ai/tx_6x2_24.sii"
@include "ai/tx_6x2_25.sii"
@include "ai/tx_6x2_26.sii"
@include "ai/tx_6x2_27.sii"
@include "ai/tx_6x2_28.sii"
@include "ai/tx_6x2_29.sii"
@include "ai/tx_6x2_30.sii"
@include "ai/tx_6x2_31.sii"
@include "ai/tx_6x2_32.sii"
@include "ai/tx_6x2_33.sii"
@include "ai/tx_6x2_34.sii"
@include "ai/tx_6x2_35.sii"
@include "ai/tx_6x2_36.sii"
@include "ai/tx_6x2_37.sii"
@include "ai/tx_6x2_38.sii"
@include "ai/tx_6x2_39.sii"
@include "ai/tx_6x2_40.sii"
@include "ai/tx_6x2_41.sii"
@include "ai/tx_6x2_42.sii"
@include "ai/tx_6x2_43.sii"
@include "ai/tx_6x2_44.sii"
@include "ai/tx_6x2_45.sii"
@include "ai/tx_6x2_46.sii"
@include "ai/tx_6x2_47.sii"
@include "ai/tx_6x2_48.sii"
@include "ai/tx_6x2_49.sii"
@include "ai/tx_6x2_50.sii"
@include "ai/tx_6x2_51.sii"
@include "ai/tx_6x2_53.sii"
@include "ai/tx_6x2_54.sii"
@include "ai/tx_6x2_55.sii"
@include "ai/tx_4x2_03.sii"
@include "ai/tx_4x2_04.sii"
@include "ai/tx_4x2_05.sii"
@include "ai/tx_4x2_06.sii"
@include "ai/tx_4x2_07.sii"
@include "ai/tx_4x2_08.sii"
@include "ai/tx_4x2_09.sii"
@include "ai/tx_4x2_10.sii"
@include "ai/tx_4x2_11.sii"
@include "ai/tx_4x2_12.sii"
@include "ai/tx_4x2_13.sii"
@include "ai/tx_4x2_14.sii"
@include "ai/tx_4x2_15.sii"
@include "ai/tx_4x2_16.sii"
@include "ai/tx_4x2_17.sii"
@include "ai/tx_4x2_18.sii"
@include "ai/tx_4x2_19.sii"
@include "ai/tx_4x2_20.sii"
@include "ai/tx_4x2_21.sii"
@include "ai/tx_4x2_22.sii"
@include "ai/tx_4x2_23.sii"
@include "ai/tx_4x2_24.sii"
@include "ai/tx_4x2_25.sii"
@include "ai/tx_4x2_26.sii"
@include "ai/tx_4x2_27.sii"
@include "ai/tx_4x2_28.sii"
@include "ai/tx_4x2_29.sii"
@include "ai/tx_4x2_30.sii"
@include "ai/tx_4x2_31.sii"
@include "ai/tx_4x2_32.sii"
@include "ai/tx_4x2_33.sii"
@include "ai/tx_4x2_34.sii"
@include "ai/tx_4x2_35.sii"
@include "ai/tx_4x2_36.sii"
@include "ai/tx_4x2_37.sii"
@include "ai/tx_4x2_38.sii"
@include "ai/tx_4x2_39.sii"
@include "ai/tx_4x2_40.sii"
@include "ai/tx_4x2_41.sii"
@include "ai/tx_4x2_42.sii"
@include "ai/tx_4x2_43.sii"
@include "ai/tx_4x2_44.sii"
@include "ai/tx_4x2_45.sii"
@include "ai/tx_4x2_46.sii"
@include "ai/tx_4x2_47.sii"
@include "ai/tx_4x2_48.sii"
@include "ai/tx_4x2_49.sii"
@include "ai/tx_4x2_50.sii"
}
Differences between these file are that there are added some new lines, for example these two lines:

Code: Select all

@include "ai/tx_6x2_54.sii"
@include "ai/tx_6x2_55.sii"
If I run the game now, those last two lines would not be loaded.
When running "spawn vehicle" in the console, all others will be listed, just like the original traffic_storage_bus.dbmx_volvo9700_tx.sii contains.
I have tried to manipulate the original traffic_storage_bus.dbmx_volvo9700_tx.sii-file and then it works just fine.

What am I missing here?
In my head, it would be more natural to just add the new includes into the object in the CustomMod, but how do I achieve that?
User avatar
Firestone
Posts: 13
Joined: 12 Jan 2023 19:43

Re: Overriding graphics or definitions possible?

#6 Post by Firestone » 06 Jun 2023 18:42

Just answering my own thread to close this one.
After moving "/def/vehicle/traffic_storage_bus.dbmx_volvo9700_tx.sii" to my custom-mod, and changing the load order to load my custom-mod first, everything works as expected.

I guess the logic here is that it loads the content of the first file in the load order, and ignores these files if they exist in the next file in the load order.
Makes sense. I was under the impression that if I loaded the file afterwards, it would override the first loaded file.
.... so it was the opposite..... lesson learned :)
User avatar
xXCARL1992Xx
Posts: 16461
Joined: 17 Aug 2016 12:18
Contact:

Re: Overriding graphics or definitions possible?

#7 Post by xXCARL1992Xx » 06 Jun 2023 18:49

the game loads bottom to top, the mod at the top overwrites everything of the mod below it if the files match
| !!!NO SUPPORT OR REQUESTS OF ANY SORT VIA PM!!! | Screenshot Thread | Steam Workshop | World of Trucks Profil |
[ external image ]
User avatar
Firestone
Posts: 13
Joined: 12 Jan 2023 19:43

Re: Overriding graphics or definitions possible?

#8 Post by Firestone » 07 Jun 2023 19:23

All right, Thanks for clearing this out:)
How is the process when the scs files are “mounted”?
Will the game mount the files somewhere so it can be accessed like a normal file hierarchy?
Or is it extracted to a temp folder every time the game is loaded?
User avatar
xXCARL1992Xx
Posts: 16461
Joined: 17 Aug 2016 12:18
Contact:

Re: Overriding graphics or definitions possible?

#9 Post by xXCARL1992Xx » 07 Jun 2023 19:28

the .scs/.zip/folders are mounted, new files will be added, files with same names will be overwritten at runtime, it wont be extracted and stored somewhere for the game to access
| !!!NO SUPPORT OR REQUESTS OF ANY SORT VIA PM!!! | Screenshot Thread | Steam Workshop | World of Trucks Profil |
[ external image ]
Post Reply

Return to “Help requests”

Who is online

Users browsing this forum: No registered users and 7 guests