Skip to content
This repository has been archived by the owner on Jan 21, 2023. It is now read-only.

Switch 2020.3.19f1 Texture Swizzle in Miss Kobayashi's Dragon Maid (demo) #950

Open
Arymond opened this issue Mar 23, 2022 · 3 comments
Open

Comments

@Arymond
Copy link

Arymond commented Mar 23, 2022

example file: https://cdn.discordapp.com/attachments/600799826770264074/956164579799486534/demoend_assets_all_849d7d3be9bbfc9e87293e788789239a.bundle

texture swizzle

@Arymond
Copy link
Author

Arymond commented Mar 23, 2022

image

@Arymond Arymond changed the title Switch 2020.3.19f1 Texture Swizzle in Miss Koboyashi's Maid Dragon (demo) Switch 2020.3.19f1 Texture Swizzle in Miss Kobayashi's Dragon Maid (demo) Mar 23, 2022
@Thesola10
Copy link

Thesola10 commented Mar 29, 2022

same symptoms as #922 and #907

@Nazosan
Copy link

Nazosan commented Sep 30, 2022

I want to bump this up. The prevailing thinking on the subject as shown in each of those other two when they were closed seems to be "as intended" or that you can use external tools.

Firstly I'd like to point out that Raw Texture Cooker is unreliable at best. It was just a simple tool quickly knocked together for convenience and not meant to be a serious long term solution. It already lacks some formats like ASTC anyway, but lately I've found it to simply not work on any recent Switch games' textures I've dumped. (The last one I got it to work on was Potato Flowers in Full Bloom which has super minimal textures not worth trying to enhance or edit anyway -- I was hoping to sharpen and enhance whole walls, but the crazy game builds walls one individual brick at a time.) Any recent game I try it on produces either a zero byte file if I manually put in the details or this:
sample
(That is not a thumbnail. That is the full thing.)
I also have tried masagrator's swizzle.py (here: https://github.com/masagrator/NXGameScripts ) but it doesn't support non-pow2 (which is more and more common since Unity doesn't require pow2 textures and I think some devs don't realize they'd still be better off using them) and I haven't really figured out how to use it besides.

Secondly, I think a tool like this really should be able to handle at least stuff like textures. More and more games these days are using swizzling for one thing. (I think it must actually be on by default in some circumstances because most Switch games these days seem to have a random assortment of swizzled and unswizzled textures with no apparent planning or signs of it being used for actual optimization.) To make it worse, devs are using things that external tools don't like such as non-pow2 texture sizes and some actually uneven, seemingly random numbers even. (Take a look at Dungeons of Dreadrock just as an example of a mess of mixed textures of crazy sizes with random swizzling.) This leaves us with basically nothing that can handle many games' textures and no one really willing to do anything about it.

I really feel like the texture swizzling is fast becoming a real problem that will have to be dealt with sooner or later because it's basically becoming the norm in console versions of Unity games -- some of which are exclusive (so you can't refer to a PC version for unswizzled textures on some.) It's basically beginning to reach the point that not handling swizzling is much akin to not handling, say, DXT7.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants