Hacking [release] GTX Extractor

  • Thread starter Thread starter AboodXD
  • Start date Start date
  • Views Views 26,194
  • Replies Replies 80
  • Likes Likes 9

AboodXD

I hack NSMB games, and other shiz.
Member
Joined
Oct 11, 2014
Messages
2,880
Reaction score
1,880
Trophies
1
Location
Not under a rock.
XP
3,048
Country
United Arab Emirates
GTX Extractor v5.2

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
Treeki said:
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". (build.py was tested on Windows only)

Download.
Source code / Github.
 
Last edited by AboodXD,
Keep up the good work, I can wait for all the formats to be supported. No more proprietary tools!

(Also, thank you for the Linux support!)
 
Here's a video of testing the results of GTX Extractor:


What I did was:
  1. Extracted the original .gtx file.
  2. Edited the generated .png file.
  3. Created a new .gtx file using the edited .png file.
  4. Tested the new .gtx file in game.
 
  • Like
Reactions: CORE and lordelan
What's changed since v1.1? I can't seem to find the original thread to compare, nor my posts from that thread. Was it deleted?
 
Last edited by yahoo,
GTX Extractor v2.0 is finally here!! :D

Changelog:
  • Added a new swizzling method, which adds more supported formats!
  • Sacrificed the .gtx file creating function (because a bug occurs when using the new swizzling method), but I promise I try to add it again. ;)
@CuriousTommy I think you'll like this update! ;)

Please note that as of this version, the "creating a .gtx file" feature was removed.
 
  • Like
Reactions: CuriousTommy
I'm back with version 2.1! :D

Changelog:
  • The .gtx file creating function is back!
  • Did some cleaning up and bug fixing. :)

I just want to say that naturally this program should support more format than listed above, but those listed above are the tested and working formats.
 
Adding BFLIM support in the next release! :D

Code:
GTX Extractor v3.0
(C) 2014 Treeki, 2015-2016 AboodXD
Converting: wiiMario_Title_logo_00^l.bflim

// ----- GX2Surface Info -----
  width     = 900
  height    = 367
  format    = GX2_SURFACE_FORMAT_TCS_R8_G8_B8_A8_UNORM
  imageSize = 1366016
  swizzle   = 65536, 0x10000
  alignment = 2048

Finished converting: wiiMario_Title_logo_00^l.bflim

wii_Mario_Title_logo_00_l.png
 
hi i was wondering if you could add support for this gtx
and yes before you ask it is legit
even though it might seem like it isnt
this came from inside a .pctl file from smash 4 and the game uses them
though for what im not sure...
 

Site & Scene News

Popular threads in this forum