aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2017-01-16 12:11:51 -0500
committerPaul Gilbert2017-01-16 12:11:51 -0500
commitcb96b15ee6453c4d3932072d2d15ca12625b1b47 (patch)
tree01d4bd602fbeee9a0c3f368a573035d1e1d0e586
parentefb43d9621d42e8da40d1db5dda40d889e362d8a (diff)
downloadscummvm-rg350-cb96b15ee6453c4d3932072d2d15ca12625b1b47.tar.gz
scummvm-rg350-cb96b15ee6453c4d3932072d2d15ca12625b1b47.tar.bz2
scummvm-rg350-cb96b15ee6453c4d3932072d2d15ca12625b1b47.zip
TITANIC: Workaround for broken light in 1st class suite
-rw-r--r--engines/titanic/game/light.cpp11
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);