Mario Making Mods

MasterVermilli0nUser is Offline
Dat weeb NSMBU hacker though :3
  • Normal user
Since: 05-18-17
From: Not under a rock! :3
GTX Extractor is a tool which extracts textures from the GX2 Texture ('Gfx2' / .gtx file extension) format used in Wii U games, and saves them as DDS.

It can also convert DDS back to a .gtx file.

---------------------------------------------------------------------------------------------

Supported texture formats:
-GX2_SURFACE_FORMAT_TCS_R8_G8_B8_A8_UNORM
-GX2_SURFACE_FORMAT_TCS_R8_G8_B8_A8_SRGB
-GX2_SURFACE_FORMAT_TCS_R10_G10_B10_A2_UNORM
-GX2_SURFACE_FORMAT_TCS_R5_G6_B5_UNORM
-GX2_SURFACE_FORMAT_TC_R5_G5_B5_A1_UNORM
-GX2_SURFACE_FORMAT_TC_R4_G4_B4_A4_UNORM
-GX2_SURFACE_FORMAT_TC_R8_UNORM
-GX2_SURFACE_FORMAT_TC_R8_G8_UNORM
-GX2_SURFACE_FORMAT_TC_R4_G4_UNORM
-GX2_SURFACE_FORMAT_T_BC1_UNORM
-GX2_SURFACE_FORMAT_T_BC1_SRGB
-GX2_SURFACE_FORMAT_T_BC2_UNORM
-GX2_SURFACE_FORMAT_T_BC2_SRGB
-GX2_SURFACE_FORMAT_T_BC3_UNORM
-GX2_SURFACE_FORMAT_T_BC3_SRGB
-GX2_SURFACE_FORMAT_T_BC4_UNORM
-GX2_SURFACE_FORMAT_T_BC4_SNORM
-GX2_SURFACE_FORMAT_T_BC5_UNORM
-GX2_SURFACE_FORMAT_T_BC5_SNORM

---------------------------------------------------------------------------------------------

Why so complex?

Wii U textures appear to be packed using a complex 'texture swizzling' algorithm, presumably for faster access.

---------------------------------------------------------------------------------------------

FAQ:
-How do I run this on my Mac/Linux (Ubuntu)?

You need to run it from source code.

-How do I run this from source code?

On Windows:
All you need is to install Python 3.4 or higher and open "gtx_extract.py" using python.exe.

Other platforms:
All you need is to install Python 3.4 or higher and run the command "python3 gtx_extract.py".

-How do I build the source code?

On Windows:
After installing Python 3.4 or higher, install cx_Freeze and open "build.py" using python.exe.

Other platforms:
After installing Python 3.4 or higher, install cx_Freeze and run the command "python3 build.py".

---------------------------------------------------------------------------------------------

Download.
Source code / Github.
Stella is best waifu. :3

Posted on 05-22-17, 10:25 am (rev. 3 by MasterVermilli0n on 08-02-17, 10:06 pm)
  • Normal user
Since: 05-18-17
From: Venezuela
You can probably do some Cython recoding to make code go a bit more faster, just saying. Seems great though.
~ JeDaYoshi aka. Naydire
Posted on 05-22-17, 05:52 pm (rev. 1 by JeDaYoshi on 05-22-17, 05:52 pm)
MasterVermilli0nUser is Offline
Dat weeb NSMBU hacker though :3
  • Normal user
Since: 05-18-17
From: Not under a rock! :3
I tried, but it was still slow.
I made a C version too, just saying.

Also, making this was hard AF!! I don't even know C...
Stella is best waifu. :3

Posted on 05-22-17, 06:28 pm (rev. 2 by NightYoshi370 on 07-02-17, 02:56 pm)
  • Owner
Since: 05-17-17
From: Mushroom Kingdom
Is this based off anything?

I'm asking, because the C version was.
Old 3DS XL info:
I used to have a 3DSafe A9LH V11.3.0-36U with Luma in my CTRNAND. Since ReiNAND Reibooted and Re-Reileased, I "switch"ed back.
Right now, I have boot9strap with Luma 8.0 as my CFW. Though, I'd like to see other CFW's for B9S.
Posted on 07-06-17, 03:06 pm
MasterVermilli0nUser is Offline
Dat weeb NSMBU hacker though :3
  • Normal user
Since: 05-18-17
From: Not under a rock! :3
The Python version was based on a port of Treeki's gtx_extract.

While the C version was a fork.
Stella is best waifu. :3

Posted on 07-06-17, 09:22 pm
MasterVermilli0nUser is Offline
Dat weeb NSMBU hacker though :3
  • Normal user
