Removed cServer::BroadcastChat() and cServer::SendMessage().
These two functions make it difficult to move to the new ticking system, and they aren't used anyway. If so required, they can be emulated by ForEachWorld / ForEachPlayer calls.
This commit is contained in:
parent
6914bf4c65
commit
c628ab03e9
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Lua binding: AllToLua
|
** Lua binding: AllToLua
|
||||||
** Generated automatically by tolua++-1.0.92 on 08/11/13 20:59:51.
|
** Generated automatically by tolua++-1.0.92 on 08/12/13 08:16:46.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __cplusplus
|
#ifndef __cplusplus
|
||||||
@ -11435,80 +11435,6 @@ static int tolua_AllToLua_cServer_SetMaxPlayers00(lua_State* tolua_S)
|
|||||||
}
|
}
|
||||||
#endif //#ifndef TOLUA_DISABLE
|
#endif //#ifndef TOLUA_DISABLE
|
||||||
|
|
||||||
/* method: BroadcastChat of class cServer */
|
|
||||||
#ifndef TOLUA_DISABLE_tolua_AllToLua_cServer_BroadcastChat00
|
|
||||||
static int tolua_AllToLua_cServer_BroadcastChat00(lua_State* tolua_S)
|
|
||||||
{
|
|
||||||
#ifndef TOLUA_RELEASE
|
|
||||||
tolua_Error tolua_err;
|
|
||||||
if (
|
|
||||||
!tolua_isusertype(tolua_S,1,"cServer",0,&tolua_err) ||
|
|
||||||
!tolua_iscppstring(tolua_S,2,0,&tolua_err) ||
|
|
||||||
!tolua_isusertype(tolua_S,3,"const cClientHandle",1,&tolua_err) ||
|
|
||||||
!tolua_isnoobj(tolua_S,4,&tolua_err)
|
|
||||||
)
|
|
||||||
goto tolua_lerror;
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
cServer* self = (cServer*) tolua_tousertype(tolua_S,1,0);
|
|
||||||
const AString a_Message = ((const AString) tolua_tocppstring(tolua_S,2,0));
|
|
||||||
const cClientHandle* a_Exclude = ((const cClientHandle*) tolua_tousertype(tolua_S,3,NULL));
|
|
||||||
#ifndef TOLUA_RELEASE
|
|
||||||
if (!self) tolua_error(tolua_S,"invalid 'self' in function 'BroadcastChat'", NULL);
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
self->BroadcastChat(a_Message,a_Exclude);
|
|
||||||
tolua_pushcppstring(tolua_S,(const char*)a_Message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 1;
|
|
||||||
#ifndef TOLUA_RELEASE
|
|
||||||
tolua_lerror:
|
|
||||||
tolua_error(tolua_S,"#ferror in function 'BroadcastChat'.",&tolua_err);
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
#endif //#ifndef TOLUA_DISABLE
|
|
||||||
|
|
||||||
/* method: SendMessage of class cServer */
|
|
||||||
#ifndef TOLUA_DISABLE_tolua_AllToLua_cServer_SendMessage00
|
|
||||||
static int tolua_AllToLua_cServer_SendMessage00(lua_State* tolua_S)
|
|
||||||
{
|
|
||||||
#ifndef TOLUA_RELEASE
|
|
||||||
tolua_Error tolua_err;
|
|
||||||
if (
|
|
||||||
!tolua_isusertype(tolua_S,1,"cServer",0,&tolua_err) ||
|
|
||||||
!tolua_iscppstring(tolua_S,2,0,&tolua_err) ||
|
|
||||||
!tolua_isusertype(tolua_S,3,"cPlayer",1,&tolua_err) ||
|
|
||||||
!tolua_isboolean(tolua_S,4,1,&tolua_err) ||
|
|
||||||
!tolua_isnoobj(tolua_S,5,&tolua_err)
|
|
||||||
)
|
|
||||||
goto tolua_lerror;
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
cServer* self = (cServer*) tolua_tousertype(tolua_S,1,0);
|
|
||||||
const AString a_Message = ((const AString) tolua_tocppstring(tolua_S,2,0));
|
|
||||||
cPlayer* a_Player = ((cPlayer*) tolua_tousertype(tolua_S,3,NULL));
|
|
||||||
bool a_bExclude = ((bool) tolua_toboolean(tolua_S,4,false));
|
|
||||||
#ifndef TOLUA_RELEASE
|
|
||||||
if (!self) tolua_error(tolua_S,"invalid 'self' in function 'SendMessage'", NULL);
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
self->SendMessage(a_Message,a_Player,a_bExclude);
|
|
||||||
tolua_pushcppstring(tolua_S,(const char*)a_Message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 1;
|
|
||||||
#ifndef TOLUA_RELEASE
|
|
||||||
tolua_lerror:
|
|
||||||
tolua_error(tolua_S,"#ferror in function 'SendMessage'.",&tolua_err);
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
#endif //#ifndef TOLUA_DISABLE
|
|
||||||
|
|
||||||
/* method: GetServerID of class cServer */
|
/* method: GetServerID of class cServer */
|
||||||
#ifndef TOLUA_DISABLE_tolua_AllToLua_cServer_GetServerID00
|
#ifndef TOLUA_DISABLE_tolua_AllToLua_cServer_GetServerID00
|
||||||
static int tolua_AllToLua_cServer_GetServerID00(lua_State* tolua_S)
|
static int tolua_AllToLua_cServer_GetServerID00(lua_State* tolua_S)
|
||||||
@ -29850,8 +29776,6 @@ TOLUA_API int tolua_AllToLua_open (lua_State* tolua_S)
|
|||||||
tolua_function(tolua_S,"GetMaxPlayers",tolua_AllToLua_cServer_GetMaxPlayers00);
|
tolua_function(tolua_S,"GetMaxPlayers",tolua_AllToLua_cServer_GetMaxPlayers00);
|
||||||
tolua_function(tolua_S,"GetNumPlayers",tolua_AllToLua_cServer_GetNumPlayers00);
|
tolua_function(tolua_S,"GetNumPlayers",tolua_AllToLua_cServer_GetNumPlayers00);
|
||||||
tolua_function(tolua_S,"SetMaxPlayers",tolua_AllToLua_cServer_SetMaxPlayers00);
|
tolua_function(tolua_S,"SetMaxPlayers",tolua_AllToLua_cServer_SetMaxPlayers00);
|
||||||
tolua_function(tolua_S,"BroadcastChat",tolua_AllToLua_cServer_BroadcastChat00);
|
|
||||||
tolua_function(tolua_S,"SendMessage",tolua_AllToLua_cServer_SendMessage00);
|
|
||||||
tolua_function(tolua_S,"GetServerID",tolua_AllToLua_cServer_GetServerID00);
|
tolua_function(tolua_S,"GetServerID",tolua_AllToLua_cServer_GetServerID00);
|
||||||
tolua_endmodule(tolua_S);
|
tolua_endmodule(tolua_S);
|
||||||
tolua_cclass(tolua_S,"cWorld","cWorld","",NULL);
|
tolua_cclass(tolua_S,"cWorld","cWorld","",NULL);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Lua binding: AllToLua
|
** Lua binding: AllToLua
|
||||||
** Generated automatically by tolua++-1.0.92 on 08/11/13 20:59:52.
|
** Generated automatically by tolua++-1.0.92 on 08/12/13 08:16:46.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Exported function */
|
/* Exported function */
|
||||||
|
@ -1355,12 +1355,14 @@ void cClientHandle::Tick(float a_Dt)
|
|||||||
m_ShouldCheckDownloaded = false;
|
m_ShouldCheckDownloaded = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (m_Player == NULL)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Send a ping packet:
|
// Send a ping packet:
|
||||||
cTimer t1;
|
cTimer t1;
|
||||||
if (
|
if ((m_LastPingTime + cClientHandle::PING_TIME_MS <= t1.GetNowTime()))
|
||||||
(m_Player != NULL) && // Is logged in?
|
|
||||||
(m_LastPingTime + cClientHandle::PING_TIME_MS <= t1.GetNowTime())
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
m_PingID++;
|
m_PingID++;
|
||||||
m_PingStartTime = t1.GetNowTime();
|
m_PingStartTime = t1.GetNowTime();
|
||||||
@ -1369,7 +1371,7 @@ void cClientHandle::Tick(float a_Dt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Handle block break animation:
|
// Handle block break animation:
|
||||||
if ((m_Player != NULL) && (m_BlockDigAnimStage > -1))
|
if (m_BlockDigAnimStage > -1)
|
||||||
{
|
{
|
||||||
int lastAnimVal = m_BlockDigAnimStage;
|
int lastAnimVal = m_BlockDigAnimStage;
|
||||||
m_BlockDigAnimStage += (int)(m_BlockDigAnimSpeed * a_Dt);
|
m_BlockDigAnimStage += (int)(m_BlockDigAnimSpeed * a_Dt);
|
||||||
@ -1955,7 +1957,7 @@ void cClientHandle::SendConfirmPosition(void)
|
|||||||
if (!cRoot::Get()->GetPluginManager()->CallHookPlayerJoined(*m_Player))
|
if (!cRoot::Get()->GetPluginManager()->CallHookPlayerJoined(*m_Player))
|
||||||
{
|
{
|
||||||
// Broadcast that this player has joined the game! Yay~
|
// Broadcast that this player has joined the game! Yay~
|
||||||
cRoot::Get()->GetServer()->BroadcastChat(m_Username + " joined the game!", this);
|
m_Player->GetWorld()->BroadcastChat(m_Username + " joined the game!", this);
|
||||||
}
|
}
|
||||||
|
|
||||||
SendPlayerMoveLook();
|
SendPlayerMoveLook();
|
||||||
|
@ -129,6 +129,12 @@ bool cPlayer::Initialize(cWorld * a_World)
|
|||||||
{
|
{
|
||||||
if (super::Initialize(a_World))
|
if (super::Initialize(a_World))
|
||||||
{
|
{
|
||||||
|
// Remove the client handle from the server, it will be ticked from this object from now on
|
||||||
|
if (m_ClientHandle != NULL)
|
||||||
|
{
|
||||||
|
cRoot::Get()->GetServer()->ClientMovedToWorld(m_ClientHandle);
|
||||||
|
}
|
||||||
|
|
||||||
GetWorld()->AddPlayer(this);
|
GetWorld()->AddPlayer(this);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -175,18 +181,22 @@ void cPlayer::SpawnOn(cClientHandle & a_Client)
|
|||||||
|
|
||||||
void cPlayer::Tick(float a_Dt, cChunk & a_Chunk)
|
void cPlayer::Tick(float a_Dt, cChunk & a_Chunk)
|
||||||
{
|
{
|
||||||
if (!m_ClientHandle->IsPlaying())
|
if (m_ClientHandle != NULL)
|
||||||
{
|
{
|
||||||
// We're not yet in the game, ignore everything
|
if (!m_ClientHandle->IsPlaying())
|
||||||
return;
|
{
|
||||||
|
// We're not yet in the game, ignore everything
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
m_ClientHandle->Tick(a_Dt);
|
||||||
}
|
}
|
||||||
|
|
||||||
super::Tick(a_Dt, a_Chunk);
|
super::Tick(a_Dt, a_Chunk);
|
||||||
|
|
||||||
// set player swimming state
|
// Set player swimming state
|
||||||
SetSwimState( a_Chunk);
|
SetSwimState(a_Chunk);
|
||||||
|
|
||||||
// handle air drowning stuff
|
// Handle air drowning stuff
|
||||||
HandleAir();
|
HandleAir();
|
||||||
|
|
||||||
if (m_bDirtyPosition)
|
if (m_bDirtyPosition)
|
||||||
|
@ -162,6 +162,16 @@ void cServer::RemoveClient(const cClientHandle * a_Client)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void cServer::ClientMovedToWorld(const cClientHandle * a_Client)
|
||||||
|
{
|
||||||
|
cCSLock Lock(m_CSClients);
|
||||||
|
m_Clients.remove(const_cast<cClientHandle *>(a_Client));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
bool cServer::InitServer(cIniFile & a_SettingsIni)
|
bool cServer::InitServer(cIniFile & a_SettingsIni)
|
||||||
{
|
{
|
||||||
m_Description = a_SettingsIni.GetValue ("Server", "Description", "MCServer! - In C++!").c_str();
|
m_Description = a_SettingsIni.GetValue ("Server", "Description", "MCServer! - In C++!").c_str();
|
||||||
@ -298,23 +308,6 @@ void cServer::OnConnectionAccepted(cSocket & a_Socket)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cServer::BroadcastChat(const AString & a_Message, const cClientHandle * a_Exclude)
|
|
||||||
{
|
|
||||||
cCSLock Lock(m_CSClients);
|
|
||||||
for (ClientList::iterator itr = m_Clients.begin(); itr != m_Clients.end(); ++itr)
|
|
||||||
{
|
|
||||||
if ((*itr == a_Exclude) || !(*itr)->IsLoggedIn())
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
(*itr)->SendChat(a_Message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
bool cServer::Tick(float a_Dt)
|
bool cServer::Tick(float a_Dt)
|
||||||
{
|
{
|
||||||
cRoot::Get()->TickCommands();
|
cRoot::Get()->TickCommands();
|
||||||
@ -452,25 +445,6 @@ void cServer::BindBuiltInConsoleCommands(void)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cServer::SendMessage(const AString & a_Message, cPlayer * a_Player /* = NULL */, bool a_bExclude /* = false */ )
|
|
||||||
{
|
|
||||||
if ((a_Player != NULL) && !a_bExclude)
|
|
||||||
{
|
|
||||||
cClientHandle * Client = a_Player->GetClientHandle();
|
|
||||||
if (Client != NULL)
|
|
||||||
{
|
|
||||||
Client->SendChat(a_Message);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
BroadcastChat(a_Message, (a_Player != NULL) ? a_Player->GetClientHandle() : NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cServer::Shutdown(void)
|
void cServer::Shutdown(void)
|
||||||
{
|
{
|
||||||
m_ListenThreadIPv4.Stop();
|
m_ListenThreadIPv4.Stop();
|
||||||
|
@ -46,8 +46,6 @@ public: // tolua_export
|
|||||||
int GetNumPlayers(void) const { return m_NumPlayers; }
|
int GetNumPlayers(void) const { return m_NumPlayers; }
|
||||||
void SetMaxPlayers(int a_MaxPlayers) { m_MaxPlayers = a_MaxPlayers; }
|
void SetMaxPlayers(int a_MaxPlayers) { m_MaxPlayers = a_MaxPlayers; }
|
||||||
|
|
||||||
void BroadcastChat(const AString & a_Message, const cClientHandle * a_Exclude = NULL);
|
|
||||||
|
|
||||||
// tolua_end
|
// tolua_end
|
||||||
|
|
||||||
bool Start(void);
|
bool Start(void);
|
||||||
@ -62,8 +60,6 @@ public: // tolua_export
|
|||||||
|
|
||||||
void Shutdown(void);
|
void Shutdown(void);
|
||||||
|
|
||||||
void SendMessage(const AString & a_Message, cPlayer * a_Player = NULL, bool a_bExclude = false ); // tolua_export
|
|
||||||
|
|
||||||
void KickUser(int a_ClientID, const AString & a_Reason);
|
void KickUser(int a_ClientID, const AString & a_Reason);
|
||||||
void AuthenticateUser(int a_ClientID); // Called by cAuthenticator to auth the specified user
|
void AuthenticateUser(int a_ClientID); // Called by cAuthenticator to auth the specified user
|
||||||
|
|
||||||
@ -79,6 +75,9 @@ public: // tolua_export
|
|||||||
|
|
||||||
void RemoveClient(const cClientHandle * a_Client); // Removes the clienthandle from m_SocketThreads
|
void RemoveClient(const cClientHandle * a_Client); // Removes the clienthandle from m_SocketThreads
|
||||||
|
|
||||||
|
/// Don't tick a_Client anymore, it will be ticked from its cPlayer instead
|
||||||
|
void ClientMovedToWorld(const cClientHandle * a_Client);
|
||||||
|
|
||||||
CryptoPP::RSA::PrivateKey & GetPrivateKey(void) { return m_PrivateKey; }
|
CryptoPP::RSA::PrivateKey & GetPrivateKey(void) { return m_PrivateKey; }
|
||||||
CryptoPP::RSA::PublicKey & GetPublicKey (void) { return m_PublicKey; }
|
CryptoPP::RSA::PublicKey & GetPublicKey (void) { return m_PublicKey; }
|
||||||
|
|
||||||
@ -132,8 +131,8 @@ private:
|
|||||||
cListenThread m_ListenThreadIPv4;
|
cListenThread m_ListenThreadIPv4;
|
||||||
cListenThread m_ListenThreadIPv6;
|
cListenThread m_ListenThreadIPv6;
|
||||||
|
|
||||||
cCriticalSection m_CSClients; // Locks client list
|
cCriticalSection m_CSClients; ///< Locks client list
|
||||||
cClientHandleList m_Clients; // Clients that are connected to the server
|
cClientHandleList m_Clients; ///< Clients that are connected to the server and not yet assigned to a cWorld
|
||||||
|
|
||||||
cSocketThreads m_SocketThreads;
|
cSocketThreads m_SocketThreads;
|
||||||
|
|
||||||
|
@ -578,7 +578,7 @@ void cWorld::Tick(float a_Dt)
|
|||||||
m_WorldAge = (Int64)(m_WorldAgeSecs * 20.0);
|
m_WorldAge = (Int64)(m_WorldAgeSecs * 20.0);
|
||||||
m_TimeOfDay = (Int64)(m_TimeOfDaySecs * 20.0);
|
m_TimeOfDay = (Int64)(m_TimeOfDaySecs * 20.0);
|
||||||
|
|
||||||
// Broadcase time update every 40 ticks (2 seconds)
|
// Broadcast time update every 40 ticks (2 seconds)
|
||||||
if (m_LastTimeUpdate < m_WorldAge - 40)
|
if (m_LastTimeUpdate < m_WorldAge - 40)
|
||||||
{
|
{
|
||||||
BroadcastTimeUpdate();
|
BroadcastTimeUpdate();
|
||||||
|
Loading…
Reference in New Issue
Block a user