The specification of WC3 .w3x files as a living document
| WarCraft III | 2.0.3 | 1.32.9.16589 | Pre-reforged |
|---|---|---|---|
| Terrain | 12 | 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 | 33 | 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.w3uwar3map.w3twar3map.w3awar3map.w3bwar3map.w3dwar3map.w3qwar3map.w3h) - Strings (
war3map.wts) - Info (
war3map.w3i) - Imports (
war3map.imp) - GameConfiguration (
.wgc)
byteshort- 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 ofXbytes, 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