]> icculus.org git repositories - divverent/darkplaces.git/blob - wad.h
-Moved the entity mem init in the entity load functions around a bit to
[divverent/darkplaces.git] / wad.h
1 /*
2 Copyright (C) 1996-1997 Id Software, Inc.
3
4 This program is free software; you can redistribute it and/or
5 modify it under the terms of the GNU General Public License
6 as published by the Free Software Foundation; either version 2
7 of the License, or (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12
13 See the GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18
19 */
20 // wad.h
21
22 #ifndef WAD_H
23 #define WAD_H
24
25 //===============
26 //   TYPES
27 //===============
28
29 #define CMP_NONE                0
30 #define CMP_LZSS                1
31
32 #define TYP_NONE                0
33 #define TYP_LABEL               1
34
35 #define TYP_LUMPY               64                              // 64 + grab command number
36 #define TYP_PALETTE             64
37 #define TYP_QTEX                65
38 #define TYP_QPIC                66
39 #define TYP_SOUND               67
40 #define TYP_MIPTEX              68
41
42 typedef struct
43 {
44         int                     width, height;
45         qbyte           data[4];                        // variably sized
46 } qpic_t;
47
48
49
50 typedef struct
51 {
52         char            identification[4];              // should be WAD2 or 2DAW
53         int                     numlumps;
54         int                     infotableofs;
55 } wadinfo_t;
56
57 typedef struct
58 {
59         int                     filepos;
60         int                     disksize;
61         int                     size;                                   // uncompressed
62         char            type;
63         char            compression;
64         char            pad1, pad2;
65         char            name[16];                               // must be null terminated
66 } lumpinfo_t;
67
68 extern  int                     wad_numlumps;
69 extern  lumpinfo_t      *wad_lumps;
70 extern  qbyte           *wad_base;
71
72 void    *W_GetLumpName (char *name);
73
74
75 // LordHavoc: added alternate texture WAD2/WAD3 system for easier loading of HalfLife texture wads
76 void    W_LoadTextureWadFile (char *filename, int complain);
77 qbyte   *W_GetTexture (char *name); // returns tempmempool allocated image data, width and height are in image_width and image_height
78 qbyte   *W_ConvertWAD3Texture(miptex_t *tex); // returns tempmempool allocated image data, width and height are in image_width and image_height
79
80 #endif
81