aboutsummaryrefslogtreecommitdiff
path: root/queen
diff options
context:
space:
mode:
authorDavid Eriksson2003-11-10 12:32:46 +0000
committerDavid Eriksson2003-11-10 12:32:46 +0000
commitff07a453e386312ba3181067b89609025a7f8e24 (patch)
tree170a7e2d2c2897d190ba06c7b0d148f80b63b696 /queen
parentcd4eb7deffbd72f3fc4a80a242f06b9dae5270a6 (diff)
downloadscummvm-rg350-ff07a453e386312ba3181067b89609025a7f8e24.tar.gz
scummvm-rg350-ff07a453e386312ba3181067b89609025a7f8e24.tar.bz2
scummvm-rg350-ff07a453e386312ba3181067b89609025a7f8e24.zip
Make the fix like the original game instead.
svn-id: r11248
Diffstat (limited to 'queen')
-rw-r--r--queen/cutaway.cpp5
-rw-r--r--queen/logic.h6
-rw-r--r--queen/queen.cpp3
3 files changed, 10 insertions, 4 deletions
diff --git a/queen/cutaway.cpp b/queen/cutaway.cpp
index 7b32566172..0530616aac 100644
--- a/queen/cutaway.cpp
+++ b/queen/cutaway.cpp
@@ -1306,10 +1306,7 @@ void Cutaway::run(char *nextFilename) {
talk(nextFilename);
- // XXX removed the condition because otherwise sceneStop is not always
- // executed in pair with sceneStart. */
-
- if (_comPanel == 0 || (_comPanel == 2 /*&& !_anotherCutaway*/)) {
+ if (_comPanel == 0 || (_comPanel == 2 && !_anotherCutaway)) {
_logic->sceneStop(true);
_comPanel = 0;
}
diff --git a/queen/logic.h b/queen/logic.h
index eb9b5c1a06..751641a435 100644
--- a/queen/logic.h
+++ b/queen/logic.h
@@ -284,7 +284,13 @@ public:
void inventoryDeleteItem(uint16 itemNum, bool refresh = true);
void inventoryScroll(uint16 count, bool up);
+ //! Ugly hack from original code
+ void sceneReset() { _scene = 0; }
+
+ //! Make a scene
void sceneStart(bool showMouseCursor);
+
+ //! Stop making a scene
void sceneStop(bool showMouseCursor);
//! Copy data from dummy object to object
diff --git a/queen/queen.cpp b/queen/queen.cpp
index 5e6cbd9a14..d65a8ed7df 100644
--- a/queen/queen.cpp
+++ b/queen/queen.cpp
@@ -158,6 +158,9 @@ void QueenEngine::roomChanged() {
_graphics->loadPanel();
_logic->playCutaway("cred.cut");
+
+ // Ugly fix from original code
+ _logic->sceneReset();
}
_logic->currentRoom(ROOM_HOTEL_LOBBY);