1
0
mirror of https://github.com/alliedmodders/hl2sdk.git synced 2024-12-22 17:47:38 +08:00
hl2sdk/public/wadtypes.h
2013-06-26 15:22:04 -07:00

100 lines
2.2 KiB
C

//========= 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