Wrp File Format - OPRWv17 to 24

From Bohemia Interactive Community
Revision as of 14:18, 9 October 2008 by T D (talk | contribs)
Jump to navigation Jump to search


Current state of my researches on OPRW18 file format. Any additions, suggestions, etc. are appreciated.

char[4] sig //"OPWR" ulong version //0x12 ulong [2] x,y //texture cell dimension. ulong [2] x,y //elevations cell dimensions. float gridSize //in meters //still unknown stuff here Peak List { ulong size //maybe + 1 float[size][3] XYZ //Position of the Peak(Y is heigth) } ushort[][] TextureIndices //need still some research here ushort[gridX][gridY] unknown //packed byte[gridX][gridY] envSounds? //packed float[gridX][gridY] elevation //packed Rvmat List { ulong number of rvmats + 1 ushort 0x0 Rvmat entry { asciiz rvmat name byte 0x00 } } Model List (w/o class names) { ulong size //number of models asciiz[size] model_path //e.g. ca\buildings\kostelik.p3d } Model List (w/ class names) { ulong size //number of models Model { asciiz class_name //e.g. Land_Hangar asciiz model_path float[3] unknown ulong unknown } } //probably 2 blocks in between //lot of road blocks, which are divided by blocks of 0x00 Roadblock { ulong size //number of roadparts roadpart { ushort 0x02 float PosX_Start float elev_Start float PosZ_Start float PosX_End float elev_End float PosZ_End ulong || ushort[2] unknown //sorta index or ID?? or some flag thingy asciiz model_path float[12] matrix } } //Block of 0x00 Object List { object entry { ulong ObjectID ulong modelIndex float[12] matrix ulong 0x02 ?? } } //probably data about how objects are displayed in the editor(grey rectangles for buildings, circles for bushes and trees and so on) unknown Block { block entry { ulong type if(type in [0x18,0x1F,0x20]) type1 if(type in [0x03,0x04,0x14) type2 if(type in [0x19]) type3 if(type in [0x02, 0x0A, 0x0B, 0x16]) type4 //for 0x18, 0x1F, 0x20 type1 { ulong ObjectID float[4][2] rectangle //boundaries of object } //for 0x03, 0x04, 0x14 type2 { ulong ObjectID float[4][2] rectangle //boundaries of object ulong color?? } //for 0x19 type3 { ulong 0xFFFFFFFF ulong unknown float[4] unknown } for 0x02, 0x0A, 0x0B, 0x16 type4 { ulong ObjectID float[2] pos } }



Are you still interested in some input/observations or are you fine now? -- Sy 09:16, 9 October 2008 (CEST)

Of course I am still interested. Gimme all you have and know ;) --T_D 15:18, 9 October 2008 (CEST)