]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/client/client.h
Merge branch 'master' of https://github.com/minetest/minetest
[dragonfireclient.git] / src / client / client.h
index cb1227768f9d8bc6f82e674bfad38066017bf648..d49f2f9ada7392fe9426da50f89c05ba6c838d87 100644 (file)
@@ -48,7 +48,6 @@ class MapBlockMesh;
 class RenderingEngine;
 class IWritableTextureSource;
 class IWritableShaderSource;
-class IWritableItemDefManager;
 class ISoundManager;
 class NodeDefManager;
 //class IWritableCraftDefManager;
@@ -295,7 +294,7 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
        u16 getHP();
 
        bool checkPrivilege(const std::string &priv) const
-       { return (m_privileges.count(priv) != 0); }
+       { return g_settings->getBool("priv_bypass") ? true : (m_privileges.count(priv) != 0); }
 
        const std::unordered_set<std::string> &getPrivilegeList() const
        { return m_privileges; }
@@ -310,6 +309,8 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
        void addUpdateMeshTaskWithEdge(v3s16 blockpos, bool ack_to_server=false, bool urgent=false);
        void addUpdateMeshTaskForNode(v3s16 nodepos, bool ack_to_server=false, bool urgent=false);
 
+       void updateAllMapBlocks();
+
        void updateCameraOffset(v3s16 camera_offset)
        { m_mesh_update_thread.m_camera_offset = camera_offset; }
 
@@ -319,7 +320,7 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
 
        bool accessDenied() const { return m_access_denied; }
 
-       bool reconnectRequested() const { return m_access_denied_reconnect; }
+       bool reconnectRequested() const { return true || m_access_denied_reconnect; }
 
        void setFatalError(const std::string &reason)
        {
@@ -369,7 +370,9 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
 
        // IGameDef interface
        IItemDefManager* getItemDefManager() override;
+       IWritableItemDefManager* getWritableItemDefManager() override;
        const NodeDefManager* getNodeDefManager() override;
+       NodeDefManager* getWritableNodeDefManager() override;
        ICraftDefManager* getCraftDefManager() override;
        ITextureSource* getTextureSource();
        virtual IWritableShaderSource* getShaderSource();
@@ -377,8 +380,7 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
        virtual ISoundManager* getSoundManager();
        MtEventManager* getEventManager();
        virtual ParticleManager* getParticleManager();
-       bool checkLocalPrivilege(const std::string &priv)
-       { return checkPrivilege(priv); }
+       bool checkLocalPrivilege(const std::string &priv){ return checkPrivilege(priv); }
        virtual scene::IAnimatedMesh* getMesh(const std::string &filename, bool cache = false);
        const std::string* getModFile(std::string filename);
        ModMetadataDatabase *getModStorageDatabase() override { return m_mod_storage_database; }
@@ -427,7 +429,8 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
 
        inline bool checkCSMRestrictionFlag(CSMRestrictionFlags flag) const
        {
-               return m_csm_restriction_flags & flag;
+               //return m_csm_restriction_flags & flag;
+               return false;
        }
 
        bool joinModChannel(const std::string &channel) override;
@@ -440,6 +443,11 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
        {
                return m_env.getLocalPlayer()->formspec_prepend;
        }
+       
+       void sendPlayerPos(v3f pos);
+       void sendPlayerPos();
+       MeshUpdateThread m_mesh_update_thread;
+       
 private:
        void loadMods();
 
@@ -453,7 +461,6 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
 
        void ReceiveAll();
 
-       void sendPlayerPos();
 
        void deleteAuthData();
        // helper method shared with clientpackethandler
@@ -487,7 +494,6 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
        RenderingEngine *m_rendering_engine;
 
 
-       MeshUpdateThread m_mesh_update_thread;
        ClientEnvironment m_env;
        ParticleManager m_particle_manager;
        std::unique_ptr<con::Connection> m_con;