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++)