#if 1
// written by LadyHavoc in a readable way, optimized by Vic, further optimized by LadyHavoc (the non-special index case), readable version preserved below this
-void Image_CopyMux(unsigned char *outpixels, const unsigned char *inpixels, int inputwidth, int inputheight, qboolean inputflipx, qboolean inputflipy, qboolean inputflipdiagonal, int numoutputcomponents, int numinputcomponents, int *outputinputcomponentindices)
+void Image_CopyMux(unsigned char *outpixels, const unsigned char *inpixels, int inputwidth, int inputheight, qbool inputflipx, qbool inputflipy, qbool inputflipdiagonal, int numoutputcomponents, int numinputcomponents, int *outputinputcomponentindices)
{
int index, c, x, y;
const unsigned char *in, *line;
}
#else
// intentionally readable version
-void Image_CopyMux(unsigned char *outpixels, const unsigned char *inpixels, int inputwidth, int inputheight, qboolean inputflipx, qboolean inputflipy, qboolean inputflipdiagonal, int numoutputcomponents, int numinputcomponents, int *outputinputcomponentindices)
+void Image_CopyMux(unsigned char *outpixels, const unsigned char *inpixels, int inputwidth, int inputheight, qbool inputflipx, qbool inputflipy, qbool inputflipdiagonal, int numoutputcomponents, int numinputcomponents, int *outputinputcomponentindices)
{
int index, c, x, y;
const unsigned char *in, *inrow, *incolumn;
LoadPCX
============
*/
-qboolean LoadPCX_QWSkin(const unsigned char *f, int filesize, unsigned char *pixels, int outwidth, int outheight)
+qbool LoadPCX_QWSkin(const unsigned char *f, int filesize, unsigned char *pixels, int outwidth, int outheight)
{
pcx_t pcx;
unsigned char *a;
LoadPCX
============
*/
-qboolean LoadPCX_PaletteOnly(const unsigned char *f, int filesize, unsigned char *palette768b)
+qbool LoadPCX_PaletteOnly(const unsigned char *f, int filesize, unsigned char *palette768b)
{
if (filesize < 768)
return false;
return image_buffer;
}
-qboolean LoadWAL_GetMetadata(const unsigned char *f, int filesize, int *retwidth, int *retheight, int *retflags, int *retvalue, int *retcontents, char *retanimname32c)
+qbool LoadWAL_GetMetadata(const unsigned char *f, int filesize, int *retwidth, int *retheight, int *retflags, int *retvalue, int *retcontents, char *retanimname32c)
{
const q2wal_t *inwal = (const q2wal_t *)f;
}
// gfx/conchars is a raw 128x128 image with 0 as transparent color rather than 255
-unsigned char *LoadConChars_BGRA(const unsigned char *f, int filesize, int *miplevel)
+static unsigned char *LoadConChars_BGRA(const unsigned char *f, int filesize, int *miplevel)
{
unsigned char *image_buffer;
int i;
};
int fixtransparentpixels(unsigned char *data, int w, int h);
-unsigned char *loadimagepixelsbgra (const char *filename, qboolean complain, qboolean allowFixtrans, qboolean convertsRGB, int *miplevel)
+unsigned char *loadimagepixelsbgra (const char *filename, qbool complain, qbool allowFixtrans, qbool convertsRGB, int *miplevel)
{
fs_offset_t filesize;
imageformat_t *firstformat, *format;
+ int mymiplevel;
unsigned char *f, *data = NULL, *data2 = NULL;
char basename[MAX_QPATH], name[MAX_QPATH], name2[MAX_QPATH], path[MAX_QPATH], afterpath[MAX_QPATH], *c;
char vabuf[1024];
for (format = firstformat;format->formatstring;format++)
{
dpsnprintf (name, sizeof(name), format->formatstring, basename);
- f = FS_LoadFile(name, tempmempool, true, &filesize);
- if (f)
+
+ FS_SanitizePath(name);
+
+ if(FS_FileExists(name) && (f = FS_LoadFile(name, tempmempool, true, &filesize)) != NULL)
{
- int mymiplevel = miplevel ? *miplevel : 0;
+ mymiplevel = miplevel ? *miplevel : 0;
image_width = 0;
image_height = 0;
data = format->loadfunc(f, (int)filesize, &mymiplevel);
if (developer_loading.integer)
Con_Printf("loading gfx.wad lump \"%s\"\n", afterpath);
- int mymiplevel = miplevel ? *miplevel : 0;
+ mymiplevel = miplevel ? *miplevel : 0;
if (!strcmp(afterpath, "conchars"))
{
// conchars is a raw image and with color 0 as transparent instead of 255
return NULL;
}
-qboolean Image_GetStockPicSize(const char *filename, int *returnwidth, int *returnheight)
+qbool Image_GetStockPicSize(const char *filename, int *returnwidth, int *returnheight)
{
unsigned char *data;
fs_offset_t filesize;
}
extern cvar_t gl_picmip;
-rtexture_t *loadtextureimage (rtexturepool_t *pool, const char *filename, qboolean complain, int flags, qboolean allowFixtrans, qboolean sRGB)
+rtexture_t *loadtextureimage (rtexturepool_t *pool, const char *filename, qbool complain, int flags, qbool allowFixtrans, qbool sRGB)
{
unsigned char *data;
rtexture_t *rt;
return;
}
filename_pattern = Cmd_Argv(cmd, 1);
- search = FS_Search(filename_pattern, true, true);
+ search = FS_Search(filename_pattern, true, true, NULL);
if(!search)
return;
for(i = 0; i < search->numfilenames; ++i)
FS_FreeSearch(search);
}
-qboolean Image_WriteTGABGR_preflipped (const char *filename, int width, int height, const unsigned char *data)
+qbool Image_WriteTGABGR_preflipped (const char *filename, int width, int height, const unsigned char *data)
{
- qboolean ret;
+ qbool ret;
unsigned char buffer[18];
const void *buffers[2];
fs_offset_t sizes[2];
return ret;
}
-qboolean Image_WriteTGABGRA (const char *filename, int width, int height, const unsigned char *data)
+qbool Image_WriteTGABGRA (const char *filename, int width, int height, const unsigned char *data)
{
int y;
unsigned char *buffer, *out;
const unsigned char *in, *end;
- qboolean ret;
+ qbool ret;
buffer = (unsigned char *)Mem_Alloc(tempmempool, width*height*4 + 18);
}
}
-static const unsigned char concharimage[] =
-{
+
#include "lhfont.h"
-};
static unsigned char *Image_GenerateConChars(void)
{
return data;
}
}
- if (!strcmp(name, "white") || !strcmp(name, "#white"))
+ if (!strcmp(name, "white") || !strcmp(name, "#white") || !strcmp(name, "*white") || !strcmp(name, "$whiteimage"))
return Image_GenerateWhite();
if (!strcmp(name, "gfx/conchars"))
return Image_GenerateConChars();