summaryrefslogtreecommitdiff
path: root/src/scripting/script.cpp
diff options
context:
space:
mode:
authorjurkan <jurkan@gmx.de>2011-10-22 22:41:33 +0200
committerYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-10-23 00:10:35 +0200
commit328f9dbb01b63c1a0651980fbdec39b34930f379 (patch)
treea303a7e1e2001da20f9efca38a025ad5fd2aa84e /src/scripting/script.cpp
parent8d20dc6b593f4d3b1c28b274a8f126b4299b73e4 (diff)
downloadmanaserv-328f9dbb01b63c1a0651980fbdec39b34930f379.tar.gz
manaserv-328f9dbb01b63c1a0651980fbdec39b34930f379.tar.bz2
manaserv-328f9dbb01b63c1a0651980fbdec39b34930f379.tar.xz
manaserv-328f9dbb01b63c1a0651980fbdec39b34930f379.zip
Added function to determine the script engine by the file name extension
Reviewed-by: Bjorn, Bertram.
Diffstat (limited to 'src/scripting/script.cpp')
-rw-r--r--src/scripting/script.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/scripting/script.cpp b/src/scripting/script.cpp
index 490abf09..b6121bb8 100644
--- a/src/scripting/script.cpp
+++ b/src/scripting/script.cpp
@@ -20,6 +20,7 @@
#include "scripting/script.h"
+#include "common/configuration.h"
#include "common/resourcemanager.h"
#include "game-server/being.h"
#include "utils/logger.h"
@@ -172,3 +173,20 @@ bool Script::performCraft(Being* crafter, std::list<InventoryItem> recipe)
}
return true;
}
+
+std::string Script::determineEngineByFilename(const std::string &filename)
+{
+ std::string ext = filename.substr(filename.find_last_of(".") + 1);
+
+ if (ext == "lua")
+ {
+ return "lua";
+ }
+ else
+ {
+ // Set to default engine and print warning
+ LOG_WARN("Unknown file extension for script \""
+ + filename + "\", falling back to default script engine");
+ return Configuration::getValue("defaultScriptEngine", "lua");
+ }
+}