Jump to content

Modding zip files an easier way


Recommended Posts

There are a number of mods out there right now that ‘rely’ on modifying zip files in order to install them properly. This creates issues for some who aren’t comfortable making some types of changes. It also can make for very large mod folders for those using JSGME since the mod must contain the entire zip file (even if only one file is changed/added).

 

There is, however, an alternative that might not be all that well known, or at least, not well advertised. I have seen a small number of people doing this but hopefully this will be useful information for others.

 

When DCS goes looking for a file that is normally found in a zip file, if there is a folder in the correct location, with the same name as the target zip file, DCS will use the file located in the folder before using the one inside the zip file.

 

A good example would be Devrim’s black Mi-8 cockpit mod. The mod itself is only 3 files.

 

The basic installation would be to find the zip file; make a backup; copy the 3 mod files into the original zip. This means keeping a backup copy of the zip somewhere. You now have two copies of the zip file (one in the game and your backup).

 

Using JSGME you would have to create a copy of the zip file which included the mod files and use JSGME to insert/remove it. When the mod is installed, you now have three copies of the zip file (one in the game, one in the JSGME mods folder, and the backup that JSGME made when it installed the mod).

 

The third alternative involves no modifying of zip files, can be done with or without JSGME and you will only ever have one copy of the zip file sitting on your drive. Locate the zip to be modified, in this case

 

DCS World\Mods\aircrafts\Mi-8MTV2\Cockpit\Resources\Model\Textures\MI8MTV-STND-TEXTURES.zip

 

Now create a folder called MI8MTV-STND-TEXTURES in DCS World\Mods\aircrafts\Mi-8MTV2\Cockpit\Resources\Model\Textures. Place the three files from Devrim’s mod into that folder (right next the zip file).

 

That’s it. The sim will use the files in the folder while ignoring the blue cockpit files in the original zip.

 

Avoiding the multiple zip files floating around reduces confusion as well as saving disk space if you have numerous mods. It also makes managing mods that affect the same zip file (like terrain mods) much easier.

 

Your mileage may vary but I find this the best way to handle mods involving zip files. :)


Edited by cichlidfan
  • Like 2

ASUS ROG Maximus VIII Hero, i7-6700K, Noctua NH-D14 Cooler, Crucial 32GB DDR4 2133, Samsung 950 Pro NVMe 256GB, Samsung EVO 250GB & 500GB SSD, 2TB Caviar Black, Zotac GTX 1080 AMP! Extreme 8GB, Corsair HX1000i, Phillips BDM4065UC 40" 4k monitor, VX2258 TouchScreen, TIR 5 w/ProClip, TM Warthog, VKB Gladiator Pro, Saitek X56, et. al., MFG Crosswind Pedals #1199, VolairSim Pit, Rift CV1 :thumbup:

Link to comment
Share on other sites

Yep, this is great advice and it works like a charm. I did this with the release of my Improved Villages terrain mod on the last version and it brought the download size down from 680MB to 320MB.

Intel i9-9900KF @5.2GHz

MSI Z390 Gaming Pro Carbon

32GB G.Skill Trident Z DDR3200 RAM

MSI RTX 2080 Ti Gaming X Trio

40" Panasonic TH-40DX600U @ 4K

Pimax Vision 8K Plus / Oculus Rift CV1 / HTC Vive

Gametrix JetSeat with SimShaker

Windows 10 64 Bit Home Edition

 

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

Yep, this is great advice and it works like a charm. I did this with the release of my Improved Villages terrain mod on the last version and it brought the download size down from 680MB to 320MB.

 

Thanks.

 

I noticed you had done that. Nice mod, btw. It is actually what made me realize that maybe not everyone knows that you can.

 

You should also add <modname>.JGSME text file to the mod. It creates a tooltip in the JSGME window when the mouse is over your mod. See attached.

1339211216_Modtooltip.JPG.b2f5e930bbf8741c64bbae86a4500791.JPG


Edited by cichlidfan
  • Like 1

ASUS ROG Maximus VIII Hero, i7-6700K, Noctua NH-D14 Cooler, Crucial 32GB DDR4 2133, Samsung 950 Pro NVMe 256GB, Samsung EVO 250GB & 500GB SSD, 2TB Caviar Black, Zotac GTX 1080 AMP! Extreme 8GB, Corsair HX1000i, Phillips BDM4065UC 40" 4k monitor, VX2258 TouchScreen, TIR 5 w/ProClip, TM Warthog, VKB Gladiator Pro, Saitek X56, et. al., MFG Crosswind Pedals #1199, VolairSim Pit, Rift CV1 :thumbup:

