core/PlayerManager.h
changeset 2323 efa6bfdd7571
parent 2289 44045ead61cd
child 2400 76b7b4575e21
     1.1 --- a/core/PlayerManager.h	Sun Sep 21 14:20:01 2008 +1200
     1.2 +++ b/core/PlayerManager.h	Fri Sep 26 19:08:49 2008 +1200
     1.3 @@ -41,6 +41,7 @@
     1.4  #include <sh_string.h>
     1.5  #include <sh_list.h>
     1.6  #include <sh_vector.h>
     1.7 +#include "ConVarManager.h"
     1.8  
     1.9  using namespace SourceHook;
    1.10  
    1.11 @@ -110,7 +111,8 @@
    1.12  
    1.13  class PlayerManager : 
    1.14  	public SMGlobalClass,
    1.15 -	public IPlayerManager
    1.16 +	public IPlayerManager,
    1.17 +	public IConVarChangeListener
    1.18  {
    1.19  	friend class CPlayer;
    1.20  public:
    1.21 @@ -121,6 +123,7 @@
    1.22  	void OnSourceModShutdown();
    1.23  	void OnSourceModLevelEnd();
    1.24  	ConfigResult OnSourceModConfigChanged(const char *key, const char *value, ConfigSource source, char *error, size_t maxlength);
    1.25 +	void OnSourceModMaxPlayersChanged(int newvalue);
    1.26  public:
    1.27  	CPlayer *GetPlayerByIndex(int client) const;
    1.28  	void RunAuthChecks();
    1.29 @@ -153,6 +156,8 @@
    1.30  	void RegisterCommandTargetProcessor(ICommandTargetProcessor *pHandler);
    1.31  	void UnregisterCommandTargetProcessor(ICommandTargetProcessor *pHandler);
    1.32  	void ProcessCommandTarget(cmd_target_info_t *info);
    1.33 +public: // IConVarChangeListener
    1.34 +	void OnConVarChanged(ConVar *pConVar, const char *oldValue, float flOldValue);
    1.35  public:
    1.36  	inline int MaxClients()
    1.37  	{
    1.38 @@ -172,6 +177,7 @@
    1.39  	void RecheckAnyAdmins();
    1.40  	unsigned int GetReplyTo();
    1.41  	unsigned int SetReplyTo(unsigned int reply);
    1.42 +	void MaxPlayersChanged(int newvalue = -1);
    1.43  private:
    1.44  	void OnServerActivate(edict_t *pEdictList, int edictCount, int clientMax);
    1.45  	void InvalidatePlayer(CPlayer *pPlayer);
    1.46 @@ -198,6 +204,12 @@
    1.47  	int m_ListenClient;
    1.48  };
    1.49  
    1.50 +#if defined ORANGEBOX_BUILD
    1.51 +void CmdMaxplayersCallback(const CCommand &command);
    1.52 +#else
    1.53 +void CmdMaxplayersCallback();
    1.54 +#endif
    1.55 +
    1.56  extern PlayerManager g_Players;
    1.57  extern bool g_OnMapStarted;
    1.58  extern const unsigned int *g_NumPlayersToAuth;