]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - wad.c
renamed varray_ arrays to rsurface_array_, and they are no longer used outside the...
[xonotic/darkplaces.git] / wad.c
diff --git a/wad.c b/wad.c
index eda0e4ce3a1c5c0a8e11a53b2d75dad5ad3dfa28..7087ce69a909a69ddc4f67a63b75687c54037837 100644 (file)
--- a/wad.c
+++ b/wad.c
@@ -61,32 +61,31 @@ static void W_CleanupName (const char *in, char *out)
 void *W_GetLumpName(const char *name)
 {
        int i;
+       fs_offset_t filesize;
        lumpinfo_t *lump;
        char clean[16];
        wadinfo_t *header;
        int infotableofs;
-       void *temp;
        static int wad_loaded = false;
        static int wad_numlumps = 0;
        static lumpinfo_t *wad_lumps = NULL;
-       static qbyte *wad_base = NULL;
+       static unsigned char *wad_base = NULL;
 
        W_CleanupName (name, clean);
 
        if (!wad_loaded)
        {
                wad_loaded = true;
-               if ((temp = FS_LoadFile ("gfx.wad", tempmempool, false)))
+               if ((wad_base = FS_LoadFile ("gfx.wad", cls.permanentmempool, false, &filesize)))
                {
-                       if (memcmp(temp, "WAD2", 4))
+                       if (memcmp(wad_base, "WAD2", 4))
+                       {
                                Con_Print("gfx.wad doesn't have WAD2 id\n");
+                               Mem_Free(wad_base);
+                               wad_base = NULL;
+                       }
                        else
                        {
-                               wad_base = (qbyte *)Mem_Alloc(cl_mempool, fs_filesize);
-
-                               memcpy(wad_base, temp, fs_filesize);
-                               Mem_Free(temp);
-
                                header = (wadinfo_t *)wad_base;
                                wad_numlumps = LittleLong(header->numlumps);
                                infotableofs = LittleLong(header->infotableofs);
@@ -131,7 +130,7 @@ void SwapPic (qpic_t *pic)
 
 // LordHavoc: added alternate WAD2/WAD3 system for HalfLife texture wads
 #define TEXWAD_MAXIMAGES 16384
-typedef struct
+typedef struct texwadlump_s
 {
        char name[16];
        qfile_t *file;
@@ -206,13 +205,13 @@ void W_LoadTextureWadFile (char *filename, int complain)
 }
 
 
-qbyte *W_ConvertWAD3Texture(miptex_t *tex)
+unsigned char *W_ConvertWAD3Texture(miptex_t *tex)
 {
-       qbyte *in, *data, *out, *pal;
+       unsigned char *in, *data, *out, *pal;
        int d, p;
 
-       in = (qbyte *)tex + tex->offsets[0];
-       data = out = (qbyte *)Mem_Alloc(tempmempool, tex->width * tex->height * 4);
+       in = (unsigned char *)tex + tex->offsets[0];
+       data = out = (unsigned char *)Mem_Alloc(tempmempool, tex->width * tex->height * 4);
        if (!data)
                return NULL;
        image_width = tex->width;
@@ -237,13 +236,13 @@ qbyte *W_ConvertWAD3Texture(miptex_t *tex)
        return data;
 }
 
-qbyte *W_GetTexture(char *name)
+unsigned char *W_GetTexture(char *name)
 {
        char texname[17];
        int i, j;
        qfile_t *file;
        miptex_t *tex;
-       qbyte *data;
+       unsigned char *data;
 
        texname[16] = 0;
        W_CleanupName (name, texname);