Jump to content

Recommended Posts

  • Members
Posted (edited)

I attempted to try to decomp, sadly I think it's not correct. I attached some raw binary files

honestly no about compression 

edit:

removed attachment as it's clearly wrong lol

Edited by vistekis
  • Members
Posted (edited)

using h3x3r's 010 script

I made a bastardized version which runs inside my asset browser

img_1.thumb.png.5d4cb0018e0646b97dfcf8cf64c386d1.png

and previews the image

img.png.35f1fa5277a355eb26c231170eac59b1.png

sadly I can't figure out decompression. 

as far as I can tell, pixel format 23 will display the textures, 28 (which I'm guesing is dxt3 or 5) isn't working yet

not that it's much help without being able to decompress, but..

pixel formats:

35 = bc1/dxt1

39 = bc3/dxt5

40 = bc5/ati2,normals

 

Edited by vistekis
  • 2 weeks later...
  • Members
Posted

Good day,

with help from h3x3r, I've learned a lot about the .tex format for Fable 2.

He provided the following script

 

//------------------------------------------------
//--- 010 Editor v14.0 Binary Template
//
//      File: 
//   Authors: 
//   Version: 
//   Purpose: 
//  Category: 
// File Mask: 
//  ID Bytes: 
//   History: 
//------------------------------------------------
BigEndian();OutputPaneClear();
local uint32 i;

uint32 Sign;
uint32 RawDataSize;
uint32 Unknown_0;
uint32 Unknown_1; // maybe mipmap def size
uint32 TextureWidth;
uint32 TextureHeight;
uint32 PixelFormat;
uint32 MipMap;
uint32 MipMapOffset[MipMap];


for (i=0; i < MipMap; i++)
{
    FSeek(MipMapOffset[i]);
    struct
    {
        uint32 CompFlag;
        uint32 DataOffset;
        uint32 DataSize;
        uint32 Unknown_3;
        uint32 Unknown_4;
        uint32 Unknown_5;
        uint32 Unknown_6;
        uint32 Unknown_7;
        uint32 Unknown_8;
        uint32 Unknown_9;
        uint32 Unknown_10;
        uint32 Unknown_11;
        if (CompFlag == 7)
        {
            ubyte MipMapData[DataSize];
        }
        else
        {
            uint16 MipWidth;
            uint16 MipHeight;
            ubyte UnkData[440];
            ubyte MipMapData[DataSize-448];
        }
    }MipMapDef;
}

 

So the files use mipmaps. Mip flag 7 is uncompressed, with (as far as I can tell) flag 1, 11, and 13 being compressed

It's likely lzx / xmemdecompress.

I've tried writing using quickbms and calling lzx to get it, but I don't know anything anything about anything with compression

Attached a bunch of the .tex files. Any help would be much appreciated!
 

New WinRAR archive.rar

  • 1 month later...
Posted
On 10/5/2025 at 2:22 AM, CharlieV said:

Ah I thought progress was being made on that, just providing a reference to check against. I'm not talking about mips myself those are there too in full grids, I only mention version because of course there are also lower res LOD textures as well, full>LOD>mip, just not for weapons because they're already lower than they ever should have been, it's crazy. Again, even the full uncompressed textures are awful for a lot of stuff and it can be seen in-game easily, so 'higher resolution' is a bit relative. 

Obviously ideally we'd be able to extract the textures directly, but the model plugin being worked on certainly won't be useless without that regardless of texture progress, ripping the textures is very viable, tedious yes, but simple enough for specific things rather than the entire game. I've gone through more hoops than that in the past! 

The issue is that it is not clear to where the decompressed size is listed

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...