]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/gamedef.h
Schematics: Fix core.schematic_create()
[dragonfireclient.git] / src / gamedef.h
index 6da288bad8879992475c30592ec6045f8a6440b0..a5f6b596822842397e53b5e77c5e49d3cd7a0a6d 100644 (file)
@@ -30,9 +30,11 @@ class ITextureSource;
 class ISoundManager;
 class IShaderSource;
 class MtEventManager;
-class IRollbackReportSink;
+class IRollbackManager;
+class EmergeManager;
 namespace irr { namespace scene {
        class IAnimatedMesh;
+       class ISceneManager;
 }}
 
 /*
@@ -54,33 +56,38 @@ class IGameDef
        virtual ITextureSource* getTextureSource()=0;
 
        virtual IShaderSource* getShaderSource()=0;
-       
+
        // Used for keeping track of names/ids of unknown nodes
        virtual u16 allocateUnknownNodeId(const std::string &name)=0;
-       
+
        // Only usable on the client
        virtual ISoundManager* getSoundManager()=0;
        virtual MtEventManager* getEventManager()=0;
        virtual scene::IAnimatedMesh* getMesh(const std::string &filename)
        { return NULL; }
+       virtual scene::ISceneManager* getSceneManager()=0;
 
        // Only usable on the server, and NOT thread-safe. It is usable from the
        // environment thread.
-       virtual IRollbackReportSink* getRollbackReportSink(){return NULL;}
-       
+       virtual IRollbackManager* getRollbackManager(){return NULL;}
+
+       // Only usable on the server. Thread safe if not written while running threads.
+       virtual EmergeManager *getEmergeManager() { return NULL; }
+
        // Used on the client
        virtual bool checkLocalPrivilege(const std::string &priv)
        { return false; }
-       
+
        // Shorthands
-       IItemDefManager* idef(){return getItemDefManager();}
-       INodeDefManager* ndef(){return getNodeDefManager();}
-       ICraftDefManager* cdef(){return getCraftDefManager();}
-       ITextureSource* tsrc(){return getTextureSource();}
-       ISoundManager* sound(){return getSoundManager();}
-       IShaderSource* shsrc(){return getShaderSource();}
-       MtEventManager* event(){return getEventManager();}
-       IRollbackReportSink* rollback(){return getRollbackReportSink();}
+       IItemDefManager  *idef()     { return getItemDefManager(); }
+       INodeDefManager  *ndef()     { return getNodeDefManager(); }
+       ICraftDefManager *cdef()     { return getCraftDefManager(); }
+       ITextureSource   *tsrc()     { return getTextureSource(); }
+       ISoundManager    *sound()    { return getSoundManager(); }
+       IShaderSource    *shsrc()    { return getShaderSource(); }
+       MtEventManager   *event()    { return getEventManager(); }
+       IRollbackManager *rollback() { return getRollbackManager();}
+       EmergeManager    *emerge()   { return getEmergeManager(); }
 };
 
 #endif