aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/mohawk/cstime.cpp8
-rw-r--r--engines/mohawk/cstime_game.cpp1
-rw-r--r--engines/mohawk/cstime_game.h1
3 files changed, 8 insertions, 2 deletions
diff --git a/engines/mohawk/cstime.cpp b/engines/mohawk/cstime.cpp
index 9959af86e6..4bca986d7f 100644
--- a/engines/mohawk/cstime.cpp
+++ b/engines/mohawk/cstime.cpp
@@ -200,6 +200,7 @@ void MohawkEngine_CSTime::nextScene() {
_case->setCurrScene(_nextSceneId);
CSTimeScene *scene = _case->getCurrScene();
// TODO: scene->setState(1);
+ scene->_visitCount++;
scene->installGroup();
_interface->draw();
@@ -210,8 +211,11 @@ void MohawkEngine_CSTime::nextScene() {
addEvent(CSTimeEvent(kCSTimeEventWait, 0xffff, 500));
scene->idleAmbientAnims();
// TODO: startEnvironmentSound();
- // TODO: queue one of the scene event queues, depending on whether a value is <= 1 or not
- addEventList(scene->getEvents(false));
+ if (scene->_visitCount == 1) {
+ addEventList(scene->getEvents(false));
+ } else {
+ addEventList(scene->getEvents(true));
+ }
_view->idleView();
// TODO: maybe startMusic();
}
diff --git a/engines/mohawk/cstime_game.cpp b/engines/mohawk/cstime_game.cpp
index addddea3e8..05f2c36125 100644
--- a/engines/mohawk/cstime_game.cpp
+++ b/engines/mohawk/cstime_game.cpp
@@ -750,6 +750,7 @@ CSTimeScene *CSTimeCase::getCurrScene() {
}
CSTimeScene::CSTimeScene(MohawkEngine_CSTime *vm, CSTimeCase *case_, uint id) : _vm(vm), _case(case_), _id(id) {
+ _visitCount = 0;
_activeChar = NULL;
_currHotspot = 0xffff;
_hoverHotspot = 0xffff;
diff --git a/engines/mohawk/cstime_game.h b/engines/mohawk/cstime_game.h
index d604f120ad..661fdbaa41 100644
--- a/engines/mohawk/cstime_game.h
+++ b/engines/mohawk/cstime_game.h
@@ -220,6 +220,7 @@ public:
uint16 getHelperId() { return _helperId; }
uint getId() { return _id; }
+ uint _visitCount;
CSTimeChar *_activeChar;
Common::Array<Feature *> _objectFeatures;