summaryrefslogtreecommitdiff
path: root/library/PluginManager.cpp
diff options
context:
space:
mode:
authorjj2012-06-24 19:52:40 +0200
committerjj2012-06-24 20:24:46 +0200
commit552da8417e35cf5e22312b663aec5e266d4fafa9 (patch)
tree457d17a58da550c9c9e237efad6cb59f0b6edf55 /library/PluginManager.cpp
parent3f4d2e4792850991ae3ab5a11e813488e993b2a4 (diff)
downloaddfhack-552da8417e35cf5e22312b663aec5e266d4fafa9.tar.gz
dfhack-552da8417e35cf5e22312b663aec5e266d4fafa9.tar.bz2
dfhack-552da8417e35cf5e22312b663aec5e266d4fafa9.tar.xz
ruby: handle .rb files in df/hack/scripts/
Diffstat (limited to 'library/PluginManager.cpp')
-rw-r--r--library/PluginManager.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/library/PluginManager.cpp b/library/PluginManager.cpp
index ae8cc755..a314883e 100644
--- a/library/PluginManager.cpp
+++ b/library/PluginManager.cpp
@@ -188,6 +188,7 @@ bool Plugin::load(color_ostream &con)
plugin_shutdown = (command_result (*)(color_ostream &)) LookupPlugin(plug, "plugin_shutdown");
plugin_onstatechange = (command_result (*)(color_ostream &, state_change_event)) LookupPlugin(plug, "plugin_onstatechange");
plugin_rpcconnect = (RPCService* (*)(color_ostream &)) LookupPlugin(plug, "plugin_rpcconnect");
+ plugin_eval_ruby = (command_result (*)(const char*)) LookupPlugin(plug, "plugin_eval_ruby");
index_lua(plug);
this->name = *plug_name;
plugin_lib = plug;
@@ -538,6 +539,7 @@ PluginManager::PluginManager(Core * core)
const string searchstr = ".plug.dll";
#endif
cmdlist_mutex = new mutex();
+ eval_ruby = NULL;
vector <string> filez;
getdir(path, filez);
for(size_t i = 0; i < filez.size();i++)
@@ -620,6 +622,8 @@ void PluginManager::registerCommands( Plugin * p )
{
belongs[cmds[i].name] = p;
}
+ if (p->plugin_eval_ruby)
+ eval_ruby = p->plugin_eval_ruby;
cmdlist_mutex->unlock();
}
@@ -632,5 +636,7 @@ void PluginManager::unregisterCommands( Plugin * p )
{
belongs.erase(cmds[i].name);
}
+ if (p->plugin_eval_ruby)
+ eval_ruby = NULL;
cmdlist_mutex->unlock();
-} \ No newline at end of file
+}