.xxw Format

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.