diff options
-rw-r--r-- | engines/voyeur/files.cpp | 4 | ||||
-rw-r--r-- | engines/voyeur/files_threads.cpp | 3 | ||||
-rw-r--r-- | engines/voyeur/voyeur.cpp | 2 | ||||
-rw-r--r-- | engines/voyeur/voyeur.h | 3 | ||||
-rw-r--r-- | engines/voyeur/voyeur_game.cpp | 3 |
5 files changed, 11 insertions, 4 deletions
diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 1e08acb489..2403898e6f 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -286,8 +286,8 @@ void BoltFile::freeBoltGroup(uint16 id, bool freeEntries) { } void BoltFile::freeBoltMember(uint32 id) { - // TODO: Determine whether this is needed - warning("TODO: BoltFile::freeBoltMember"); + // TODO: Determine whether this is needed, given all group entries are automatically loaded +// warning("TODO: BoltFile::freeBoltMember"); } BoltEntry &BoltFile::getBoltEntryFromLong(uint32 id) { diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index d412e11566..20d781457d 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -1061,6 +1061,7 @@ int ThreadResource::doApt() { Common::Point pt; PictureResource *pic; do { + _vm->_voyeurArea = AREA_APARTMENT; _vm->_eventsManager.getMouseInfo(); if (!_vm->_soundManager.getVOCStatus()) { // Previous sound ended, so start up a new one @@ -1173,6 +1174,7 @@ void ThreadResource::doRoom() { bool breakFlag = false; while (!vm.shouldQuit() && !breakFlag) { + _vm->_voyeurArea = AREA_ROOM; vm._graphicsManager.setColor(128, 0, 255, 0); vm._eventsManager._intPtr.field38 = 1; vm._eventsManager._intPtr._hasPalette = true; @@ -1402,6 +1404,7 @@ int ThreadResource::doInterface() { MANSION_VIEW_X + MANSION_VIEW_WIDTH, MANSION_VIEW_Y + MANSION_VIEW_HEIGHT); do { + _vm->_voyeurArea = AREA_INTERFACE; _vm->doTimeBar(true); _vm->_eventsManager.getMouseInfo(); diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 37ed0be6be..a6ad25f618 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -53,7 +53,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc) _flashTimeFlag = false; _timeBarVal = -1; _checkPhoneVal = 0; - _mansionScrollCountdown = 0; + _voyeurArea = AREA_NONE; initialiseManagers(); } diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 69055498be..53f170819f 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -69,6 +69,7 @@ enum VoyeurDebugChannels { kDebugScripts = 1 << 1 }; +enum VoyeurArea { AREA_NONE, AREA_APARTMENT, AREA_INTERFACE, AREA_ROOM, AREA_EVIDENCE }; struct VoyeurGameDescription; @@ -171,7 +172,7 @@ public: int _timeBarVal; int _checkPhoneVal; Common::Point _mansionViewPos; - int _mansionScrollCountdown; + VoyeurArea _voyeurArea; public: VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc); virtual ~VoyeurEngine(); diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 9f70d7418a..e6f8d612f3 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -47,6 +47,7 @@ void VoyeurEngine::playStamp() { int buttonId; bool breakFlag = false; while (!breakFlag && !shouldQuit()) { + _voyeurArea = AREA_NONE; _eventsManager.getMouseInfo(); _playStampGroupId = _currentVocId = -1; _videoId = -1; @@ -1334,6 +1335,8 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) { int evidIdx = evidId; while (!shouldQuit() && !_eventsManager._rightClick) { + _voyeurArea = AREA_EVIDENCE; + if (_currentVocId != -1 && !_soundManager.getVOCStatus()) { if (_voy._vocSecondsOffset > 60) _voy._vocSecondsOffset = 0; |