ya empezaron a ver los archivos ptf que son las extensiones de los temas.
Aqui la noticia.
Just managed to have a look at the PTF format that Sony introduces with their release of 3.70.
Haven't had the time to look through everything, but I think I've got the basic file structure (it's not very difficult ). It seems to contain a lot of RLZ compressed files (they all appear to actually be GIM images).
Anyways, on with the structure, for anyone interested
The real data starts at 0x100 - before that, well, it's just ASCII and null characters... >_>
At 0x100, there's the 0x20 byte PTF header - all it contains are pointers to the various sections of the file. Currently, only 5 sections exist (thus 5 pointers).
Now, for each section, there's a 0x20 byte header, with 4 values, taking up 0xC bytes (the rest of the 0x20 bytes are just nulls). [the first section obviously appears at 0x100+0x20 = 0x120]
0x00: Appears to be the number of the current section (ie, first section = 0x00, second section = 0x01, etc)
0x02: Number of entries in the current section
0x04: Offset to the first Entry header in the next section, relative to the absolute offset of the first Entry header of the current section
0x08: Offset to the first Entry header in the previous section, relative to the absolute offset of the first Entry header of the current section
Now under each section, there's a number of entries. Each entry has a 0x20 header, followed by the data, which is RLZ compressed. The header has 4 values, taking up 0x10 bytes (again, the rest is just nulls). [the first entry obviously appears at 0x100+0x20+0x20 = 0x140]
0x00: Unknown - seems to be either 0x00, 0x01, 0x02 or 0x03 ...
0x04: Usually 0x010005, but sometimes 0x010004 - this appears to be the same as the imageformat/compression flag used in image resources in RCOs. For RCOs: 0x010005 refers to a compressed GIM image (IDK what 0x010004 is right now)
0x08: Size of the data (compressed)
0x0C: Size of the data (uncompressed)
Interestingly, some sections end with a "blank" entry (I guess to make some pointers keep their meaning). The blank entry has 0x00 and 0x501 as the two unknown values, and it's data is 4 bytes long. The data always seems to be some 4 byte integer value...
Will have a look at the unknown fields some time later, but for now, it's an overview