diff options
-rw-r--r-- | engines/hdb/lua-script.cpp | 28 | ||||
-rw-r--r-- | engines/hdb/lua-script.h | 6 |
2 files changed, 33 insertions, 1 deletions
diff --git a/engines/hdb/lua-script.cpp b/engines/hdb/lua-script.cpp index cbed8b5259..188ab2b308 100644 --- a/engines/hdb/lua-script.cpp +++ b/engines/hdb/lua-script.cpp @@ -814,7 +814,6 @@ void debugHook(lua_State *L, lua_Debug *ar) { } } - bool LuaScript::initScript(Common::SeekableReadStream *stream, const char *scriptName, int32 length) { if (_systemInit) { @@ -940,6 +939,33 @@ bool LuaScript::initScript(Common::SeekableReadStream *stream, const char *scrip return true; } +void LuaScript::pushInt(int value) { + if (!_systemInit) + return; + lua_pushnumber(_state, (double)value); +} + +void LuaScript::pushString(char *string) { + if (!_systemInit) + return; + lua_pushstring(_state, string); +} + +void LuaScript::pushFunction(char *func) { + if (!_systemInit) + return; + + lua_getglobal(_state, func); + warning("STUB: pushFunction: Open Dialog if Cheating_On"); +} + +void LuaScript::call(int args, int returns) { + if (!_systemInit) + return; + + lua_call(_state, args, returns); +} + bool LuaScript::callFunction(const char *name, int returns) { if (!_systemInit) { return false; diff --git a/engines/hdb/lua-script.h b/engines/hdb/lua-script.h index 32eb419996..a67695c576 100644 --- a/engines/hdb/lua-script.h +++ b/engines/hdb/lua-script.h @@ -44,7 +44,13 @@ public: bool init(); bool initScript(Common::SeekableReadStream *stream, const char *scriptName, int32 length); + + void pushInt(int value); + void pushString(char *string); + void pushFunction(char *func); + void call(int args, int returns); bool callFunction(const char *name, int returns); + bool executeMPC(Common::SeekableReadStream *stream, const char *name, const char *scriptName, int32 length); bool executeFile(const Common::String &filename); void checkParameters(const char *func, int params); |