Custom Texture Tool v52.0 Release:
New release is now ready. Grab it from the link below.
Edit: Updated to v52.1 which fixes a bug with Phyre Mode operation "Create Phyre Textures".
Download: Mirror 01 - Mirror 02 - Changelog
Dark Mode:
Despite being the highlight of this release and requiring an enormous amount of work to implement, there isn't really much I can think of to say about it. CTT-PS by default will detect the theme used by the OS and use whatever is currently selected. Light and Dark Modes can be forced on the Options>Preferences tab if one is preferred over the other. I guess I can also link the screenshots one more time.
Dark Mode Preview:
More Texture Extraction Tool Integration:
Two new operations leveraging Venomalia's Texture Extraction Tool have been integrated into the script.
Finalize PNG Textures With Texture Extraction Tool: This should only be ran on "completed" texture packs in PNG format. It has replaced the operation that would scan textures that contained an alpha channel but were fully opaque and remove the alpha channel. The new operation is capable of this and much more. The optimizations to textures that are performed depend on the texture format of the original texture. For a complete list, either check the official Github page for TextureExtraction Tool, or view the built-in help for this operation in CTT-PS.
Combine Split-RGBA With Texture Extraction Tool: This operation is capable of combining "RGBA" textures that are split into two grayscale textures, each containing two channels of the actual image (Red/Green in one texture, Blue/Alpha in the other texture). Texture Extraction Tool makes an educated guess on which texture is which and attempts to combine them correctly to get the actual image that the textures represent. This image can then be reworked or upscaled, and split back into its grayscale counterparts. For textures the tool is uncertain that the combination is correct, it will create alternate versions and the user will have to choose which they think is correct.
Cuttlefish Support:
Support for yet another command line DDS tool has been added named Cuttlefish. The reason I have added yet another tool is because, well, I don't have a reason other than I thought why not? The resulting textures look really nice and rival textures created by Compressonator. It's always good to have options, and when a program fails to create a texture, CTT-PS just has one more program to fall back to.
Automatically Install Required Programs:
Downloading and installing the programs that CTT-PS leverages has been made much easier. A button to automatically download and install all required programs has been added to the Tool Paths menu on the Options screen, within the Tools Master Path groupbox. The Tools Master Path checkbox should be checked, and then a green arrow pointing down can be clicked to start the process.
Downloading Programs:
Operation Categories:
CTT-PS has become quite powerful over the years, and the number of operations it can perform continues to grow. I was starting to get the feeling that it may overwhelm a new user to open the Operation list for the first time and see a bunch of options in no specific order that all do vastly different things from each other. So I figured it would be a good idea to split the list up into categories depending on what the user is attempting to do. It's still possible to show all the operations at once using Show All or disabling the category combobox completely on the Options > Preferences tab.
Operation Categories:
Operation Finish Sound Effect:
This idea was given to me by the user Kupo who suggested that CTT-PS play a sound when an operation is finished. CTT-PS has four "built-in" sound effects, and users can add their own custom sound effects by navigating to the CTT-PS Data Folder and dropping sound files in the "Sounds" folder. Sounds must be in WAV format to be detected and work.
Selecting a Sound Effect:
Review Results:
When an operation is complete, the "Cancel" button on the texture list will change into a Review button. This can be clicked to review some specific details about everything that has taken place such how many textures were processed, completed, failed, which tool each was used to create the texture, etc. This may be expanded on in the future.
Review Window:
A Few New Icons:
Along with a ton of icons that needed dark mode versions, I created and replaced a few other icons with some new variations. I noticed that in dark mode the overall aesthetic was just a little bit too dark, and could use some color here and there. The folder icon for example is a new yellow folder which replaced a gray folder. Checkboxes were initially gray in dark mode as well, but when checked on Windows 11 they will turn blue. Most icons can be found on the Tool Paths tab in the Options menu. Here I changed the icons to represent the action that takes place when clicking on them. Arrow = download, Earth = Web Link, List = Dropdown Menu.
Future Plans For v53.0
So what now? Well, I don't really have that many more "big plans" for this script that I can think of. I would like to attempt parallelization when processing conversion operations, to see if there is actually a speed increase to be had there. None of the DDS conversion tools actually max out resources when used, so running multiple concurrent instances should overall increase the speed at which textures are converted (in theory). Other than that, the past two versions (v51/v52) have been me mostly playing "catch up" with some of the desires I have had for the script for up to several years now depending on the goal. I have finally implemented just about everything that I wanted to at this point, aside from what I just mentioned. So who knows what the future holds. I still want to one day attempt to create a C# version of CTT-PS. I started this work a few years ago and it was like 85% complete to being at feature parity with the PS version. But life happens, and it was easier to just keep updating the PS version. Whether or not I'll continue off that, start over from scratch, or even attempt it again is still up in the air.