diff options
author | jurkan <jurkan@gmx.de> | 2011-10-22 22:41:33 +0200 |
---|---|---|
committer | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2011-10-23 00:10:35 +0200 |
commit | 328f9dbb01b63c1a0651980fbdec39b34930f379 (patch) | |
tree | a303a7e1e2001da20f9efca38a025ad5fd2aa84e /src/scripting/script.cpp | |
parent | 8d20dc6b593f4d3b1c28b274a8f126b4299b73e4 (diff) | |
download | manaserv-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.cpp | 18 |
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"); + } +} |