The specification of WC3 .w3x files as a living document
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
- 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
)
byte
short
- 2 bytes, Little-Endianint
- 4 bytes, Little-Endian (usually unsigned)float
- IEEE 32-bit floating point, Little-Endianchar(X)
- 1-byte ASCII character repeated X timesstring
- 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