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
-rtflag for only fixing script_rt textures, suggested by @iSentrie- A full UI rewrite to improve the user experience of the tool
- Renamed
ytdsfolder toinput
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_rttextures 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:
- Python 3.8 or newer
- Pip
- Pillow (
pip install Pillow) - CompressonatorCLI
Additional Setup:
- Make sure Python and Compressonator are in your path variable, you can use Google to find out how
Usage:
- Use OpenIV to export all textures from a specific .ytd into the
originalsfolder as DDS files - Run
python alpha.py - When it completes, go back to OpenIV (make sure edit mode is on) and click import and select everything in the
outfolder (some imports may fail, this is fine) - Click save and profit off the reduced sizes
- Run
cleanup.batand start over
Notes:
- If a texture doesn’t look good enough to you you can replace it with the original in the
originalsfolder - 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)
