Overview
Terrain files (*.xxw
) represent a single terrain to be used by a world.
This format was used in Star Wars: The Clone Wars.
This page contains snippets of research.
Terrain Header
The Terrain Header is always 1152 bytes in length.
ad length type ex desc
0 4 ? 1152 ?
4 long 3 version?
8 long 1024 terrain size?
12 int 257 ?
16 int 2 ?
20 float 32 grid size?
24 float 0.1... ?
28
32 int 128 map size?
36
40 int 128 extents with 8? or 6 sets of RGB colors?
64-124 float Tile-range for each texture layer
1,668 - 514 size chunks?
132,218
--- BLOCKS
size * size (* 2) heights
xV4_ ?
Offset | Data Type | Size (bytes) | Description |
---|---|---|---|
0 | byte [4] | 4 | Header size indicator (1152). |
4 | long uint | 4 | File format version? (03) |
8 | long uint | 4 | ? (1024) |
12 | long uint | 4 | Terrain size. (257, 513) |
16 | long uint | 4 | ? (2) |
20 | float | 4 | Grid scale. (32, 16, 8) |
24 | float | 4 | Height scale. (0.1, 0.03, 0.23) |
28 | long int [4] | 16 | Map extents (i.e. -256, 256, -256, 256 for a 512x512 map) |
44+ | ? | 20 | ? |
64 | float [16] | 64 | Tile-range for each texture layer. 0.031 (1/32): the texture spans 32 meters. This is stored as 1/X of the value in ZeroEditor. |
128 | TextureLayer [16] | 1024 | Texture layers (see below). |
Terrain Blocks
The Terrain Header is always 2821 bytes in length.
Name | Data Type | Size |
---|---|---|
Height | signed short | Terrain size * Terrain size * 2 |
Height value for every point on the grid. This value will be multiplied with the map scale multiplier. | ||
? | ? | Size: (Terrain size - 1) * (Terrain size - 1) * 2 |
? | ? | Size: |
Chunks with 38 bytes of data? |
Terrain Structs
TextureLayer
Data Type | Size (bytes) | Description |
---|---|---|
char [32] |
32 | Diffuse texture name. |
char [32] |
32 | Detail texture name. |
WaterLayer
Data Type | Size (bytes) | Description |
---|---|---|
float [2] |
8 | Water height value (twice). |
byte [8] |
8 | Unknown, always zero. |
float [2] |
8 | UV animation velocity. |
float [2] |
8 | UV animation repeat. |
byte [4] |
4 | RGBA color values. |
char [32] |
32 | Water texture name. |