Jump to content

weird rvmat behaviour

Recommended Posts

I have noticed some random behaviour with rvmats across different addons/pbos:

My planes all receive their glass from my aircraft library addon (rvmat and paa).

A few updates ago I noticed that the rvmat seems to get stored inside the p3d though when i build the p3d of the plane addon. is this correct?

Now whenever I update my aircraft library addon sometimes it works, some other times it seems to magically get an old rvmat stored inside one of the p3ds?

I thought that if I put the newest definition / my aircraft library in top of loading order it would help. but it seems it is totally random?

any ideas?



what I want - and sometimes it works too.



what I often get instead, same addons!

Share this post

Link to post
Share on other sites
On 05/06/2017 at 2:50 PM, [Dust]Sabre said:

rvmat seems to get stored inside the p3d

they are not, all of your models are looking for a glass rvmat file located in one of your pbos

Share this post

Link to post
Share on other sites

There is most definitely RVMAT data baked into the p3d.




Basically... A direct replication of the information in the given .rvmat file



   asciiz            RvMatName;     // "ca\characters\data\soldier_captive_hhl.rvmat"
   ulong             Type;          // 9 == Arma, 10==VBS2,11==Arrowhead
   D3DCOLORVALUE     Emissive;
   D3DCOLORVALUE     Ambient;
   D3DCOLORVALUE     Diffuse;
   D3DCOLORVALUE     forcedDiffuse;
   D3DCOLORVALUE     Specular;
   D3DCOLORVALUE     Specular2;       //Usually same as Specular
   float             SpecularPower;
   ulong             PixelShaderId;   //See enumPixelShaderId
   ulong             VertexShaderId;  //See enumVertexShaderId
   LongBool          Arma1UnKnownBool;//A2 deprecated, always 1
                                      //A1 mostly 1 otherwise 0
   ulong             Arma1AnIndex;    //A2 deprecated, always 1
                                      //A1 0,1 or 2
   asciiz            BiSurfaceName;   // "ca\data\Penetration\plastic.bisurf"
   LongBool          Arma1Mostly0x01; //A2 deprecated, always 1
                                      //A1 rarely zero
   ulong             RenderFlags;     //Generally 0
   ulong             nTextures;
   ulong             nTransforms;     // always same as nTextures
   LodStageTexture   StageTextures  [nTextures];
   LodStageTransform StageTransforms[nTransforms]; 
   if type>=10//vbs2/arma2
    LodStageTexture   DummyStageTexture;// see special, additional byte for THIS stagetexture


How this is all affected by the order in which pbo's are loaded i have no idea.

Share this post

Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in

Sign In Now