summaryrefslogtreecommitdiff
path: root/src/graphicsmanager.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2012-06-10 16:54:18 +0300
committerAndrei Karas <akaras@inbox.ru>2012-06-10 17:25:07 +0300
commit3a28edfb7ac991ad70a7baf76f48218d9db89bcb (patch)
tree918e56537dd2f7c2ce94e97a297a83a55d6f6ea6 /src/graphicsmanager.cpp
parentf199b9ba7da47cb6f9aa95f843c0628621899aa9 (diff)
downloadmv-3a28edfb7ac991ad70a7baf76f48218d9db89bcb.tar.gz
mv-3a28edfb7ac991ad70a7baf76f48218d9db89bcb.tar.bz2
mv-3a28edfb7ac991ad70a7baf76f48218d9db89bcb.tar.xz
mv-3a28edfb7ac991ad70a7baf76f48218d9db89bcb.zip
Split ImageHelper to ImageHelper, SDLImageHelper, OpenGLImageHelper.
Diffstat (limited to 'src/graphicsmanager.cpp')
-rw-r--r--src/graphicsmanager.cpp22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/graphicsmanager.cpp b/src/graphicsmanager.cpp
index 61e157353..e32cf24ef 100644
--- a/src/graphicsmanager.cpp
+++ b/src/graphicsmanager.cpp
@@ -26,6 +26,8 @@
#include "logger.h"
#include "resources/imagehelper.h"
+#include "resources/openglimagehelper.h"
+#include "resources/sdlimagehelper.h"
#include "utils/paths.h"
#include "utils/stringutils.h"
@@ -153,26 +155,30 @@ void GraphicsManager::initGraphics(bool noOpenGL)
useOpenGL = config.getIntValue("opengl");
// Setup image loading for the right image format
- ImageHelper::setLoadAsOpenGL(useOpenGL);
+ OpenGLImageHelper::setLoadAsOpenGL(useOpenGL);
GraphicsVertexes::setLoadAsOpenGL(useOpenGL);
// Create the graphics context
switch (useOpenGL)
{
case 0:
+ imageHelper = new SDLImageHelper;
mainGraphics = new Graphics;
break;
case 1:
default:
+ imageHelper = new OpenGLImageHelper;
mainGraphics = new OpenGLGraphics;
break;
case 2:
+ imageHelper = new OpenGLImageHelper;
mainGraphics = new OpenGL1Graphics;
break;
};
#else
// Create the graphics context
+ imageHelper = new SDLImageHelper;
mainGraphics = new Graphics;
#endif
}
@@ -210,7 +216,7 @@ void GraphicsManager::updateTextureFormat()
if (formats[f] == GL_COMPRESSED_RGBA_S3TC_DXT5_EXT)
{
delete []formats;
- ImageHelper::setInternalTextureType(
+ OpenGLImageHelper::setInternalTextureType(
GL_COMPRESSED_RGBA_S3TC_DXT5_EXT);
logger->log1("using s3tc texture compression");
return;
@@ -218,19 +224,21 @@ void GraphicsManager::updateTextureFormat()
else if (formats[f] == GL_COMPRESSED_RGBA_FXT1_3DFX)
{
delete []formats;
- ImageHelper::setInternalTextureType(
+ OpenGLImageHelper::setInternalTextureType(
GL_COMPRESSED_RGBA_FXT1_3DFX);
logger->log1("using fxt1 texture compression");
return;
}
}
- ImageHelper::setInternalTextureType(GL_COMPRESSED_RGBA_ARB);
+ OpenGLImageHelper::setInternalTextureType(
+ GL_COMPRESSED_RGBA_ARB);
logger->log1("using texture compression");
return;
}
else
{
- ImageHelper::setInternalTextureType(GL_COMPRESSED_RGBA_ARB);
+ OpenGLImageHelper::setInternalTextureType(
+ GL_COMPRESSED_RGBA_ARB);
logger->log1("using texture compression");
return;
}
@@ -240,12 +248,12 @@ void GraphicsManager::updateTextureFormat()
// using default formats
if (config.getBoolValue("newtextures"))
{
- ImageHelper::setInternalTextureType(GL_RGBA);
+ OpenGLImageHelper::setInternalTextureType(GL_RGBA);
logger->log1("using RGBA texture format");
}
else
{
- ImageHelper::setInternalTextureType(4);
+ OpenGLImageHelper::setInternalTextureType(4);
logger->log1("using 4 texture format");
}
#endif