P3D File Format - ODOLV4x – Talk

From Bohemia Interactive Community
Jump to navigation Jump to search
(UnKnownComponentStruct)
Line 56: Line 56:


: the correct value for Stagecount has has been found [[User:Mikero|Mikero (nee Ook?)]] 07:08, 15 January 2009 (CET)
: the correct value for Stagecount has has been found [[User:Mikero|Mikero (nee Ook?)]] 07:08, 15 January 2009 (CET)
==UnKnownComponentStruct==
BMP2.p3d has some cases where isPresent is true but the unknownArray is empty. So it probably serves another purpose. --[[User:T D|T_D]] 11:16, 22 January 2009 (CET)

Revision as of 12:16, 22 January 2009

In structSkeleton the data type bool is used. Is it 1 byte with possible values 0 and 1? --Vektorboson 22:55, 19 July 2008 (CEST)

Yes, I believe it is. Amended, article to a 'byte' with 0x00=false, 0x01=true. -- Sy 04:56, 20 July 2008 (CEST)


I will use this page to keep track of some of my thoughts: --T_D 23:56, 3 January 2009 (CET)

  1. ModelProxies should be part of structResolution imo
  2. byteArrayUnknown1 could consist of at least a few floats
  3. Unknown could contain something like modelCenter or boundingBox
  4. Mass data should be somewhere


Yeah, sorry, haven't updated this article in a long time. Quite, alot of extra info. could be added but tbh haven't had the motivation and of course some or all of the stuff may or may not be accurate.
Here's the area 'tween the Header and the Skeleton...
Information moved into main text Mikero (nee Ook?) 07:40, 10 January 2009 (CET)
btw... the ModelInfo.ModelMassVector1_blah's are inaccurately identified, just old placeholder names that have never been updated.
Cheers, -- Sy 10:59, 6 January 2009 (CET)

Stage UVtransforms

i have altered the struct from

float aside[3]; //this doesn't appear to be correct
float up[3];    //it looks more like a direct X transform matrix
float dir[3];   //
float pos[3];   //

to

float Transform[3][4];  

because it appears to closely match the directX as per other p3d type files (MLOD for ofp eg)

Mikero (nee Ook?) 12:20, 10 January 2009 (CET)

Determining stage count

the values for PixelShaderID's 8,10 and 0x3C are 'wrong' for some few official arma p3d's

it *seems* to be dependent on the VertexShaderId

pond.p3d par exemple

type 10 needs to be +1 if VertexShaderId==8 and perhaps any other non-zero value (only ever seen 0, or 8)

type 8 needs to be +1 only a VertexShaderId==8 ever seen

jablon.p3d eg

type 0x3c needs to be = 3 (not 0) for all files encountered (all files encountered have a non zero VertexShaderId of varying counts)

the correct value for Stagecount has has been found Mikero (nee Ook?) 07:08, 15 January 2009 (CET)


UnKnownComponentStruct

BMP2.p3d has some cases where isPresent is true but the unknownArray is empty. So it probably serves another purpose. --T_D 11:16, 22 January 2009 (CET)