Jump to content

Photo
- - - - -

how do i create *.rvmat files?


  • Please log in to reply
6 replies to this topic
Thread Starter
5133p39
5133p39

    Sergeant Major

  • Members
  • 1423 posts

  • Joined: 02-February 2004

Posted 16 May 2007 - 06:13 #1

I need to know how can i make the *.rvmat files.
I am able to unpack them via the ofppbo131 total commander plugin, but i can't pack them back into the "rvmat format" after editing.

Does anyone know a way to do this?
Core i7-4820K @ 4.8GHz | 64GB DDR3 | ASUS GTX TITAN Black | OCZ Revo 120GB PCIe SSD | 2x OCZ Vertex 4 120GB |
Windows 7 64bit Professional | OFP, Arma, Arma 2, Arma 3

Free hug for everybody who reads first, and asks later! :286:

Törni
Törni

    First Sergeant

  • Members
  • 888 posts

  • Joined: 04-March 2007

Posted 20 May 2007 - 18:46 #2

What they exactly are? Used to define damage effects on vehicles? Material definitions?

Thread Starter
5133p39
5133p39

    Sergeant Major

  • Members
  • 1423 posts

  • Joined: 02-February 2004

Posted 21 May 2007 - 08:48 #3

[quote name='(Törni @ May 20 2007,20:46)']What they exactly are? Used to define damage effects on vehicles? Material definitions?[/QUOTE]
*.rvmat file is somewhat compressed/binarized/whatever config.cpp
What i was asking is: does anyone know how can i compress/binarize/whatever the *.cpp file into the *.rvmat file?
And yes, it contains something which i would call material definitions:<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">
ambient[] =
{
1,
1,
1,
1
}; // array ambient[4]
diffuse[] =
{
1,
1,
1,
1
}; // array diffuse[4]
forcedDiffuse[] =
{
0,
0,
0,
0
}; // array forcedDiffuse[4]
emmisive[] =
{
0,
0,
0,
0
}; // array emmisive[4]
specular[] =
{
1,
1,
1,
0
}; // array specular[4]
specularPower = 30;
PixelShaderID = "NormalMapSpecularDIMap";
VertexShaderID = "NormalMap";
class Stage1
{
texture = "ca\air\data\ah1z_body_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] =
{
1,
0,
0
}; // array aside[3]
up[] =
{
0,
1,
0
}; // array up[3]
dir[] =
{
0,
0,
0
}; // array dir[3]
pos[] =
{
0,
0,
0
}; // array pos[3]
}; // class uvTransform
}; // class Stage1
class Stage2
{
texture = "ca\air\data\ah1z_body_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] =
{
1,
0,
0
}; // array aside[3]
up[] =
{
0,
1,
0
}; // array up[3]
dir[] =
{
0,
0,
0
}; // array dir[3]
pos[] =
{
0,
0,
0
}; // array pos[3]
}; // class uvTransform
}; // class Stage2[/QUOTE]
Core i7-4820K @ 4.8GHz | 64GB DDR3 | ASUS GTX TITAN Black | OCZ Revo 120GB PCIe SSD | 2x OCZ Vertex 4 120GB |
Windows 7 64bit Professional | OFP, Arma, Arma 2, Arma 3

Free hug for everybody who reads first, and asks later! :286:

Synide
Synide

    Master Gunnery Sergeant

  • Members
  • 1010 posts

  • Joined: 05-March 2007

Posted 21 May 2007 - 10:49 #4

Mikero's Eliteness is the only tool currently able to 'Rapify' .cpp text files back into a binarized format.

Mikero

Oh, and the .rvmat files contain pointers to the 'normal map' and 'specular map' versions of their counterpart 'diffuse' textures which all and sundry have been 'skinning' to alter soldier uniforms etc. + some additional info for use by the 'shaders' for rendering.........




Hibernating (indefinitely/permanently/intermittently)... may respond to email, possibly.

Törni
Törni

    First Sergeant

  • Members
  • 888 posts

  • Joined: 04-March 2007

Posted 21 May 2007 - 11:45 #5

I pumbed into these as I was trying to figure out how to make the game engine to switch damaged textures for a destroyed vehicles. (Still no luck but I'm actively looking for an answer) .rvmat is also used for texture layers in terrain if I remember correctly.





Synide
Synide

    Master Gunnery Sergeant

  • Members
  • 1010 posts

  • Joined: 05-March 2007

Posted 22 May 2007 - 00:25 #6

@torni...

.rvmat files may or may not be present for just about any texture in the game.

If you are looking for specific 'damaged' textures for a given unit and/or object in the game you would track them down by looking in the config.cpp where the 'unit/object' is defined.

eg. tracked.pbo>config.cpp

class T72>class Damage

As an example one of the .rvmat files mentioned is "ca\tracked\data\detailmapy\t72_metal_destruct.rvmat"

If you unrapify this file into t72_metal_destruct.cpp you'll notice in Stage2 it refers to the texture "ca\data\destruct\vehicle_destr1024_1024_mc.paa"

open this texture from the ca.pbo file...
Hibernating (indefinitely/permanently/intermittently)... may respond to email, possibly.

Törni
Törni

    First Sergeant

  • Members
  • 888 posts

  • Joined: 04-March 2007

Posted 22 May 2007 - 09:21 #7

Damage effects should work with third party addons too. Currently they work only with BTR80. They work even with simple .paa or .pac textures.

So it must be a class error in the addon configs. Have to do some reversed engineering tonight.