X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fclient.h;h=423db870a65bc560f4f8f4facfa640f461a99c05;hb=49509d2f746b7a8d50e685cfd0e0b391676b9466;hp=10158dc5ca91913bd0d0571688c03d4fa437d18f;hpb=3face01a202040e4feff3b0936b4aa89c051c98d;p=minetest.git diff --git a/src/client.h b/src/client.h index 10158dc5c..423db870a 100644 --- a/src/client.h +++ b/src/client.h @@ -48,6 +48,7 @@ class MapBlockMesh; class IWritableTextureSource; class IWritableShaderSource; class IWritableItemDefManager; +class ISoundManager; class NodeDefManager; //class IWritableCraftDefManager; class ClientMediaDownloader; @@ -188,7 +189,6 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef void handleCommand_BlockData(NetworkPacket* pkt); void handleCommand_Inventory(NetworkPacket* pkt); void handleCommand_TimeOfDay(NetworkPacket* pkt); - void handleCommand_ChatMessageOld(NetworkPacket *pkt); void handleCommand_ChatMessage(NetworkPacket *pkt); void handleCommand_ActiveObjectRemoveAdd(NetworkPacket* pkt); void handleCommand_ActiveObjectMessages(NetworkPacket* pkt); @@ -224,8 +224,9 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef void handleCommand_UpdatePlayerList(NetworkPacket* pkt); void handleCommand_ModChannelMsg(NetworkPacket *pkt); void handleCommand_ModChannelSignal(NetworkPacket *pkt); - void handleCommand_SrpBytesSandB(NetworkPacket* pkt); - void handleCommand_CSMFlavourLimits(NetworkPacket *pkt); + void handleCommand_SrpBytesSandB(NetworkPacket *pkt); + void handleCommand_FormspecPrepend(NetworkPacket *pkt); + void handleCommand_CSMRestrictionFlags(NetworkPacket *pkt); void ProcessData(NetworkPacket *pkt); @@ -252,15 +253,15 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef static const std::string &getBuiltinLuaPath(); static const std::string &getClientModsLuaPath(); - virtual const std::vector &getMods() const; - virtual const ModSpec* getModSpec(const std::string &modname) const; + const std::vector &getMods() const override; + const ModSpec* getModSpec(const std::string &modname) const override; // Causes urgent mesh updates (unlike Map::add/removeNodeWithEvent) void removeNode(v3s16 p); /** * Helper function for Client Side Modding - * Flavour is applied there, this should not be used for core engine + * CSM restrictions are applied there, this should not be used for core engine * @param p * @param is_valid_position * @return @@ -281,8 +282,8 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef void getLocalInventory(Inventory &dst); /* InventoryManager interface */ - Inventory* getInventory(const InventoryLocation &loc); - void inventoryAction(InventoryAction *a); + Inventory* getInventory(const InventoryLocation &loc) override; + void inventoryAction(InventoryAction *a) override; const std::list &getConnectedPlayerNames() { @@ -364,24 +365,23 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef bool shouldShowMinimap() const; // IGameDef interface - virtual IItemDefManager* getItemDefManager(); - virtual const NodeDefManager* getNodeDefManager(); - virtual ICraftDefManager* getCraftDefManager(); + IItemDefManager* getItemDefManager() override; + const NodeDefManager* getNodeDefManager() override; + ICraftDefManager* getCraftDefManager() override; ITextureSource* getTextureSource(); virtual IShaderSource* getShaderSource(); - IShaderSource *shsrc() { return getShaderSource(); } - virtual u16 allocateUnknownNodeId(const std::string &name); + u16 allocateUnknownNodeId(const std::string &name) override; virtual ISoundManager* getSoundManager(); - virtual MtEventManager* getEventManager(); + MtEventManager* getEventManager(); virtual ParticleManager* getParticleManager(); bool checkLocalPrivilege(const std::string &priv) { return checkPrivilege(priv); } virtual scene::IAnimatedMesh* getMesh(const std::string &filename, bool cache = false); const std::string* getModFile(const std::string &filename); - virtual std::string getModStoragePath() const; - virtual bool registerModStorage(ModMetadata *meta); - virtual void unregisterModStorage(const std::string &name); + std::string getModStoragePath() const override; + bool registerModStorage(ModMetadata *meta) override; + void unregisterModStorage(const std::string &name) override; // The following set of functions is used by ClientMediaDownloader // Insert a media file appropriately into the appropriate manager @@ -412,14 +412,14 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef return m_address_name; } - inline bool checkCSMFlavourLimit(CSMFlavourLimit flag) const + inline bool checkCSMRestrictionFlag(CSMRestrictionFlags flag) const { - return m_csm_flavour_limits & flag; + return m_csm_restriction_flags & flag; } u32 getCSMNodeRangeLimit() const { - return m_csm_noderange_limit; + return m_csm_restriction_noderange; } inline std::unordered_map &getHUDTranslationMap() @@ -427,18 +427,23 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef return m_hud_server_to_client; } - bool joinModChannel(const std::string &channel); - bool leaveModChannel(const std::string &channel); - bool sendModChannelMessage(const std::string &channel, const std::string &message); - ModChannel *getModChannel(const std::string &channel); + bool joinModChannel(const std::string &channel) override; + bool leaveModChannel(const std::string &channel) override; + bool sendModChannelMessage(const std::string &channel, + const std::string &message) override; + ModChannel *getModChannel(const std::string &channel) override; + const std::string &getFormspecPrepend() const + { + return m_env.getLocalPlayer()->formspec_prepend; + } private: void loadMods(); bool checkBuiltinIntegrity(); // Virtual methods from con::PeerHandler - void peerAdded(con::Peer *peer); - void deletingPeer(con::Peer *peer, bool timeout); + void peerAdded(con::Peer *peer) override; + void deletingPeer(con::Peer *peer, bool timeout) override; void initLocalMapSaving(const Address &address, const std::string &hostname, @@ -595,9 +600,9 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef bool m_shutdown = false; - // CSM flavour limits byteflag - u64 m_csm_flavour_limits = CSMFlavourLimit::CSM_FL_NONE; - u32 m_csm_noderange_limit = 8; + // CSM restrictions byteflag + u64 m_csm_restriction_flags = CSMRestrictionFlags::CSM_RF_NONE; + u32 m_csm_restriction_noderange = 8; std::unique_ptr m_modchannel_mgr; };