aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/hdb/hdb.cpp7
-rw-r--r--engines/hdb/lua-script.h2
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);
};