diff options
author | Filippos Karapetis | 2015-01-23 03:02:24 +0200 |
---|---|---|
committer | Filippos Karapetis | 2015-01-23 03:02:24 +0200 |
commit | 1bd83a96f00c4d25cf4060ba8faffda81865ad7d (patch) | |
tree | 5257bef935241ba8788b38052fb134b99fc57614 /engines/zvision | |
parent | f7e0d1e958f3b6a4bfff9ba2c9ade03375e8f9d9 (diff) | |
download | scummvm-rg350-1bd83a96f00c4d25cf4060ba8faffda81865ad7d.tar.gz scummvm-rg350-1bd83a96f00c4d25cf4060ba8faffda81865ad7d.tar.bz2 scummvm-rg350-1bd83a96f00c4d25cf4060ba8faffda81865ad7d.zip |
ZVISION: Fix script bug #6780 (invalid hotspot at base of tower in ZGI)
Diffstat (limited to 'engines/zvision')
-rw-r--r-- | engines/zvision/scripting/scr_file_handling.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/zvision/scripting/scr_file_handling.cpp b/engines/zvision/scripting/scr_file_handling.cpp index 8f0f80e39e..b9cafa77ed 100644 --- a/engines/zvision/scripting/scr_file_handling.cpp +++ b/engines/zvision/scripting/scr_file_handling.cpp @@ -358,6 +358,16 @@ Control *ScriptManager::parseControl(Common::String &line, Common::SeekableReadS Common::String controlType(controlTypeBuffer); if (controlType.equalsIgnoreCase("push_toggle")) { + // WORKAROUND for a script bug in ZGI: There is an invalid hotspot + // at scene em1h (bottom of tower), which points to a missing + // script em1n. This is a hotspot at the right of the screen. + // In the original, this hotspot doesn't lead anywhere anyway, + // so instead of moving to a missing scene, we just remove the + // hotspot altogether. The alternative would be to just process + // and ignore invalid scenes, but I don't think it's worth the + // effort. Fixes bug #6780. + if (_engine->getGameId() == GID_GRANDINQUISITOR && key == 5653) + return NULL; return new PushToggleControl(_engine, key, stream); } else if (controlType.equalsIgnoreCase("flat")) { Control::parseFlatControl(_engine); |