(06-28-2024, 05:57 AM)Bighead Wrote: So I think at a glance, I was assuming the bytes responsible for storing dimensions were incorrect because of the strange numbers I was seeing. With DDS textures, we normally expect power of 2 dimensions, or at least dimensions that are a multiple of 4. This is largely due to block compression, but it is true that resolution with odd numbers is possible. Especially these uncompressed formats, there is no block compression, it's more "bits per pixel" and there is no "minimum block size". Perhaps this is why this format was chosen for these textures, assuming these dimensions are correct....
Code:2A 2A - 42x42
130 60 - 130x96
1A 15 - 26x21
65 1E - 101x30
11A 2A - 282x42
2F0 80 - 752x752
2D5 255 - 725x597
121 121 - 289x289
7E 7E - 126x126
I am not so experienced with these textures, so I'm going to have to learn a little bit more about them. The basic idea should be simple enough, there should be half as many bytes as ARGB8, 4 bits representing each channel (or rather, two bytes). There are some simple formulas that can be applied to figure out how many pixel bytes should be present based on the resolution and the bit depth. I already have this in CTT-PS, but doing it manually doesn't seem to be lining up with expectations. Could be because of included mipmaps, but ARGB8 does not include them.
Anyway, it can't be too complicating. I'm just hoping that there isn't any trickery going on behind the scenes with the resolutions. I was not expecting to see dimensions like "21" and "289", but really anything goes. Especially if textures were batch downscaled for Switch. 21 may have been 42 on another console, or 289 may have been 578.
Edit: Okay got to looking at this closer. Maybe I was tired last night, but the math wasn't lining up. It seems to be now at least. Weird dimensions it is. Shouldn't be long now...
Yeah, I can confirm Switch textures have undergone through massive downscale! Here's the PC version of the previous title screen background you extracted from Switch's phyre:
It's a massive 2048 x 1152 png, compared to the Switch's modest 1280 x 720 texture