From 99548fb47fee447b5f22d5338501ac574086c4fd Mon Sep 17 00:00:00 2001 From: Guillaume Melquiond Date: Wed, 15 Aug 2007 06:35:03 +0000 Subject: Added helper functions for loading files and NPCs as scripts. Put Lua helpers into a separate library automatically loaded into new contexts. --- src/scripting/script.cpp | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'src/scripting/script.cpp') diff --git a/src/scripting/script.cpp b/src/scripting/script.cpp index 12aa0d18..3e19305d 100644 --- a/src/scripting/script.cpp +++ b/src/scripting/script.cpp @@ -23,9 +23,11 @@ #include -#include "utils/logger.h" #include "scripting/script.hpp" +#include "resourcemanager.h" +#include "utils/logger.h" + typedef std::map< std::string, Script::Factory > Engines; static Engines *engines = NULL; @@ -60,3 +62,24 @@ void Script::update() execute(); } +void Script::loadFile(std::string const &name) +{ + ResourceManager *resman = ResourceManager::getInstance(); + int size; + char *buffer = (char *)resman->loadFile(name, size); + if (buffer) + { + load(buffer); + free(buffer); + } +} + +void Script::loadNPC(int id, int x, int y, char const *prog) +{ + load(prog); + prepare("create_npc_delayed"); + push(id); + push(x); + push(y); + execute(); +} -- cgit v1.2.3-70-g09d2