Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Please help Extract .gtf textures

Get your graphics formats figures out here! Got details for others? Post here!
ExeiL
ultra-n00b
Posts: 7
Joined: Sun Oct 10, 2010 10:47 pm
Been thanked: 2 times

Please help Extract .gtf textures

Post by ExeiL »

Please help Extract .gtf textures. It's textures file format from PS3 Games (for example: God of War)...
User avatar
Evin
ultra-veteran
ultra-veteran
Posts: 348
Joined: Sat Aug 05, 2006 2:04 pm
Location: Hungary
Has thanked: 2 times
Been thanked: 160 times
Contact:

Re: Please help Extract .gtf textures

Post by Evin »

Sample?!
ExeiL
ultra-n00b
Posts: 7
Joined: Sun Oct 10, 2010 10:47 pm
Been thanked: 2 times

Re: Please help Extract .gtf textures

Post by ExeiL »

The contents of this post was deleted because of possible forum rules violation.
User avatar
Evin
ultra-veteran
ultra-veteran
Posts: 348
Joined: Sat Aug 05, 2006 2:04 pm
Location: Hungary
Has thanked: 2 times
Been thanked: 160 times
Contact:

Re: Please help Extract .gtf textures

Post by Evin »

It seems it some kind of DDS or Tim format. Maybe Tim3. I can see the main character and some text on it, but I can't edit.
Channels: ARGB.
ExeiL
ultra-n00b
Posts: 7
Joined: Sun Oct 10, 2010 10:47 pm
Been thanked: 2 times

Re: Please help Extract .gtf textures

Post by ExeiL »

evin wrote:It seems it some kind of DDS or Tim format. Maybe Tim3. I can see the main character and some text on it, but I can't edit.
Channels: ARGB.
yes, PS3 SDK have convert tool DDS2GTF, but I want convert from gtf to dds...or other format what I can edit
About GTF in PS3 SDK ReadMe wrote: The GTF file format does not have a fixed pixel format. It corresponds to
texture data saved in the DDS format that has been rearranged in a layout
that can be easily handled by RSX(TM).

Texture data is packed in DDS. To use with RSX(TM), its memory layout
must be changed on the CELL side.
GTF stores texture data exactly in the layout by which it is to be used
within RSX(TM). Thus, such a file can be directly referenced as a texture
by merely placing it on memory.
You do not have the required permissions to view the files attached to this post.
User avatar
Evin
ultra-veteran
ultra-veteran
Posts: 348
Joined: Sat Aug 05, 2006 2:04 pm
Location: Hungary
Has thanked: 2 times
Been thanked: 160 times
Contact:

Re: Please help Extract .gtf textures

Post by Evin »

Got it. I didn't know the dimensions, but now I have the DDS image. Just the byte order difference. (Little-Endian - Big-Endian)
DDS format of this image: 8.8.8.8, no mipmap
You do not have the required permissions to view the files attached to this post.
ExeiL
ultra-n00b
Posts: 7
Joined: Sun Oct 10, 2010 10:47 pm
Been thanked: 2 times

Re: Please help Extract .gtf textures

Post by ExeiL »

