You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
2.1 KiB
99 lines
2.1 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
// |
|
//=============================================================================// |
|
#ifndef WADTYPES_H |
|
#define WADTYPES_H |
|
#pragma once |
|
|
|
#include "basetypes.h" |
|
|
|
// --------------------------------------------------------- |
|
// |
|
// This should include ONLY types (no function prototypes) |
|
// in or related to WADs that are shared among the engine |
|
// and tools |
|
// |
|
// --------------------------------------------------------- |
|
|
|
//=============== |
|
// TYPES |
|
//=============== |
|
|
|
#define CMP_NONE 0 |
|
#define CMP_LZSS 1 |
|
|
|
#define TYP_NONE 0 |
|
#define TYP_LABEL 1 |
|
|
|
#define TYP_LUMPY 64 |
|
#define TYP_PALETTE 64 |
|
#define TYP_COLORMAP 65 |
|
#define TYP_QPIC 66 |
|
#define TYP_MIPTEX 67 |
|
#define TYP_RAW 68 |
|
#define TYP_COLORMAP2 69 |
|
#define TYP_FONT 70 |
|
#define TYP_SOUND 71 |
|
#define TYP_QTEX 72 |
|
|
|
|
|
#define __QPIC_T |
|
typedef struct qpic_s |
|
{ |
|
int width, height; |
|
byte data[4]; // variably sized |
|
} qpic_t; |
|
|
|
#define WAD_ID MAKEID( 'W', 'A', 'D', '5' ) |
|
#define WAD_IDNAME "WAD5" |
|
|
|
typedef struct wadinfo_s |
|
{ |
|
char identification[4]; // should be WAD2 or 2DAW |
|
int numlumps; |
|
int infotableofs; |
|
} wadinfo_t; |
|
|
|
#ifndef TEXTURE_NAME_LENGTH |
|
#define TEXTURE_NAME_LENGTH 128 |
|
#endif |
|
|
|
typedef struct lumpinfo_s |
|
{ |
|
int filepos; |
|
int disksize; |
|
int size; // uncompressed |
|
char type; |
|
char compression; |
|
char pad1, pad2; |
|
char name[TEXTURE_NAME_LENGTH]; // must be null terminated |
|
} lumpinfo_t; |
|
|
|
typedef struct |
|
{ |
|
lumpinfo_t lump; |
|
int iTexFile; // index of the wad this texture is located in |
|
} texlumpinfo_t; |
|
|
|
#define MIPLEVELS 4 |
|
typedef struct miptex_s // New WAD4 files |
|
{ |
|
char name[TEXTURE_NAME_LENGTH]; |
|
unsigned width, height, view_width, view_height; |
|
float reflectivity[3]; // Linear palette |
|
unsigned offsets[MIPLEVELS]; // four mip maps stored |
|
} miptex_t; |
|
|
|
|
|
#define MAX_TEXTUREWIDTH 1024 |
|
#define MAX_TEXTUREHEIGHT 1024 |
|
#define MAX_TEXTURESIZE (MAX_TEXTUREWIDTH*MAX_TEXTUREHEIGHT) |
|
#define MAXLUMP (((MAX_TEXTURESIZE * (64+16+4+1))/64) + sizeof(miptex_t) + 1024) // biggest possible lump |
|
|
|
|
|
#endif // WADTYPES_H |
|
|
|
|