ofp:file_formats:4wvr
Differences
This shows you the differences between two versions of the page.
Previous revisionLast revision | |||
— | ofp:file_formats:4wvr [2011/06/30 15:30] – removed html junk. snakeman | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== WRP File Format 4WVR ====== | ||
+ | **WRP File Format - 4WVR** | ||
+ | |||
+ | |||
+ | ====== General ====== | ||
+ | |||
+ | Flashpoint wrp files use two different file formats to contain the data. This document contains information on 4WVR format as used by WrpTool and Visitor 2 | ||
+ | |||
+ | This document does **not** discuss the alternate format, OPRW. Both file formats can be used directly by the engine, whether the file exists independently in ~\worlds, or, packed inside a pbo (addon). | ||
+ | |||
+ | Binarize tool by BIStudio will convert 4WVR to OPRW if desired. | ||
+ | |||
+ | (some problems exist with 2 versions of binarize) | ||
+ | |||
+ | For a general description of how simple this (or any other) wrp file construct, see 8WVR | ||
+ | |||
+ | |||
+ | ====== Structure ====== | ||
+ | |||
+ | <code cpp> | ||
+ | 4WVR | ||
+ | { | ||
+ | WRP4Header | ||
+ | Texture | ||
+ | Model | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====== WRP4Header ====== | ||
+ | |||
+ | <code cpp> | ||
+ | WRP4Header | ||
+ | { | ||
+ | char Signature[[4]]; | ||
+ | ulong Xsize; | ||
+ | ulong Ysize; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====== Texture ====== | ||
+ | |||
+ | <code cpp> | ||
+ | Texture | ||
+ | { | ||
+ | ushort Elevations | ||
+ | ushort TextureIndex[[Ysize]][[Xsize]]; | ||
+ | Asciiz TextureFilenames[[512]][[32]]; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====== Elevations ====== | ||
+ | |||
+ | Elevations are expressed as an integral of the gridsize. | ||
+ | |||
+ | Since the gridsize for ofp is a fixed 50 meters, to convert the value into meters: | ||
+ | < | ||
+ | RealHeight = Elevations[[x]][[y]] * 0.05; | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====== TextureIndex ====== | ||
+ | |||
+ | Each cell on the map references an texture file (pac/paa) and an elevation for that text at that cell position. | ||
+ | Since there could be myriads of ' | ||
+ | |||
+ | A max of 512 texture files can be listed. Each is held as an asciiz string inside a fixed 32 byte record. Eg max length of filename is 31 characters. | ||
+ | |||
+ | The first entry (effectively index0) is never used. Even though a filename is associated with this entry. it is never accessed. | ||
+ | |||
+ | ====== Model ====== | ||
+ | |||
+ | <code cpp> | ||
+ | Model | ||
+ | { | ||
+ | float | ||
+ | long | ||
+ | asciiz P3DFilename[[76]]; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | The number of models varies from none, to end of file. Each model is 128 bytes in length. | ||
+ | |||
+ | Note that this is in marked contrast to an 8WVR file. In 8WVR, there is always a minimum of one entry. The last (or only) entry in an 8WVR has no filename associated with it. | ||
+ | |||
+ | |||
+ | ====== FilePaths ====== | ||
+ | |||
+ | Despite the impression given (lack of a leading \) All filenames (pac/paa and p3d files) are HARD WIRED to the (virtual) pboRoot\ directory. | ||
+ | |||
+ | The PboRoot\ directory is built in-situ during game load and consists of an index table of all addons from ' |
ofp/file_formats/4wvr.txt · Last modified: 2024/07/31 12:36 by snakeman