evin wrote:Got it. I didn't know the dimensions, but now I have the DDS image. Just the byte order difference. (Little-Endian - Big-Endian)
DDS format of this image: 8.8.8.8, no mipmap
How I can edit this files (.gtf)? Have you any converter for this?
I just want transtlate this game, I want get image, edit it and bring it back(((
User avatar
Evin
ultra-veteran
ultra-veteran
Posts: 348
Joined: Sat Aug 05, 2006 2:04 pm
Location: Hungary
Has thanked: 2 times
Been thanked: 160 times
Contact:

Re: Please help Extract .gtf textures

Post by Evin »

I need more samples, with smaller images. Because maybe this DDS compression is not the only one, which the game uses.
ExeiL
ultra-n00b
Posts: 7
Joined: Sun Oct 10, 2010 10:47 pm
Been thanked: 2 times

Re: Please help Extract .gtf textures

Post by ExeiL »

The contents of this post was deleted because of possible forum rules violation.
User avatar
Evin
ultra-veteran
ultra-veteran
Posts: 348
Joined: Sat Aug 05, 2006 2:04 pm
Location: Hungary
Has thanked: 2 times
Been thanked: 160 times
Contact:

Re: Please help Extract .gtf textures

Post by Evin »

This simple program support only the unswizzled .gtf files. Sorry, but I can't handle the swizzled mode.
You do not have the required permissions to view the files attached to this post.
ExeiL
ultra-n00b
Posts: 7
Joined: Sun Oct 10, 2010 10:47 pm
Been thanked: 2 times

Re: Please help Extract .gtf textures

Post by ExeiL »

evin wrote:This simple program support only the unswizzled .gtf files. Sorry, but I can't handle the swizzled mode.
Thank you very much!!!!!
dimmid
ultra-n00b
Posts: 3
Joined: Sat Apr 30, 2011 11:57 am

Re: Please help Extract .gtf textures

Post by dimmid »

evin wrote:This simple program support only the unswizzled .gtf files. Sorry, but I can't handle the swizzled mode.
Hi, any chance you could release the source of that? also what is this unswizzled/swizzled mode about? and finally, any chance it is possible to convert this to a jpeg?
many thanks

PS: i know this is an old thread, but i figured it would be better if it stayed in one place.
User avatar
Evin
ultra-veteran
ultra-veteran
Posts: 348
Joined: Sat Aug 05, 2006 2:04 pm
Location: Hungary
Has thanked: 2 times
Been thanked: 160 times
Contact:

Re: Please help Extract .gtf textures

Post by Evin »

C# 2.0

Code: Select all

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Diagnostics;

namespace gtf2dds
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Process p = Process.GetCurrentProcess();
                string assemblyName = p.ProcessName + ".exe";

                Console.Clear();
                Console.WriteLine("GTF to DDS converter\nTom Evin 2010.10.12.");
                if (args.Length < 1)
                {
                    Console.WriteLine("Only 8.8.8.8 compression supported.\nJust drag && drop a file or in command line: " + assemblyName + " filename.dds/gtf");
                    Console.Read();
                }
                else
                {
                    FileStream ins = File.OpenRead(args[0]);
                    byte[] b = new byte[4];
                    byte[] a = new byte[2];
                    int width = 0;
                    int height = 0;
                    ins.Read(b, 0, 4);
                    if (b[0] == 0x02 && b[1] == 0x01 && b[3] == 0xff)
                    {
                        FileStream outs = File.OpenWrite(Path.GetFileNameWithoutExtension(args[0]) + ".dds");
                        byte[] DDSHeader1 = new byte[12] { 0x44, 0x44, 0x53, 0x20, 0x7c, 0x00, 0x00, 0x00, 0x07, 0x10, 0x08, 0x00 };
                        byte[] DDSHeader2 = new byte[108]{0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
                        0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00,
                        0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x10, 0x00, 0x00,
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

                        ins.Seek(0, SeekOrigin.End);
                        int vege = (int)ins.Position;
                        ins.Seek(32, SeekOrigin.Begin);
                        ins.Read(a, 0, 2);
                        Array.Reverse(a);
                        width = BitConverter.ToInt16(a, 0);
                        ins.Read(a, 0, 2);
                        Array.Reverse(a);
                        height = BitConverter.ToInt16(a, 0);
                        ins.Seek(128, SeekOrigin.Begin);
                        Console.WriteLine("Size: " + vege);
                        Console.WriteLine("\nDimensions");
                        Console.WriteLine("Width: " + width);
                        Console.WriteLine("Height: " + height);

                        outs.Write(DDSHeader1, 0, 12);
                        b = BitConverter.GetBytes(height);
                        outs.Write(b, 0, 4);
                        b = BitConverter.GetBytes(width);
                        outs.Write(b, 0, 4);
                        outs.Write(DDSHeader2, 0, 108);

                        for (int i = 0; i < (vege - 128)/4; i++)
                        {
                            ins.Read(b, 0, 4);
                            Array.Reverse(b);
                            outs.Write(b, 0, 4);
                        }
                        outs.Flush();
                        outs.Close();
                    }
                    else { Console.WriteLine("This is not a .gtf file or corrupt or just not supported by this program!"); Console.Read(); }
                    ins.Close();
                }
                //Console.Read();
            }
            catch (IndexOutOfRangeException exc)
            {
                Console.WriteLine(exc.Message);
                Console.Read();
            }
            catch (FileLoadException exc)
            {
                Console.WriteLine(exc.Message);
                Console.Read();
            }
        }
    }
}
The swizzle thing: Google -> texture swizzle
Basically this some kind of compression mode.

"any chance it is possible to convert this to a jpeg?"
Everything is possible. Just I don't have time to working on this. What is more, I don't have the game or ps3.
dimmid
ultra-n00b
Posts: 3
Joined: Sat Apr 30, 2011 11:57 am

Re: Please help Extract .gtf textures

Post by dimmid »

I understand completely, either way, thank you very much for the source. I will try and convert it to jpeg myself.
JU57FL1P
beginner
Posts: 23
Joined: Sun May 29, 2011 11:16 am

Post by JU57FL1P »

I'll revive this thread... Shift 2 unleashed is one of those games taht use .gtf textures, but these tools do not work on this game unfortunatly...
i attached some files, any help would be nice :)

can't attach 2 attacments, here's the link for another one(it has real liveries): http://www.upload.ee/files/1376419/s2u_ ... ..rar.html

note: I'd need .gtf to dds and dds to gtf
You do not have the required permissions to view the files attached to this post.
Post Reply