Fantastic, thanks for doing this. On testing performance, DDS didn't really do anything for when there's a lot of text on screen. It's about the same between the two and PNG rescaled has better quality anyways. I'll be sure to keep note of dimensions in case the ToS pack gets any activity for future purposes.

EDIT: Correction, the performance difference between DDS and the default retexture PNGs is small but the rescaled ones are causing me more problems. I also forgot to reupload the pack because I was missing the letter 'z' in it so I'm going to fix that.

My guess is that they didn't even know about the scaling thing back then. In what situation does the game lag? I can't make it happen.

Edit: In most situations textures even four times the size shouldn't cause lag. I wonder what is messed up about Tales of Symphonia...

Edit 2: We should probably also take this to a different thread since this ahs pretty much derailed into a game specific conversation.

Edit 3: Just as a heads up, DDS usually only matters on larger textures (like 2048x2048+) and usually only those using mipmaps (although there probably are exceptions!). So converting most of these textures in this pack to DDS probably won't make much of a difference. We thought about going hybrid PNG/DDS for the Xenoblade pack, but it just ends up being way too much work for something we're updating pretty consistently. It's much easier just to keep everything updated in a PNG folder, then convert everything to DDS for a release. Someday, if larger PNGs get fixed in Dolphin, we'll probably stop with the DDS. For now though, they help a ton.

Got around to taking a look at this. The issue is the pack using such low scaling values, which is something I should have taken into consideration. The script is behaving correctly as in it it does this:

- Find the original/custom texture dimensions (lets assume 24x24/75x75)
- Find the nearest integer scale based on the width (75/24=3.125 for example, will be 3).
- Multiply it by the original texture dimensions (24x24(*3) would become 72x72)
- This ensures a proper resolution.

But not all texture packs are going to follow these rules, as a scale of 1.75 in this case, would become 1, and the custom texture now becomes the same size as the original texture. I have added a workaround to match the behavior of Aorta and The Compressonator, meaning that rather than attempt to fix the texture's dimensions based on scale and original dimensions, it will instead convert the textures to the nearest multiple of 4 scaling up. So using the above example again...

- PNG 75x75 now becomes DDS 76x76, instead of the proper 72x72.

This is probably as good as its going to get in this case.
To disable auto correction, modify the script and set DDSAutoCorrection=false. This should make the DDS textures for Tales of Symphonia look much more like their PNG counterparts.

Just run any repair option (Option 3 or 4) and it will generate any missing mipmaps or use the ones you already have in the ~RepairedTextures folder. I basically wanted mipmap textures to be treated like all other textures, with missing mipmaps being an "issue" that can be fixed, rather than force people to delete their own mipmaps which prevents use of dynamic ones. It no longer generates them in place, but the goal of the script is to not modify the original texture pack in any way, and let the authors pick and choose what the script generates.

Hm, this tool only seems to work with the textures in the same directory. Is it possible to let it do its thing for all sub-folders? Otherwise, tex packs with lots of structural directories would make this very tedious.