From f029b905d5b3000ff5f9ff3c2038ee06e5513aab Mon Sep 17 00:00:00 2001 From: "mtilden@gmail.com" Date: Mon, 26 Dec 2011 03:05:31 +0000 Subject: - Default Notchian Ping (static until ping implemented through keepalive send/receive) - Player "left" message regardless of exit reason git-svn-id: http://mc-server.googlecode.com/svn/trunk@119 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/cClientHandle.cpp | 12 ++++++++++-- source/cPlayer.cpp | 4 ++-- 2 files changed, 12 insertions(+), 4 deletions(-) (limited to 'source') diff --git a/source/cClientHandle.cpp b/source/cClientHandle.cpp index 05bdec249..00e81c416 100644 --- a/source/cClientHandle.cpp +++ b/source/cClientHandle.cpp @@ -124,6 +124,7 @@ cClientHandle::cClientHandle(const cSocket & a_Socket) , m_bKeepThreadGoing( true ) , m_bSendLoginResponse( false ) , m_pState( new sClientHandleState ) + , m_Ping(1000) { LOG("cClientHandle::cClientHandle"); @@ -183,9 +184,16 @@ cClientHandle::~cClientHandle() { if ((*itr) && (*itr)->GetClientHandle() && strlen(GetUsername()) > 0) { - cPacket_PlayerListItem *PlayerList = new cPacket_PlayerListItem(m_Player->GetColor() + GetUsername(), false, (short)9999); - (*itr)->GetClientHandle()->Send( *PlayerList ); + cPacket_PlayerListItem PlayerList(m_Player->GetColor() + GetUsername(), false, (short)9999); + (*itr)->GetClientHandle()->Send( PlayerList ); } + + } + + if (m_pState && m_pState->Username.size() > 0) + { + cPacket_Chat Left( m_pState->Username + " left the game!"); + cRoot::Get()->GetServer()->Broadcast( Left, this ); } // First stop sending thread diff --git a/source/cPlayer.cpp b/source/cPlayer.cpp index e8bdeb4ff..d0dfa8795 100644 --- a/source/cPlayer.cpp +++ b/source/cPlayer.cpp @@ -239,8 +239,8 @@ void cPlayer::Tick(float a_Dt) for( cWorld::PlayerList::iterator itr = PlayerList.begin(); itr != PlayerList.end(); ++itr ) { if ((*itr) && (*itr)->GetClientHandle() && !((*itr)->GetClientHandle()->IsDestroyed())) { - cPacket_PlayerListItem *PlayerList = new cPacket_PlayerListItem(GetColor() + GetName(), true, (*itr)->GetClientHandle()->GetPing()); - (*itr)->GetClientHandle()->Send( *PlayerList ); + cPacket_PlayerListItem PlayerList(GetColor() + GetName(), true, (*itr)->GetClientHandle()->GetPing()); + (*itr)->GetClientHandle()->Send( PlayerList ); } } -- cgit v1.2.3