[Paid] [LTS] [Dev Tool] DDS Resize and Compression Tool

NOTICE: As of 7/26/2023 I am exiting the FiveM community due to entitlement and disrespect. This tool will only receive bugfixes from now on.

I developed this tool originally in Python while attempting to optimize texture dictionaries, it is now written in Rust offering much greater speed in the processing of textures and also support YFTs, YDDs, and YDRs with embedded textures and will downsize YTDs for clothing with less quality loss. I think most of us server developers know that many of the vehicle developers making high-quality vehicles use textures that are far too big with far too little optimization. This tool will attempt to optimize those textures with minimal loss of quality. This program used to be free and the originally released free version will always remain so.

Install .NET Core 3.1:

On this page it is labeled as .NET Desktop Runtime

Changelogs

v6.0 build 44
  • Complete rewrite to Rust
  • Reworked version numbering system
  • Bugfixes from beta builds of v6.0
  • Returning support for YFT, YDD, and YDR files
  • Support for “clothing mode” this will disable almost all scaling of textures for clothing files to maintain quality
  • Faster performance than the 5.X series that relied more heavily on Python which is a slower language, now we use Rust
  • Stability improvements
  • Improved spreadsheet output that will help you review your savings
v5.1
  • Bugfixes
  • An XLXS (spreadsheet) is now generated at the end of the run to provide a detailed savings report.
v5.0
  • Bugfixes
  • -rt flag for only fixing script_rt textures, suggested by @iSentrie
  • A full UI rewrite to improve the user experience of the tool
  • Renamed ytds folder to input
v4.2
  • Hotfix for a bug introduced in v4.1
v4.1
  • Added error handling for unsupported YTD compression types, most notably files that have gone through Escrow appear to have an issue with this tool. If you have an escrowed vehicle please ask the creator to run it through DDSRemap before escrowing it. More info is below.
  • Added error handling for empty YTD files, I don’t know why these exist but I ran into a few so I’ve added this support.
v4.0
  • Now supports nested file structures, so you could in theory just dump your entire server in to have it compress all of the YTDs (this is not recommended). The intended use case for this is when you have vehicles that have multiple folders for each vehicle in the stream folder.
  • The script_rt textures will now be handled correctly automatically and any that are fed into the program that aren’t formatted correctly will be altered to the correct format
v3.0
  • Now supports directly importing and exporting ytds
  • Disabled downscaling liveries by default, can still do so by launching the program from the command line with -il
  • Switched to a paid model as this took a long time to develop, only asking for $9.99 (You can pay more if you wish)
  • You no longer need to download compressonator or Python as it comes bundled.
v1.5
  • Single color textures will now be scaled down to 4x4
  • Fixed an error in the original that made certain textures get left out of optimization due to a logical error
  • Made output cleaner

Vehicle Developers

If you have been asked to run your vehicle release through this tool but don’t own it yourself and don’t want to buy it message me and we can discuss a partnership.


Getting Started
After purchasing and downloading the tool from Tebex extract it to your computer. After extraction place your original YTD files into the input folder. Then double click on the executable in the folder or the run.bat file. This will begin processing your YTD files. After it completes your new optimized YTD files can be found in the out folder.

Known Bugs
None have been reported, if you find one please post it here or message me directly.

Purchase
https://north-western-development.tebex.io/package/5215722

Documentation and Future Changelogs
https://docs.northwesterndevelopment.com

v1.5 Free

Requirements:

Additional Setup:

  • Make sure Python and Compressonator are in your path variable, you can use Google to find out how

Usage:

  1. Use OpenIV to export all textures from a specific .ytd into the originals folder as DDS files
  2. Run python alpha.py
  3. When it completes, go back to OpenIV (make sure edit mode is on) and click import and select everything in the out folder (some imports may fail, this is fine)
  4. Click save and profit off the reduced sizes
  5. Run cleanup.bat and start over

Notes:

  • If a texture doesn’t look good enough to you you can replace it with the original in the originals folder
  • I will not provide support in how to use or setup the tool, I will help troubleshoot errors though
  • The last step of the process is highly concurrent (multi-threaded) every image is being processed almost simultaneously and may lag your PC slightly while running

To-Do:
Ultimately I would like to be able to feed the program raw YTD files and have it do the whole process, however no tool that can be used from the command line currently exists. I personally do not have the skillset to create one, but I hope by putting this out there someone can help. I also would like to improve the output readibility and performance.

Downloads:
DDSRemap.zip (1.8 KB)

17 Likes

Great timesaver. Thank you, sir.

An update has been posted to improve performance and size-reduction if you are interested.

2 Likes

Underrated release

2 Likes

I could use some help to get this working. I have installed everything and set it up correctly. I think my issue lies with pip. I have no idea how to install it.

1 Like

Is there a function to ignore carbon files? If you downscale these the texture turns into yellow and the vehicle looks very ugly

Hi, could you send me an example texture to play with?

1 Like

Currently not. You can take any texture from a add-on vehicle named “carbon” or something like that

Why isnt it possible to only compress the files to start the resource without any problems in F8 Menu?
I´ve tried to compress all the files and totally compress them into the third of the size but the memory usage just went down by 1 mb? So scaling the Textures is the only workable thing to do?

Just purchased this a few hours ago, and it is a huge time saver.

Do you plan on adding wheel support?

1 Like

Just bought this, and trying to figure it out.

I placed a ytd in a ytd folder, then click on the dds_remap_v3 file. A command prompt briefly appears then goes away… then nothing else happens. No new files added to any of the folders.

2 Likes

Could you send me a screen shot of the folder layout that you’re using.

Unfortunately to my knowledge, most wheel textures are textures built into the game.

Does it prevent from script_rt textures being modified?

1 Like

It does not, I haven’t personally experienced any oddities with them being modified though. If you do experience an issue I can fix it pretty quick.

Can you shift + right click in that folder, open powershell, then type ./dds_remap_v3.exe and press enter and post the results here?

Well not quite baked into the game, but yea, kinda baked into the model in the since they’re ydr’s.

Unfortunately, I’m not sure I can do much with YDRs but I’ll look into it.

1 Like

Well a ydr when exported to an xml file, does export out the textures to a subfolder, which is essentially what you’re already doing to the ytd files, resizing them, and repacking the file. And since you’re using codewalker to do so, ydr’s can be done with that as well.

It would be amazing to be able to optimize ydr’s as well :+1: