diff --git a/src/engine/client/graphics_threaded.cpp b/src/engine/client/graphics_threaded.cpp index eaf2f02f8..4df9ed96f 100644 --- a/src/engine/client/graphics_threaded.cpp +++ b/src/engine/client/graphics_threaded.cpp @@ -430,7 +430,7 @@ int CGraphics_Threaded::LoadTextureRaw(int Width, int Height, int Format, const Cmd.m_Flags = 0; if(Flags&IGraphics::TEXLOAD_NOMIPMAPS) Cmd.m_Flags |= CCommandBuffer::TEXFLAG_NOMIPMAPS; - if(g_Config.m_GfxTextureCompression) + if(g_Config.m_GfxTextureCompression && ((Flags&IGraphics::TEXLOAD_NO_COMPRESSION) == 0)) Cmd.m_Flags |= CCommandBuffer::TEXFLAG_COMPRESSED; if(g_Config.m_GfxTextureQuality || Flags&TEXLOAD_NORESAMPLE) Cmd.m_Flags |= CCommandBuffer::TEXFLAG_QUALITY; diff --git a/src/engine/client/text.cpp b/src/engine/client/text.cpp index 83751065a..f1b4d86bc 100644 --- a/src/engine/client/text.cpp +++ b/src/engine/client/text.cpp @@ -295,7 +295,7 @@ class CTextRender : public IEngineTextRender pMem = calloc(Width * Height, 1); } - int TextureID = Graphics()->LoadTextureRaw(Width, Height, CImageInfo::FORMAT_ALPHA, pMem, CImageInfo::FORMAT_ALPHA, IGraphics::TEXLOAD_NOMIPMAPS); + int TextureID = Graphics()->LoadTextureRaw(Width, Height, CImageInfo::FORMAT_ALPHA, pMem, CImageInfo::FORMAT_ALPHA, IGraphics::TEXLOAD_NOMIPMAPS | IGraphics::TEXLOAD_NO_COMPRESSION); if(!pUploadData) free(pMem); diff --git a/src/engine/graphics.h b/src/engine/graphics.h index b53008db5..0d0fb8a5d 100644 --- a/src/engine/graphics.h +++ b/src/engine/graphics.h @@ -106,8 +106,9 @@ public: */ enum { - TEXLOAD_NORESAMPLE = 1, - TEXLOAD_NOMIPMAPS = 2, + TEXLOAD_NORESAMPLE = 1<<0, + TEXLOAD_NOMIPMAPS = 1<<1, + TEXLOAD_NO_COMPRESSION = 1<<2, }; int ScreenWidth() const { return m_ScreenWidth; }