aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Scripting/ScriptMgr.cpp
diff options
context:
space:
mode:
authorNaios <naios-dev@live.de>2015-11-04 21:20:07 +0100
committerNaios <naios-dev@live.de>2016-04-11 21:13:59 +0200
commitbc0f2b6e5acd24f414508edb3b826a20a12bce62 (patch)
tree7ffe1acf1f0eaf8bc272d4f7691d68946811fcee /src/server/game/Scripting/ScriptMgr.cpp
parent848b8a4136a4b395bfab74899520c74812d7f08e (diff)
Core/Game: Add a dynamic script reloader which reloads scripts modules on changes.
* is responsible for registering plain modules. * requires compilation with the `WITH_DYNAMIC_LINKING` flag. * requires further support of the ScriptMgr.
Diffstat (limited to 'src/server/game/Scripting/ScriptMgr.cpp')
-rw-r--r--src/server/game/Scripting/ScriptMgr.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
index 7b3dc3085e3..0f378a6545d 100644
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -263,12 +263,18 @@ void ScriptMgr::Initialize()
FillSpellSummary();
+ // Load core script systems
+ // SmartAI
+ BeginScriptContext("core scripts");
AddSC_SmartScripts();
+ FinishScriptContext();
+ // Load all static linked scripts through the script loader function.
+ BeginScriptContext("static scripts");
ASSERT(_script_loader_callback,
"Script loader callback wasn't registered!");
-
_script_loader_callback();
+ FinishScriptContext();
#ifdef SCRIPTS
for (std::string const& scriptName : UnusedScriptNames)
@@ -280,6 +286,21 @@ void ScriptMgr::Initialize()
TC_LOG_INFO("server.loading", ">> Loaded %u C++ scripts in %u ms", GetScriptCount(), GetMSTimeDiffToNow(oldMSTime));
}
+void ScriptMgr::BeginScriptContext(std::string const& context)
+{
+ _currentContext = context;
+}
+
+void ScriptMgr::FinishScriptContext()
+{
+ _currentContext.clear();
+}
+
+void ScriptMgr::ReleaseScriptContext(std::string const& /*context*/)
+{
+ // ToDo
+}
+
void ScriptMgr::Unload()
{
#define SCR_CLEAR(T) \