diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-05-25 17:50:46 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-05-25 17:50:46 +0300 |
commit | 8e6ab562dd62383d191806e88548e89b4d0a9d65 (patch) | |
tree | 36fa576cdb6ff9aa950ec04165eab095f794f385 /src/resources | |
parent | e195e09e86d18c45676431813f98c56d85cc8201 (diff) | |
download | manaplus-8e6ab562dd62383d191806e88548e89b4d0a9d65.tar.gz manaplus-8e6ab562dd62383d191806e88548e89b4d0a9d65.tar.bz2 manaplus-8e6ab562dd62383d191806e88548e89b4d0a9d65.tar.xz manaplus-8e6ab562dd62383d191806e88548e89b4d0a9d65.zip |
Add support for simple texture size detection.
This test check from 1024 to max texture size reported by driver.
Diffstat (limited to 'src/resources')
-rw-r--r-- | src/resources/atlasmanager.cpp | 7 | ||||
-rw-r--r-- | src/resources/openglimagehelper.cpp | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/resources/atlasmanager.cpp b/src/resources/atlasmanager.cpp index 49607786e..c60d6465d 100644 --- a/src/resources/atlasmanager.cpp +++ b/src/resources/atlasmanager.cpp @@ -24,6 +24,8 @@ #include "resources/atlasmanager.h" +#include "configuration.h" + #include "render/surfacegraphics.h" #include "utils/mathutils.h" @@ -53,7 +55,10 @@ AtlasResource *AtlasManager::loadTextureAtlas(const std::string &name, AtlasResource *resource = new AtlasResource; loadImages(files, images); - const int maxSize = OpenGLImageHelper::getTextureSize(); + int maxSize = OpenGLImageHelper::getTextureSize(); + const int sz = config.getIntValue("textureSize"); + if (maxSize > sz) + maxSize = sz; // sorting images on atlases. simpleSort(name, atlases, images, maxSize); diff --git a/src/resources/openglimagehelper.cpp b/src/resources/openglimagehelper.cpp index 7c4e08501..7421dc852 100644 --- a/src/resources/openglimagehelper.cpp +++ b/src/resources/openglimagehelper.cpp @@ -133,7 +133,7 @@ Image *OpenGLImageHelper::glLoad(SDL_Surface *tmpImage, return nullptr; // Flush current error flag. - glGetError(); + graphicsManager.getLastError(); if (!width) width = tmpImage->w; @@ -273,7 +273,7 @@ Image *OpenGLImageHelper::glLoad(SDL_Surface *tmpImage, if (oldImage) MSDL_FreeSurface(tmpImage); - GLenum error = glGetError(); + GLenum error = graphicsManager.getLastError(); if (error) { std::string errmsg = GraphicsManager::errorToString(error); |