Well, I did some improvements...
After looking at this page
http://wiki.tesnexus.com/index.php/Savegame_file_format_-_XCOM:EU_2012#Data_Structures I found that there is FCompressedChunk in my Texture2D file.
So, I extracted this part of the Texture2D file, that begins with the magic 9e 2a 83 c1:
https://pasteboard.co/HGAOU21.jpg Now, using the FCompressedChunk record:
FCompressedChunk
- FCompressedChunkHeader // 16 bytes
- FCompressedBlock
- FCompressedBlockHeader // 8 bytes
- Raw compressed data // variable size
I got:
// FCompressedChunkHeader - 16 bytes
9E 2A 83 C1 4 bytes UE3 package signature (magic)
00 02 00 00 4 bytes Block size
00 00 0b 36 4 bytes Compressed size
00 00 80 00 4 bytes Uncompressed size
// FCompressedBlockHeader - 8 bytes
00 00 0b 36 4 bytes Compressed size
00 00 80 00 4 bytes Uncompressed size
The uncompressed image is a PF_DXT5, width 256, height 32
In fact, I have 0x8000 = 32.768 = 256 x 32 (uncompressed image size) * 4 (as each pixel is RGB and a alpha channel)
// Raw compressed data
From compressed size, 0x0b36 = 2.870 bytes
In the previous image, I selected 2.870 bytes from the end of the Texture2D file. They are the bytes in blue.
So, this is what I have until now.
But... There is 8 unknow bytes just between FCompressedBlockHeader and Raw compressed data: 02 01 00 00 , 00 00 60 00. Do you know what could be this data?
And... the raw data is LZO1X_1 compressed. What I have to do to extract this data? I have to take it and add a lzo header to extract with lzop or another lzo extractor?
Your help is appreciated. Thanks!