Giter Club home page Giter Club logo

gxtconvert's Introduction

GXTConvert

GXTConvert is a somewhat rudimentary converter for GXT-format textures used by games for the PlayStation Vita. It is written in C# and based on the .NET Framework.

Maintenance Note

GXTConvert is currently only receiving limited maintenance. Please see the Scarlet project for a more generic set of libraries and a sample converter application to convert various game or console image formats to PNG, including GXT.

Requirements

  • General
  • .NET Framework 4
  • Compilation
  • Visual Studio Community 2013 (or higher)
  • Usage
  • Compatible files to convert

Usage

Syntax: GXTConvert.exe <inputs ...> [options]

  • <inputs ...>: Any number of files or directories to be converted, separated by spaces
  • [options]:
  • --output | -o: Specify output directory
  • --keep | -k: Do not overwrite existing output files

Example: GXTConvert.exe "C:\Temp\GXT\files\" "C:\Temp\GXT\testfile.gxt" --output "C:\Temp\GXT\output\"

Games

Games known to use the GXT format include:

  • Danganronpa: Trigger Happy Havoc (*.gxt) (1)
  • Danganronpa 2: Goodbye Despair (*.gxt) (1)
  • Danganronpa Another Episode: Ultra Despair Girls (*.btx) (1)
  • Digimon Story: Cyber Sleuth (*.pvr)
  • Dragon's Crown (2)
  • Gravity Rush (*.gxt)
  • IA/VT Colorful (*.gxt; *.mxt) (3)
  • Muramasa Rebirth (2)
  • Sword Art Online: Hollow Fragment (no extension) (4)
  • Senran Kagura: Shinovi Versus (*.gxt)
  • Soul Sacrifice Delta (*.gxt) (5)
  • Toro's Friend Network (*.gxt)
  • Steins;Gate (*.gxt)

(1) Require dr_dec decompression script by BlackDragonHunt for most files; some .btx files are not GXT
(2) Packed in *.ftx containers
(3) Packed in archive.pk container; requires QuickBMS script by chrrox to unpack
(4) Packed in OFS3 containers; requires QuickBMS script to unpack
(5) Packed in containers; requires QuickBMS script by chrrox to unpack

Acknowledgements

  • PVRTC texture decompression code ported from PowerVR Graphics Native SDK, Copyright (c) Imagination Technologies Ltd.
  • For details, see \GXTConvert\Compression\PVRTC.cs and LICENSE.md
  • Texture swizzle logic reverse-engineering and original C implementation by FireyFly
  • Testing and moral support by Ehm2k

gxtconvert's People

Contributors

wmltogether avatar xdanieldzd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

gxtconvert's Issues

FTX File Container

Hello, sorry for being a nuisance, but I'm totally new at modding game files, so I'm here to ask for guidance/help to edit .FTX at Muramasa Rebirth, I'm translating to spanish, to do so in a full-fledged pack, I need to edit those along with .MBS files.

Here are some examples at the folder /_US/GUI: https://mega.nz/#F!MvhlVQID!qCVohVVfFg_kLgpZeGS8_w

Thanks in advance and sorry for my bad English!

GXT

Hi, I would like to ask a question.
Analyzing the format of the game, I came across a texture format GXT.
I decided to take advantage of your utility. But it does not work with all textures, with only a few. I do not know what it can be connected, but some of it converts so good, but some textures convert with errors like "out of range of array". Samples are included.
https://yadi.sk/d/XFmNn0nPwjEUW

PNG to GXT

Will reverse transformation from png to gxt?

3d textures support?

I have successfully extracted PsVita's Criminal Girls images/textures. (I'm already translating it into spanish, but I need to update the font and some textures to get a proper localization). It doesn't use gxt directly, but a custom format "imy"; that mixes a non-standard compression with swizzling for power of two textures. I have managed to determine the compression algorithm and to create a decompressor.

Most textures are normal 2d power-of-two textures, and I converted your PostProcessing.UnswizzleTexture to kotlin and works just fine decoding them.
But some textures are swizzled and have a size that is something like 2048x512. I suspect this is instead a 512x512x4 image. And decoding with 2048x512, causes 3/4 of the image to be empty.

I don't have too much experience with Morton, but if I can remember right, the xbox 360 sdk had functions for translating swizzled address/x/y/z with 3d textures, but won't work directly for psvita as far as I know.

So do you know how to implement the 3d lookup?

Example of texture working fine:
ev_ui_00 0000 imy

Example of texture 1024x512 that is cut.
ca_ui_00 0001 imy

Font is cut too (2048x512) (font is white so it won't be displayed on a white background):
font_00 imy

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.