User Tools

Site Tools


arma:file_formats:p3d_odol

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
arma:file_formats:p3d_odol [2010/07/12 08:00] – changed new bis forum link. snakemanarma:file_formats:p3d_odol [2024/08/01 08:02] (current) – links added. snakeman
Line 1: Line 1:
-====== ODOL ======+====== ArmA 1 ODOL ====== 
 + 
 +[[https://www.pmctactical.org/forum/viewforum.php?f=42|ArmA 1 Forum]], [[:arma|ArmA 1 Home]], [[arma:config|ArmA 1 Config]], [[arma:tools|ArmA 1 Tools]], [[arma:file_formats|ArmA 1 File Formats]], [[arma:missions|ArmA 1 Missions]], [[arma:modeling|ArmA 1 3D Modeling]], [[arma:terrain|ArmA 1 Terrain]], [[arma:texturing|ArmA 1 Texturing]], [[arma:scripting|ArmA 1 Scripting]] 
 + 
 +**ArmA 1** aka Armed Assault (ArmA)
  
 P3D File Format - ODOL v40 used in ArmA. P3D File Format - ODOL v40 used in ArmA.
  
-The following information has been provided by BxBx and included by Mikero+The following information has been provided by BxBx and included by Mikero.
  
 <code cpp> <code cpp>
-//Legend  +//Legend 
-//byte = 1 char = 8 bits +//byte = 1 char = 8 bits
 //int = 4 byte = 32 bits; signed integer //int = 4 byte = 32 bits; signed integer
-//ulong = unsigned long, 4 bytes  +//ulong = unsigned long, 4 bytes 
-//ushort = unsigned short 2 bytes  +//ushort = unsigned short 2 bytes 
-//asciiz = variable length zero terminated string. +//asciiz = variable length zero terminated string.
 //float = 4 bytes (single precision) //float = 4 bytes (single precision)
 //bool8 = 1 byte = 8 bits; boolean; 0 or 1 //bool8 = 1 byte = 8 bits; boolean; 0 or 1
  
-Blocks in Odol V40 are quite similar to Odol v7 but placed in reverse order. +Blocks in Odol V40 are quite similar to Odol v7 but placed in reverse order.
  
-Resolution table, +Resolution table,
 LOD tables last to first LOD tables last to first
- +
 The same LZ compression is used for LODs as ODOL v7 The same LZ compression is used for LODs as ODOL v7
  
-known data: +known data:
  
 Beginning of file (Header signature) Beginning of file (Header signature)
Line 39: Line 43:
  
 byte   u5[139];      // unknown data , still same length as v7 byte   u5[139];      // unknown data , still same length as v7
-Asciiz skeleton_name // Note: A Skeleton may not exist +Asciiz skeleton_name // Note: A Skeleton may not exist
 if (*skeleton_name) if (*skeleton_name)
 { {
Line 47: Line 51:
  {  {
    Asciiz bone1,bone2;    Asciiz bone1,bone2;
-  + }
 } }
  
 char u7[0x26]     // unknown data char u7[0x26]     // unknown data
-Asciiz modelclass, modelparent // I think purpose this data found values 'houseno'  +Asciiz modelclass, modelparent // I think purpose this data found values 'houseno' 
-                               //housebuilding',....  +                               //housebuilding',....
 char u8[5]        // unknown data char u8[5]        // unknown data
 bool8 exist_anims bool8 exist_anims
Line 71: Line 75:
 struct lod[lod_count] struct lod[lod_count]
 { {
- int     vertices count + int     vertices count
  bool8   ub1  bool8   ub1
  if (ub1) char uch[11]  // unknow data  if (ub1) char uch[11]  // unknow data
Line 89: Line 93:
    int    u11 // self increment value // 0,1,2,3,4,...    int    u11 // self increment value // 0,1,2,3,4,...
   }   }
-  char uch[0x34*textres_count] // some struct with same length  +  char uch[0x34*textres_count] // some struct with same length 
-       //as textures_in_material +       //as textures_in_material
        // I dont work with material now, I skip it.        // I dont work with material now, I skip it.
  }  }
Line 108: Line 112:
   char *name;   char *name;
   int selected_faces_count   int selected_faces_count
-  ushort selected_faces[selected_faces_count] // if selected_faces_count > 0x100 +  ushort selected_faces[selected_faces_count] // if selected_faces_count > 0x100
           // then compresed by LZ           // then compresed by LZ
   int    u14;   int    u14;
Line 147: Line 151:
 I cannot find face.texture_index information, in M16A4 are only 2 textures and I texture it hand by original UVsets. I cannot find face.texture_index information, in M16A4 are only 2 textures and I texture it hand by original UVsets.
  
- 
-====== See Also ====== 
- 
-First ArmA MLOD model on [[http://forums.bistudio.com/showthread.php?t=5909|here]] and [[http://forums.bistudio.com/showthread.php?t=58905|here]]. 
arma/file_formats/p3d_odol.1278921634.txt.gz · Last modified: 2010/07/12 08:00 by snakeman