aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2017-10-10 19:26:47 -0400
committerPaul Gilbert2017-10-10 19:26:47 -0400
commit567556a5c111953e09490f3f3257b6449c398117 (patch)
tree4c78b7c7534267755bc118b878422ad649c25491
parent3fd2cf29b14f92015052fc85aee9299de57360e7 (diff)
downloadscummvm-rg350-567556a5c111953e09490f3f3257b6449c398117.tar.gz
scummvm-rg350-567556a5c111953e09490f3f3257b6449c398117.tar.bz2
scummvm-rg350-567556a5c111953e09490f3f3257b6449c398117.zip
TITANIC: Show SGT furniture in stateroom even after upgrading
-rw-r--r--engines/titanic/game/sgt/sgt_state_room.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/engines/titanic/game/sgt/sgt_state_room.cpp b/engines/titanic/game/sgt/sgt_state_room.cpp
index ca6acaef16..b4927e6828 100644
--- a/engines/titanic/game/sgt/sgt_state_room.cpp
+++ b/engines/titanic/game/sgt/sgt_state_room.cpp
@@ -125,10 +125,10 @@ bool CSGTStateRoom::VisibleMsg(CVisibleMsg *msg) {
bool CSGTStateRoom::EnterRoomMsg(CEnterRoomMsg *msg) {
CPetControl *pet = getPetControl();
- uint roomFlags = pet->getRoomFlags();
- uint assignedRoom = pet->getAssignedRoomFlags();
- if (roomFlags == assignedRoom) {
+ // WORKAROUND: Correctly show SGT furniture states in assigned stateroom
+ // even when the user has already upgraded to 2nd or 1st class
+ if (pet->isInAssignedRoom()) {
loadFrame(_savedFrame);
_isClosed = _savedIsClosed;
setVisible(_savedVisible);
@@ -139,7 +139,7 @@ bool CSGTStateRoom::EnterRoomMsg(CEnterRoomMsg *msg) {
if (isEquals("Drawer")) {
petSetArea(PET_REMOTE);
- if (roomFlags == assignedRoom && getPassengerClass() == 3
+ if (pet->isInAssignedRoom() && getPassengerClass() == 3
&& _statics->_announcementFlag) {
// Congratulations, you may have won an upgrade
playSound(TRANSLATE("b#21.wav", "b#2.wav"));
@@ -149,7 +149,7 @@ bool CSGTStateRoom::EnterRoomMsg(CEnterRoomMsg *msg) {
_statics->_drawer = "Closed";
setVisible(false);
_isClosed = true;
- } else if (roomFlags != assignedRoom) {
+ } else if (!pet->isInAssignedRoom()) {
loadFrame(0);
if (_displayFlag) {
setVisible(true);