Ceeeb/Sandbox – User
Note template
Game Engine Textures
- Satalite map provides basic colour information for distant terrain. Satalite map and layer map are divided into segments for game use, each being 512x512 pixels. On SaraLite each 512 pixel segment covers ~1000m, and each segment overlaps with each of it's neighbouring segments by 32 pixels. Note that terrain is visable beyond the range that objects are, therefore basic representations of objects such as trees, roads, ocean and buildings are all included on the satalite map. SaraLite is made up of 11x11 segments, covering a total of 5312 pixels.
- Layer map determines which detail texture to use for each pixel of the satalite map. Each segment uses it's own colour table. For example, in one segement red may be sand, while in another it will be rock. Each segment uses the following colours in order requirement : BLACK, RED, GREEN, BLUE, ??. The colours seem to be assigned in the order in which the terrain types are numbered in the RVMAT config. For example, "travajih" (grass) is terrain 01, and therefore if a segment contains grass, it will be represented by the colour black. Blends of details are allowed, although very rarely used on SaraLite (presumably to improve performance?). Colours are blended as light blends, eg red + green = yellow. Different blended colours appear to use different detail texture scaling/transformations. The layer legend in the main article above seems to relates to a tool rather than the game engine.
- MCO texture is used to add detail to the satalite map at middle distance (before the detail texture becomes visable). Each 1024x1024 MCO covers ~40m (may be flexible?). There is an overlap between the MCO fade out and the detail texture fade in, meaning it is possible to see all 3 terrain textures at once. MCOs appear to be placed on a transformed grid rather than a regular one.
- CO texture provides the detailed ground texture. On SaraLite each 1024x1024 detail generally covers ~4m (may be flexible?).
- NO(*) texture provides the normal map used with the CO detail.
Satalite map segments are named s_XXX_YYY_lco.paa, where XXX = column number from west to east starting with 000, YYY = row number from north to south starting with 000. Layer map segments are named m_XXX_YYY_lco.paa, where XXX = column number from west to east starting with 000, YYY = row number from north to south starting with 000. For example, s_005_002_lco.paa would be the 6th segment from the east, 3rd from the north.
RVMAT Configs
Each segment has several binarized config files. These are generally named p_XXX-YYY_AAA_BBB_CCC_DDD.rvmat, where XXX = column number from west to east starting with 000, YYY = row number from north to south starting with 000. AAA,BBB,CCC,DDD are of either "n" or "l##". If of format l##, AAA is always lower than BBB,CCC and DDD. "n" apparently corresponds with no terrain, while each of the l## correlates with a single terrain type. Some have only 1,2 or 3 letters (eg p_009-006_l01_l02_n.rvmat), depending on the maximum number of terrain types used in that segment. These configs seem to define the textures, transformation and scaling of textures used in each segment.
Heightmap
SaraLite uses 512x512 ~20m cells. Sahrani is presumably 1024x1024 ~20m cells. Cells are again always triangulated from NW to SE.
Config
(Focusing on differences from OFP 1.96)
LandGrid = 40 in world definition.
Ground clutter types are defined within the terrains config. It is unclear how the ground clutter is placed.
Ambient clutter types and probabilty of placement are defined within the terrains config. Appears to be created dynamically using cell flags and environmental conditions.
WRP
Still OPRW, version 17(?).
The two mapSize values are different (Saralite = 256,256,1024,1024).