]> git.xonotic.org Git - xonotic/darkplaces.git/blob - wad.h
README: add some build notes
[xonotic/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 #include <stdint.h>
26 struct sizebuf_s;
27
28 //===============
29 //   TYPES
30 //===============
31
32 #define CMP_NONE                0
33 #define CMP_LZSS                1
34
35 #define TYP_NONE                0
36 #define TYP_LABEL               1
37
38 #define TYP_LUMPY               64                              // 64 + grab command number
39 #define TYP_PALETTE             64
40 #define TYP_QTEX                65
41 #define TYP_QPIC                66
42 #define TYP_SOUND               67
43 #define TYP_MIPTEX              68
44
45 typedef struct qpic_s
46 {
47         int                     width, height;
48         unsigned char           data[4];                        // variably sized
49 } qpic_t;
50
51
52
53 typedef struct wadinfo_s
54 {
55         char            identification[4];              // should be WAD2 or 2DAW
56         int                     numlumps;
57         int                     infotableofs;
58 } wadinfo_t;
59
60 typedef struct lumpinfo_s
61 {
62         int                     filepos;
63         int                     disksize;
64         int                     size;                                   // uncompressed
65         char            type;
66         char            compression;
67         char            pad1, pad2;
68         char            name[16];                               // must be null terminated
69 } lumpinfo_t;
70
71 void W_UnloadAll(void);
72 unsigned char *W_GetLumpName(const char *name, int64_t *returnfilesize);
73
74 // halflife texture wads
75 void W_LoadTextureWadFile(char *filename, int complain);
76 unsigned char *W_GetTextureBGRA(char *name); // returns tempmempool allocated image data, width and height are in image_width and image_height
77 unsigned char *W_ConvertWAD3TextureBGRA(struct sizebuf_s *sb); // returns tempmempool allocated image data, width and height are in image_width and image_height
78
79 #endif
80