-\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_