neai on 2/8/2005 at 17:26
I've been looking at T3Game.t3u
The new table appears to be some kind of database. The repeating numbers are prolly export item indexes saved as dwords. From naive point of view in the new table after first 16 bytes there will be 32 arrays of dwords, each array having exporttable.count+1 number of dwords. Except that in last array last item doesnt follow the pattern. Naive, like I said but that's a start.
neai on 3/8/2005 at 03:14
T3U header looks fairly standard:
Code:
// typedefs
typedef struct{
DWORD Count;
DWORD Offset;
}TTableHeader;
typedef struct{
DWORD ExportCount;
DWORD NameCount;
}TGenItem;
// data
DWORD Signature;
WORD PackageVersion;
WORD LicenseMode;
DWORD PackageFlags;
TTableHeader NameTable;
TTableHeader ExportTable;
TTableHeader ImportTable;
DWORD Unknown; // new, always 0?
BYTE Guid[16];
DWORD GenCount;
TGenItem GenItems[GenCount];
TTableHeader NewTable; // new
// end
At
NewTable.Offset there is a block of size:
Code:
size = 4 * NewTable.Count + 4 * 32 * ( 1 + ExportTable.Count );
Which could be interpreted as:
Code:
// typedefs
typedef struct{
DWORD Count;
DWORD Items[ Count ];
}TNewBlock;
// data
DWORD UnknownHeader[NewTable.Count];
TNewBlock UnknownTable[32];
// end
It's worth noting that in both
UnknownHeader and
UnknownTable all items are valid
ExportTable indexes.
In
UnknownTable all
TNewBlock::Count have identical value equal to
ExportTable.Count.
Tested on:
* Fire.t3u
* T3AI.t3u
* T3Game.t3u
* T3Player.t3u
This new table may be related to object system presented in this slide: (
http://www.gdconf.com/archives/2003/Duran_Alex.ppt)
Shockeye on 3/8/2005 at 12:41
Thanks Neai!
I shall investigate further.
massimilianogoi on 28/12/2008 at 09:38
I must reopen this thread, because I'm in need of a way to export my classes without any T3Gamesys.t3u): like this anyone should be able to import anything from myself (such as mechanists robots, others AI, food edible, etc..) without losing his settings in his T3Gamesys.t3u.
If someone knows something about, make a step forward.