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);
}
-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;
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);