Since: 05-18-17
From: Not under a rock! :3
Just released v5.0!

Changelog:
-Cleaning up.
-Added parameters calculation for more accurate (de)swizzling.
-Ported Swizzle code to Cython for more speed.
-Added Component Selector.
-Lots of bug fixing.

Download here!
Stella is best waifu. :3

Posted on 07-22-17, 08:43 pm
  • Owner
Since: 05-17-17
From: Mushroom Kingdom
Wow, that's nice.

So, um, is this the one that's going to get more updates, or are you going to actually update at the C++ version as well sometime soon?
Old 3DS XL info:
I used to have a 3DSafe A9LH V11.3.0-36U with Luma in my CTRNAND. Since ReiNAND Reibooted and Re-Reileased, I "switch"ed back.
Right now, I have boot9strap with Luma 8.0 as my CFW. Though, I'd like to see other CFW's for B9S.
Posted on 07-24-17, 02:43 pm
MasterVermilli0nUser is Offline
Dat weeb NSMBU hacker though :3
  • Normal user
Since: 05-18-17
From: Not under a rock! :3
This one.

The updates are kinda too complex for me to implement in C++.
Stella is best waifu. :3

Posted on 07-24-17, 03:16 pm
MasterVermilli0nUser is Offline
Dat weeb NSMBU hacker though :3
  • Normal user
Since: 05-18-17
From: Not under a rock! :3
Just released v5.1!

Changelog:
-Added a functional DDS reader.
-Added the ability to create GTX files from scratch.
-Added support for A8.
-Fixed a bug in calculation for tileMode 16.
-Fixed A1RGB5, RGB565, ARGB4, and A2RGB10.
-Added mipmaps extracting and packing.
-Fixed compSel usage.
-Improved the DDS header generator.
-Milestone: this extractor now supports more formats than TexConv2. (A8 and A4L4)

Please note that this might be the final release as I won't be improving this program anymore.
But feel free to report bugs because I might fix them and make a new release.

Download here!
Stella is best waifu. :3

Posted on 08-02-17, 10:00 pm
  • Owner
Since: 05-17-17
From: Mushroom Kingdom
Please note that this might be the final release as I won't be improving this program anymore.
Ahh, I wonder, why is this like so?
Old 3DS XL info:
I used to have a 3DSafe A9LH V11.3.0-36U with Luma in my CTRNAND. Since ReiNAND Reibooted and Re-Reileased, I "switch"ed back.
Right now, I have boot9strap with Luma 8.0 as my CFW. Though, I'd like to see other CFW's for B9S.
Posted on 12-21-17, 03:42 am
  • Normal user
Since: 05-18-17

Please note that this might be the final release as I won't be improving this program anymore.
Ahh, I wonder, why is this like so?
No reason to, it's intergrated into BFRES Tool already and there's no reason to add more to this
YouTube: https://www.youtube.com/channel/UCvb-SWK7kHhF1FdrM2r3_OQ
Twitter: https://www.twitter.com/granimated
Discord: GRAnimated ✓ᵛᵉʳᶦᶠᶦᵉᵈ#4979
Posted on 12-21-17, 03:44 am
MasterVermilli0nUser is Offline
Dat weeb NSMBU hacker though :3
  • Normal user
Since: 05-18-17
From: Not under a rock! :3
.... no? BFRES Tool doesn't have anything to do with it.

The reason I'm not making any more version is because I thought the program is complete and doesn't have any bugs and I don't need to bother working on it again. Alas, I was wrong. I found a bug a few months ago, yet I still haven't bothered fixing it.
Stella is best waifu. :3

Posted on 12-21-17, 07:14 am
  • Owner
Since: 05-17-17
From: Mushroom Kingdom
Ahh, when will you bother fixing it
Old 3DS XL info:
I used to have a 3DSafe A9LH V11.3.0-36U with Luma in my CTRNAND. Since ReiNAND Reibooted and Re-Reileased, I "switch"ed back.
Right now, I have boot9strap with Luma 8.0 as my CFW. Though, I'd like to see other CFW's for B9S.
Posted on 12-22-17, 06:50 am
MasterVermilli0nUser is Offline
Dat weeb NSMBU hacker though :3
  • Normal user
Since: 05-18-17
From: Not under a rock! :3
It's not a big bug anyway. It's just that color mess up when making RGBA4/RGB5A1 GTX files, but nobody is using those formats anyway. This bug is probably also present in BFRES Tool.
Stella is best waifu. :3

Posted on 12-22-17, 09:09 am