From ceb7c106ade7c844ce6f81ed6cd6448bbd959d6e Mon Sep 17 00:00:00 2001 From: Ben Castricum Date: Mon, 13 Sep 2021 10:59:37 +0200 Subject: [PATCH] SCUMM: FREDDI - WORKAROUND for bug #4776, knocker floats while door is open --- engines/scumm/he/script_v60he.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/engines/scumm/he/script_v60he.cpp b/engines/scumm/he/script_v60he.cpp index 0c92fbcac36a..c7c111d3ab6e 100644 --- a/engines/scumm/he/script_v60he.cpp +++ b/engines/scumm/he/script_v60he.cpp @@ -304,6 +304,17 @@ void ScummEngine_v60he::o60_setState() { int state = pop(); int obj = pop(); + // WORKAROUND for bug #4776, knocker floats while door is open + // This hides the knocker when the closed door object is set to hide. + if (_game.id == GID_FREDDI && _currentRoom == 7) { + if (_game.heversion == 71 && obj == 35 && state == 0) { + putState(26, 0); + } + if (_game.heversion == 73 && obj == 52 && state == 0) { + putState(43, 0); + } + } + if (state & 0x8000) { state &= 0x7FFF; putState(obj, state);