- if (developer.integer >= 10)
- Con_Printf("loaded image %s (%dx%d)\n", name, image_width, image_height);
- if (developer_memorydebug.integer)
- Mem_CheckSentinelsGlobal();
+ if(format->loadfunc == JPEG_LoadImage_BGRA) // jpeg can't do alpha, so let's simulate it by loading another jpeg
+ {
+ dpsnprintf (name2, sizeof(name2), format->formatstring, va("%s_alpha", basename));
+ f = FS_LoadFile(name2, tempmempool, true, &filesize);
+ if(f)
+ {
+ int mymiplevel2 = miplevel ? *miplevel : 0;
+ data2 = format->loadfunc(f, (int)filesize, &mymiplevel2);
+ if(mymiplevel != mymiplevel2)
+ Host_Error("loadimagepixelsbgra: miplevels differ");
+ Mem_Free(f);
+ Image_CopyAlphaFromBlueBGRA(data, data2, image_width, image_height);
+ Mem_Free(data2);
+ }
+ }
+ if (developer_loading.integer)
+ Con_DPrintf("loaded image %s (%dx%d)\n", name, image_width, image_height);
+ if(miplevel)
+ *miplevel = mymiplevel;
+ //if (developer_memorydebug.integer)
+ // Mem_CheckSentinelsGlobal();