From bc0f2b6e5acd24f414508edb3b826a20a12bce62 Mon Sep 17 00:00:00 2001 From: Naios Date: Wed, 4 Nov 2015 21:20:07 +0100 Subject: 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. --- src/server/game/Scripting/ScriptMgr.h | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'src/server/game/Scripting/ScriptMgr.h') diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index 5ec9c94a1e2..44e877039f3 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -833,8 +833,6 @@ class TC_GAME_API GroupScript : public ScriptObject virtual void OnDisband(Group* /*group*/) { } }; -// Placed here due to ScriptRegistry::AddScript dependency. -#define sScriptMgr ScriptMgr::instance() // namespace // { @@ -851,12 +849,13 @@ class TC_GAME_API ScriptMgr ScriptMgr(); virtual ~ScriptMgr(); + void FillSpellSummary(); + void LoadDatabase(); + public: /* Initialization */ static ScriptMgr* instance(); void Initialize(); - void LoadDatabase(); - void FillSpellSummary(); const char* ScriptsVersion() const { return "Integrated Trinity Scripts"; } @@ -872,6 +871,12 @@ class TC_GAME_API ScriptMgr _script_loader_callback = script_loader_callback; } + public: /* Script contexts */ + void BeginScriptContext(std::string const& context); + void FinishScriptContext(); + + void ReleaseScriptContext(std::string const& context); + public: /* Unloading */ void Unload(); @@ -1094,10 +1099,13 @@ class TC_GAME_API ScriptMgr void ModifySpellDamageTaken(Unit* target, Unit* attacker, int32& damage); private: - uint32 _scriptCount; ScriptLoaderCallbackType _script_loader_callback; + + std::string _currentContext; }; +#define sScriptMgr ScriptMgr::instance() + #endif -- cgit v1.2.3