diff options
author | David Eriksson | 2003-11-10 12:32:46 +0000 |
---|---|---|
committer | David Eriksson | 2003-11-10 12:32:46 +0000 |
commit | ff07a453e386312ba3181067b89609025a7f8e24 (patch) | |
tree | 170a7e2d2c2897d190ba06c7b0d148f80b63b696 /queen | |
parent | cd4eb7deffbd72f3fc4a80a242f06b9dae5270a6 (diff) | |
download | scummvm-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.cpp | 5 | ||||
-rw-r--r-- | queen/logic.h | 6 | ||||
-rw-r--r-- | queen/queen.cpp | 3 |
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); |