P3D File Format - ODOLV40 Obsolete – Talk
I'm seeing a lot of varying structures dependant on model type.
//Legend
//byte = 1 char = 8 bits
//ulong = unsigned long, 4 bytes
//ushort = unsigned short 2 bytes
//asciiz = variable length zero terminated string.
//float = 4 bytes (single precision)
struct ODOLv40
}
char Signature[4]; //"ODOL"
ulong Version; //28hex, 40dec
ulong LodCount;
float Resolutions[LodCount];
byte Unknown[VariableLength]; //Length varies between models, end of Resolutions array to begining of Skeleton.
struct Skeleton //Note: A Skeleton may not exist
{
asciiz SkeletonType; //eg. Weapon, OFP2_ManSkeleton
byte Unknown;
ulong BoneCount;
struct BoneGroup
{
bool isBoneGroup; //Note: The 1st. bone is implied to be a 'group' but has no leading byte
asciiz BoneName;
};
};
byte Unknown;
ulong Something01; //Always? xh16000000, 22 - Exists in 3 odolv40's i've checked
byte Unknown[VariableLength]; //Length from 'Something01' to begining of anims.
asciiz Animation;
};
in the M16a4.p3d after animation 'magazine_hide\0' and 'reloadMagazine\0' there is...
--Sy 17:15, 16 June 2007 (CEST)