From c60b680a27ab06274e633642c086a0496d93a36b Mon Sep 17 00:00:00 2001 From: GokuWeedLord Date: Thu, 14 Dec 2017 23:05:53 +1100 Subject: [PATCH] change reload -> queue reload & some minor refactoring --- bin/config/settings_zone.xml | 22 +++++++++---------- .../DebugCommand/DebugCommandHandler.cpp | 6 ++--- .../Script/NativeScriptManager.cpp | 2 +- .../Server_Zone/Script/NativeScriptManager.h | 2 +- .../Server_Zone/Script/ScriptManager.cpp | 7 +++--- .../Server_Zone/Script/ScriptManager.h | 2 +- 6 files changed, 21 insertions(+), 20 deletions(-) diff --git a/bin/config/settings_zone.xml b/bin/config/settings_zone.xml index 4dc1b7ef..a16b685d 100644 --- a/bin/config/settings_zone.xml +++ b/bin/config/settings_zone.xml @@ -8,16 +8,16 @@ H:\\SteamLibrary\\steamapps\\common\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack\\ffxiv - - ./compiledscripts/ - ./cache/ + + ./compiledscripts/ + ./cache/ - - 1 + + 1 ../scripts/native/ - ../cmake-build-debug/ - cmake --build %1% --target %2% - + ../cmake-build-debug/ + cmake --build %1% --target %2% + @@ -29,13 +29,13 @@ root sapphire - 2 - 2 + 2 + 2 - + <<<Welcome to Sapphire>>> This is a very good server diff --git a/src/servers/Server_Zone/DebugCommand/DebugCommandHandler.cpp b/src/servers/Server_Zone/DebugCommand/DebugCommandHandler.cpp index 5010e770..60dd6967 100644 --- a/src/servers/Server_Zone/DebugCommand/DebugCommandHandler.cpp +++ b/src/servers/Server_Zone/DebugCommand/DebugCommandHandler.cpp @@ -589,14 +589,14 @@ void Core::DebugCommandHandler::script( char* data, Entity::Player &player, boos } } - else if( subCommand == "reload" || subCommand == "rl" ) + else if( subCommand == "queuereload" || subCommand == "qrl" ) { if( subCommand == params ) player.sendDebug( "Command failed: requires name of script to reload" ); else { - g_scriptMgr.getNativeScriptHandler().reloadScript( params ); - player.sendDebug( "Attempting to reload script: " + params ); + g_scriptMgr.getNativeScriptHandler( ).queueScriptReload( params ); + player.sendDebug( "Queued script reload for script: " + params ); } } else if( subCommand == "build" || subCommand == "b" ) diff --git a/src/servers/Server_Zone/Script/NativeScriptManager.cpp b/src/servers/Server_Zone/Script/NativeScriptManager.cpp index 4ccf1c15..5e644f67 100644 --- a/src/servers/Server_Zone/Script/NativeScriptManager.cpp +++ b/src/servers/Server_Zone/Script/NativeScriptManager.cpp @@ -137,7 +137,7 @@ namespace Core { return m_loader.unloadScript( info ); } - void NativeScriptManager::reloadScript( const std::string &name ) + void NativeScriptManager::queueScriptReload( const std::string &name ) { auto info = m_loader.getScriptInfo( name ); if( !info ) diff --git a/src/servers/Server_Zone/Script/NativeScriptManager.h b/src/servers/Server_Zone/Script/NativeScriptManager.h index 8bd4ec41..43db0d76 100644 --- a/src/servers/Server_Zone/Script/NativeScriptManager.h +++ b/src/servers/Server_Zone/Script/NativeScriptManager.h @@ -42,7 +42,7 @@ namespace Scripting { bool loadScript( const std::string& path ); bool unloadScript( const std::string& name ); - void reloadScript( const std::string &name ); + void queueScriptReload( const std::string& name ); void findScripts( std::set< Core::Scripting::ScriptInfo* >& scripts, const std::string& search ); void processLoadQueue(); diff --git a/src/servers/Server_Zone/Script/ScriptManager.cpp b/src/servers/Server_Zone/Script/ScriptManager.cpp index cd7afa50..039c59be 100644 --- a/src/servers/Server_Zone/Script/ScriptManager.cpp +++ b/src/servers/Server_Zone/Script/ScriptManager.cpp @@ -91,7 +91,7 @@ void Core::Scripting::ScriptManager::watchDirectories() { g_log.debug( "Reloading changed script: " + path.stem().string() ); - m_nativeScriptManager->reloadScript( path.stem().string() ); + m_nativeScriptManager->queueScriptReload( path.stem( ).string( )); } else { @@ -103,14 +103,15 @@ void Core::Scripting::ScriptManager::watchDirectories() }); } -void Core::Scripting::ScriptManager::loadDir( std::string dirname, std::set& files, std::string ext ) +void Core::Scripting::ScriptManager::loadDir( const std::string& dirname, std::set &files, const std::string& ext ) { g_log.info( "ScriptEngine: loading scripts from " + dirname ); boost::filesystem::path targetDir( dirname ); - boost::filesystem::directory_iterator iter( targetDir ), eod; + boost::filesystem::directory_iterator iter( targetDir ); + boost::filesystem::directory_iterator eod; BOOST_FOREACH( boost::filesystem::path const& i, make_pair( iter, eod ) ) { diff --git a/src/servers/Server_Zone/Script/ScriptManager.h b/src/servers/Server_Zone/Script/ScriptManager.h index 945bd885..f87d434f 100644 --- a/src/servers/Server_Zone/Script/ScriptManager.h +++ b/src/servers/Server_Zone/Script/ScriptManager.h @@ -60,7 +60,7 @@ namespace Core bool onEventHandlerTradeReturn( Entity::Player& player, uint32_t eventId, uint16_t subEvent, uint16_t param, uint32_t catalogId ); - void loadDir( std::string dirname, std::set& files, std::string ext ); + void loadDir( const std::string& dirname, std::set &files, const std::string& ext ); NativeScriptManager& getNativeScriptHandler(); };