diff options
-rw-r--r-- | engines/hdb/lua-script.cpp | 10 | ||||
-rw-r--r-- | engines/hdb/lua-script.h | 3 |
2 files changed, 12 insertions, 1 deletions
diff --git a/engines/hdb/lua-script.cpp b/engines/hdb/lua-script.cpp index 66aa6dca40..5259c10932 100644 --- a/engines/hdb/lua-script.cpp +++ b/engines/hdb/lua-script.cpp @@ -960,4 +960,14 @@ void LuaScript::checkParameters(const char *func, int params) { } } +const char *LuaScript::getStringOffStack() { + if (!_systemInit) { + return NULL; + } + + const char *string = lua_tostring(_state, 1); + lua_remove(_state, 1); + return string; +} + } diff --git a/engines/hdb/lua-script.h b/engines/hdb/lua-script.h index 37b8df9d73..20cd94d331 100644 --- a/engines/hdb/lua-script.h +++ b/engines/hdb/lua-script.h @@ -44,6 +44,8 @@ public: bool executeFile(const Common::String &filename); void checkParameters(const char *func, int params); + const char *getStringOffStack(); + private: lua_State *_state; int _pcallErrorhandlerRegistryIndex; @@ -56,7 +58,6 @@ private: bool executeChunk(Common::String &chunk, uint chunkSize, const Common::String &chunkName) const; void stripComments(char *chunk); void addPatches(Common::String &chunk, const char *scriptName); - }; } |