Link to comment
Share on other sites

There are a number of mods out there right now that ‘rely’ on modifying zip files in order to install them properly.

 

There is, however, an alternative that might not be all that well known, or at least, not well advertised.

 

When DCS goes looking for a file that is normally found in a zip file, if there is a folder in the correct location, with the same name as the target zip file, DCS will use the file located in the folder before using the one inside the zip file.

. :)

 

 

Didn't know that, thanks very much for the info, most useful

 

Cheers, Ian.

Asus p877v-pro, Intel I7 3770k 4.2ghz, 32gb Ripjaw X ram, Nvidia RTX-2070 Super, Samsung 32" TV, Saitek x52 pro Joystick and Combat rudder pedals, TrackIR 5, Win8.1 x64 with SSD and SSHD protected by (Avast AV).

 

DCS Tech Support.

Link to comment
Share on other sites

Modding zip files an easier way

 

Has anybody tested if loading files from uncompressed folders instead of ZIPs has a positive impact on loading times and performance?

 

Theoretically this should save the engine the trouble of unzipping textures before they can be loaded. Could be viable unless textures are zipped in 'fast' mode or whatever other low compression ratio.


Edited by JayPee

i7 4790K: 4.8GHz, 1.328V (manual)

MSI GTX 970: 1,504MHz core, 1.250V, 8GHz memory

Link to comment
Share on other sites

Has anybody tested if loading files from uncompressed folders instead of ZIPs has a positive impact on loading times and performance?

 

Theoretically this should save the engine the trouble of unzipping textures before they can be loaded. Could be viable unless textures are zipped in 'fast' mode or whatever other low compression ratio.

 

I suspect that, if there is any in game performance improvement, you might have to unpack every zip file in the game to see it. Perhaps it might make a more noticeable difference with load times but I still think you would have to unpack all of the major zips to see it.

ASUS ROG Maximus VIII Hero, i7-6700K, Noctua NH-D14 Cooler, Crucial 32GB DDR4 2133, Samsung 950 Pro NVMe 256GB, Samsung EVO 250GB & 500GB SSD, 2TB Caviar Black, Zotac GTX 1080 AMP! Extreme 8GB, Corsair HX1000i, Phillips BDM4065UC 40" 4k monitor, VX2258 TouchScreen, TIR 5 w/ProClip, TM Warthog, VKB Gladiator Pro, Saitek X56, et. al., MFG Crosswind Pedals #1199, VolairSim Pit, Rift CV1 :thumbup:

Link to comment
Share on other sites

Yes but for those suffering from load lag it might offer a slight improvement. Doing it for all ZIPs at once is actually pretty easy.

 

Make sure you have extensions for known file types visible via folder settings. Go to your DCS World root and search for *.ZIP including subfolders. Set your WinRAR/7Zip to include the context menu option of unpacking every single archive within a selection to its own folder. The folder will automatically have the name of the ZIP minus the extension. Select all returned search results and right click to unpack all at once. Finally, move the still selected ZIPs to the recycle bin so you can always put them back.

i7 4790K: 4.8GHz, 1.328V (manual)

MSI GTX 970: 1,504MHz core, 1.250V, 8GHz memory

Link to comment
Share on other sites

Finally, move the still selected ZIPs to the recycle bin so you can always put them back.

 

Agreed, but...

 

There is one gotcha though. Deleting all of those unpacked zip files is going to be a PITA if you want to undo it.

ASUS ROG Maximus VIII Hero, i7-6700K, Noctua NH-D14 Cooler, Crucial 32GB DDR4 2133, Samsung 950 Pro NVMe 256GB, Samsung EVO 250GB & 500GB SSD, 2TB Caviar Black, Zotac GTX 1080 AMP! Extreme 8GB, Corsair HX1000i, Phillips BDM4065UC 40" 4k monitor, VX2258 TouchScreen, TIR 5 w/ProClip, TM Warthog, VKB Gladiator Pro, Saitek X56, et. al., MFG Crosswind Pedals #1199, VolairSim Pit, Rift CV1 :thumbup:

Link to comment
Share on other sites

Modding zip files an easier way

 

But hey, maybe it doesn't even help that much. Again, I think it depends heavily on the compression ratio and whether the engine is naturally slow at unpacking.


Edited by JayPee

