core/PlayerManager.cpp
changeset 3177 c31089f82da4
parent 3032 ee7a5629ff68
child 3186 e5787e5bec51
     1.1 --- a/core/PlayerManager.cpp	Fri Dec 31 20:00:07 2010 -0500
     1.2 +++ b/core/PlayerManager.cpp	Fri Dec 31 20:02:41 2010 -0500
     1.3 @@ -55,7 +55,7 @@
     1.4  IForward *PreAdminCheck = NULL;
     1.5  IForward *PostAdminCheck = NULL;
     1.6  IForward *PostAdminFilter = NULL;
     1.7 -IForward *OnClientConnected = NULL;
     1.8 +
     1.9  const unsigned int *g_NumPlayersToAuth = NULL;
    1.10  int lifestate_offset = -1;
    1.11  List<ICommandTargetProcessor *> target_processors;
    1.12 @@ -142,6 +142,7 @@
    1.13  	ParamType p2[] = {Param_Cell};
    1.14  
    1.15  	m_clconnect = g_Forwards.CreateForward("OnClientConnect", ET_LowEvent, 3, p1);
    1.16 +	m_clconnect_post = g_Forwards.CreateForward("OnClientConnected", ET_Ignore, 1, p2);
    1.17  	m_clputinserver = g_Forwards.CreateForward("OnClientPutInServer", ET_Ignore, 1, p2);
    1.18  	m_cldisconnect = g_Forwards.CreateForward("OnClientDisconnect", ET_Ignore, 1, p2);
    1.19  	m_cldisconnect_post = g_Forwards.CreateForward("OnClientDisconnect_Post", ET_Ignore, 1, p2);
    1.20 @@ -150,7 +151,6 @@
    1.21  	m_clauth = g_Forwards.CreateForward("OnClientAuthorized", ET_Ignore, 2, NULL, Param_Cell, Param_String);
    1.22  	m_onActivate = g_Forwards.CreateForward("OnServerLoad", ET_Ignore, 0, NULL);
    1.23  	m_onActivate2 = g_Forwards.CreateForward("OnMapStart", ET_Ignore, 0, NULL);
    1.24 -	OnClientConnected = g_Forwards.CreateForward("OnClientConnected", ET_Ignore, 1, p2);
    1.25  
    1.26  	PreAdminCheck = g_Forwards.CreateForward("OnClientPreAdminCheck", ET_Event, 1, p1);
    1.27  	PostAdminCheck = g_Forwards.CreateForward("OnClientPostAdminCheck", ET_Ignore, 1, p1);
    1.28 @@ -172,6 +172,7 @@
    1.29  void PlayerManager::OnSourceModShutdown()
    1.30  {
    1.31  	SH_REMOVE_HOOK_MEMFUNC(IServerGameClients, ClientConnect, serverClients, this, &PlayerManager::OnClientConnect, false);
    1.32 +	SH_REMOVE_HOOK_MEMFUNC(IServerGameClients, ClientConnect, serverClients, this, &PlayerManager::OnClientConnect_Post, true);
    1.33  	SH_REMOVE_HOOK_MEMFUNC(IServerGameClients, ClientPutInServer, serverClients, this, &PlayerManager::OnClientPutInServer, true);
    1.34  	SH_REMOVE_HOOK_MEMFUNC(IServerGameClients, ClientDisconnect, serverClients, this, &PlayerManager::OnClientDisconnect, false);
    1.35  	SH_REMOVE_HOOK_MEMFUNC(IServerGameClients, ClientDisconnect, serverClients, this, &PlayerManager::OnClientDisconnect_Post, true);
    1.36 @@ -181,6 +182,7 @@
    1.37  
    1.38  	/* Release forwards */
    1.39  	g_Forwards.ReleaseForward(m_clconnect);
    1.40 +	g_Forwards.ReleaseForward(m_clconnect_post);
    1.41  	g_Forwards.ReleaseForward(m_clputinserver);
    1.42  	g_Forwards.ReleaseForward(m_cldisconnect);
    1.43  	g_Forwards.ReleaseForward(m_cldisconnect_post);
    1.44 @@ -189,7 +191,6 @@
    1.45  	g_Forwards.ReleaseForward(m_clauth);
    1.46  	g_Forwards.ReleaseForward(m_onActivate);
    1.47  	g_Forwards.ReleaseForward(m_onActivate2);
    1.48 -	g_Forwards.ReleaseForward(OnClientConnected);
    1.49  
    1.50  	g_Forwards.ReleaseForward(PreAdminCheck);
    1.51  	g_Forwards.ReleaseForward(PostAdminCheck);
    1.52 @@ -478,8 +479,8 @@
    1.53  		}
    1.54  
    1.55  		cell_t res;
    1.56 -		OnClientConnected->PushCell(client);
    1.57 -		OnClientConnected->Execute(&res, NULL);
    1.58 +		m_clconnect_post->PushCell(client);
    1.59 +		m_clconnect_post->Execute(&res, NULL);
    1.60  	}
    1.61  	else
    1.62  	{
    1.63 @@ -522,8 +523,8 @@
    1.64  		}
    1.65  
    1.66  		cell_t res;
    1.67 -		OnClientConnected->PushCell(client);
    1.68 -		OnClientConnected->Execute(&res, NULL);
    1.69 +		m_clconnect_post->PushCell(client);
    1.70 +		m_clconnect_post->Execute(&res, NULL);
    1.71  
    1.72  		/* Now do authorization */
    1.73  		for (iter=m_hooks.begin(); iter!=m_hooks.end(); iter++)