/*
Minetest
-Copyright (C) 2011 celeron55, Perttu Ahola <celeron55@gmail.com>
+Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
class ISoundManager;
class IShaderSource;
class MtEventManager;
-class IRollbackReportSink;
+class IRollbackManager;
+class EmergeManager;
+namespace irr { namespace scene {
+ class IAnimatedMesh;
+ class ISceneManager;
+}}
/*
An interface for fetching game-global definitions like tool and
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