ofp:file_formats:odol
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| ofp:file_formats:odol [2007/07/10 09:52] – external edit 127.0.0.1 | 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.1184061152.txt.gz · Last modified: 2008/07/17 13:07 (external edit)
