diff options
author | Paul Gilbert | 2017-01-16 12:11:51 -0500 |
---|---|---|
committer | Paul Gilbert | 2017-01-16 12:11:51 -0500 |
commit | cb96b15ee6453c4d3932072d2d15ca12625b1b47 (patch) | |
tree | 01d4bd602fbeee9a0c3f368a573035d1e1d0e586 /engines/titanic/game | |
parent | efb43d9621d42e8da40d1db5dda40d889e362d8a (diff) | |
download | scummvm-rg350-cb96b15ee6453c4d3932072d2d15ca12625b1b47.tar.gz scummvm-rg350-cb96b15ee6453c4d3932072d2d15ca12625b1b47.tar.bz2 scummvm-rg350-cb96b15ee6453c4d3932072d2d15ca12625b1b47.zip |
TITANIC: Workaround for broken light in 1st class suite
Diffstat (limited to 'engines/titanic/game')
-rw-r--r-- | engines/titanic/game/light.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/engines/titanic/game/light.cpp b/engines/titanic/game/light.cpp index 3e52a4c6f9..30fc53463f 100644 --- a/engines/titanic/game/light.cpp +++ b/engines/titanic/game/light.cpp @@ -76,8 +76,15 @@ bool CLight::TurnOff(CTurnOff *msg) { } bool CLight::LightsMsg(CLightsMsg *msg) { - if ((msg->_topLeft && _topLeft) || (msg->_bottomLeft && _bottomLeft) - || (msg->_topRight && _topRight) || (msg->_bottomRight && _bottomRight)) { + // WORKAROUND: Since solving the puzzle to get Titania's eye explicitly + // requires referring to the "broken light", don't allow the top left + // light to be turned on in the player's stateroom until it's gotten/fixed + if (msg->_topLeft && _topLeft) { + bool showFlag = !getPetControl()->isFirstClassSuite() || + getRoom()->findByName("Eye1") == nullptr; + setVisible(showFlag); + } else if ((msg->_bottomLeft && _bottomLeft) || (msg->_topRight && _topRight) || + (msg->_bottomRight && _bottomRight)) { setVisible(true); } else { setVisible(false); |