ofp:file_formats:odol
                Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| ofp:file_formats:odol [2007/07/04 17:33] – created odol initial page snakeman | ofp:file_formats:odol [2024/07/31 12:44] (current) – links added. snakeman | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== ODOL ====== | + | ======  | 
| - | OFP ODOL format is called v7 (while ArmA is called v40). This document discusses OFP ODOL. | + | [[https:// | 
| + | |||
| + | **Operation Flashpoint (OFP)** aka ArmA: Cold War Assault (CWA) | ||
| + | |||
| + | OFP ODOL file format is called v7 (while ArmA is called v40). This document discusses OFP ODOL. | ||
| **Overall** | **Overall** | ||
| Line 22: | Line 26: | ||
|     uint VerticesCount; |     uint VerticesCount; | ||
|     uint VerticesAttribs[VerticesCount]; |     uint VerticesAttribs[VerticesCount]; | ||
| - | + | ||
|     uint VerticesCount; |     uint VerticesCount; | ||
| - |     struct UVset[VerticesCount]; | + |     struct UVset[VerticesCount]; | 
| - | + | ||
|     uint VerticesCount; |     uint VerticesCount; | ||
|     struct VerticesPosition[VerticesCount]; |     struct VerticesPosition[VerticesCount]; | ||
| - | + | ||
|     uint VerticesCount; |     uint VerticesCount; | ||
|     struct VerticesNormal[VerticesCount]; |     struct VerticesNormal[VerticesCount]; | ||
| - | + | ||
|     float fvalue[12];  |     float fvalue[12];  | ||
| - | + | ||
|     uint TexturesCount; |     uint TexturesCount; | ||
|     char Textures[...]; |     char Textures[...]; | ||
|     //read until count of founded char(' |     //read until count of founded char(' | ||
| - | + | ||
|     uint Table1stCount; |     uint Table1stCount; | ||
| - |     word Table1st[Table1stCount];// | + |     word Table1st[Table1stCount];// | 
|     uint Table2ndCount; |     uint Table2ndCount; | ||
|     word Table2nd[Table2ndCount];// |     word Table2nd[Table2ndCount];// | ||
| Line 45: | Line 49: | ||
| //every vertex is owned only by 1 face | //every vertex is owned only by 1 face | ||
|     // |     // | ||
| - | + | ||
| uint FacesCount; | uint FacesCount; | ||
|     uint uvalue;  |     uint uvalue;  | ||
|     struct Face[FacesCount]; |     struct Face[FacesCount]; | ||
| - | + | ||
| uint uvalue2; // unknown value | uint uvalue2; // unknown value | ||
|     char uchar[18*uvalue2]; |     char uchar[18*uvalue2]; | ||
| - | + | ||
| - |     uint NamedSelectionCount  | + | uint NamedSelectionCount | 
| struct NamedSelection[NamedSelectionCount] | struct NamedSelection[NamedSelectionCount] | ||
| - | + | ||
|     uint NamedPropetiesCount; |     uint NamedPropetiesCount; | ||
| struct NamedPropeties[NamedPropetiesCount] | struct NamedPropeties[NamedPropetiesCount] | ||
| - | + | ||
| uint uvalue7;// unknown value ??? | uint uvalue7;// unknown value ??? | ||
|     struct ustruct[uvalue7]; |     struct ustruct[uvalue7]; | ||
| - | + | ||
| uint ProxiCount; | uint ProxiCount; | ||
|     struct Proxi[ProxiCount]; |     struct Proxi[ProxiCount]; | ||
| Line 76: | Line 80: | ||
| < | < | ||
| - |    | + | struct Face | 
| { | { | ||
| uint Attribs; | uint Attribs; | ||
| Line 91: | Line 95: | ||
| { | { | ||
| char name[...]; // zero ended string | char name[...]; // zero ended string | ||
| - | + | ||
|       uint VerticesSelectedCount; |       uint VerticesSelectedCount; | ||
|       word VerticesSelected[VerticesSelectedCount];// |       word VerticesSelected[VerticesSelectedCount];// | ||
| - | + | ||
| uint uvalue3; // unknown value | uint uvalue3; // unknown value | ||
|       word uarray[uvalue3];// |       word uarray[uvalue3];// | ||
| - | + | ||
| uint uvalue4; // unknown value | uint uvalue4; // unknown value | ||
|       uint uarray[uvalue4];// |       uint uarray[uvalue4];// | ||
| - | + | ||
| - | char uchar; // unknown value | + | char uchar; // unknown value | 
| - | + | ||
| uint uvalue5; // unknown value | uint uvalue5; // unknown value | ||
|       uint uarray[uvalue5];// |       uint uarray[uvalue5];// | ||
| - | + | ||
|       uint FacesSelectedCount; |       uint FacesSelectedCount; | ||
|       word FacessSelected[FacesSelectedCount]// |       word FacessSelected[FacesSelectedCount]// | ||
| - | + | ||
| uint uvalue6; // unknown value | uint uvalue6; // unknown value | ||
|       char uarray[uvalue6];// |       char uarray[uvalue6];// | ||
| Line 147: | Line 151: | ||
| { | { | ||
| char Name[...] // zero ended string | char Name[...] // zero ended string | ||
| - |        | + |        | 
| + | float translation[3]; | ||
| }; | }; | ||
| </ | </ | ||
| Line 174: | Line 179: | ||
| ====== LZ in ODOL ====== | ====== LZ in ODOL ====== | ||
| - | Lempel-Ziv compression  | + | Lempel-Ziv compression | 
| Note1. | Note1. | ||
| Line 292: | Line 297: | ||
| } | } | ||
| </ | </ | ||
| + | |||
ofp/file_formats/odol.1183570406.txt.gz · Last modified: 2007/07/10 09:52 (external edit)
                
                