Tosyk Posted November 18, 2023 Share Posted November 18, 2023 Hi, can you guys help with converting this old texture format from storm engine? like bms script or noesis plugin? Here's examples: https://drive.google.com/uc?export=download&id=1jOtyLmlcfyhNMnVl-OVrgqd3TlK1pYvd Here's a part of storm engine source related to textures: https://github.com/storm-devs/storm-engine/blob/2d3fd8dcf59e29787b2bce3c90e5ebf23b5687b1/src/libs/renderer/src/texture.h#L75 Link to comment Share on other sites More sharing options...
Solution ikskoks Posted November 18, 2023 Solution Share Posted November 18, 2023 I've created this script for Noesis. Try it out: https://github.com/bartlomiejduda/Tools/blob/master/NEW Tools/Storm Engine/storm_engine_script.py And here's file format for reference: TX_file_format.zip 1 Link to comment Share on other sites More sharing options...
Tosyk Posted November 18, 2023 Author Share Posted November 18, 2023 oh wow, thank you! it works! Unfortunately not with all files, here more sample https://drive.google.com/uc?export=download&id=1k78lkAPt9YBWxS110HfhI30warR7tQWs Link to comment Share on other sites More sharing options...
ikskoks Posted November 18, 2023 Share Posted November 18, 2023 All new samples you've provided are DXT1 with BC swizzle. I don't think that Noesis supports this type by default, but you can view it manually with Kuriimu2: Link to comment Share on other sites More sharing options...
Tosyk Posted November 18, 2023 Author Share Posted November 18, 2023 oh, noesis can't handle it.. interesting. I'm looking for a way to batch converting these textures. maybe you also familiar with bms script? Link to comment Share on other sites More sharing options...
ikskoks Posted November 18, 2023 Share Posted November 18, 2023 I'm familiar with quickbms, but I don't think it will be needed for this case. It's job for custom tool. Link to comment Share on other sites More sharing options...
Tosyk Posted November 18, 2023 Author Share Posted November 18, 2023 There's a custom tool for it. But unfortunately, for many years it won't allow converting files in batch. You always have to specify directory etc etc is it really hard to make anything to convert these in files in batch? Link to comment Share on other sites More sharing options...
ikskoks Posted November 19, 2023 Share Posted November 19, 2023 Yes. In the future it will be possible to batch convert with ReverseBox https://pypi.org/project/ReverseBox/ But I haven't implemented such features yet, so it is what it is. Link to comment Share on other sites More sharing options...
Tosyk Posted November 20, 2023 Author Share Posted November 20, 2023 thank you. and for noesis to support the rest of the image types it need to be updated to latest version of python, or it's in its API? Link to comment Share on other sites More sharing options...
ikskoks Posted November 20, 2023 Share Posted November 20, 2023 Noesis has it's own Python build in. I'm not sure if I understand your question, but to support new images types in Noesis, you need to edit existing script or create a new script. Link to comment Share on other sites More sharing options...
Tosyk Posted November 20, 2023 Author Share Posted November 20, 2023 9 hours ago, ikskoks said: Noesis has it's own Python build in. I'm not sure if I understand your question, but to support new images types in Noesis, you need to edit existing script or create a new script. you said noesis doesn't support DXT1 with BC swizzle above. So, again, you just didn't support this type in the script you made or noesis do not support this whatever you do? Link to comment Share on other sites More sharing options...
ikskoks Posted November 20, 2023 Share Posted November 20, 2023 As far as I know Noesis doesn't support it. 1 Link to comment Share on other sites More sharing options...
Tosyk Posted November 20, 2023 Author Share Posted November 20, 2023 okay, thank you 🙂 Link to comment Share on other sites More sharing options...
BloodRaynare Posted November 21, 2023 Share Posted November 21, 2023 (edited) @ikskoks The problem was actually the image data size. Since DXTs are compressed the data size could be lesser than width*height. The solution is actually simple, just add this check statement: if pixel_size >= len(image_file_data): pixel_size = len(image_file_data) - 24 OR if pixel_size >= len(image_file_data): pixel_size = len(image_file_data) - image_data_offset Edited November 21, 2023 by BloodRaynare 1 Link to comment Share on other sites More sharing options...
ikskoks Posted November 21, 2023 Share Posted November 21, 2023 Thanks. I've updated the script https://github.com/bartlomiejduda/Tools/blob/master/NEW Tools/Storm Engine/storm_engine_script.py Link to comment Share on other sites More sharing options...
Tosyk Posted November 30, 2023 Author Share Posted November 30, 2023 Can't find words to thank you both. It's been awhile since this engine got any tool, and this is just fire! Just great work 🤍 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now