Jump to content

Recommended Posts

Posted (edited)

Hello,

 

I'm requesting a modification about how skins are read by the game (again).

I started working on the P47 yesterday and I saw that 1 skin of P47 is about 128 mo !

Looking at ww2 picture, we can see most of plane of a same squadron share similar paint but vary because or personalisation (noseart, killmark, ...).

So for 2 skins of a same squadron (only few details that differ), we need to download and put on the SSD 2x 128 mo.

 

For lot of people, this is not possible to use lot of skins. And it's not motivating to create new one as people might not be able to use them.

So I'm requesting a modification about how skins are handle by the game to reduce the size of skins by sharing common files between groups of skins
(base, serial numbers, numbers, ...)

 

To do so, it would only need 1 thing : a description.lua able to share multiple skins 

 

This would allow to share multiple files between skins. For example, if I make 2 or 3 P47 that only differ on their nose art, it means that the wings and the tails files could be shared (and not copied in multiple folders).

So we would have a larger folder because of the 2 or 3 front section that differ. But the size/skins is reduced a lot for plane that differ only a bit !

Now a second solution to combine with the previous one to even reduce more the skin size (maybe more complex).
During WW2, one squadron had multiple plane with (almost) exact same squadron marking.
As DCS skins work in layer, it would be nice to have the possibility to create a new layer that could be set on top of a skin part with coordinate.
I mean that a nose art is only paint that is placed at a particular position. If we are able to generate a basic skin and then to generate a small nose art files that fit on this skin and that we can place using coordinate, then we would have even smaller size/skins.

 

=> we could genrate a nose art files that is maybe 400x400 pixels that would fit perfectly at (x,y) coordinate..
So if we have multiple skins/description.lua. We make a base and then we add lines to have multiple skins that use different nose art files (and their specific roughmet).
With this, we would therefore have multiple skins for a small cost.

If at least we can have the multiple skins per description.lua (or multiple description.lua in a folder), we could save a lot of space.
Skins are maybe details for some. But they are details that bring live to a game and show how beautifull and wide it is.
Having colorfull and various aircraft skins is one of the most iconic part of WW2 air war.

 

Thanks

Edited by JG13Wulf
Posted (edited)

As we use an automatic updater, it didn't compress to not update whole skin when only 1 file is modified in one skin of our team skin pack.
So we don't compress them before sending. But even if we can improve the download, the size at the end on the user's computer is still huge.

I download this one from your user files (I think) to see if there is a difference : https://www.digitalcombatsimulator.com/en/files/3314346/
(nice one by the way)


You have a 40 mo archive and like me a 130 mo skin.

Except if I miss something, I'm not able to use the archive directly in game. I have to unzip in correct folder to see it in game. If I get a 130mo skin on my SSD. For 1 it's not a problem. But when you start to have multiple skins, only 8 bring you to 1Go. It's nice to have details. I don't want to have less quality. But in some case, ED can optimize the way skins are handling without a lot of work.

 

If I take your skin as an example. I see the fuselage is specific to a particular plane (marking, bombs decals, ...). But wings seems to be quite common.
Imagine you want to make another plane to go with this particular P47 (Edit : I just notice you did a lot of friends for him). For the moment, we need to have a complete new skins with all new files + description.lua.

If ED allow the possitility to make multiple skins per description.lua. You could easily make a second skins using the same wings files as this one but new fuselages files.

This would make 2 skins for the price of 1 and a half.
Imagine then you want to make 2 more the same way, you get 4 skins for the price of 1 complete + 3 half (so 2 and a half instead of 4).

We therefore have (estimate) 325mo instead 520 mo.

130+65+65+65 = 325
130+130+130+130 = 520.

If I compare further, I need 15 skins the reach the 1Go (130 + 14x65) with this solution instead of 8 with what we have now.

 

Note that the win is not a lot for plane with "4 pieces template". But would make things better for more detailled plane/more bigger plane.
(I imagine mosquito will use more than 4 files for skins)
 

And If you take the solution 2 of my first post, the size win is even greater as you would be able to keep all the files of the plane and then just make a bunch of small decals that can be put on the skins with a bit more line in the description.lua.

 

As all the tools are there to make this happen, I think the bit of work to adapt is worth the price so people will be able to use more skins in their game for same size.

And even it would increase performance as shared files would be load 1 time and not multiple time by computer.

 

 

Edited by JG13Wulf
Posted (edited)
1 hour ago, 71st_AH Rob said:

A method like this?

 

 

 

Yes, if I understand correctly, it's similar to what I look for. I looked about how to do that. But didn't find anyone that did this.
I see they talk about F86F. Is it moded variant of F86 ?

I'm going to try to make make something work the way he do for one of his pack.
Would be nice if it's already possible to have something that describe clearly how to make this.
(If I make it work, I'll do it)

 

EDIT :
Ok no, I understood a bit more. It's like he created a moded variant of the F86, the F86F that have another texture folder to look for.
I will try if it break or not the integrity check (with ou version).

This is something that can be done. But it's not the way I was looking to do it. I was more looking for a methode that don't need to "mod".
I'll try.

Edited by JG13Wulf
Posted (edited)

The technique I use (demonstrated with the compact install in the F-86 link) is to have a shared texture folder and create unique filenames for each file.  This way, any shared textures can be called by any description.lua (e.g. P47_xxxSqn_back.dds), and any skins with variations will have unique names that are also called by description lua (e.g. P47_xxxSqn_front_homefries.dds or P47_xxxSqn_front_callsign.dds).

 

There are two things that need to be done for this to work:

  1. add the path of the texture folder to Saved Games\DCS\Config\autoexec.cfg like so (if you don't have autoexec.cfg, create it):
    table.insert(options.graphics.VFSTexturePaths, c:/Users/username/Saved Games/DCS/Textures")
    Note that the slashes are forward slashes, not backslashes.
  2. Set the logic flag in the texture line of description.lua to true.  False looks for the texture within the existing folder, while true looks for it in the path (including the line you added to autoexec.cfg).

 

If you're looking to distribute these skins to others, you can do what I did in my autoexec.cfg:

 

usersgpath = os.getenv('USERPROFILE')	--determines user's path for Saved Games folder

-- add custom texture path
table.insert(options.graphics.VFSTexturePaths, usersgpath .. "/Saved Games/DCS/Textures")

This will take the default user path (e.g. c:/Users/username) and assign it to the value usersgpath. (i.e. "user saved games path")  Then usersgpath is concatenated with the /Saved Games/DCS/Textures folder for the path where DCS will look for your custom textures.

 

Hope this helps.

Edited by Home Fries
  • Like 1
Posted

Thanks ! Yes it help 🙂
Nice work you did there.

Still I think that could be simpler if ED used their description.lua a better way.

But this will allow to lower the weight for the moment !

Big thanks ! 👍

  • Like 1
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...