WC3MapSpecification
WC3MapSpecification copied to clipboard
The specification of WC3 .w3x files as a living document
WC3MapSpecification
The specification of WC3 .w3x files as a living document
File versions
WarCraft III | 1.32.9.16589 | Pre-reforged |
---|---|---|
Terrain | 11 | 11 |
Units† | 8_11 | 8_11 |
Doodads† | 8_11 | 8_11 |
Regions | 5 | 5 |
Cameras | 0 | 0 |
Sounds | 3 | 1 |
Objects | 2 | 2 |
Strings†† | 1 | 1 |
Info | 31 | 25 |
Imports | 1 | 1 |
GameConfiguration | 1 | 1 |
† Units and Doodads files seem to have a version and subversion. Or it's possible the "11" integer is not part of the version and has just never changed or is unused by WC3.
†† Strings file does not have a version number; we have assigned v1
Files
- Terrain (
war3map.w3e
) - Units (
war3mapUnits.doo
) - Doodads (
war3map.doo
) - Regions (
war3map.w3r
) - Cameras (
war3map.w3c
) - Sounds (
war3map.w3s
) - Objects (
war3map.w3u
war3map.w3t
war3map.w3a
war3map.w3b
war3map.w3d
war3map.w3q
war3map.w3h
) - Strings (
war3map.wts
) - Info (
war3map.w3i
) - Imports (
war3map.imp
) - GameConfiguration (
.wgc
)
Types
-
byte
-
short
- 2 bytes, Little-Endian -
int
- 4 bytes, Little-Endian (usually unsigned) -
float
- IEEE 32-bit floating point, Little-Endian -
char(X)
- 1-byte ASCII character repeated X times -
string
- a stream of characters, usually UTF-8, zero-terminated Expect strings that are used in-game to support TRIGSTR_ placeholders. -
string_max(X)
- same as above but with a hard limit ofX
bytes, including\0
- Generally, file/folder path strings are limited to 260 bytes (see Windows'
MAX_PATH
).
- Generally, file/folder path strings are limited to 260 bytes (see Windows'
-
unknown(X)
- treat as X bytes of binary data