diff options
-rw-r--r-- | engines/hdb/hdb.cpp | 7 | ||||
-rw-r--r-- | engines/hdb/lua-script.h | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/engines/hdb/hdb.cpp b/engines/hdb/hdb.cpp index b9ae6c100f..054ae22c09 100644 --- a/engines/hdb/hdb.cpp +++ b/engines/hdb/hdb.cpp @@ -163,6 +163,13 @@ bool HDBGame::restartMap() { _lua->init(); _lua->loadLua(_currentLuaName); + // Cheat/workarounds + if (!strcmp(_currentLuaName, "MAP00.LUA")) { + Common::String patch("KillTrigger( \"mannyquest\" )"); + + _lua->executeChunk(patch, "MAP00 patch"); + } + _sound->markSoundCacheFreeable(); _map->restartSystem(); diff --git a/engines/hdb/lua-script.h b/engines/hdb/lua-script.h index 92574d268e..4f2ffd2d09 100644 --- a/engines/hdb/lua-script.h +++ b/engines/hdb/lua-script.h @@ -56,6 +56,7 @@ public: bool executeMPC(Common::SeekableReadStream *stream, const char *name, const char *scriptName, int32 length); bool executeFile(const Common::String &filename); + bool executeChunk(Common::String &chunk, const Common::String &chunkName) const; void checkParameters(const char *func, int params); const char *getStringOffStack(); @@ -71,7 +72,6 @@ private: bool _systemInit; bool registerExtensions(); - bool executeChunk(Common::String &chunk, const Common::String &chunkName) const; void stripComments(char *chunk); void addPatches(Common::String &chunk, const char *scriptName); }; |