]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/tile.h
Add curl, freetype and luaJIT to CMAKE_BUILD_INFO
[dragonfireclient.git] / src / tile.h
index 8008d212715ad161b387d1cd24aa9d0737501fc8..90e180a48283e91f2b3b17e4690e22b7c82037cf 100644 (file)
@@ -57,6 +57,8 @@ std::string getImagePath(std::string path);
 */
 std::string getTexturePath(const std::string &filename);
 
+void clearTextureNameCache();
+
 /*
        ITextureSource::generateTextureFromMesh parameters
 */
@@ -80,22 +82,27 @@ struct TextureFromMeshParams
        TextureSource creates and caches textures.
 */
 
-class ITextureSource
+class ISimpleTextureSource
+{
+public:
+       ISimpleTextureSource(){}
+       virtual ~ISimpleTextureSource(){}
+       virtual video::ITexture* getTexture(
+                       const std::string &name, u32 *id = NULL) = 0;
+};
+
+class ITextureSource : public ISimpleTextureSource
 {
 public:
        ITextureSource(){}
        virtual ~ITextureSource(){}
-       virtual u32 getTextureId(const std::string &name){return 0;}
-       virtual u32 getTextureIdDirect(const std::string &name){return 0;}
-       virtual std::string getTextureName(u32 id){return "";}
-       virtual video::ITexture* getTexture(u32 id){return NULL;}
+       virtual u32 getTextureId(const std::string &name)=0;
+       virtual u32 getTextureIdDirect(const std::string &name)=0;
+       virtual std::string getTextureName(u32 id)=0;
+       virtual video::ITexture* getTexture(u32 id)=0;
        virtual video::ITexture* getTexture(
-                       const std::string &name, u32 *id = NULL){
-               if(id) *id = 0;
-               return NULL;
-       }
-       virtual IrrlichtDevice* getDevice()
-               {return NULL;}
+                       const std::string &name, u32 *id = NULL)=0;
+       virtual IrrlichtDevice* getDevice()=0;
        virtual bool isKnownSourceImage(const std::string &name)=0;
        virtual video::ITexture* generateTextureFromMesh(
                        const TextureFromMeshParams &params)=0;
@@ -106,23 +113,20 @@ class IWritableTextureSource : public ITextureSource
 public:
        IWritableTextureSource(){}
        virtual ~IWritableTextureSource(){}
-       virtual u32 getTextureId(const std::string &name){return 0;}
-       virtual u32 getTextureIdDirect(const std::string &name){return 0;}
-       virtual std::string getTextureName(u32 id){return "";}
-       virtual video::ITexture* getTexture(u32 id){return NULL;}
+       virtual u32 getTextureId(const std::string &name)=0;
+       virtual u32 getTextureIdDirect(const std::string &name)=0;
+       virtual std::string getTextureName(u32 id)=0;
+       virtual video::ITexture* getTexture(u32 id)=0;
        virtual video::ITexture* getTexture(
-                       const std::string &name, u32 *id = NULL){
-               if(id) *id = 0;
-               return NULL;
-       }
-       virtual IrrlichtDevice* getDevice(){return NULL;}
+                       const std::string &name, u32 *id = NULL)=0;
+       virtual IrrlichtDevice* getDevice()=0;
        virtual bool isKnownSourceImage(const std::string &name)=0;
+       virtual video::ITexture* generateTextureFromMesh(
+                       const TextureFromMeshParams &params)=0;
 
        virtual void processQueue()=0;
        virtual void insertSourceImage(const std::string &name, video::IImage *img)=0;
        virtual void rebuildImagesAndTextures()=0;
-       virtual video::ITexture* generateTextureFromMesh(
-                       const TextureFromMeshParams &params)=0;
 };
 
 IWritableTextureSource* createTextureSource(IrrlichtDevice *device);