X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FTexture.h;h=95547bf30e9ec9e9b494495af2442e6d7f12c594;hb=bdabd9d4a53be2fa9d90f900f7e5949d2f0ef75c;hp=a620165eafae248474fd5c098b76f79825539e47;hpb=efbc6ee855217635d97671a3a2d65bc18908b840;p=lugaru.git diff --git a/Source/Texture.h b/Source/Texture.h index a620165..95547bf 100644 --- a/Source/Texture.h +++ b/Source/Texture.h @@ -1,22 +1,21 @@ /* Copyright (C) 2003, 2010 - Wolfire Games +Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file) This file is part of Lugaru. -Lugaru is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. +Lugaru is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. -This program is distributed in the hope that it will be useful, +Lugaru is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -See the GNU General Public License for more details. +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +along with Lugaru. If not, see . */ #ifndef _TEXTURE_H_ @@ -27,7 +26,27 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include using namespace std; -class TextureRes; +class TextureRes +{ +private: + static vector list; + + GLuint id; + string filename; + bool hasMipmap; + bool isSkin; + int skinsize; + GLubyte* data; + int datalen; + + void load(); + +public: + TextureRes(const string& filename, bool hasMipmap); + TextureRes(const string& filename, bool hasMipmap, GLubyte* array, int* skinsize); + ~TextureRes(); + void bind(); +}; class Texture { @@ -35,12 +54,10 @@ private: TextureRes* tex; public: inline Texture(): tex(NULL) {} - void load(const string& filename, bool hasMipmap, bool hasAlpha); + void load(const string& filename, bool hasMipmap); void load(const string& filename, bool hasMipmap, GLubyte* array, int* skinsizep); void destroy(); void bind(); - - static void reloadAll(); }; #endif