]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - wad.c
fix a bug that called player thinks during a level change, this bug may have even...
[xonotic/darkplaces.git] / wad.c
diff --git a/wad.c b/wad.c
index 9886fb20f9070d98c0823282807ddbd97df09aa1..b0ea75f15b302bdf61e0402650215ad356b84dd0 100644 (file)
--- a/wad.c
+++ b/wad.c
@@ -17,12 +17,16 @@ along with this program; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 */
-// wad.c
+
 
 #include "quakedef.h"
+#include "image.h"
+#include "wad.h"
+
 
 void SwapPic (qpic_t *pic);
 
+
 /*
 ==================
 W_CleanupName
@@ -34,7 +38,7 @@ Space padding is so names can be printed nicely in tables.
 Can safely be performed in place.
 ==================
 */
-static void W_CleanupName (char *in, char *out)
+static void W_CleanupName (const char *in, char *out)
 {
        int             i;
        int             c;
@@ -54,7 +58,7 @@ static void W_CleanupName (char *in, char *out)
                out[i] = 0;
 }
 
-void *W_GetLumpName(char *name)
+void *W_GetLumpName(const char *name)
 {
        int i;
        lumpinfo_t *lump;
@@ -66,7 +70,6 @@ void *W_GetLumpName(char *name)
        static int wad_numlumps = 0;
        static lumpinfo_t *wad_lumps = NULL;
        static qbyte *wad_base = NULL;
-       static mempool_t *wad_mempool = NULL;
 
        W_CleanupName (name, clean);
 
@@ -79,8 +82,7 @@ void *W_GetLumpName(char *name)
                                Con_Print("gfx.wad doesn't have WAD2 id\n");
                        else
                        {
-                               wad_mempool = Mem_AllocPool("gfx.wad", 0, NULL);
-                               wad_base = Mem_Alloc(wad_mempool, fs_filesize);
+                               wad_base = Mem_Alloc(cl_mempool, fs_filesize);
 
                                memcpy(wad_base, temp, fs_filesize);
                                Mem_Free(temp);
@@ -153,7 +155,7 @@ void W_LoadTextureWadFile (char *filename, int complain)
        qfile_t                 *file;
        int                             numlumps;
 
-       file = FS_Open (filename, "rb", false);
+       file = FS_Open (filename, "rb", false, false);
        if (!file)
        {
                if (complain)
@@ -176,7 +178,7 @@ void W_LoadTextureWadFile (char *filename, int complain)
        if (!(lumps = Mem_Alloc(tempmempool, sizeof(lumpinfo_t)*numlumps)))
        {Con_Print("W_LoadTextureWadFile: unable to allocate temporary memory for lump table\n");return;}
 
-       if (FS_Read(file, lumps, sizeof(lumpinfo_t) * numlumps) != sizeof(lumpinfo_t) * (size_t)numlumps)
+       if (FS_Read(file, lumps, sizeof(lumpinfo_t) * numlumps) != (fs_offset_t)sizeof(lumpinfo_t) * numlumps)
        {Con_Print("W_LoadTextureWadFile: unable to read lump table\n");return;}
 
        for (i=0, lump_p = lumps ; i<numlumps ; i++,lump_p++)
@@ -258,7 +260,7 @@ qbyte *W_GetTexture(char *name)
                                tex = Mem_Alloc(tempmempool, texwadlump[i].size);
                                if (!tex)
                                        return NULL;
-                               if (FS_Read(file, tex, texwadlump[i].size) < (size_t)texwadlump[i].size)
+                               if (FS_Read(file, tex, texwadlump[i].size) < texwadlump[i].size)
                                {Con_Print("W_GetTexture: corrupt WAD3 file\n");return NULL;}
 
                                tex->width = LittleLong(tex->width);