aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);