mirror of
https://github.com/luanti-org/luanti.git
synced 2025-07-02 16:38:41 +00:00
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
This commit is contained in:
parent
11df7e886a
commit
8e7449e092
49 changed files with 301 additions and 409 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue