diff --git a/engine/client/skin.c b/engine/client/skin.c index 9003bf3e4..19c63dbda 100644 --- a/engine/client/skin.c +++ b/engine/client/skin.c @@ -407,6 +407,8 @@ qbyte *Skin_Cache32 (skin_t *skin) else path = "skins/"; + skin->cachedbpp = 32; + // // load the pic from disk // @@ -423,6 +425,19 @@ qbyte *Skin_Cache32 (skin_t *skin) return out; } } + sprintf (name, "%s%s.pcx", path, skin->name); + raw = COM_LoadTempFile (name); + if (raw) + { + pix = ReadPCXFile(raw, com_filesize, &skin->width, &skin->height); + if (pix) + { + out = Cache_Alloc(&skin->cache, skin->width*skin->height*4, name); + memcpy(out, pix, skin->width*skin->height*4); + BZ_Free(pix); + return out; + } + } #ifdef AVAIL_PNGLIB sprintf (name, "%s%s.png", path, skin->name); raw = COM_LoadTempFile (name);