i7 4790K: 4.8GHz, 1.328V (manual)

MSI GTX 970: 1,504MHz core, 1.250V, 8GHz memory

Link to comment
Share on other sites

But hey, maybe it doesn't even help that much. Again, I think it depends heavily on the compression ratio and whether the engine is naturally slow at unpacking.

 

It would be an interesting experiment.

ASUS ROG Maximus VIII Hero, i7-6700K, Noctua NH-D14 Cooler, Crucial 32GB DDR4 2133, Samsung 950 Pro NVMe 256GB, Samsung EVO 250GB & 500GB SSD, 2TB Caviar Black, Zotac GTX 1080 AMP! Extreme 8GB, Corsair HX1000i, Phillips BDM4065UC 40" 4k monitor, VX2258 TouchScreen, TIR 5 w/ProClip, TM Warthog, VKB Gladiator Pro, Saitek X56, et. al., MFG Crosswind Pedals #1199, VolairSim Pit, Rift CV1 :thumbup:

Link to comment
Share on other sites

I tested it. All ZIPs unpacked. No noticable change. But then I'm running on an SDD. YMMV when running on an HDD.


Edited by JayPee

i7 4790K: 4.8GHz, 1.328V (manual)

MSI GTX 970: 1,504MHz core, 1.250V, 8GHz memory

Link to comment
Share on other sites

I tested it. All ZIPs unpacked. No noticable change. But then I'm running on an SDD. YMMV when running on an HDD.

 

Did you, by any chance, take note of how much the install grew?

ASUS ROG Maximus VIII Hero, i7-6700K, Noctua NH-D14 Cooler, Crucial 32GB DDR4 2133, Samsung 950 Pro NVMe 256GB, Samsung EVO 250GB & 500GB SSD, 2TB Caviar Black, Zotac GTX 1080 AMP! Extreme 8GB, Corsair HX1000i, Phillips BDM4065UC 40" 4k monitor, VX2258 TouchScreen, TIR 5 w/ProClip, TM Warthog, VKB Gladiator Pro, Saitek X56, et. al., MFG Crosswind Pedals #1199, VolairSim Pit, Rift CV1 :thumbup:

Link to comment
Share on other sites

Modding zip files an easier way

 

Yes I did some measuring.

 

Total size of all ZIPs unpacked grew by x2.75. I went from about 3.5 GB of ZIPs to about 9.7 GB of unpacked folders. I did not measure the total size of the DCS World root as we are only interested in the compressed files and their effect.

 

I should note though that size ratios from ZIP to folder varied from roughly x2 to x3, x2.75 was the mean for all ZIPs. This would implicate that on average a compression ratio of 1:2.75 holds, or 36%. However, raw textures like bitmaps for instance can generally be compressed to a higher extent than plain data so I assume for textures it'll come closer to 1:3, or 33%. Even if my measurement is a bit sloppy (GB to MB to KB, rounding, etc.) we're talking at least 40% for sure.

 

Regardless, it is a pretty large ratio so I find it odd I didn't notice a difference. The only explanation would be that due to the SDD the effective speed of unpacking is equal or higher than the effective speed at which my CPU, GPU, and the game engine process data. Hence unpacking is not the bottleneck. It would be interesting to know whether it differs for 5400 and 7200 disks as I imagine HDD users who have truckloads of GBs at their disposal anyway wouldn't mind spending 6 additional GBs if it'd speed up their loadtimes and/or reduced stuttering caused by on-the-fly loading.

 

EDIT

 

If you want to try it, I suggest that after you have unpacked all ZIPs, run a search for *.* inside the DCS World root and sort by creation date. The newly unzipped folders should show up first. Select them all > properties > customize tab > select a custom icon for the folders. Leave the 'old' ZIPs intact and in the DCS World root for future back-up restore, too bad about the wasted 3.5 GB I'd say. The game engine will give priority to the unpacked folders anyway (as per Chichlidfan's explanation). Should you want to undo the unpacking, simply search for *.* again and delete all folders with a custom icon. Shouldn't take more than a minute.

 

Be sure to have file extensions for known file types visible. Searching for *.* basically is searching for every possible file name with all possible extensions; that is, searching for everything inside the DCS World root.


Edited by JayPee

i7 4790K: 4.8GHz, 1.328V (manual)

MSI GTX 970: 1,504MHz core, 1.250V, 8GHz memory

Link to comment
Share on other sites

  • Recently Browsing   0 members

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