summaryrefslogtreecommitdiff
path: root/src/gamedef.h
diff options
context:
space:
mode:
authorNer'zhul <nerzhul@users.noreply.github.com>2017-01-09 20:39:22 +0100
committerGitHub <noreply@github.com>2017-01-09 20:39:22 +0100
commit8e7449e09253e138716d8dbad6a2ab5c6e089e28 (patch)
treeca6895fb557229445b04639efe7fc57b3e33157b /src/gamedef.h
parent11df7e886a674e280e3ec6f895c11fc1e70eb7b3 (diff)
downloadminetest-8e7449e09253e138716d8dbad6a2ab5c6e089e28.tar.gz
minetest-8e7449e09253e138716d8dbad6a2ab5c6e089e28.tar.bz2
minetest-8e7449e09253e138716d8dbad6a2ab5c6e089e28.zip
Environment & IGameDef code refactoring (#4985)
* Environment code refactoring * Cleanup includes & class declarations in client & server environment to improve build speed * ServerEnvironment::m_gamedef is now a pointer to Server instead of IGameDef, permitting to cleanup many casts. * Cleanup IGameDef * Move ITextureSource* IGameDef::getTextureSource() to Client only. * Also move ITextureSource *IGameDef::tsrc() helper * drop getShaderSource, getSceneManager, getSoundManager & getCamera abstract call * drop unused emerge() call * cleanup server unused functions (mentionned before) * Drop one unused parameter from ContentFeatures::updateTextures * move checkLocalPrivilege to Client * Remove some unnecessary casts * create_formspec_menu: remove IWritableTextureSource pointer, as client already knows it * Fix some comments * Change required IGameDef to Server/Client pointers * Previous change that game.cpp sometimes calls functions with Client + InventoryManager + IGameDef in same functions but it's the same objects * Remove duplicate Client pointer in GUIFormSpecMenu::GUIFormSpecMenu * drop ClientMap::sectorWasDrawn which is unused
Diffstat (limited to 'src/gamedef.h')
-rw-r--r--src/gamedef.h29
1 files changed, 2 insertions, 27 deletions
diff --git a/src/gamedef.h b/src/gamedef.h
index 7e3da4cac..cb624bd6a 100644
--- a/src/gamedef.h
+++ b/src/gamedef.h
@@ -53,47 +53,22 @@ public:
virtual INodeDefManager* getNodeDefManager()=0;
virtual ICraftDefManager* getCraftDefManager()=0;
- // This is always thread-safe, but referencing the irrlicht texture
- // pointers in other threads than main thread will make things explode.
- 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;
-
- virtual Camera* getCamera()
- { return NULL; }
- virtual void setCamera(Camera *camera) {}
// Only usable on the server, and NOT thread-safe. It is usable from the
// environment thread.
- 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; }
+ virtual IRollbackManager* getRollbackManager() { return NULL; }
// 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(); }
IRollbackManager *rollback() { return getRollbackManager();}
- EmergeManager *emerge() { return getEmergeManager(); }
};
#endif