X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FTexture.cpp;h=3106c8f31ac4490ff265e24b8faeb1d2b37fe3d4;hb=64560867a9b6486d601784a2fe4ba6149d31b7aa;hp=08010c389f3ed0c84951e768edbf61424c8111ec;hpb=a7c9ba64aa7413abb4c566dad8dc796526952d3e;p=lugaru.git diff --git a/Source/Texture.cpp b/Source/Texture.cpp index 08010c3..3106c8f 100644 --- a/Source/Texture.cpp +++ b/Source/Texture.cpp @@ -21,6 +21,7 @@ along with Lugaru. If not, see . #include "gamegl.h" #include "Texture.h" #include "ImageIO.h" +#include "Utils/Folders.h" using namespace std; @@ -33,7 +34,10 @@ void TextureRes::load() ImageRec texture; //load image into 'texture' - load_image(ConvertFileName(filename.c_str()), texture); + if (!load_image(filename.c_str(), texture)) { + cerr << "Texture " << filename << " loading failed" << endl; + return; + } skinsize = texture.sizeX; GLuint type = GL_RGBA; @@ -74,8 +78,8 @@ void TextureRes::bind() glBindTexture(GL_TEXTURE_2D, id); } -TextureRes::TextureRes(const string& _filename, bool _hasMipmap, bool _hasAlpha): - id(0), filename(_filename), hasMipmap(_hasMipmap), hasAlpha(_hasAlpha), isSkin(false), +TextureRes::TextureRes(const string& _filename, bool _hasMipmap): + id(0), filename(_filename), hasMipmap(_hasMipmap), isSkin(false), skinsize(0), data(NULL), datalen(0) { load(); @@ -83,7 +87,7 @@ TextureRes::TextureRes(const string& _filename, bool _hasMipmap, bool _hasAlpha) } TextureRes::TextureRes(const string& _filename, bool _hasMipmap, GLubyte* array, int* skinsizep): - id(0), filename(_filename), hasMipmap(_hasMipmap), hasAlpha(false), isSkin(true), + id(0), filename(_filename), hasMipmap(_hasMipmap), isSkin(true), skinsize(0), data(NULL), datalen(0) { load(); @@ -104,16 +108,16 @@ TextureRes::~TextureRes() } } -void Texture::load(const string& filename, bool hasMipmap, bool hasAlpha) +void Texture::load(const string& filename, bool hasMipmap) { destroy(); - tex = new TextureRes(filename, hasMipmap, hasAlpha); + tex = new TextureRes(Folders::getResourcePath(filename), hasMipmap); } void Texture::load(const string& filename, bool hasMipmap, GLubyte* array, int* skinsizep) { destroy(); - tex = new TextureRes(filename, hasMipmap, array, skinsizep); + tex = new TextureRes(Folders::getResourcePath(filename), hasMipmap, array, skinsizep); } void Texture::destroy()