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;