From 308bb69eefdfb2ff3b893c124ccf0321d99a1bfd Mon Sep 17 00:00:00 2001 From: Loïc Blot Date: Mon, 11 Dec 2017 17:33:44 +0100 Subject: CSM fixes: load mods after flavours & add flavour to block mod loading (#6738) * CSM fixes: load mods after flavours & add flavour to block mod loading * Don't permit to load mods twice * Prepare builtin integrity global algorithm * Add missing doc & use a nicer byteflag for LOAD_CLIENT_MODS flavour * flag typo fix * Invert CSM_FL_LOOKUP_NODES & CSM_FL_LOAD_CLIENT_MODS ids --- src/network/clientpackethandler.cpp | 4 ++++ src/network/networkprotocol.h | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'src/network') diff --git a/src/network/clientpackethandler.cpp b/src/network/clientpackethandler.cpp index 5de99418e..0ec46049e 100644 --- a/src/network/clientpackethandler.cpp +++ b/src/network/clientpackethandler.cpp @@ -1326,6 +1326,10 @@ void Client::handleCommand_SrpBytesSandB(NetworkPacket* pkt) void Client::handleCommand_CSMFlavourLimits(NetworkPacket *pkt) { *pkt >> m_csm_flavour_limits >> m_csm_noderange_limit; + + // Now we have flavours, load mods if it's enabled + // Note: this should be moved after mods receptions from server instead + loadMods(); } /* diff --git a/src/network/networkprotocol.h b/src/network/networkprotocol.h index fe68f39b2..1f10822e1 100644 --- a/src/network/networkprotocol.h +++ b/src/network/networkprotocol.h @@ -921,10 +921,11 @@ enum PlayerListModifer: u8 enum CSMFlavourLimit : u64 { CSM_FL_NONE = 0x00000000, - CSM_FL_LOOKUP_NODES = 0x00000001, // Limit node lookups + CSM_FL_LOAD_CLIENT_MODS = 0x00000001, // Disable mods provided by clients CSM_FL_CHAT_MESSAGES = 0x00000002, // Disable chat message sending from CSM CSM_FL_READ_ITEMDEFS = 0x00000004, // Disable itemdef lookups CSM_FL_READ_NODEDEFS = 0x00000008, // Disable nodedef lookups + CSM_FL_LOOKUP_NODES = 0x00000010, // Limit node lookups CSM_FL_ALL = 0xFFFFFFFF, }; -- cgit v1.2.3