mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-22 14:16:50 +00:00
100 lines
2.1 KiB
C
100 lines
2.1 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
|
||
|
|