mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-12 06:00:48 +00:00
ZVISION: Workaround for bug #6770
Explicitly check if the time tunnel is open (and therefore shown in close-up) before executing the scripts that draw the lever that is shown in the normal view. This apparently doesn't happen in the original engine, which suggests there may be a ScummVM bug. But it still doesn't seem like the *wrong* thing to do here.
This commit is contained in:
parent
1eeafb4e30
commit
c7b8bc8169
@ -141,6 +141,24 @@ bool ScriptManager::parseCriteria(Common::SeekableReadStream &stream, Common::Li
|
||||
criteriaList.back().push_back(entry);
|
||||
}
|
||||
|
||||
// WORKAROUND for a script bug in Zork: Grand Inquisitor, room me2j
|
||||
// (Closing the Time Tunnels). When the time tunnel is open the game
|
||||
// shows a close-up of only the tunnel, instead of showing the entire
|
||||
// booth. However, the scripts that draw the lever in its correct
|
||||
// state do not test this flag, causing it to be drawn when it should
|
||||
// not be. This bug does not happen in the original game, suggesting
|
||||
// a ScummVM bug. But I'm not aware of any other such glitches, and it
|
||||
// still seems like a correct way of working around bug #6770.
|
||||
if (_engine->getGameId() == GID_GRANDINQUISITOR && key == 9536) {
|
||||
Puzzle::CriteriaEntry entry;
|
||||
entry.key = 9404; // me2j_time_tunnel_open
|
||||
entry.criteriaOperator = Puzzle::EQUAL_TO;
|
||||
entry.argumentIsAKey = false;
|
||||
entry.argument = 0;
|
||||
|
||||
criteriaList.back().push_back(entry);
|
||||
}
|
||||
|
||||
while (!stream.eos() && !line.contains('}')) {
|
||||
Puzzle::CriteriaEntry entry;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user