|
|
 |
 |
Welcome, Guest Viewer. Register at edgedatabase.com!
 30,012 Members. 0 Online, 4 Guests.
 |
 |
|
|
 |
|
 |
 |
 |
|
|
This is the file format to Deus Ex 2's .ibd files, which basically store resources (on textures, materials, models, animation etc).
All credit goes to Jim (website).
Download his Material Editor here.
| |
|
[IBDHeader]
[IBDDec]
[IBDDec]
[IBDDec...]
[Variable table]
[Resource Block]
[Resource Block]
[Resource Block...]
//IBD Header
struct IBDHeader
{
DWORD magic; //file signiture (always 0xC0000001)
DWORD version; //version? (always 0x800) ..could also be
//resource alignment, which is also 0x800
DWORD firstResource; //offset to first resource
DWORD totalSize; //total size of all resources
DWORD largestResource; //largest resource size
DWORD unknown; //related to largest resource size
DWORD numResources; //number of resources
DWORD numVariables; //number of variables
char UID[20]; //20-byte UID
};
#define GetIBDAlign(size) ((size+0x7FF)&0xFFFFF800)
//Resource declaration
struct IBDDec
{
DWORD offset; //offset to resource
DWORD resourceSize; //size of resource
DWORD alignSize; //size of resource alignment. GetIBDAlign(resourceSize)-resourceSize
DWORD variableIndex; //starting index in variable table
DWORD numVariables; //number of variables used
char UID[20]; //20-byte UID
BYTE resourceType; //resource type (only 2 known so far, but there are many more)
//0x8 - Texture resource
//0xA - Material resource
char resourceName[263]; //resource name
};
| |
 |
|
 |
|
|
|