P3D File Format - ODOLV40 Obsolete – Talk

From Bohemia Interactive Community
Revision as of 17:22, 16 June 2007 by Synide (talk | contribs)
Jump to navigation Jump to search

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...

Anim Sequencing?

Also, I think the first LOD in the file structure is always the 'Memory LOD' - Well at least it looks like it in m16a4.p3d, G36.p3d and us_soldier_sniper.p3d.

--Sy 17:15, 16 June 2007 (CEST)