aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Scripting/ScriptMgr.cpp
diff options
context:
space:
mode:
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 fbf32bd18ba..26a7809eaa9 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) \