arma:file_formats:pew
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| arma:file_formats:pew [2011/06/30 15:38] – overhauled pew page completely. snakeman | arma:file_formats:pew [2024/08/01 08:06] (current) – links added. snakeman | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== PEW File Format ====== | + | ====== |
| + | |||
| + | [[https:// | ||
| + | |||
| + | **ArmA 1** aka Armed Assault (ArmA) | ||
| ====== Introduction ====== | ====== Introduction ====== | ||
| - | Pew are Visitor' | + | PEW are Visitor' |
| - | Visitor is a Gui tool interface | + | Visitor is a GUI tool that interacts with Bulldozer, an inbuilt ' |
| The contents of the project file, pew, are not directly related to the ultimate output, a wrp file. However, that data, of course, contains all similar elements, such as road networks, elevations, cell matrices, models and textures. | The contents of the project file, pew, are not directly related to the ultimate output, a wrp file. However, that data, of course, contains all similar elements, such as road networks, elevations, cell matrices, models and textures. | ||
| Line 46: | Line 51: | ||
| if (!NoOFPForests) | if (!NoOFPForests) | ||
| { | { | ||
| - | ulong nOFPForests; | + | ulong nOFPForests; |
| OFPForest | OFPForest | ||
| } | } | ||
| Line 53: | Line 58: | ||
| ulong NoOfObjects; | ulong NoOfObjects; | ||
| Object | Object | ||
| - | + | ||
| ulong NoOfLayers; | ulong NoOfLayers; | ||
| String | String | ||
| Layer Layers[[NoOfLayers]] ; | Layer Layers[[NoOfLayers]] ; | ||
| - | + | ||
| if (POSEW60) | if (POSEW60) | ||
| { | { | ||
| Line 67: | Line 72: | ||
| NamedZone | NamedZone | ||
| } | } | ||
| - | + | ||
| ulong nRoadBlocks; | ulong nRoadBlocks; | ||
| RoadBlock | RoadBlock | ||
| - | + | ||
| if (POSEW60) | if (POSEW60) | ||
| { | { | ||
| Line 81: | Line 86: | ||
| } | } | ||
| ulong nKeyPoints; | ulong nKeyPoints; | ||
| - | KeyPoint | + | KeyPoint |
| ulong NoOfBackgrounds; | ulong NoOfBackgrounds; | ||
| Background | Background | ||
| Line 97: | Line 102: | ||
| { | { | ||
| char | char | ||
| - | + | ||
| ulong Length; | ulong Length; | ||
| ulong UnknownLong; | ulong UnknownLong; | ||
| Line 133: | Line 138: | ||
| String | String | ||
| ulong ObjectType; | ulong ObjectType; | ||
| - | // 0 Natural | + | // 0 Undefined - This type should never be encountered. |
| - | // 1 Artificial | + | // 1 Natural |
| - | // 2 ??? | + | // 2 Artificial |
| // 3 Road (RoadFlag will be true) | // 3 Road (RoadFlag will be true) | ||
| - | // 4 ??? | + | // 4 Forest |
| - | // 5 ArtificialAndDefinedInRoad | + | // 5 Road2 (RoadFlag will be false) |
| - | RGBAColor | + | RGBAColor |
| - | RGBAColor | + | RGBAColor |
| double | double | ||
| ulong | ulong | ||
| Line 146: | Line 151: | ||
| double | double | ||
| XYZTriplet | XYZTriplet | ||
| - | shortBool | + | shortBool |
| shortBool | shortBool | ||
| double | double | ||
| shortBool | shortBool | ||
| double | double | ||
| - | shortBool | + | shortBool |
| double | double | ||
| shortBool | shortBool | ||
| - | if (RoadFlag) | + | if (RoadFlag) |
| { | { | ||
| TransformMatrix RoadNamedSelections; | TransformMatrix RoadNamedSelections; | ||
| TransformMatrix XRoadNamedSelections; | TransformMatrix XRoadNamedSelections; | ||
| }; | }; | ||
| - | ulong | + | ulong |
| - | | + | |
| - | ulong MarkerType; | + | ulong MarkerType; |
| } | } | ||
| </ | </ | ||
| - | ====== | + | ====== |
| <code cpp> | <code cpp> | ||
| - | | + | |
| { | { | ||
| | | ||
| Line 241: | Line 246: | ||
| { | { | ||
| String | String | ||
| - | RGBA | + | RGBA |
| - | RGBA | + | RGBA |
| shortBool | shortBool | ||
| - | double | + | double |
| double | double | ||
| ulong nStraights; | ulong nStraights; | ||
| Line 262: | Line 267: | ||
| <code cpp> | <code cpp> | ||
| - | RoadList | + | RoadList |
| { | { | ||
| | | ||
| Line 290: | Line 295: | ||
| Each of these RoadTypes | Each of these RoadTypes | ||
| - | Generally speaking, there are | + | Generally speaking, there are |
| < | < | ||
| *3 ' | *3 ' | ||
| Line 306: | Line 311: | ||
| String | String | ||
| ushort | ushort | ||
| - | RGBA color; | + | RGBA color; |
| shortBool CanChangeBankAngle; | shortBool CanChangeBankAngle; | ||
| ulong | ulong | ||
| Line 346: | Line 351: | ||
| XYPair | XYPair | ||
| float Heights[[GridSize]]; | float Heights[[GridSize]]; | ||
| - | float BlueEdgeTerrainHeights[[NoOfBlueFloats]] | + | float BlueEdgeTerrainHeights[[NoOfBlueFloats]] |
| // NoOfBlueFloats = (GridSize_Y * GridSize_X)/ | // NoOfBlueFloats = (GridSize_Y * GridSize_X)/ | ||
| ulong Always0; | ulong Always0; | ||
| Line 369: | Line 374: | ||
| String | String | ||
| float | float | ||
| - | RGBA OutlineColour; | + | RGBA OutlineColour; |
| - | RGBA ObjectColour; | + | RGBA ObjectColour; |
| ulong | ulong | ||
| }; | }; | ||
| Line 414: | Line 419: | ||
| | | ||
| { | { | ||
| - | ShortBool IsPresent; | + | ShortBool IsPresent; |
| if IsPresent | if IsPresent | ||
| { | { | ||
| - | ShortBool Always1; | + | ShortBool Always1; |
| - | ulong | + | ulong |
| /* typical data | /* typical data | ||
| - | **00 00 00 00 00 | + | **00 00 00 00 00 |
| - | 00 00 F0 2C | + | 00 00 F0 2C |
| - | 46 00 98 23 | + | 46 00 98 23 |
| - | 46 C6 6F C6 | + | 46 C6 6F C6 |
| - | 42 0E 01 00 | + | 42 0E 01 00 |
| - | 00 01 00 00 | + | 00 01 00 00 |
| - | F0 2C 46 00 | + | F0 2C 46 00 |
| - | 98 | + | 98 |
| - | 23 46 C6 6F | + | 23 46 C6 6F |
| - | C6 42 0E 01 | + | C6 42 0E 01 |
| - | 00 00 4B 00 | + | 00 00 4B 00 |
| - | 00 00 00 00 | + | 00 00 00 00 |
| - | 00 00 | + | 00 00 |
| */ | */ | ||
| ushort | ushort | ||
| String | String | ||
| String | String | ||
| - | RGBA color; | + | RGBA color; |
| - | ShortBool Always1; | + | ShortBool Always1; |
| - | ulong | + | ulong |
| FamilyList FamilyLists[[Count]]; | FamilyList FamilyLists[[Count]]; | ||
| ulong | ulong | ||
| /* typical data | /* typical data | ||
| - | **FA D4 30 BF 94 58 08 3D 00 00 C8 C0 00 00 60 C0 | + | **FA D4 30 BF 94 58 08 3D 00 00 C8 C0 00 00 60 C0 |
| - | **00 00 00 00 00 00 48 C1 00 00 60 40 00 00 00 00 | + | **00 00 00 00 00 00 48 C1 00 00 60 40 00 00 00 00 |
| - | **00 00 48 C1 00 00 60 C0 00 00 00 00 00 00 00 00 | + | **00 00 48 C1 00 00 60 C0 00 00 00 00 00 00 00 00 |
| - | **00 00 60 40 00 00 00 00 00 00 00 00 00 00 C8 C0 | + | **00 00 60 40 00 00 00 00 00 00 00 00 00 00 C8 C0 |
| - | **00 00 00 00 00 00 30 C0 00 00 C8 C0 00 00 00 00 | + | **00 00 00 00 00 00 30 C0 00 00 C8 C0 00 00 00 00 |
| - | **00 00 1C C1 04 01 00 00 00 00 00 00 00 00 00 00 | + | **00 00 1C C1 04 01 00 00 00 00 00 00 00 00 00 00 |
| - | **09 00 00 00 0B 80 00 00 04 00 00 00 | + | **09 00 00 00 0B 80 00 00 04 00 00 00 |
| */ | */ | ||
| - | ulong | + | ulong |
| ModelList ModelLists[[Count]]; | ModelList ModelLists[[Count]]; | ||
| } | } | ||
| Line 485: | Line 490: | ||
| String | String | ||
| ulong Unknown[[4]]; | ulong Unknown[[4]]; | ||
| - | RGBA | + | RGBA |
| ShortBool | ShortBool | ||
| ulong buf2[[4]]; | ulong buf2[[4]]; | ||
| Line 495: | Line 500: | ||
| <code cpp> | <code cpp> | ||
| - | BlockModel | + | BlockModel |
| { | { | ||
| ulong | ulong | ||
| Line 505: | Line 510: | ||
| ulong unknown[[25]]; | ulong unknown[[25]]; | ||
| / | / | ||
| - | **00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | + | **00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
| - | **C4 76 C2 3F 0E EB 8A C1 00 00 00 00 BE 00 00 00 | + | **C4 76 C2 3F 0E EB 8A C1 00 00 00 00 BE 00 00 00 |
| - | **CC ED 26 BE CA 0F 12 40 56 30 28 3F 00 00 00 00 | + | **CC ED 26 BE CA 0F 12 40 56 30 28 3F 00 00 00 00 |
| - | **18 CA 04 C1 48 8B 3D C0 00 00 00 00 2D 3D 91 C1 | + | **18 CA 04 C1 48 8B 3D C0 00 00 00 00 2D 3D 91 C1 |
| - | **06 01 C0 40 00 00 00 00 EE 98 84 C1 99 99 91 C0 | + | **06 01 C0 40 00 00 00 00 EE 98 84 C1 99 99 91 C0 |
| - | **00 00 00 00 64 4A 5F 35 99 99 91 40 00 00 00 00 | + | **00 00 00 00 64 4A 5F 35 99 99 91 40 00 00 00 00 |
| - | **64 4A 5F B5 01 00 | + | **64 4A 5F B5 01 00 |
| */ | */ | ||
| ShortBool | ShortBool | ||
| Line 532: | Line 537: | ||
| | | ||
| | | ||
| - | | + | { |
| float TopLeft.xy; | float TopLeft.xy; | ||
| float BottomRight.xy; | float BottomRight.xy; | ||
| | | ||
| /* Typical Data | /* Typical Data | ||
| - | **00 00 61 45 00 78 1B 46 00 20 64 45 00 20 19 46 | + | **00 00 61 45 00 78 1B 46 00 20 64 45 00 20 19 46 |
| - | **00 20 64 45 00 78 1B 46 00 40 67 45 00 58 18 46 | + | **00 20 64 45 00 78 1B 46 00 40 67 45 00 58 18 46 |
| - | **00 40 67 45 00 78 1B 46 00 60 6A 45 00 58 18 46 | + | **00 40 67 45 00 78 1B 46 00 60 6A 45 00 58 18 46 |
| - | **00 60 6A 45 00 78 1B 46 00 80 6D 45 00 90 17 46 | + | **00 60 6A 45 00 78 1B 46 00 80 6D 45 00 90 17 46 |
| - | **00 80 6D 45 00 B0 1A 46 00 A0 70 45 00 C8 16 46 | + | **00 80 6D 45 00 B0 1A 46 00 A0 70 45 00 C8 16 46 |
| - | **00 A0 70 45 00 E8 19 46 00 C0 73 45 00 00 16 46 | + | **00 A0 70 45 00 E8 19 46 00 C0 73 45 00 00 16 46 |
| */ | */ | ||
| | | ||
| Line 563: | Line 568: | ||
| | | ||
| { | { | ||
| - | LongBool | + | LongBool |
| String | String | ||
| RGBA AreaColor, | RGBA AreaColor, | ||
| ulong | ulong | ||
| - | ShortBool Visible; | + | ShortBool Visible; |
| float | float | ||
| float | float | ||
| Line 650: | Line 655: | ||
| Road = 3, | Road = 3, | ||
| | | ||
| - | | + | |
| } | } | ||
| </ | </ | ||
| Line 664: | Line 669: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | As of v60 a rarely used sub structure with ObjTemplates. | ||
| + | |||
arma/file_formats/pew.1309448296.txt.gz · Last modified: 2011/06/30 15:38 by snakeman
