]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - plugins/vfswad/unwad.h
set eol-style
[xonotic/netradiant.git] / plugins / vfswad / unwad.h
index e1170531ef3336dd2e18d02abcf0fa92fe524427..074a75eaa339f9cbe37753352abbc0ba03ef130c 100644 (file)
-\r
-#ifndef _WAD3_H_\r
-#define _WAD3_H_\r
-\r
-// WAD3 (Half-Life) Header and mip structs\r
-// WAD2 (Quake) Header and mip structs added by LordHavoc\r
-\r
-#define WADBUFSIZE 32768\r
-\r
-#define WAD2_TYPE_MIP  0x44\r
-#define WAD2_ID                        ('W' | 'A' << 8 | 'D' << 16 | '2' << 24)\r
-#define WAD3_TYPE_MIP  0x43\r
-#define WAD3_ID                        ('W' | 'A' << 8 | 'D' << 16 | '3' << 24)\r
-#define GET_MIP_DATA_SIZE(WIDTH, HEIGHT)               ((WIDTH * HEIGHT) + (WIDTH * HEIGHT / 4) + (WIDTH * HEIGHT / 16) + (WIDTH * HEIGHT / 64))\r
-\r
-/*\r
-\r
-  WAD3 pseudo-structure:\r
-\r
-       WAD3 Header\r
-       Mip section\r
-               First mip\r
-                       Mip header\r
-                       First mip (width * height)\r
-                       Second mip (width * height / 4)\r
-                       Third mip (width * height / 16)\r
-                       Fourth mip (width * height / 64)\r
-                       Palette size (WORD)\r
-                       Palette (Palette size * 3)\r
-                       Padding (WORD)\r
-               [...]\r
-               Last mip\r
-       Lump table\r
-               First lump entry\r
-                       Lump header\r
-               [...]\r
-               Last lump entry\r
-\r
-  WAD2 pseudo-structure:\r
-\r
-       WAD2 Header\r
-       Mip section\r
-               First mip\r
-                       Mip header\r
-                       First mip (width * height)\r
-                       Second mip (width * height / 4)\r
-                       Third mip (width * height / 16)\r
-                       Fourth mip (width * height / 64)\r
-               [...]\r
-               Last mip\r
-       Lump table\r
-               First lump entry\r
-                       Lump header\r
-               [...]\r
-               Last lump entry\r
-*/\r
-\r
-#define DWORD unsigned int\r
-#define BYTE unsigned char\r
-#define WORD unsigned short int\r
-\r
-typedef struct\r
-{\r
-       DWORD           identification;\r
-       DWORD           numlumps;\r
-       DWORD           infotableofs;                   // Lump table\r
-} WAD3_HEADER, *LPWAD3_HEADER;\r
-\r
-typedef struct\r
-{\r
-       DWORD           filepos;\r
-       DWORD           disksize;\r
-       DWORD           size;                                   // uncompressed\r
-       BYTE            type;\r
-       BYTE            compression;\r
-       BYTE            pad1, pad2;\r
-       char            name[16];                               // must be null terminated\r
-} WAD3_LUMP, *LPWAD3_LUMP;\r
-\r
-typedef struct\r
-{\r
-       char            name[16];\r
-       DWORD           width, height;\r
-       DWORD           offsets[4];             // four mip maps stored\r
-} WAD3_MIP, *LPWAD3_MIP;\r
-\r
-\r
-typedef struct wadFile_s\r
-{\r
-       FILE * fin;\r
-       LPWAD3_HEADER   lpHeader;\r
-       LPWAD3_LUMP             lpLump;\r
-       LPWAD3_MIP              lpMip;\r
-\r
-       DWORD FileSize;\r
-  unsigned long currentfile;\r
-  char *wadfilename;\r
-} wadFile_t;\r
-\r
-\r
-wadFile_t *wadOpen(const char* path);\r
-wadFile_t *wadCleanup(wadFile_t *wf);\r
-int wadGoToFirstFile(wadFile_t *wf);\r
-int wadGetCurrentFileInfo (    wadFile_t *wf, char *szFileName, unsigned long fileNameBufferSize, unsigned long *filesize);\r
-int wadGoToNextFile(wadFile_t *wf);\r
-\r
-int wadOpenCurrentFileByNum (wadFile_t *wf, unsigned long filenumber);\r
-void wadCloseCurrentFile (wadFile_t *wf);\r
-unsigned long wadReadCurrentFile (wadFile_t *wf , char *bufferptr, unsigned long size);\r
-\r
-#endif         // #ifndef _WAD3_H_\r
+
+#ifndef _WAD3_H_
+#define _WAD3_H_
+
+// WAD3 (Half-Life) Header and mip structs
+// WAD2 (Quake) Header and mip structs added by LordHavoc
+
+#define WADBUFSIZE 32768
+
+#define WAD2_TYPE_MIP  0x44
+#define WAD2_ID                        ('W' | 'A' << 8 | 'D' << 16 | '2' << 24)
+#define WAD3_TYPE_MIP  0x43
+#define WAD3_ID                        ('W' | 'A' << 8 | 'D' << 16 | '3' << 24)
+#define GET_MIP_DATA_SIZE(WIDTH, HEIGHT)               ((WIDTH * HEIGHT) + (WIDTH * HEIGHT / 4) + (WIDTH * HEIGHT / 16) + (WIDTH * HEIGHT / 64))
+
+/*
+
+  WAD3 pseudo-structure:
+
+       WAD3 Header
+       Mip section
+               First mip
+                       Mip header
+                       First mip (width * height)
+                       Second mip (width * height / 4)
+                       Third mip (width * height / 16)
+                       Fourth mip (width * height / 64)
+                       Palette size (WORD)
+                       Palette (Palette size * 3)
+                       Padding (WORD)
+               [...]
+               Last mip
+       Lump table
+               First lump entry
+                       Lump header
+               [...]
+               Last lump entry
+
+  WAD2 pseudo-structure:
+
+       WAD2 Header
+       Mip section
+               First mip
+                       Mip header
+                       First mip (width * height)
+                       Second mip (width * height / 4)
+                       Third mip (width * height / 16)
+                       Fourth mip (width * height / 64)
+               [...]
+               Last mip
+       Lump table
+               First lump entry
+                       Lump header
+               [...]
+               Last lump entry
+*/
+
+#define DWORD unsigned int
+#define BYTE unsigned char
+#define WORD unsigned short int
+
+typedef struct
+{
+       DWORD           identification;
+       DWORD           numlumps;
+       DWORD           infotableofs;                   // Lump table
+} WAD3_HEADER, *LPWAD3_HEADER;
+
+typedef struct
+{
+       DWORD           filepos;
+       DWORD           disksize;
+       DWORD           size;                                   // uncompressed
+       BYTE            type;
+       BYTE            compression;
+       BYTE            pad1, pad2;
+       char            name[16];                               // must be null terminated
+} WAD3_LUMP, *LPWAD3_LUMP;
+
+typedef struct
+{
+       char            name[16];
+       DWORD           width, height;
+       DWORD           offsets[4];             // four mip maps stored
+} WAD3_MIP, *LPWAD3_MIP;
+
+
+typedef struct wadFile_s
+{
+       FILE * fin;
+       LPWAD3_HEADER   lpHeader;
+       LPWAD3_LUMP             lpLump;
+       LPWAD3_MIP              lpMip;
+
+       DWORD FileSize;
+  unsigned long currentfile;
+  char *wadfilename;
+} wadFile_t;
+
+
+wadFile_t *wadOpen(const char* path);
+wadFile_t *wadCleanup(wadFile_t *wf);
+int wadGoToFirstFile(wadFile_t *wf);
+int wadGetCurrentFileInfo (    wadFile_t *wf, char *szFileName, unsigned long fileNameBufferSize, unsigned long *filesize);
+int wadGoToNextFile(wadFile_t *wf);
+
+int wadOpenCurrentFileByNum (wadFile_t *wf, unsigned long filenumber);
+void wadCloseCurrentFile (wadFile_t *wf);
+unsigned long wadReadCurrentFile (wadFile_t *wf , char *bufferptr, unsigned long size);
+
+#endif         // #ifndef _WAD3_H_