.wad: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
WAD3 can store 3 types of data (however, WAD format itself allows up 256 types, but GoldSrc uses only 3): | WAD3 can store 3 types of data (however, WAD format itself allows up 256 types, but GoldSrc uses only 3): | ||
;miptex | ;miptex (0x44) | ||
:Power-of-16-sized world textures with 4 mipmaps. | :Power-of-16-sized world textures with 4 mipmaps. | ||
;qpic | ;qpic (0x42) | ||
:Simple image with any size. | :Simple image with any size. | ||
typedef struct | |||
int height; | { | ||
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) | |||
;font | char lbmpalette[numcolors][3]; //8-bit RGB palette data | ||
:Fixed-height font. Contains an image and font data (row, X offset and width of a character). | } 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. | All numbers in WAD files are unsigned and little-endian. | ||
Revision as of 10:04, 8 October 2011
WAD is the file extension for Half-Life 1 texture packages. An acronym for Where's All the Data?, 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. GoldSrc specifically uses version 3 of the format, sometimes referred to as WAD3. WAD files typically contain standard texture sets, custom texture sets for individual levels, sprays, HUD elements and fonts.
WAD3 can store 3 types of data (however, WAD format itself allows up 256 types, but GoldSrc uses only 3):
- miptex (0x44)
- Power-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.
Links
- CStrike Planet
- A collection of official and custom Counter-Strike WAD files.
- The Wadfather
- A large collection of WAD files.