.wad
WAD (short for Where's All the Data) is the file extension for Half-Life texture packages. WAD files first originated in id Software's Doom as a general purpose file archive to help facilitate game mods. A format of the same name was later used in id Software's Quake engine as a texture package, then consequentially adapted by Half-Life 1's GoldSrc engine, which was based off the heavily modified version of Quake engine. GoldSrc specifically uses version 3 of the format, referred to in its header as WAD3. WAD files typically contain standard texture sets, custom texture sets for individual levels, and sprays. HUD elements typically use SPR, and fonts typically use TTF.
Technical specifications
WAD3 can store 3 types of data (the WAD format itself allows up to 256 types, but GoldSrc uses only 3).

The following types are supported:
- miptex (0x43)
- Multiple-of-16-sized world textures with 4 mipmaps.
- qpic (0x42)
- Simple image with any size.
typedef struct { int width, height; char data[height][width]; //Image is stored as 8-bit numbers of colors in palette short colors_used; //Number of colors in palette (can't be more than 256) char lbmpalette[numcolors][3]; //8-bit RGB palette data } qpic_t;
- font (0x45)
- Fixed-height font. Contains an image and font data (row, X offset and width of a character) for 256 ASCII characters.
typedef struct { short startoffset; //Offset to the character in data short charwidth; } charinfo; typedef struct { int width, height; //Width is always 256 pixels int rowcount; //Number of fixed-height character rows int rowheight; //Height of a row charinfo fontinfo[256]; //Info about each character char data[height][width]; //Same as in qpic_t short colors_used; //Same as in qpic_t char lbmpalette[numcolors][3]; //Same as in qpic_t }
All numbers in WAD files are unsigned and little-endian.
Creating WADs with XBLAH's Modding Tool
XBLAH's Modding Tool can view, edit and create WAD files.
Where to find it
This can be accessed within the tool through Materials > WAD Editor.
How to use it
When you open the editor, you start with an empty file, to which you can add images and later save it as a WAD. You can also open existing WAD files, edit them and save.
Links
- CStrike Planet
- A collection of official and custom Counter-Strike WAD files.
- The Wadfather
- A large collection of WAD files.
Utilities
GCFScape
- Views and extracts WAD files as BMP files.
- Half-Life Texture Tools
- Modern GUI tool for creating, viewing and extracting WAD files and sprites.
- Download
- HLExtract from HLLib
- command-line utility written in C that can browse, extract, validate and defragment all supported packages...
- Qlumpy
- Half-Life SDK tool for compiling WAD files.
VTFEdit
- 3rd party tool for converting WAD files to Source materials.
- WadMaker and SpriteMaker
- Modern CLI tool for creating, updating and extracting WAD files and sprites.
- Download
- Wally
- The de facto WAD editing suite (supports only miptex).
- Download
- Xwad
- Source SDK tool for converting WAD files to Source materials.
XBLAH's Modding Tool
- Can view, edit and create WAD files.
See also
- WAD to VMT conversion in Hammer
- User:SirYodaJedi/GoldSrc WAD Lists for some games...