diff options
author | Nipun Garg | 2019-06-20 01:45:51 +0530 |
---|---|---|
committer | Eugene Sandulenko | 2019-09-03 17:16:50 +0200 |
commit | a9a2ee04796bc93b64acbf2a4db91d91fb6d6c51 (patch) | |
tree | 06a80d52b5141c277cbfd4cc270c2082e4586f1e | |
parent | 79023f0f9e6ed8237cfc8061bc30dd47a5ce85fd (diff) | |
download | scummvm-rg350-a9a2ee04796bc93b64acbf2a4db91d91fb6d6c51.tar.gz scummvm-rg350-a9a2ee04796bc93b64acbf2a4db91d91fb6d6c51.tar.bz2 scummvm-rg350-a9a2ee04796bc93b64acbf2a4db91d91fb6d6c51.zip |
HDB: Add getStringOffStack()
-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); - }; } |