From a81567e2d651171fbc8fa1c7de6156b1e72d9de5 Mon Sep 17 00:00:00 2001 From: "Dr\\!fter" Date: Tue, 8 Mar 2011 12:59:42 -0800 Subject: [PATCH] Add OnClientSettingsChanged to IPlayerHelpers (bug 4812, r=fyren) --- core/PlayerManager.cpp | 11 +++++++++++ public/IPlayerHelpers.h | 11 ++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/core/PlayerManager.cpp b/core/PlayerManager.cpp index 2cc213cb..651554da 100644 --- a/core/PlayerManager.cpp +++ b/core/PlayerManager.cpp @@ -833,6 +833,17 @@ void PlayerManager::OnClientSettingsChanged(edict_t *pEntity) } } } + /* Notify Extensions */ + List::iterator iter; + IClientListener *pListener = NULL; + for (iter=m_hooks.begin(); iter!=m_hooks.end(); iter++) + { + pListener = (*iter); + if (pListener->GetClientListenerVersion() >= 13) + { + pListener->OnClientSettingsChanged(client); + } + } } int PlayerManager::GetMaxClients() diff --git a/public/IPlayerHelpers.h b/public/IPlayerHelpers.h index a6f6d268..74ad45ff 100644 --- a/public/IPlayerHelpers.h +++ b/public/IPlayerHelpers.h @@ -41,7 +41,7 @@ #include #define SMINTERFACE_PLAYERMANAGER_NAME "IPlayerManager" -#define SMINTERFACE_PLAYERMANAGER_VERSION 12 +#define SMINTERFACE_PLAYERMANAGER_VERSION 13 struct edict_t; class IPlayerInfo; @@ -347,6 +347,15 @@ namespace SourceMod virtual void OnMaxPlayersChanged(int newvalue) { } + + /** + * @brief Notifies the extension that a clients settings changed + * + * @param client Client index. + */ + virtual void OnClientSettingsChanged(int client) + { + } }; #define COMMAND_FILTER_ALIVE (1<<0) /**< Only allow alive players */