From dc520b730ba5c859319db390cfe2ecef4320d56d Mon Sep 17 00:00:00 2001 From: NotAdam Date: Fri, 25 Jan 2019 12:23:38 +1100 Subject: [PATCH 1/2] fix config reading, alter territory loading output slightly --- src/common/Config/ConfigDef.h | 5 +++++ src/world/Manager/TerritoryMgr.cpp | 6 +++--- src/world/Navi/NaviProvider.cpp | 6 ++++-- src/world/ServerMgr.cpp | 10 ++++++---- src/world/Territory/Zone.cpp | 4 ++-- 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/common/Config/ConfigDef.h b/src/common/Config/ConfigDef.h index a6a111b8..587ae30f 100644 --- a/src/common/Config/ConfigDef.h +++ b/src/common/Config/ConfigDef.h @@ -56,6 +56,11 @@ namespace Sapphire::Common::Config bool hotSwap; } scripts; + struct Navigation + { + std::string meshPath; + } navigation; + std::string motd; }; diff --git a/src/world/Manager/TerritoryMgr.cpp b/src/world/Manager/TerritoryMgr.cpp index fcbb4223..a569530f 100644 --- a/src/world/Manager/TerritoryMgr.cpp +++ b/src/world/Manager/TerritoryMgr.cpp @@ -167,14 +167,14 @@ bool Sapphire::World::Manager::TerritoryMgr::createDefaultTerritories() auto pNaviMgr = framework()->get< Manager::NaviMgr >(); bool hasNaviMesh = pNaviMgr->setupTerritory( territoryInfo->name ); - Logger::info( "{0}\t{1}\t{2}\t{3:<10}\t{4}\t{5}\t{6}", + Logger::info( "{0}\t{1}\t{2}\t{3:<10}\t{4}\t{5:<6}{6}", territoryTypeId, guid, territoryInfo->territoryIntendedUse, territoryInfo->name, ( isPrivateTerritory( territoryTypeId ) ? "PRIVATE" : "PUBLIC" ), - pPlaceName->name, - hasNaviMesh ? "NAVI" : ""); + hasNaviMesh ? "NAVI" : "", + pPlaceName->name ); auto pZone = make_Zone( territoryTypeId, guid, territoryInfo->name, pPlaceName->name, framework() ); pZone->init(); diff --git a/src/world/Navi/NaviProvider.cpp b/src/world/Navi/NaviProvider.cpp index 0a24a5bc..eab3d6b7 100644 --- a/src/world/Navi/NaviProvider.cpp +++ b/src/world/Navi/NaviProvider.cpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include "NaviProvider.h" @@ -27,7 +27,9 @@ Sapphire::World::Navi::NaviProvider::NaviProvider( const std::string& internalNa bool Sapphire::World::Navi::NaviProvider::init() { - auto meshesFolder = std::experimental::filesystem::path( m_pFw->get< Sapphire::ConfigMgr >()->getValue< std::string >( "Navigation", "MeshPath", "navi" ) ); + auto& cfg = m_pFw->get< Sapphire::World::ServerMgr >()->getConfig(); + + auto meshesFolder = std::experimental::filesystem::path( cfg.navigation.meshPath ); auto meshFolder = meshesFolder / std::experimental::filesystem::path( m_internalName ); if( std::experimental::filesystem::exists( meshFolder ) ) diff --git a/src/world/ServerMgr.cpp b/src/world/ServerMgr.cpp index be23f8c9..1b314584 100644 --- a/src/world/ServerMgr.cpp +++ b/src/world/ServerMgr.cpp @@ -96,6 +96,8 @@ bool Sapphire::World::ServerMgr::loadSettings( int32_t argc, char* argv[] ) m_config.scripts.path = pConfig->getValue< std::string >( "Scripts", "Path", "./compiledscripts/" ); m_config.scripts.cachePath = pConfig->getValue< std::string >( "Scripts", "CachePath", "./cache/" ); + m_config.navigation.meshPath = pConfig->getValue< std::string >( "Navigation", "MeshPath", "navi" ); + m_config.network.disconnectTimeout = pConfig->getValue< uint16_t >( "Network", "DisconnectTimeout", 20 ); m_config.network.listenIp = pConfig->getValue< std::string >( "Network", "ListenIp", "0.0.0.0" ); m_config.network.listenPort = pConfig->getValue< uint16_t >( "Network", "ListenPort", 54992 ); @@ -455,10 +457,10 @@ void Sapphire::World::ServerMgr::loadBNpcTemplates() auto look = res->getBlobVector( 12 ); auto models = res->getBlobVector( 13 ); - auto bnpcTemplate = std::make_shared< Entity::BNpcTemplate >( - id, bNPCBaseId, bNPCNameId, mainWeaponModel, secWeaponModel, - aggressionMode, enemyType, 0, pose, modelChara, displayFlags, - reinterpret_cast< uint32_t* >( &models[ 0 ] ), + auto bnpcTemplate = std::make_shared< Entity::BNpcTemplate >( + id, bNPCBaseId, bNPCNameId, mainWeaponModel, secWeaponModel, + aggressionMode, enemyType, 0, pose, modelChara, displayFlags, + reinterpret_cast< uint32_t* >( &models[ 0 ] ), reinterpret_cast< uint8_t* >( &look[ 0 ] ) ); m_bNpcTemplateMap[ name ] = bnpcTemplate; diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index 466b552b..dc5559dd 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -760,7 +760,7 @@ bool Sapphire::Zone::loadSpawnGroups() m_spawnGroups.emplace_back( id, templateId, level, maxHp ); - Logger::debug( "id: {0}, template: {1}, level: {2}, maxHp: {3}", id, m_spawnGroups.back().getTemplateId(), level, maxHp ); + Logger::trace( "id: {0}, template: {1}, level: {2}, maxHp: {3}", id, m_spawnGroups.back().getTemplateId(), level, maxHp ); } res.reset(); @@ -783,7 +783,7 @@ bool Sapphire::Zone::loadSpawnGroups() group.getSpawnPointList().emplace_back( std::make_shared< Entity::SpawnPoint >( x, y, z, r, gimmickId ) ); - Logger::debug( "id: {0}, x: {1}, y: {2}, z: {3}, gimmickId: {4}", id, x, y, z, gimmickId ); + Logger::trace( "id: {0}, x: {1}, y: {2}, z: {3}, gimmickId: {4}", id, x, y, z, gimmickId ); } } return false; From 75ec397af92418b784840617ec2067330d45e32d Mon Sep 17 00:00:00 2001 From: NotAdam Date: Fri, 25 Jan 2019 12:34:21 +1100 Subject: [PATCH 2/2] bit of cleanup and consistent startup log formatting --- src/world/Manager/TerritoryMgr.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/world/Manager/TerritoryMgr.cpp b/src/world/Manager/TerritoryMgr.cpp index a569530f..efd85073 100644 --- a/src/world/Manager/TerritoryMgr.cpp +++ b/src/world/Manager/TerritoryMgr.cpp @@ -167,7 +167,7 @@ bool Sapphire::World::Manager::TerritoryMgr::createDefaultTerritories() auto pNaviMgr = framework()->get< Manager::NaviMgr >(); bool hasNaviMesh = pNaviMgr->setupTerritory( territoryInfo->name ); - Logger::info( "{0}\t{1}\t{2}\t{3:<10}\t{4}\t{5:<6}{6}", + Logger::info( "{0}\t{1}\t{2}\t{3:<10}\t{4}\t{5}\t{6}", territoryTypeId, guid, territoryInfo->territoryIntendedUse, @@ -199,7 +199,7 @@ bool Sapphire::World::Manager::TerritoryMgr::createHousingTerritories() auto territoryTypeId = territory.first; auto territoryInfo = territory.second; uint32_t wardNum; - uint32_t wardMaxNum = 1; + uint32_t wardMaxNum = 18; if( territoryInfo->name.empty() ) continue; @@ -213,7 +213,7 @@ bool Sapphire::World::Manager::TerritoryMgr::createHousingTerritories() { uint32_t guid = getNextInstanceId(); - Logger::info( "{0}\t{1}\t{2}\t{3:<10}\tHOUSING\t{4}#{5}", + Logger::info( "{0}\t{1}\t{2}\t{3:<10}\tHOUSING\t\t{4}#{5}", territoryTypeId, guid, territoryInfo->territoryIntendedUse, @@ -224,7 +224,6 @@ bool Sapphire::World::Manager::TerritoryMgr::createHousingTerritories() auto pHousingZone = make_HousingZone( wardNum, territoryTypeId, guid, territoryInfo->name, pPlaceName->name, framework() ); pHousingZone->init(); - wardMaxNum = 18; InstanceIdToZonePtrMap instanceMap; instanceMap[ guid ] = pHousingZone;