From cd67fe2b52d0cf46b40170441fa39a00effbf2d2 Mon Sep 17 00:00:00 2001 From: Mordred Date: Mon, 28 Aug 2017 23:19:35 +0200 Subject: [PATCH] simplified linkshell loading\n removed old serverId as it is not used anymore --- .../Server_Zone/Linkshell/LinkshellMgr.cpp | 23 +++++++++++-------- src/servers/Server_Zone/ServerZone.cpp | 20 ++-------------- src/servers/Server_Zone/ServerZone.h | 1 - 3 files changed, 15 insertions(+), 29 deletions(-) diff --git a/src/servers/Server_Zone/Linkshell/LinkshellMgr.cpp b/src/servers/Server_Zone/Linkshell/LinkshellMgr.cpp index ce73b4e9..0bdf52da 100644 --- a/src/servers/Server_Zone/Linkshell/LinkshellMgr.cpp +++ b/src/servers/Server_Zone/Linkshell/LinkshellMgr.cpp @@ -30,23 +30,26 @@ bool Core::LinkshellMgr::loadLinkshells() { uint32_t linkshellId = field[0].getUInt32(); uint32_t masterId = field[1].getUInt32(); - std::string name = field[3].getString(); - std::vector< uint64_t > characterIdList( field[2].getLength() / 8 ); - field[2].getBinary( reinterpret_cast< char* >( &characterIdList[0] ), field[2].getLength() ); - std::set< uint64_t > members( characterIdList.begin(), characterIdList.end() ); + auto func = []( std::set< uint64_t >& outList, Db::Field * pField ) + { + if( pField->getLength() ) + { + std::vector< uint64_t > list( pField->getLength() / 8 ); + pField->getBinary( reinterpret_cast< char * >( &list[0] ), pField->getLength() ); + outList.insert( list.begin(), list.end() ); + } + }; - //std::vector< uint64_t > leaderIdList( field[4].getLength() / 8 ); - //field[4].getBinary( reinterpret_cast< char* >( &leaderIdList[0] ), field[4].getLength() ); - //std::set< uint64_t > leaders( leaderIdList.begin(), leaderIdList.end() ); + std::set< uint64_t > members; + func( members, &field[2] ); std::set< uint64_t > leaders; + func( members, &field[4] ); - //std::vector< uint64_t > inviteIdList( field[5].getLength() / 8 ); - //field[5].getBinary( reinterpret_cast< char* >( &leaderIdList[0] ), field[5].getLength() ); - //std::set< uint64_t > invites( inviteIdList.begin(), inviteIdList.end() ); std::set< uint64_t > invites; + func( members, &field[5] ); auto lsPtr = boost::make_shared< Linkshell >( linkshellId, name, masterId, members, leaders, invites ); m_linkshellIdMap[linkshellId] = lsPtr; diff --git a/src/servers/Server_Zone/ServerZone.cpp b/src/servers/Server_Zone/ServerZone.cpp index 9a5d8486..8d5bb5dc 100644 --- a/src/servers/Server_Zone/ServerZone.cpp +++ b/src/servers/Server_Zone/ServerZone.cpp @@ -41,8 +41,7 @@ Core::LinkshellMgr g_linkshellMgr; Core::ServerZone::ServerZone( const std::string& configPath, uint16_t serverId ) - : m_serverId( serverId ) - , m_configPath( configPath ) + : m_configPath( configPath ) { m_pConfig = XMLConfigPtr( new XMLConfig ); } @@ -84,12 +83,6 @@ Core::Entity::BattleNpcTemplatePtr Core::ServerZone::getBnpcTemplate( std::strin return it->second; } - -void Core::ServerZone::setServerId( uint16_t serverId ) -{ - m_serverId = serverId; -} - bool Core::ServerZone::loadSettings( int32_t argc, char* argv[] ) { g_log.info( "Loading config " + m_configPath ); @@ -177,19 +170,16 @@ bool Core::ServerZone::loadSettings( int32_t argc, char* argv[] ) return false; } - m_serverId = m_serverId ? m_serverId : m_pConfig->getValue< uint16_t >( "Settings.General.ServerId" ); m_port = m_pConfig->getValue< uint16_t >( "Settings.General.ListenPort", 54992 ); m_ip = m_pConfig->getValue< std::string >( "Settings.General.ListenIp", "0.0.0.0" );; - g_log.info( "Server ID: " + std::to_string( m_serverId ) ); - return true; } void Core::ServerZone::run( int32_t argc, char* argv[] ) { // TODO: add more error checks for the entire initialisation - g_log.setLogPath( "log\\SapphireZone_" + std::to_string( m_serverId ) + "_" ); + g_log.setLogPath( "log\\SapphireZone_" ); g_log.init(); g_log.info( "===========================================================" ); @@ -369,9 +359,3 @@ void Core::ServerZone::updateSession( std::string playerName ) it->second->loadPlayer(); } -uint16_t Core::ServerZone::getServerId() const -{ - return m_serverId; -} - - diff --git a/src/servers/Server_Zone/ServerZone.h b/src/servers/Server_Zone/ServerZone.h index 51e337f2..c5091123 100644 --- a/src/servers/Server_Zone/ServerZone.h +++ b/src/servers/Server_Zone/ServerZone.h @@ -44,7 +44,6 @@ namespace Core { private: - uint16_t m_serverId; uint16_t m_port; std::string m_ip;