aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/voyeur/data.cpp8
-rw-r--r--engines/voyeur/data.h3
-rw-r--r--engines/voyeur/debugger.cpp26
-rw-r--r--engines/voyeur/events.cpp60
-rw-r--r--engines/voyeur/files.cpp2
-rw-r--r--engines/voyeur/files_threads.cpp262
-rw-r--r--engines/voyeur/graphics.cpp24
-rw-r--r--engines/voyeur/voyeur.cpp94
-rw-r--r--engines/voyeur/voyeur.h2
-rw-r--r--engines/voyeur/voyeur_game.cpp254
10 files changed, 366 insertions, 369 deletions
diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp
index 2453de1048..1b5b576a23 100644
--- a/engines/voyeur/data.cpp
+++ b/engines/voyeur/data.cpp
@@ -38,7 +38,7 @@ void VoyeurEvent::synchronize(Common::Serializer &s) {
/*------------------------------------------------------------------------*/
-SVoy::SVoy() {
+SVoy::SVoy(VoyeurEngine *vm):_vm(vm) {
// Initialize all the data fields
_abortInterface = false;
_isAM = false;
@@ -92,10 +92,6 @@ SVoy::SVoy() {
}
}
-void SVoy::setVm(VoyeurEngine *vm) {
- _vm = vm;
-}
-
void SVoy::addEvent(int hour, int minute, VoyeurEventType type, int audioVideoId,
int on, int off, int dead) {
VoyeurEvent &e = _events[_eventCount++];
@@ -282,7 +278,7 @@ void SVoy::reviewComputerEvent(int eventIndex) {
bool SVoy::checkForKey() {
_vm->_controlPtr->_state->_victimEvidenceIndex = 0;
- if (_vm->_voy._victimMurdered)
+ if (_vm->_voy->_victimMurdered)
return false;
for (int eventIdx = 0; eventIdx < _eventCount; ++eventIdx) {
diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h
index ed94cee490..b3380df3bc 100644
--- a/engines/voyeur/data.h
+++ b/engines/voyeur/data.h
@@ -154,8 +154,7 @@ public:
CMapResource *_evCmPtrs[6];
VoyeurEvent _events[TOTAL_EVENTS];
- SVoy();
- void setVm(VoyeurEngine *vm);
+ SVoy(VoyeurEngine *vm);
/**
* Synchronize the data
diff --git a/engines/voyeur/debugger.cpp b/engines/voyeur/debugger.cpp
index 04a6597b16..f5453210b9 100644
--- a/engines/voyeur/debugger.cpp
+++ b/engines/voyeur/debugger.cpp
@@ -53,7 +53,7 @@ bool Debugger::Cmd_Time(int argc, const char **argv) {
dtString += " " + timeString;
DebugPrintf("Time period = %d, date/time is: %s, time is %s\n",
- _vm->_voy._transitionId, dtString.c_str(), _isTimeActive ? "on" : "off");
+ _vm->_voy->_transitionId, dtString.c_str(), _isTimeActive ? "on" : "off");
DebugPrintf("Format: %s [on | off | 1..17 | val <amount>]\n\n", argv[0]);
} else {
if (!strcmp(argv[1], "on")) {
@@ -64,10 +64,10 @@ bool Debugger::Cmd_Time(int argc, const char **argv) {
DebugPrintf("Time is now off\n\n");
} else if (!strcmp(argv[1], "val")) {
if (argc < 3) {
- DebugPrintf("Time expired is currently %d.\n", _vm->_voy._RTVNum);
+ DebugPrintf("Time expired is currently %d.\n", _vm->_voy->_RTVNum);
} else {
- _vm->_voy._RTVNum = atoi(argv[2]);
- DebugPrintf("Time expired is now %d.\n", _vm->_voy._RTVNum);
+ _vm->_voy->_RTVNum = atoi(argv[2]);
+ DebugPrintf("Time expired is now %d.\n", _vm->_voy->_RTVNum);
}
} else {
int timeId = atoi(argv[1]);
@@ -104,27 +104,27 @@ bool Debugger::Cmd_Hotspots(int argc, const char **argv) {
hotspots[hotspotIdx].right, hotspots[hotspotIdx].bottom);
for (int arrIndex = 0; arrIndex < 3; ++arrIndex) {
- if (_vm->_voy._audioHotspotTimes._min[arrIndex][hotspotIdx] != 9999) {
+ if (_vm->_voy->_audioHotspotTimes._min[arrIndex][hotspotIdx] != 9999) {
DebugPrintf("Hotspot %d %s Audio slot %d, time: %d to %d\n",
hotspotIdx, pos.c_str(), arrIndex,
- _vm->_voy._audioHotspotTimes._min[arrIndex][hotspotIdx],
- _vm->_voy._audioHotspotTimes._max[arrIndex][hotspotIdx]);
+ _vm->_voy->_audioHotspotTimes._min[arrIndex][hotspotIdx],
+ _vm->_voy->_audioHotspotTimes._max[arrIndex][hotspotIdx]);
}
- if (_vm->_voy._evidenceHotspotTimes._min[arrIndex][hotspotIdx] != 9999) {
+ if (_vm->_voy->_evidenceHotspotTimes._min[arrIndex][hotspotIdx] != 9999) {
DebugPrintf("Hotspot %d %s Evidence slot %d, time: %d to %d\n",
hotspotIdx, pos.c_str(), arrIndex,
- _vm->_voy._evidenceHotspotTimes._min[arrIndex][hotspotIdx],
- _vm->_voy._evidenceHotspotTimes._max[arrIndex][hotspotIdx]);
+ _vm->_voy->_evidenceHotspotTimes._min[arrIndex][hotspotIdx],
+ _vm->_voy->_evidenceHotspotTimes._max[arrIndex][hotspotIdx]);
}
}
for (int arrIndex = 0; arrIndex < 8; ++arrIndex) {
- if (_vm->_voy._videoHotspotTimes._min[arrIndex][hotspotIdx] != 9999) {
+ if (_vm->_voy->_videoHotspotTimes._min[arrIndex][hotspotIdx] != 9999) {
DebugPrintf("Hotspot %d %s Video slot %d, time: %d to %d\n",
hotspotIdx, pos.c_str(), arrIndex,
- _vm->_voy._videoHotspotTimes._min[arrIndex][hotspotIdx],
- _vm->_voy._videoHotspotTimes._max[arrIndex][hotspotIdx]);
+ _vm->_voy->_videoHotspotTimes._min[arrIndex][hotspotIdx],
+ _vm->_voy->_videoHotspotTimes._max[arrIndex][hotspotIdx]);
}
}
}
diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp
index a141883090..c438883509 100644
--- a/engines/voyeur/events.cpp
+++ b/engines/voyeur/events.cpp
@@ -93,17 +93,17 @@ void EventsManager::startMainClockInt() {
}
void EventsManager::mainVoyeurIntFunc() {
- if (!(_vm->_voy._eventFlags & EVTFLAG_TIME_DISABLED)) {
- ++_vm->_voy._switchBGNum;
+ if (!(_vm->_voy->_eventFlags & EVTFLAG_TIME_DISABLED)) {
+ ++_vm->_voy->_switchBGNum;
if (_vm->_debugger._isTimeActive) {
// Increase camera discharge
- ++_vm->_voy._RTVNum;
+ ++_vm->_voy->_RTVNum;
// If the murder threshold has been set, and is passed, then flag the victim
// as murdered, which prevents sending the tape from succeeding
- if (_vm->_voy._RTVNum >= _vm->_voy._murderThreshold)
- _vm->_voy._victimMurdered = true;
+ if (_vm->_voy->_RTVNum >= _vm->_voy->_murderThreshold)
+ _vm->_voy->_victimMurdered = true;
}
}
}
@@ -476,30 +476,30 @@ void EventsManager::vDoCycleInt() {
void EventsManager::fadeIntFunc() {
- switch (_vm->_voy._fadingType) {
+ switch (_vm->_voy->_fadingType) {
case 1:
- if (_vm->_voy._fadingAmount1 < 63)
- _vm->_voy._fadingAmount1 += _vm->_voy._fadingStep1;
- if (_vm->_voy._fadingAmount2 < 63)
- _vm->_voy._fadingAmount2 += _vm->_voy._fadingStep2;
- if (_vm->_voy._fadingAmount1 > 63)
- _vm->_voy._fadingAmount1 = 63;
- if (_vm->_voy._fadingAmount2 > 63)
- _vm->_voy._fadingAmount2 = 63;
- if ((_vm->_voy._fadingAmount1 == 63) && (_vm->_voy._fadingAmount2 == 63))
- _vm->_voy._fadingType = 0;
+ if (_vm->_voy->_fadingAmount1 < 63)
+ _vm->_voy->_fadingAmount1 += _vm->_voy->_fadingStep1;
+ if (_vm->_voy->_fadingAmount2 < 63)
+ _vm->_voy->_fadingAmount2 += _vm->_voy->_fadingStep2;
+ if (_vm->_voy->_fadingAmount1 > 63)
+ _vm->_voy->_fadingAmount1 = 63;
+ if (_vm->_voy->_fadingAmount2 > 63)
+ _vm->_voy->_fadingAmount2 = 63;
+ if ((_vm->_voy->_fadingAmount1 == 63) && (_vm->_voy->_fadingAmount2 == 63))
+ _vm->_voy->_fadingType = 0;
break;
case 2:
- if (_vm->_voy._fadingAmount1 > 0)
- _vm->_voy._fadingAmount1 -= _vm->_voy._fadingStep1;
- if (_vm->_voy._fadingAmount2 > 0)
- _vm->_voy._fadingAmount2 -= _vm->_voy._fadingStep2;
- if (_vm->_voy._fadingAmount1 < 0)
- _vm->_voy._fadingAmount1 = 0;
- if (_vm->_voy._fadingAmount2 < 0)
- _vm->_voy._fadingAmount2 = 0;
- if ((_vm->_voy._fadingAmount1 == 0) && (_vm->_voy._fadingAmount2 == 0))
- _vm->_voy._fadingType = 0;
+ if (_vm->_voy->_fadingAmount1 > 0)
+ _vm->_voy->_fadingAmount1 -= _vm->_voy->_fadingStep1;
+ if (_vm->_voy->_fadingAmount2 > 0)
+ _vm->_voy->_fadingAmount2 -= _vm->_voy->_fadingStep2;
+ if (_vm->_voy->_fadingAmount1 < 0)
+ _vm->_voy->_fadingAmount1 = 0;
+ if (_vm->_voy->_fadingAmount2 < 0)
+ _vm->_voy->_fadingAmount2 = 0;
+ if ((_vm->_voy->_fadingAmount1 == 0) && (_vm->_voy->_fadingAmount2 == 0))
+ _vm->_voy->_fadingType = 0;
break;
default:
break;
@@ -560,7 +560,7 @@ void EventsManager::hideCursor() {
void EventsManager::getMouseInfo() {
pollEvents();
- if (_vm->_voy._eventFlags & EVTFLAG_RECORDING) {
+ if (_vm->_voy->_eventFlags & EVTFLAG_RECORDING) {
if ((_gameCounter - _recordBlinkCounter) > 8) {
_recordBlinkCounter = _gameCounter;
@@ -586,7 +586,7 @@ void EventsManager::getMouseInfo() {
}
void EventsManager::startCursorBlink() {
- if (_vm->_voy._eventFlags & EVTFLAG_RECORDING) {
+ if (_vm->_voy->_eventFlags & EVTFLAG_RECORDING) {
_vm->_graphicsManager.setOneColor(128, 55, 5, 5);
_vm->_graphicsManager.setColor(128, 220, 20, 20);
_intPtr._hasPalette = true;
@@ -606,8 +606,8 @@ void EventsManager::stopEvidDim() {
}
Common::String EventsManager::getEvidString(int eventIndex) {
- assert(eventIndex <= _vm->_voy._eventCount);
- VoyeurEvent &e = _vm->_voy._events[eventIndex];
+ assert(eventIndex <= _vm->_voy->_eventCount);
+ VoyeurEvent &e = _vm->_voy->_events[eventIndex];
return Common::String::format("%03d %.2d:%.2d %s %s", eventIndex + 1,
e._hour, e._minute, e._isAM ? AM : PM, EVENT_TYPE_STRINGS[e._type - 1]);
}
diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp
index e78b59bde9..6fe76e246f 100644
--- a/engines/voyeur/files.cpp
+++ b/engines/voyeur/files.cpp
@@ -1365,7 +1365,7 @@ void ViewPortResource::drawIfaceTime() {
_state._vm->_gameMinute % 10, Common::Point(201, 25));
// AM/PM indicator
- PictureResource *pic = _state._vm->_bVoy->boltEntry(_state._vm->_voy._isAM ? 272 : 273)._picResource;
+ PictureResource *pic = _state._vm->_bVoy->boltEntry(_state._vm->_voy->_isAM ? 272 : 273)._picResource;
_state._vm->_graphicsManager.sDrawPic(pic, *_state._vm->_graphicsManager._vPort,
Common::Point(215, 27));
}
diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp
index 0ce1fedcd4..2c3b5f2454 100644
--- a/engines/voyeur/files_threads.cpp
+++ b/engines/voyeur/files_threads.cpp
@@ -321,19 +321,19 @@ bool ThreadResource::chooseSTAMPButton(int buttonId) {
}
void ThreadResource::parsePlayCommands() {
- _vm->_voy._playStampMode = -1;
- _vm->_voy._audioVisualStartTime = 0;
- _vm->_voy._audioVisualDuration = 0;
- _vm->_voy._boltGroupId2 = -1;
- _vm->_voy._computerTextId = -1;
- _vm->_voy._eventFlags &= ~EVTFLAG_8;
+ _vm->_voy->_playStampMode = -1;
+ _vm->_voy->_audioVisualStartTime = 0;
+ _vm->_voy->_audioVisualDuration = 0;
+ _vm->_voy->_boltGroupId2 = -1;
+ _vm->_voy->_computerTextId = -1;
+ _vm->_voy->_eventFlags &= ~EVTFLAG_8;
_vm->_eventsManager._videoDead = -1;
// Reset hotspot data
- _vm->_voy._videoHotspotTimes.reset();
- _vm->_voy._audioHotspotTimes.reset();
- _vm->_voy._evidenceHotspotTimes.reset();
- Common::fill(&_vm->_voy._roomHotspotsEnabled[0], &_vm->_voy._roomHotspotsEnabled[20], false);
+ _vm->_voy->_videoHotspotTimes.reset();
+ _vm->_voy->_audioHotspotTimes.reset();
+ _vm->_voy->_evidenceHotspotTimes.reset();
+ Common::fill(&_vm->_voy->_roomHotspotsEnabled[0], &_vm->_voy->_roomHotspotsEnabled[20], false);
byte *dataP = _playCommandsPtr;
int v2, v3;
PictureResource *pic;
@@ -357,21 +357,21 @@ void ThreadResource::parsePlayCommands() {
if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) {
_vm->_audioVideoId = READ_LE_UINT16(dataP + 2) - 1;
- _vm->_voy._audioVisualStartTime = READ_LE_UINT16(dataP + 4);
- _vm->_voy._audioVisualDuration = READ_LE_UINT16(dataP + 6);
+ _vm->_voy->_audioVisualStartTime = READ_LE_UINT16(dataP + 4);
+ _vm->_voy->_audioVisualDuration = READ_LE_UINT16(dataP + 6);
- if (_vm->_voy._RTVNum < _vm->_voy._audioVisualStartTime ||
- (_vm->_voy._audioVisualStartTime + _vm->_voy._audioVisualDuration) < _vm->_voy._RTVNum) {
+ if (_vm->_voy->_RTVNum < _vm->_voy->_audioVisualStartTime ||
+ (_vm->_voy->_audioVisualStartTime + _vm->_voy->_audioVisualDuration) < _vm->_voy->_RTVNum) {
_vm->_audioVideoId = -1;
} else {
- _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._audioVisualStartTime;
- _vm->_voy.addAudioEventStart();
+ _vm->_voy->_vocSecondsOffset = _vm->_voy->_RTVNum - _vm->_voy->_audioVisualStartTime;
+ _vm->_voy->addAudioEventStart();
// Play the audio
assert(_vm->_audioVideoId < 38);
_vm->playAudio(_vm->_audioVideoId);
- _vm->_voy.addAudioEventEnd();
+ _vm->_voy->addAudioEventEnd();
_vm->_eventsManager.incrementTime(1);
_vm->_eventsManager.incrementTime(1);
_vm->_audioVideoId = -1;
@@ -388,22 +388,22 @@ void ThreadResource::parsePlayCommands() {
if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) {
_vm->_audioVideoId = READ_LE_UINT16(dataP + 2) - 1;
- _vm->_voy._audioVisualStartTime = READ_LE_UINT16(dataP + 4);
- _vm->_voy._audioVisualDuration = READ_LE_UINT16(dataP + 6);
+ _vm->_voy->_audioVisualStartTime = READ_LE_UINT16(dataP + 4);
+ _vm->_voy->_audioVisualDuration = READ_LE_UINT16(dataP + 6);
- if (_vm->_voy._RTVNum < _vm->_voy._audioVisualStartTime ||
- (_vm->_voy._audioVisualStartTime + _vm->_voy._audioVisualDuration) < _vm->_voy._RTVNum) {
+ if (_vm->_voy->_RTVNum < _vm->_voy->_audioVisualStartTime ||
+ (_vm->_voy->_audioVisualStartTime + _vm->_voy->_audioVisualDuration) < _vm->_voy->_RTVNum) {
_vm->_audioVideoId = -1;
} else {
- _vm->_voy._vocSecondsOffset = _vm->_voy._RTVNum - _vm->_voy._audioVisualStartTime;
- _vm->_voy.addVideoEventStart();
- _vm->_voy._eventFlags &= ~EVTFLAG_TIME_DISABLED;
- _vm->_voy._eventFlags |= EVTFLAG_RECORDING;
+ _vm->_voy->_vocSecondsOffset = _vm->_voy->_RTVNum - _vm->_voy->_audioVisualStartTime;
+ _vm->_voy->addVideoEventStart();
+ _vm->_voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED;
+ _vm->_voy->_eventFlags |= EVTFLAG_RECORDING;
_vm->playAVideo(_vm->_audioVideoId);
- _vm->_voy._eventFlags &= ~EVTFLAG_RECORDING;
- _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED;
- _vm->_voy.addVideoEventEnd();
+ _vm->_voy->_eventFlags &= ~EVTFLAG_RECORDING;
+ _vm->_voy->_eventFlags |= EVTFLAG_TIME_DISABLED;
+ _vm->_voy->addVideoEventEnd();
_vm->_eventsManager.incrementTime(1);
_vm->_audioVideoId = -1;
@@ -417,10 +417,10 @@ void ThreadResource::parsePlayCommands() {
_vm->_eventsManager._videoDead = -1;
if (_stateCount == 2 && _vm->_eventsManager._mouseClicked == 0) {
- _vm->_voy._playStampMode = 132;
+ _vm->_voy->_playStampMode = 132;
parseIndex = 999;
} else {
- _vm->_voy._playStampMode = 129;
+ _vm->_voy->_playStampMode = 129;
}
}
}
@@ -440,11 +440,11 @@ void ThreadResource::parsePlayCommands() {
_vm->_playStampGroupId = _vm->_resolvePtr[resolveIndex];
}
- _vm->_voy._vocSecondsOffset = 0;
- _vm->_voy._audioVisualStartTime = _vm->_voy._RTVNum;
- _vm->_voy._eventFlags &= ~(EVTFLAG_TIME_DISABLED | EVTFLAG_RECORDING);
+ _vm->_voy->_vocSecondsOffset = 0;
+ _vm->_voy->_audioVisualStartTime = _vm->_voy->_RTVNum;
+ _vm->_voy->_eventFlags &= ~(EVTFLAG_TIME_DISABLED | EVTFLAG_RECORDING);
_vm->playAVideo(_vm->_audioVideoId);
- _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED;
+ _vm->_voy->_eventFlags |= EVTFLAG_TIME_DISABLED;
if (id != 22) {
_vm->_audioVideoId = -1;
@@ -498,30 +498,30 @@ void ThreadResource::parsePlayCommands() {
// if so, load the time information for the new time period
v2 = READ_LE_UINT16(dataP);
if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) {
- _vm->_voy._playStampMode = 5;
+ _vm->_voy->_playStampMode = 5;
int count = READ_LE_UINT16(dataP + 2);
- _vm->_voy._RTVLimit = READ_LE_UINT16(dataP + 4);
+ _vm->_voy->_RTVLimit = READ_LE_UINT16(dataP + 4);
- if (_vm->_voy._transitionId != count) {
- if (_vm->_voy._transitionId > 1)
- _vm->_voy._eventFlags &= ~EVTFLAG_100;
+ if (_vm->_voy->_transitionId != count) {
+ if (_vm->_voy->_transitionId > 1)
+ _vm->_voy->_eventFlags &= ~EVTFLAG_100;
- _vm->_voy._transitionId = count;
+ _vm->_voy->_transitionId = count;
_vm->_gameMinute = LEVEL_M[count - 1];
_vm->_gameHour = LEVEL_H[count - 1];
//_vm->_v2A0A2 = 0;
- _vm->_voy._RTVNum = 0;
- _vm->_voy._RTANum = 255;
+ _vm->_voy->_RTVNum = 0;
+ _vm->_voy->_RTANum = 255;
}
- _vm->_voy._isAM = (_vm->_voy._transitionId == 6);
+ _vm->_voy->_isAM = (_vm->_voy->_transitionId == 6);
}
dataP += 6;
break;
case 6:
- _vm->_voy._playStampMode = 6;
+ _vm->_voy->_playStampMode = 6;
v2 = READ_LE_UINT16(dataP);
_vm->_playStampGroupId = _vm->_resolvePtr[v2];
dataP += 2;
@@ -534,12 +534,12 @@ void ThreadResource::parsePlayCommands() {
if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) {
int idx = 0;
- while (_vm->_voy._videoHotspotTimes._min[idx][v3] != 9999)
+ while (_vm->_voy->_videoHotspotTimes._min[idx][v3] != 9999)
++idx;
v2 = READ_LE_UINT16(dataP + 4);
- _vm->_voy._videoHotspotTimes._min[idx][v3] = v2;
- _vm->_voy._videoHotspotTimes._max[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2;
+ _vm->_voy->_videoHotspotTimes._min[idx][v3] = v2;
+ _vm->_voy->_videoHotspotTimes._max[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2;
}
dataP += 8;
@@ -552,12 +552,12 @@ void ThreadResource::parsePlayCommands() {
if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) {
int idx = 0;
- while (_vm->_voy._audioHotspotTimes._min[idx][v3] != 9999)
+ while (_vm->_voy->_audioHotspotTimes._min[idx][v3] != 9999)
++idx;
v2 = READ_LE_UINT16(dataP + 4);
- _vm->_voy._audioHotspotTimes._min[idx][v3] = v2;
- _vm->_voy._audioHotspotTimes._max[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2;
+ _vm->_voy->_audioHotspotTimes._min[idx][v3] = v2;
+ _vm->_voy->_audioHotspotTimes._max[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2;
}
dataP += 8;
@@ -570,12 +570,12 @@ void ThreadResource::parsePlayCommands() {
if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) {
int idx = 0;
- while (_vm->_voy._evidenceHotspotTimes._min[idx][v3] != 9999)
+ while (_vm->_voy->_evidenceHotspotTimes._min[idx][v3] != 9999)
++idx;
v2 = READ_LE_UINT16(dataP + 4);
- _vm->_voy._evidenceHotspotTimes._min[idx][v3] = v2;
- _vm->_voy._evidenceHotspotTimes._max[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2;
+ _vm->_voy->_evidenceHotspotTimes._min[idx][v3] = v2;
+ _vm->_voy->_evidenceHotspotTimes._max[idx][v3] = v2 + READ_LE_UINT16(dataP + 6) - 2;
}
dataP += 8;
@@ -590,13 +590,13 @@ void ThreadResource::parsePlayCommands() {
int randomVal;
do {
randomVal = _vm->getRandomNumber(3) + 1;
- } while (randomVal == _vm->_voy._victimNumber);
+ } while (randomVal == _vm->_voy->_victimNumber);
- _vm->_voy._victimNumber = randomVal;
+ _vm->_voy->_victimNumber = randomVal;
_vm->_controlPtr->_state->_victimIndex = randomVal;
} else {
// Player has seen something that locks in the character to die
- _vm->_voy._victimNumber = _vm->_iForceDeath;
+ _vm->_voy->_victimNumber = _vm->_iForceDeath;
_vm->_controlPtr->_state->_victimIndex = _vm->_iForceDeath;
}
@@ -604,15 +604,15 @@ void ThreadResource::parsePlayCommands() {
break;
case 11:
- _vm->_voy._eventFlags |= EVTFLAG_2;
+ _vm->_voy->_eventFlags |= EVTFLAG_2;
break;
case 12:
v2 = READ_LE_UINT16(dataP);
if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) {
- _vm->_voy._boltGroupId2 = _vm->_resolvePtr[READ_LE_UINT16(dataP + 2)];
- _vm->_voy._roomHotspotsEnabled[READ_LE_UINT16(dataP + 4) - 1] = true;
+ _vm->_voy->_boltGroupId2 = _vm->_resolvePtr[READ_LE_UINT16(dataP + 2)];
+ _vm->_voy->_roomHotspotsEnabled[READ_LE_UINT16(dataP + 4) - 1] = true;
}
dataP += 6;
@@ -622,14 +622,14 @@ void ThreadResource::parsePlayCommands() {
v2 = READ_LE_UINT16(dataP);
if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2) {
- _vm->_voy._computerTextId = READ_LE_UINT16(dataP + 2);
- _vm->_voy._computerTimeMin = READ_LE_UINT16(dataP + 4);
- _vm->_voy._computerTimeMax = READ_LE_UINT16(dataP + 6);
-
- _vm->_voy._rect4E4.left = COMP_BUT_TABLE[_vm->_voy._computerTextId * 4];
- _vm->_voy._rect4E4.top = COMP_BUT_TABLE[_vm->_voy._computerTextId * 4 + 1];
- _vm->_voy._rect4E4.right = COMP_BUT_TABLE[_vm->_voy._computerTextId * 4 + 2];
- _vm->_voy._rect4E4.bottom = COMP_BUT_TABLE[_vm->_voy._computerTextId * 4 + 3];
+ _vm->_voy->_computerTextId = READ_LE_UINT16(dataP + 2);
+ _vm->_voy->_computerTimeMin = READ_LE_UINT16(dataP + 4);
+ _vm->_voy->_computerTimeMax = READ_LE_UINT16(dataP + 6);
+
+ _vm->_voy->_rect4E4.left = COMP_BUT_TABLE[_vm->_voy->_computerTextId * 4];
+ _vm->_voy->_rect4E4.top = COMP_BUT_TABLE[_vm->_voy->_computerTextId * 4 + 1];
+ _vm->_voy->_rect4E4.right = COMP_BUT_TABLE[_vm->_voy->_computerTextId * 4 + 2];
+ _vm->_voy->_rect4E4.bottom = COMP_BUT_TABLE[_vm->_voy->_computerTextId * 4 + 3];
}
dataP += 8;
@@ -637,7 +637,7 @@ void ThreadResource::parsePlayCommands() {
case 14:
_vm->_playStampGroupId = 2048;
- _vm->_voy._playStampMode = 130;
+ _vm->_voy->_playStampMode = 130;
break;
case 15:
@@ -645,11 +645,11 @@ void ThreadResource::parsePlayCommands() {
break;
case 16:
- _vm->_voy._playStampMode = 16;
+ _vm->_voy->_playStampMode = 16;
break;
case 17:
- _vm->_voy._playStampMode = 17;
+ _vm->_voy->_playStampMode = 17;
break;
case 18:
@@ -659,37 +659,37 @@ void ThreadResource::parsePlayCommands() {
v3 = READ_LE_UINT16(dataP + 2);
if (v2 == 0 || _vm->_controlPtr->_state->_victimIndex == v2)
- _vm->_voy._murderThreshold = v3;
+ _vm->_voy->_murderThreshold = v3;
dataP += 4;
break;
case 19:
- _vm->_voy._aptLoadMode = 140;
+ _vm->_voy->_aptLoadMode = 140;
loadTheApt();
- _vm->_voy._aptLoadMode = 141;
+ _vm->_voy->_aptLoadMode = 141;
freeTheApt();
break;
case 20:
- _vm->_voy._aptLoadMode = -1;
+ _vm->_voy->_aptLoadMode = -1;
loadTheApt();
- _vm->_voy._aptLoadMode = 141;
+ _vm->_voy->_aptLoadMode = 141;
freeTheApt();
break;
case 21:
- _vm->_voy._aptLoadMode = -1;
+ _vm->_voy->_aptLoadMode = -1;
loadTheApt();
- _vm->_voy._aptLoadMode = 140;
+ _vm->_voy->_aptLoadMode = 140;
freeTheApt();
break;
case 23:
- _vm->_voy._transitionId = 17;
- _vm->_voy._aptLoadMode = -1;
+ _vm->_voy->_transitionId = 17;
+ _vm->_voy->_aptLoadMode = -1;
loadTheApt();
- _vm->_voy._aptLoadMode = 144;
+ _vm->_voy->_aptLoadMode = 144;
freeTheApt();
break;
@@ -954,7 +954,7 @@ int ThreadResource::doApt() {
loadTheApt();
_vm->_currentVocId = 151;
- _vm->_voy._viewBounds = _vm->_bVoy->boltEntry(_vm->_playStampGroupId)._rectResource;
+ _vm->_voy->_viewBounds = _vm->_bVoy->boltEntry(_vm->_playStampGroupId)._rectResource;
Common::Array<RectEntry> &hotspots = _vm->_bVoy->boltEntry(
_vm->_playStampGroupId + 1)._rectResource->_entries;
_vm->_eventsManager.getMouseInfo();
@@ -966,7 +966,7 @@ int ThreadResource::doApt() {
_vm->_currentVocId = 153;
}
- if (_vm->_voy._playStampMode == 16) {
+ if (_vm->_voy->_playStampMode == 16) {
hotspots[0].left = 999;
hotspots[3].left = 999;
_aptPos.x = hotspots[4].left + 28;
@@ -1015,7 +1015,7 @@ int ThreadResource::doApt() {
// Cursor is within hotspot area
// Don't allow the camera to be highlighted on Monday morning.
- if (idx == 0 && _vm->_voy._transitionId == 17)
+ if (idx == 0 && _vm->_voy->_transitionId == 17)
continue;
// Set the highlighted hotspot Id
@@ -1024,7 +1024,7 @@ int ThreadResource::doApt() {
if (hotspotId != prevHotspotId) {
// Check for whether to replace hotspot Id for "Watch TV" for
// "Review the Tape" if player has already watched the TV
- if ((_vm->_voy._eventFlags & EVTFLAG_100) && (hotspotId == 2))
+ if ((_vm->_voy->_eventFlags & EVTFLAG_100) && (hotspotId == 2))
hotspotId = 5;
// Draw the text description for the highlighted hotspot
@@ -1063,23 +1063,23 @@ int ThreadResource::doApt() {
switch (hotspotId) {
case 0:
- _vm->_voy._aptLoadMode = 140;
+ _vm->_voy->_aptLoadMode = 140;
break;
case 1:
- _vm->_voy._aptLoadMode = 143;
+ _vm->_voy->_aptLoadMode = 143;
break;
case 2:
- _vm->_voy._aptLoadMode = 142;
+ _vm->_voy->_aptLoadMode = 142;
case 5:
- _vm->_voy._aptLoadMode = 141;
+ _vm->_voy->_aptLoadMode = 141;
break;
default:
- _vm->_voy._aptLoadMode = -1;
+ _vm->_voy->_aptLoadMode = -1;
break;
}
freeTheApt();
- if (_vm->_voy._transitionId == 1 && hotspotId == 0)
+ if (_vm->_voy->_transitionId == 1 && hotspotId == 0)
_vm->checkTransition();
if (!hotspotId)
@@ -1090,7 +1090,7 @@ int ThreadResource::doApt() {
void ThreadResource::doRoom() {
VoyeurEngine &vm = *_vm;
- SVoy &voy = vm._voy;
+ SVoy voy = *vm._voy;
vm.makeViewFinderP();
voy._fadingType = 0;
@@ -1198,14 +1198,14 @@ void ThreadResource::doRoom() {
vm.getComputerBrush();
_vm->flipPageAndWait();
- vm._voy.addComputerEventStart();
+ vm._voy->addComputerEventStart();
vm._eventsManager._mouseClicked = false;
vm._eventsManager.startCursorBlink();
int totalChars = vm.doComputerText(9999);
if (totalChars)
- vm._voy.addComputerEventEnd(totalChars);
+ vm._voy->addComputerEventEnd(totalChars);
vm._bVoy->freeBoltGroup(0x4900);
} else {
@@ -1285,35 +1285,35 @@ int ThreadResource::doInterface() {
PictureResource *pic;
Common::Point pt;
- _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED;
- if (_vm->_voy._abortInterface) {
- _vm->_voy._abortInterface = false;
+ _vm->_voy->_eventFlags |= EVTFLAG_TIME_DISABLED;
+ if (_vm->_voy->_abortInterface) {
+ _vm->_voy->_abortInterface = false;
return -2;
}
- _vm->_voy._eventFlags &= ~EVTFLAG_100;
+ _vm->_voy->_eventFlags &= ~EVTFLAG_100;
_vm->_playStampGroupId = -1;
_vm->_eventsManager._intPtr._flashStep = 1;
_vm->_eventsManager._intPtr._flashTimer = 0;
- if (_vm->_voy._RTVNum >= _vm->_voy._RTVLimit || _vm->_voy._RTVNum < 0)
- _vm->_voy._RTVNum = _vm->_voy._RTVLimit - 1;
+ if (_vm->_voy->_RTVNum >= _vm->_voy->_RTVLimit || _vm->_voy->_RTVNum < 0)
+ _vm->_voy->_RTVNum = _vm->_voy->_RTVLimit - 1;
- if (_vm->_voy._transitionId < 15 && _vm->_debugger._isTimeActive &&
- (_vm->_voy._RTVLimit - 3) < _vm->_voy._RTVNum) {
- _vm->_voy._RTVNum = _vm->_voy._RTVLimit;
+ if (_vm->_voy->_transitionId < 15 && _vm->_debugger._isTimeActive &&
+ (_vm->_voy->_RTVLimit - 3) < _vm->_voy->_RTVNum) {
+ _vm->_voy->_RTVNum = _vm->_voy->_RTVLimit;
_vm->makeViewFinder();
_vm->initIFace();
- _vm->_voy._RTVNum = _vm->_voy._RTVLimit - 4;
- _vm->_voy._eventFlags &= ~EVTFLAG_TIME_DISABLED;
+ _vm->_voy->_RTVNum = _vm->_voy->_RTVLimit - 4;
+ _vm->_voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED;
- while (!_vm->shouldQuit() && _vm->_voy._RTVNum < _vm->_voy._RTVLimit) {
+ while (!_vm->shouldQuit() && _vm->_voy->_RTVNum < _vm->_voy->_RTVLimit) {
_vm->flashTimeBar();
_vm->_eventsManager.delayClick(1);
}
- _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED;
+ _vm->_voy->_eventFlags |= EVTFLAG_TIME_DISABLED;
chooseSTAMPButton(20);
parsePlayCommands();
}
@@ -1326,7 +1326,7 @@ int ThreadResource::doInterface() {
Common::Array<RectEntry> *hotspots = &_vm->_bVoy->boltEntry(
_vm->_playStampGroupId + 1)._rectResource->_entries;
_vm->_currentVocId = 151 - _vm->getRandomNumber(5);
- _vm->_voy._vocSecondsOffset = _vm->getRandomNumber(29);
+ _vm->_voy->_vocSecondsOffset = _vm->getRandomNumber(29);
Common::String fname = _vm->_soundManager.getVOCFileName(_vm->_currentVocId);
_vm->_soundManager.startVOCPlay(fname);
@@ -1334,7 +1334,7 @@ int ThreadResource::doInterface() {
_vm->_graphicsManager.setColor(240, 220, 220, 220);
_vm->_eventsManager._intPtr._hasPalette = true;
- _vm->_voy._eventFlags &= ~EVTFLAG_TIME_DISABLED;
+ _vm->_voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED;
// Set the cusor
PictureResource *crosshairsCursor = _vm->_bVoy->boltEntry(0x112)._picResource;
@@ -1376,13 +1376,13 @@ int ThreadResource::doInterface() {
if ((*hotspots)[hotspotIdx].contains(pt)) {
// Rect check done
for (int arrIndex = 0; arrIndex < 3; ++arrIndex) {
- if (_vm->_voy._audioHotspotTimes.isInRange(arrIndex, hotspotIdx, _vm->_voy._RTVNum)) {
+ if (_vm->_voy->_audioHotspotTimes.isInRange(arrIndex, hotspotIdx, _vm->_voy->_RTVNum)) {
// Set the ear cursor for an audio event
_vm->_eventsManager.setCursor(listenCursor);
regionIndex = hotspotIdx;
}
- if (_vm->_voy._evidenceHotspotTimes.isInRange(arrIndex, hotspotIdx, _vm->_voy._RTVNum)) {
+ if (_vm->_voy->_evidenceHotspotTimes.isInRange(arrIndex, hotspotIdx, _vm->_voy->_RTVNum)) {
// Set the magnifier cursor for an evidence event
_vm->_eventsManager.setCursor(mangifyCursor);
regionIndex = hotspotIdx;
@@ -1390,7 +1390,7 @@ int ThreadResource::doInterface() {
}
for (int arrIndex = 0; arrIndex < 8; ++arrIndex) {
- if (_vm->_voy._videoHotspotTimes.isInRange(arrIndex, hotspotIdx, _vm->_voy._RTVNum)) {
+ if (_vm->_voy->_videoHotspotTimes.isInRange(arrIndex, hotspotIdx, _vm->_voy->_RTVNum)) {
// Set the eye cursor for a video event
_vm->_eventsManager.setCursor(eyeCursor);
regionIndex = hotspotIdx;
@@ -1405,42 +1405,42 @@ int ThreadResource::doInterface() {
}
// Regularly update the time display
- if (_vm->_voy._RTANum & 2) {
+ if (_vm->_voy->_RTANum & 2) {
_vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort,
_vm->_gameMinute / 10, Common::Point(190, 25));
_vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort,
_vm->_gameMinute % 10, Common::Point(201, 25));
- if (_vm->_voy._RTANum & 4) {
+ if (_vm->_voy->_RTANum & 4) {
int v = _vm->_gameHour / 10;
_vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort,
v == 0 ? 10 : v, Common::Point(161, 25));
_vm->_graphicsManager.drawANumber(*_vm->_graphicsManager._vPort,
_vm->_gameHour % 10, Common::Point(172, 25));
- pic = _vm->_bVoy->boltEntry(_vm->_voy._isAM ? 272 : 273)._picResource;
+ pic = _vm->_bVoy->boltEntry(_vm->_voy->_isAM ? 272 : 273)._picResource;
_vm->_graphicsManager.sDrawPic(pic, *_vm->_graphicsManager._vPort,
Common::Point(215, 27));
}
}
- _vm->_voy._RTANum = 0;
+ _vm->_voy->_RTANum = 0;
_vm->flipPageAndWait();
pt = _vm->_eventsManager.getMousePos();
- if ((_vm->_voy._RTVNum >= _vm->_voy._RTVLimit) || ((_vm->_voy._eventFlags & 0x80) &&
+ if ((_vm->_voy->_RTVNum >= _vm->_voy->_RTVLimit) || ((_vm->_voy->_eventFlags & 0x80) &&
_vm->_eventsManager._rightClick && (pt.x == 0))) {
// Time to transition to the next time period
_vm->_eventsManager.getMouseInfo();
- if (_vm->_voy._transitionId == 15) {
+ if (_vm->_voy->_transitionId == 15) {
regionIndex = 20;
- _vm->_voy._transitionId = 17;
+ _vm->_voy->_transitionId = 17;
_vm->_soundManager.stopVOCPlay();
_vm->checkTransition();
_vm->_eventsManager._leftClick = true;
} else {
- _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED;
+ _vm->_voy->_eventFlags |= EVTFLAG_TIME_DISABLED;
chooseSTAMPButton(20);
parsePlayCommands();
@@ -1452,7 +1452,7 @@ int ThreadResource::doInterface() {
hotspots = &_vm->_bVoy->boltEntry(_vm->_playStampGroupId + 1)._rectResource->_entries;
_vm->_eventsManager.getMouseInfo();
- _vm->_voy._eventFlags &= ~EVTFLAG_TIME_DISABLED;
+ _vm->_voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED;
_vm->_eventsManager._intPtr._flashStep = 1;
_vm->_eventsManager._intPtr._flashTimer = 0;
}
@@ -1461,7 +1461,7 @@ int ThreadResource::doInterface() {
(!_vm->_eventsManager._leftClick || regionIndex == -1));
_vm->_eventsManager.hideCursor();
- _vm->_voy._eventFlags |= EVTFLAG_TIME_DISABLED;
+ _vm->_voy->_eventFlags |= EVTFLAG_TIME_DISABLED;
_vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId);
if (_vm->_currentVocId != -1)
_vm->_soundManager.stopVOCPlay();
@@ -1550,7 +1550,7 @@ void ThreadResource::clearButtonFlag(int idx, byte bits) {
}
void ThreadResource::loadTheApt() {
- switch (_vm->_voy._transitionId) {
+ switch (_vm->_voy->_transitionId) {
case 1:
case 2:
case 5:
@@ -1578,13 +1578,13 @@ void ThreadResource::loadTheApt() {
break;
}
- if (_vm->_voy._aptLoadMode == 143)
- _vm->_voy._aptLoadMode = -1;
+ if (_vm->_voy->_aptLoadMode == 143)
+ _vm->_voy->_aptLoadMode = -1;
- if (_vm->_voy._aptLoadMode != -1) {
+ if (_vm->_voy->_aptLoadMode != -1) {
doAptAnim(1);
_vm->_bVoy->getBoltGroup(_vm->_playStampGroupId);
- _vm->_voy._aptLoadMode = -1;
+ _vm->_voy->_aptLoadMode = -1;
_vm->_graphicsManager._backgroundPage = _vm->_bVoy->boltEntry(
_vm->_playStampGroupId + 5)._picResource;
(*_vm->_graphicsManager._vPort)->setupViewPort(
@@ -1614,13 +1614,13 @@ void ThreadResource::freeTheApt() {
_vm->_currentVocId = -1;
}
- if (_vm->_voy._aptLoadMode == -1) {
+ if (_vm->_voy->_aptLoadMode == -1) {
_vm->_graphicsManager.fadeDownICF(6);
} else {
doAptAnim(2);
}
- if (_vm->_voy._aptLoadMode == 140) {
+ if (_vm->_voy->_aptLoadMode == 140) {
_vm->_graphicsManager.screenReset();
_vm->_graphicsManager.resetPalette();
}
@@ -1628,7 +1628,7 @@ void ThreadResource::freeTheApt() {
(*_vm->_graphicsManager._vPort)->setupViewPort(nullptr);
_vm->_bVoy->freeBoltGroup(_vm->_playStampGroupId);
_vm->_playStampGroupId = -1;
- _vm->_voy._viewBounds = nullptr;
+ _vm->_voy->_viewBounds = nullptr;
}
void ThreadResource::doAptAnim(int mode) {
@@ -1636,7 +1636,7 @@ void ThreadResource::doAptAnim(int mode) {
// Figure out the resource to use
int id = 0;
- switch (_vm->_voy._aptLoadMode) {
+ switch (_vm->_voy->_aptLoadMode) {
case 140:
id = 0x5A00;
break;
@@ -1657,7 +1657,7 @@ void ThreadResource::doAptAnim(int mode) {
}
int id2 = (id == 0x6C00 || id == 0x6F00) ? 1 : 2;
- switch (_vm->_voy._transitionId) {
+ switch (_vm->_voy->_transitionId) {
case 3:
id += id2 << 8;
break;
diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp
index 5bf314ecf5..0f70a23cf2 100644
--- a/engines/voyeur/graphics.cpp
+++ b/engines/voyeur/graphics.cpp
@@ -999,45 +999,45 @@ void GraphicsManager::screenReset() {
void GraphicsManager::fadeDownICF1(int steps) {
if (steps > 0) {
- int stepAmount = _vm->_voy._fadingAmount2 / steps;
+ int stepAmount = _vm->_voy->_fadingAmount2 / steps;
for (int idx = 0; idx < steps; ++idx) {
- _vm->_voy._fadingAmount2 -= stepAmount;
+ _vm->_voy->_fadingAmount2 -= stepAmount;
_vm->_eventsManager.delay(1);
}
}
- _vm->_voy._fadingAmount2 = 0;
+ _vm->_voy->_fadingAmount2 = 0;
}
void GraphicsManager::fadeUpICF1(int steps) {
if (steps > 0) {
- int stepAmount = (63 - _vm->_voy._fadingAmount2) / steps;
+ int stepAmount = (63 - _vm->_voy->_fadingAmount2) / steps;
for (int idx = 0; idx < steps; ++idx) {
- _vm->_voy._fadingAmount2 += stepAmount;
+ _vm->_voy->_fadingAmount2 += stepAmount;
_vm->_eventsManager.delay(1);
}
}
- _vm->_voy._fadingAmount2 = 63;
+ _vm->_voy->_fadingAmount2 = 63;
}
void GraphicsManager::fadeDownICF(int steps) {
if (steps > 0) {
_vm->_eventsManager.hideCursor();
- int stepAmount1 = _vm->_voy._fadingAmount1 / steps;
- int stepAmount2 = _vm->_voy._fadingAmount2 / steps;
+ int stepAmount1 = _vm->_voy->_fadingAmount1 / steps;
+ int stepAmount2 = _vm->_voy->_fadingAmount2 / steps;
for (int idx = 0; idx < steps; ++idx) {
- _vm->_voy._fadingAmount1 -= stepAmount1;
- _vm->_voy._fadingAmount2 -= stepAmount2;
+ _vm->_voy->_fadingAmount1 -= stepAmount1;
+ _vm->_voy->_fadingAmount2 -= stepAmount2;
_vm->_eventsManager.delay(1);
}
}
- _vm->_voy._fadingAmount1 = 0;
- _vm->_voy._fadingAmount2 = 0;
+ _vm->_voy->_fadingAmount1 = 0;
+ _vm->_voy->_fadingAmount2 = 0;
}
void GraphicsManager::drawDot() {
diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp
index 6a9244b9f5..abb539f883 100644
--- a/engines/voyeur/voyeur.cpp
+++ b/engines/voyeur/voyeur.cpp
@@ -39,6 +39,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc)
_gameDescription(gameDesc), _randomSource("Voyeur"), _soundManager(_mixer),
_defaultFontInfo(3, 0xff, 0xff, 0, 0, ALIGN_LEFT, 0, Common::Point(), 1, 1,
Common::Point(1, 1), 1, 0, 0) {
+ _voy = nullptr;
_bVoy = NULL;
_iForceDeath = ConfMan.getInt("boot_param");
@@ -66,6 +67,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc)
VoyeurEngine::~VoyeurEngine() {
delete _bVoy;
+ delete _voy;
}
Common::Error VoyeurEngine::run() {
@@ -75,7 +77,7 @@ Common::Error VoyeurEngine::run() {
// The original allows the victim to be explicitly specified via the command line.
// This is possible in ScummVM by using a boot parameter.
if (_iForceDeath >= 1 && _iForceDeath <= 4)
- _voy._eventFlags |= EVTFLAG_VICTIM_PRESET;
+ _voy->_eventFlags |= EVTFLAG_VICTIM_PRESET;
if (doHeadTitle()) {
playStamp();
@@ -97,7 +99,7 @@ void VoyeurEngine::initializeManagers() {
_filesManager.setVm(this);
_graphicsManager.setVm(this);
_soundManager.setVm(this);
- _voy.setVm(this);
+ _voy = new SVoy(this);
}
void VoyeurEngine::ESP_Init() {
@@ -119,7 +121,7 @@ void VoyeurEngine::globalInitBolt() {
assert(_graphicsManager._fontPtr->_curFont);
// Setup default flags
- _voy._viewBounds = nullptr;
+ _voy->_viewBounds = nullptr;
_eventsManager.addFadeInt();
}
@@ -176,21 +178,21 @@ bool VoyeurEngine::doHeadTitle() {
doTransitionCard("Saturday Afternoon", "Player's Apartment");
_eventsManager.delayClick(90);
- if (_voy._eventFlags & EVTFLAG_VICTIM_PRESET) {
+ if (_voy->_eventFlags & EVTFLAG_VICTIM_PRESET) {
// Preset victim turned on, so add a default set of incriminating videos
- _voy.addEvent(18, 1, EVTYPE_VIDEO, 33, 0, 998, -1);
- _voy.addEvent(18, 2, EVTYPE_VIDEO, 41, 0, 998, -1);
- _voy.addEvent(18, 3, EVTYPE_VIDEO, 47, 0, 998, -1);
- _voy.addEvent(18, 4, EVTYPE_VIDEO, 53, 0, 998, -1);
- _voy.addEvent(18, 5, EVTYPE_VIDEO, 46, 0, 998, -1);
- _voy.addEvent(18, 6, EVTYPE_VIDEO, 50, 0, 998, -1);
- _voy.addEvent(18, 7, EVTYPE_VIDEO, 40, 0, 998, -1);
- _voy.addEvent(18, 8, EVTYPE_VIDEO, 43, 0, 998, -1);
- _voy.addEvent(19, 1, EVTYPE_AUDIO, 20, 0, 998, -1);
+ _voy->addEvent(18, 1, EVTYPE_VIDEO, 33, 0, 998, -1);
+ _voy->addEvent(18, 2, EVTYPE_VIDEO, 41, 0, 998, -1);
+ _voy->addEvent(18, 3, EVTYPE_VIDEO, 47, 0, 998, -1);
+ _voy->addEvent(18, 4, EVTYPE_VIDEO, 53, 0, 998, -1);
+ _voy->addEvent(18, 5, EVTYPE_VIDEO, 46, 0, 998, -1);
+ _voy->addEvent(18, 6, EVTYPE_VIDEO, 50, 0, 998, -1);
+ _voy->addEvent(18, 7, EVTYPE_VIDEO, 40, 0, 998, -1);
+ _voy->addEvent(18, 8, EVTYPE_VIDEO, 43, 0, 998, -1);
+ _voy->addEvent(19, 1, EVTYPE_AUDIO, 20, 0, 998, -1);
}
}
- _voy._aptLoadMode = 140;
+ _voy->_aptLoadMode = 140;
return true;
}
@@ -229,7 +231,7 @@ bool VoyeurEngine::doLock() {
byte *wrongVoc = _filesManager.fload("wrong.voc", &wrongVocSize);
if (_bVoy->getBoltGroup(0x700)) {
- _voy._viewBounds = _bVoy->boltEntry(0x704)._rectResource;
+ _voy->_viewBounds = _bVoy->boltEntry(0x704)._rectResource;
Common::String password = "3333";
PictureResource *cursorPic = _bVoy->getPictureResource(0x702);
@@ -374,7 +376,7 @@ bool VoyeurEngine::doLock() {
flipPageAndWait();
_graphicsManager.resetPalette();
- _voy._viewBounds = nullptr;
+ _voy->_viewBounds = nullptr;
_bVoy->freeBoltGroup(0x700);
}
@@ -438,17 +440,17 @@ void VoyeurEngine::doOpening() {
PictureResource *textPic = nullptr;
Common::Point textPos;
- _voy._vocSecondsOffset = 0;
- _voy._RTVNum = 0;
- _voy._audioVisualStartTime = _voy._RTVNum;
- _voy._eventFlags |= EVTFLAG_RECORDING;
+ _voy->_vocSecondsOffset = 0;
+ _voy->_RTVNum = 0;
+ _voy->_audioVisualStartTime = _voy->_RTVNum;
+ _voy->_eventFlags |= EVTFLAG_RECORDING;
_gameHour = 4;
_gameMinute = 0;
_audioVideoId = 1;
_eventsManager._videoDead = -1;
- _voy.addVideoEventStart();
+ _voy->addVideoEventStart();
- _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED;
+ _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED;
for (int i = 0; i < 256; ++i)
_graphicsManager.setColor(i, 8, 8, 8);
@@ -500,12 +502,12 @@ void VoyeurEngine::doOpening() {
g_system->delayMillis(10);
}
- if ((_voy._RTVNum - _voy._audioVisualStartTime) < 2)
+ if ((_voy->_RTVNum - _voy->_audioVisualStartTime) < 2)
_eventsManager.delay(60);
- _voy._eventFlags |= EVTFLAG_TIME_DISABLED;
- _voy.addVideoEventEnd();
- _voy._eventFlags &= ~EVTFLAG_RECORDING;
+ _voy->_eventFlags |= EVTFLAG_TIME_DISABLED;
+ _voy->addVideoEventEnd();
+ _voy->_eventFlags &= ~EVTFLAG_RECORDING;
_bVoy->freeBoltGroup(0x200);
}
@@ -552,7 +554,7 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) {
RL2Decoder decoder;
decoder.loadVideo(videoId);
- decoder.seek(Audio::Timestamp(_voy._vocSecondsOffset * 1000));
+ decoder.seek(Audio::Timestamp(_voy->_vocSecondsOffset * 1000));
decoder.start();
int endFrame = decoder.getCurFrame() + totalFrames;
@@ -566,7 +568,7 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) {
Common::copy((const byte *)frame->getPixels(), (const byte *)frame->getPixels() + 320 * 200,
(byte *)_graphicsManager._screenSurface.getPixels());
- if (_voy._eventFlags & EVTFLAG_RECORDING)
+ if (_voy->_eventFlags & EVTFLAG_RECORDING)
_graphicsManager.drawDot();
}
@@ -582,14 +584,14 @@ void VoyeurEngine::playAVideoDuration(int videoId, int duration) {
// RL2 finished
_graphicsManager.screenReset();
- _voy._eventFlags &= ~EVTFLAG_RECORDING;
+ _voy->_eventFlags &= ~EVTFLAG_RECORDING;
- if (_voy._eventFlags & EVTFLAG_8) {
+ if (_voy->_eventFlags & EVTFLAG_8) {
assert(pic);
byte *imgData = (*_graphicsManager._vPort)->_currentPic->_imgData;
(*_graphicsManager._vPort)->_currentPic->_imgData = pic->_imgData;
pic->_imgData = imgData;
- _voy._eventFlags &= ~EVTFLAG_8;
+ _voy->_eventFlags &= ~EVTFLAG_8;
}
}
@@ -604,26 +606,26 @@ void VoyeurEngine::playAudio(int audioId) {
_graphicsManager._backColors->startFade();
flipPageAndWaitForFade();
- _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED;
- _soundManager.setVOCOffset(_voy._vocSecondsOffset);
+ _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED;
+ _soundManager.setVOCOffset(_voy->_vocSecondsOffset);
Common::String filename = _soundManager.getVOCFileName(
audioId + 159);
_soundManager.startVOCPlay(filename);
- _voy._eventFlags |= EVTFLAG_RECORDING;
+ _voy->_eventFlags |= EVTFLAG_RECORDING;
_eventsManager.startCursorBlink();
while (!shouldQuit() && !_eventsManager._mouseClicked &&
_soundManager.getVOCStatus())
_eventsManager.delayClick(1);
- _voy._eventFlags |= EVTFLAG_TIME_DISABLED;
+ _voy->_eventFlags |= EVTFLAG_TIME_DISABLED;
_soundManager.stopVOCPlay();
_bVoy->freeBoltGroup(0x7F00);
(*_graphicsManager._vPort)->setupViewPort(NULL);
- _voy._eventFlags &= ~EVTFLAG_RECORDING;
- _voy._playStampMode = 129;
+ _voy->_eventFlags &= ~EVTFLAG_RECORDING;
+ _voy->_playStampMode = 129;
}
void VoyeurEngine::doTransitionCard(const Common::String &time, const Common::String &location) {
@@ -680,11 +682,11 @@ void VoyeurEngine::flipPageAndWaitForFade() {
}
void VoyeurEngine::showEndingNews() {
- _playStampGroupId = (_voy._incriminatedVictimNumber - 1) * 256 + 0x7700;
- _voy._boltGroupId2 = (_controlPtr->_state->_victimIndex - 1) * 256 + 0x7B00;
+ _playStampGroupId = (_voy->_incriminatedVictimNumber - 1) * 256 + 0x7700;
+ _voy->_boltGroupId2 = (_controlPtr->_state->_victimIndex - 1) * 256 + 0x7B00;
_bVoy->getBoltGroup(_playStampGroupId);
- _bVoy->getBoltGroup(_voy._boltGroupId2);
+ _bVoy->getBoltGroup(_voy->_boltGroupId2);
PictureResource *pic = _bVoy->boltEntry(_playStampGroupId)._picResource;
CMapResource *pal = _bVoy->boltEntry(_playStampGroupId + 1)._cMapResource;
@@ -697,8 +699,8 @@ void VoyeurEngine::showEndingNews() {
for (int idx = 1; idx < 4; ++idx) {
if (idx == 3) {
- pic = _bVoy->boltEntry(_voy._boltGroupId2)._picResource;
- pal = _bVoy->boltEntry(_voy._boltGroupId2 + 1)._cMapResource;
+ pic = _bVoy->boltEntry(_voy->_boltGroupId2)._picResource;
+ pal = _bVoy->boltEntry(_voy->_boltGroupId2 + 1)._cMapResource;
} else {
pic = _bVoy->boltEntry(_playStampGroupId + idx * 2)._picResource;
pal = _bVoy->boltEntry(_playStampGroupId + idx * 2 + 1)._cMapResource;
@@ -730,9 +732,9 @@ void VoyeurEngine::showEndingNews() {
}
_bVoy->freeBoltGroup(_playStampGroupId);
- _bVoy->freeBoltGroup(_voy._boltGroupId2);
+ _bVoy->freeBoltGroup(_voy->_boltGroupId2);
_playStampGroupId = -1;
- _voy._boltGroupId2 = -1;
+ _voy->_boltGroupId2 = -1;
}
/*------------------------------------------------------------------------*/
@@ -772,7 +774,7 @@ void VoyeurEngine::loadGame(int slot) {
Common::Serializer serializer(saveFile, NULL);
// Store the current time index before the game is loaded
- _checkTransitionId = _voy._transitionId;
+ _checkTransitionId = _voy->_transitionId;
// Stop any playing sound
_soundManager.stopVOCPlay();
@@ -838,7 +840,7 @@ void VoyeurEngine::synchronize(Common::Serializer &s) {
s.syncAsSint16LE(_checkPhoneVal);
// Sub-systems
- _voy.synchronize(s);
+ _voy->synchronize(s);
_graphicsManager.synchronize(s);
_mainThread->synchronize(s);
_controlPtr->_state->synchronize(s);
diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h
index 445c122591..032ef24996 100644
--- a/engines/voyeur/voyeur.h
+++ b/engines/voyeur/voyeur.h
@@ -162,7 +162,7 @@ public:
FilesManager _filesManager;
GraphicsManager _graphicsManager;
SoundManager _soundManager;
- SVoy _voy;
+ SVoy *_voy;
BoltFile *_stampLibPtr;
BoltGroup *_controlGroupPtr;
diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp
index f928642fe0..5a6f872c80 100644
--- a/engines/voyeur/voyeur_game.cpp
+++ b/engines/voyeur/voyeur_game.cpp
@@ -41,10 +41,10 @@ void VoyeurEngine::playStamp() {
_mainThread = threadsList->_entries[0]->_threadResource;
_mainThread->initThreadStruct(0, 0);
- _voy._isAM = false;
+ _voy->_isAM = false;
_gameHour = 9;
_gameMinute = 0;
- _voy._abortInterface = true;
+ _voy->_abortInterface = true;
int buttonId;
bool breakFlag = false;
@@ -56,31 +56,31 @@ void VoyeurEngine::playStamp() {
_mainThread->parsePlayCommands();
- bool flag = breakFlag = (_voy._eventFlags & EVTFLAG_2) != 0;
+ bool flag = breakFlag = (_voy->_eventFlags & EVTFLAG_2) != 0;
- switch (_voy._playStampMode) {
+ switch (_voy->_playStampMode) {
case 5:
buttonId = _mainThread->doInterface();
if (buttonId == -2) {
switch (_mainThread->doApt()) {
case 0:
- _voy._aptLoadMode = 140;
+ _voy->_aptLoadMode = 140;
break;
case 1:
- _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED;
- _voy._abortInterface = true;
+ _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED;
+ _voy->_abortInterface = true;
_mainThread->chooseSTAMPButton(22);
- _voy._aptLoadMode = 143;
+ _voy->_aptLoadMode = 143;
break;
case 2:
- _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED;
+ _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED;
reviewTape();
- _voy._abortInterface = true;
- _voy._aptLoadMode = 142;
+ _voy->_abortInterface = true;
+ _voy->_aptLoadMode = 142;
break;
case 3:
- _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED;
+ _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED;
_mainThread->chooseSTAMPButton(21);
break;
case 4:
@@ -88,9 +88,9 @@ void VoyeurEngine::playStamp() {
break;
case 5:
doGossip();
- _voy._abortInterface = true;
- _voy._aptLoadMode = 141;
- _voy._eventFlags &= ~EVTFLAG_100;
+ _voy->_abortInterface = true;
+ _voy->_aptLoadMode = 141;
+ _voy->_eventFlags &= ~EVTFLAG_100;
break;
default:
break;
@@ -108,7 +108,7 @@ void VoyeurEngine::playStamp() {
break;
case 16:
- _voy._transitionId = 17;
+ _voy->_transitionId = 17;
buttonId = _mainThread->doApt();
switch (buttonId) {
@@ -118,7 +118,7 @@ void VoyeurEngine::playStamp() {
break;
case 2:
reviewTape();
- _voy._abortInterface = true;
+ _voy->_abortInterface = true;
break;
case 4:
flag = true;
@@ -132,13 +132,13 @@ void VoyeurEngine::playStamp() {
case 17:
// Called the police, showing the tape
doTapePlaying();
- if (!checkForMurder() && _voy._transitionId <= 15)
+ if (!checkForMurder() && _voy->_transitionId <= 15)
checkForIncriminate();
- if (_voy._videoEventId != -1) {
+ if (_voy->_videoEventId != -1) {
// Show the found video that is of interest to the police
- playAVideoEvent(_voy._videoEventId);
- _voy._eventFlags &= ~EVTFLAG_RECORDING;
+ playAVideoEvent(_voy->_videoEventId);
+ _voy->_eventFlags &= ~EVTFLAG_RECORDING;
}
// Handle response
@@ -163,12 +163,12 @@ void VoyeurEngine::playStamp() {
flag = true;
if (buttonId != 4) {
- _voy._playStampMode = 131;
- _voy.checkForKey();
+ _voy->_playStampMode = 131;
+ _voy->checkForKey();
_mainThread->chooseSTAMPButton(buttonId);
} else {
_mainThread->chooseSTAMPButton(buttonId);
- _voy._abortInterface = true;
+ _voy->_abortInterface = true;
}
}
break;
@@ -187,9 +187,9 @@ void VoyeurEngine::playStamp() {
_audioVideoId = -1;
- if (_voy._boltGroupId2 != -1) {
- _bVoy->freeBoltGroup(_voy._boltGroupId2);
- _voy._boltGroupId2 = -1;
+ if (_voy->_boltGroupId2 != -1) {
+ _bVoy->freeBoltGroup(_voy->_boltGroupId2);
+ _voy->_boltGroupId2 = -1;
}
if (_playStampGroupId != -1) {
@@ -211,7 +211,7 @@ void VoyeurEngine::playStamp() {
} while (flag);
}
- _voy._viewBounds = nullptr;
+ _voy->_viewBounds = nullptr;
closeStamp();
_stampLibPtr->freeBoltGroup(0);
delete _stampLibPtr;
@@ -429,15 +429,15 @@ void VoyeurEngine::reviewTape() {
_bVoy->getBoltGroup(0x900);
PictureResource *cursor = _bVoy->boltEntry(0x903)._picResource;
- if ((_voy._eventCount - 8) != 0)
- eventStart = MAX(_voy._eventCount - 8, 0);
+ if ((_voy->_eventCount - 8) != 0)
+ eventStart = MAX(_voy->_eventCount - 8, 0);
- if ((eventStart + _voy._eventCount) <= 7)
- eventLine = eventStart + _voy._eventCount - 1;
+ if ((eventStart + _voy->_eventCount) <= 7)
+ eventLine = eventStart + _voy->_eventCount - 1;
bool breakFlag = false;
while (!shouldQuit() && !breakFlag) {
- _voy._viewBounds = _bVoy->boltEntry(0x907)._rectResource;
+ _voy->_viewBounds = _bVoy->boltEntry(0x907)._rectResource;
Common::Array<RectEntry> &hotspots = _bVoy->boltEntry(0x906)._rectResource->_entries;
_graphicsManager._backColors = _bVoy->boltEntry(0x902)._cMapResource;
@@ -470,11 +470,11 @@ void VoyeurEngine::reviewTape() {
}
_currentVocId = 151;
- _voy._vocSecondsOffset = 0;
+ _voy->_vocSecondsOffset = 0;
bool needRedraw = true;
do {
if (_currentVocId != -1 && !_soundManager.getVOCStatus()) {
- _voy._musicStartTime = _voy._RTVNum;
+ _voy->_musicStartTime = _voy->_RTVNum;
_soundManager.startVOCPlay(_currentVocId);
}
@@ -488,7 +488,7 @@ void VoyeurEngine::reviewTape() {
int yp = 45;
int eventNum = eventStart;
- for (int lineNum = 0; lineNum < 8 && eventNum < _voy._eventCount; ++lineNum, ++eventNum) {
+ for (int lineNum = 0; lineNum < 8 && eventNum < _voy->_eventCount; ++lineNum, ++eventNum) {
_graphicsManager._fontPtr->_picFlags = 0;
_graphicsManager._fontPtr->_picSelect = 0xff;
_graphicsManager._fontPtr->_picPick = 7;
@@ -532,7 +532,7 @@ void VoyeurEngine::reviewTape() {
if (tempPos.x >= 68 && tempPos.x <= 277 && tempPos.y >= 31 && tempPos.y <= 154) {
tempPos.y -= 2;
foundIndex = (tempPos.y - 31) / 15;
- if ((tempPos.y - 31) % 15 >= 12 || (eventStart + foundIndex) >= _voy._eventCount) {
+ if ((tempPos.y - 31) % 15 >= 12 || (eventStart + foundIndex) >= _voy->_eventCount) {
_eventsManager.setCursorColor(128, 0);
foundIndex = 999;
} else if (!_eventsManager._leftClick) {
@@ -550,7 +550,7 @@ void VoyeurEngine::reviewTape() {
int yp = 45;
int eventNum = eventStart;
- for (int idx = 0; idx < 8 && eventNum < _voy._eventCount; ++idx, ++eventNum) {
+ for (int idx = 0; idx < 8 && eventNum < _voy->_eventCount; ++idx, ++eventNum) {
_graphicsManager._fontPtr->_picFlags = 0;
_graphicsManager._fontPtr->_picSelect = 0xff;
_graphicsManager._fontPtr->_picPick = 7;
@@ -577,11 +577,11 @@ void VoyeurEngine::reviewTape() {
_eventsManager.getMouseInfo();
foundIndex = -1;
}
- } else if ((_voy._eventFlags & EVTFLAG_40) && _voy._viewBounds->left == pt.x &&
- _voy._viewBounds->bottom == pt.y) {
+ } else if ((_voy->_eventFlags & EVTFLAG_40) && _voy->_viewBounds->left == pt.x &&
+ _voy->_viewBounds->bottom == pt.y) {
foundIndex = 999;
- } else if ((_voy._eventFlags & EVTFLAG_40) && _voy._viewBounds->left == pt.x &&
- _voy._viewBounds->top == pt.y) {
+ } else if ((_voy->_eventFlags & EVTFLAG_40) && _voy->_viewBounds->left == pt.x &&
+ _voy->_viewBounds->top == pt.y) {
foundIndex = 998;
} else {
_eventsManager.setCursorColor(128, (foundIndex == -1) ? 0 : 1);
@@ -610,7 +610,7 @@ void VoyeurEngine::reviewTape() {
break;
case 4:
- if ((_voy._eventCount - 8) > eventStart) {
+ if ((_voy->_eventCount - 8) > eventStart) {
++eventStart;
needRedraw = true;
}
@@ -618,10 +618,10 @@ void VoyeurEngine::reviewTape() {
break;
case 5:
- if (_voy._eventCount >= 8 && (_voy._eventCount - 8) != eventStart) {
+ if (_voy->_eventCount >= 8 && (_voy->_eventCount - 8) != eventStart) {
eventStart += 8;
- if ((_voy._eventCount - 8) < eventStart)
- eventStart = _voy._eventCount - 8;
+ if ((_voy->_eventCount - 8) < eventStart)
+ eventStart = _voy->_eventCount - 8;
needRedraw = true;
}
foundIndex = -1;
@@ -631,13 +631,13 @@ void VoyeurEngine::reviewTape() {
break;
}
- while (eventLine > 0 && (eventLine + eventStart) >= _voy._eventCount)
+ while (eventLine > 0 && (eventLine + eventStart) >= _voy->_eventCount)
--eventLine;
}
pt = _eventsManager.getMousePos();
- if (_eventsManager._mouseClicked && _voy._viewBounds->left == pt.x &&
- (_voy._eventFlags & EVTFLAG_40) && _eventsManager._rightClick) {
+ if (_eventsManager._mouseClicked && _voy->_viewBounds->left == pt.x &&
+ (_voy->_eventFlags & EVTFLAG_40) && _eventsManager._rightClick) {
_controlPtr->_state->_victimIndex = (pt.y / 60) + 1;
foundIndex = -1;
_eventsManager._rightClick = 0;
@@ -649,12 +649,12 @@ void VoyeurEngine::reviewTape() {
} while (!shouldQuit() && (!_eventsManager._mouseClicked || foundIndex == -1));
newY = _eventsManager.getMousePos().y;
- _voy._fadingType = 0;
- _voy._viewBounds = nullptr;
+ _voy->_fadingType = 0;
+ _voy->_viewBounds = nullptr;
(*_graphicsManager._vPort)->setupViewPort(NULL);
if (_currentVocId != -1) {
- _voy._vocSecondsOffset = _voy._RTVNum - _voy._musicStartTime;
+ _voy->_vocSecondsOffset = _voy->_RTVNum - _voy->_musicStartTime;
_soundManager.stopVOCPlay();
}
@@ -663,7 +663,7 @@ void VoyeurEngine::reviewTape() {
break;
int eventIndex = eventStart + eventLine;
- VoyeurEvent &e = _voy._events[eventIndex];
+ VoyeurEvent &e = _voy->_events[eventIndex];
switch (e._type) {
case EVTYPE_VIDEO:
playAVideoEvent(eventIndex);
@@ -671,7 +671,7 @@ void VoyeurEngine::reviewTape() {
case EVTYPE_AUDIO: {
_audioVideoId = e._audioVideoId;
- _voy._vocSecondsOffset = e._computerOn;
+ _voy->_vocSecondsOffset = e._computerOn;
_bVoy->getBoltGroup(0x7F00);
_graphicsManager._backgroundPage = _bVoy->boltEntry(0x7F00 +
@@ -685,10 +685,10 @@ void VoyeurEngine::reviewTape() {
_eventsManager._intPtr._flashStep = 1;
_eventsManager._intPtr._flashTimer = 0;
- _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED;
+ _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED;
// Play suond for the given duration
- _soundManager.setVOCOffset(_voy._vocSecondsOffset);
+ _soundManager.setVOCOffset(_voy->_vocSecondsOffset);
_soundManager.startVOCPlay(_audioVideoId + 159);
uint32 secondsDuration = e._computerOff;
@@ -699,24 +699,24 @@ void VoyeurEngine::reviewTape() {
_eventsManager.delay(10);
}
- _voy._eventFlags |= EVTFLAG_TIME_DISABLED;
+ _voy->_eventFlags |= EVTFLAG_TIME_DISABLED;
_soundManager.stopVOCPlay();
_bVoy->freeBoltGroup(0x7F00);
break;
}
case EVTYPE_EVID:
- _voy.reviewAnEvidEvent(eventIndex);
+ _voy->reviewAnEvidEvent(eventIndex);
- _voy._vocSecondsOffset = _voy._RTVNum - _voy._musicStartTime;
+ _voy->_vocSecondsOffset = _voy->_RTVNum - _voy->_musicStartTime;
_soundManager.stopVOCPlay();
_bVoy->getBoltGroup(0x900);
break;
case EVTYPE_COMPUTER:
- _voy.reviewComputerEvent(eventIndex);
+ _voy->reviewComputerEvent(eventIndex);
- _voy._vocSecondsOffset = _voy._RTVNum - _voy._musicStartTime;
+ _voy->_vocSecondsOffset = _voy->_RTVNum - _voy->_musicStartTime;
_soundManager.stopVOCPlay();
_bVoy->getBoltGroup(0x900);
break;
@@ -809,8 +809,8 @@ void VoyeurEngine::doTapePlaying() {
bool VoyeurEngine::checkForMurder() {
int oldMurderIndex = _controlPtr->_state->_victimMurderIndex;
- for (int idx = 0; idx < _voy._eventCount; ++idx) {
- VoyeurEvent &evt = _voy._events[idx];
+ for (int idx = 0; idx < _voy->_eventCount; ++idx) {
+ VoyeurEvent &evt = _voy->_events[idx];
if (evt._type == EVTYPE_VIDEO) {
switch (_controlPtr->_state->_victimIndex) {
@@ -848,70 +848,70 @@ bool VoyeurEngine::checkForMurder() {
}
if (_controlPtr->_state->_victimMurderIndex == _controlPtr->_state->_victimIndex) {
- _voy._videoEventId = idx;
+ _voy->_videoEventId = idx;
return true;
}
}
_controlPtr->_state->_victimMurderIndex = oldMurderIndex;
- _voy._videoEventId = -1;
+ _voy->_videoEventId = -1;
return false;
}
bool VoyeurEngine::checkForIncriminate() {
- _voy._incriminatedVictimNumber = 0;
+ _voy->_incriminatedVictimNumber = 0;
- for (int idx = 0; idx < _voy._eventCount; ++idx) {
- VoyeurEvent &evt = _voy._events[idx];
+ for (int idx = 0; idx < _voy->_eventCount; ++idx) {
+ VoyeurEvent &evt = _voy->_events[idx];
if (evt._type == EVTYPE_VIDEO) {
if (evt._audioVideoId == 44 && evt._computerOn <= 40 &&
(evt._computerOff + evt._computerOn) >= 70) {
- _voy._incriminatedVictimNumber = 1;
+ _voy->_incriminatedVictimNumber = 1;
}
if (evt._audioVideoId == 44 && evt._computerOn <= 79 &&
(evt._computerOff + evt._computerOn) >= 129) {
- _voy._incriminatedVictimNumber = 1;
+ _voy->_incriminatedVictimNumber = 1;
}
if (evt._audioVideoId == 20 && evt._computerOn <= 28 &&
(evt._computerOff + evt._computerOn) >= 45) {
- _voy._incriminatedVictimNumber = 2;
+ _voy->_incriminatedVictimNumber = 2;
}
if (evt._audioVideoId == 35 && evt._computerOn <= 17 &&
(evt._computerOff + evt._computerOn) >= 36) {
- _voy._incriminatedVictimNumber = 3;
+ _voy->_incriminatedVictimNumber = 3;
}
if (evt._audioVideoId == 30 && evt._computerOn <= 80 &&
(evt._computerOff + evt._computerOn) >= 139) {
- _voy._incriminatedVictimNumber = 4;
+ _voy->_incriminatedVictimNumber = 4;
}
}
- if (_voy._incriminatedVictimNumber) {
+ if (_voy->_incriminatedVictimNumber) {
_controlPtr->_state->_victimMurderIndex = 88;
- _voy._videoEventId = idx;
+ _voy->_videoEventId = idx;
return true;
}
}
- _voy._videoEventId = -1;
+ _voy->_videoEventId = -1;
return false;
}
void VoyeurEngine::playAVideoEvent(int eventIndex) {
- VoyeurEvent &evt = _voy._events[eventIndex];
+ VoyeurEvent &evt = _voy->_events[eventIndex];
_audioVideoId = evt._audioVideoId;
- _voy._vocSecondsOffset = evt._computerOn;
+ _voy->_vocSecondsOffset = evt._computerOn;
_eventsManager._videoDead = evt._dead;
- _voy._eventFlags &= ~EVTFLAG_TIME_DISABLED;
+ _voy->_eventFlags &= ~EVTFLAG_TIME_DISABLED;
playAVideoDuration(_audioVideoId, evt._computerOff);
- _voy._eventFlags |= EVTFLAG_TIME_DISABLED;
+ _voy->_eventFlags |= EVTFLAG_TIME_DISABLED;
if (_eventsManager._videoDead != -1) {
_bVoy->freeBoltGroup(0xE00);
_eventsManager._videoDead = -1;
@@ -938,7 +938,7 @@ int VoyeurEngine::getChooseButton() {
_graphicsManager._backColors->startFade();
flipPageAndWait();
- _voy._viewBounds = _bVoy->boltEntry(_playStampGroupId + 7)._rectResource;
+ _voy->_viewBounds = _bVoy->boltEntry(_playStampGroupId + 7)._rectResource;
PictureResource *cursorPic = _bVoy->boltEntry(_playStampGroupId + 2)._picResource;
do {
@@ -952,7 +952,7 @@ int VoyeurEngine::getChooseButton() {
for (uint idx = 0; idx < hotspots.size(); ++idx) {
if (hotspots[idx].contains(pt)) {
- if (!_voy._victimMurdered || ((int)idx + 1) != _controlPtr->_state->_victimIndex) {
+ if (!_voy->_victimMurdered || ((int)idx + 1) != _controlPtr->_state->_victimIndex) {
selectedIndex = idx;
if (selectedIndex != prevIndex) {
PictureResource *btnPic = _bVoy->boltEntry(_playStampGroupId + 8 + idx)._picResource;
@@ -989,7 +989,7 @@ void VoyeurEngine::makeViewFinder() {
CMapResource *pal = _bVoy->boltEntry(0x104)._cMapResource;
int palOffset = 0;
- switch (_voy._transitionId) {
+ switch (_voy->_transitionId) {
case 1:
case 2:
case 5:
@@ -1037,7 +1037,7 @@ void VoyeurEngine::makeViewFinderP() {
void VoyeurEngine::initIFace() {
int playStamp1 = _playStampGroupId;
- switch (_voy._transitionId) {
+ switch (_voy->_transitionId) {
case 0:
break;
case 1:
@@ -1068,7 +1068,7 @@ void VoyeurEngine::initIFace() {
(MANSION_MAX_Y - MANSION_VIEW_HEIGHT) / 2);
doScroll(_mansionViewPos);
- _voy._viewBounds = _bVoy->boltEntry(_playStampGroupId)._rectResource;
+ _voy->_viewBounds = _bVoy->boltEntry(_playStampGroupId)._rectResource;
// Show the cursor using ScummVM functionality
_eventsManager.showCursor();
@@ -1083,7 +1083,7 @@ void VoyeurEngine::doScroll(const Common::Point &pt) {
(*_graphicsManager._vPort)->setupViewPort(NULL, &clipRect);
int base = 0;
- switch (_voy._transitionId) {
+ switch (_voy->_transitionId) {
case 0:
break;
case 1:
@@ -1121,7 +1121,7 @@ void VoyeurEngine::doScroll(const Common::Point &pt) {
void VoyeurEngine::checkTransition() {
Common::String time, day;
- if (_voy._transitionId != _checkTransitionId) {
+ if (_voy->_transitionId != _checkTransitionId) {
// Get the day
day = getDayName();
@@ -1137,12 +1137,12 @@ void VoyeurEngine::checkTransition() {
_eventsManager.delayClick(180);
}
- _checkTransitionId = _voy._transitionId;
+ _checkTransitionId = _voy->_transitionId;
}
}
Common::String VoyeurEngine::getDayName() {
- switch (_voy._transitionId) {
+ switch (_voy->_transitionId) {
case 0:
return "";
case 1:
@@ -1158,10 +1158,10 @@ Common::String VoyeurEngine::getDayName() {
}
Common::String VoyeurEngine::getTimeOfDay() {
- if (_voy._transitionId == 17)
+ if (_voy->_transitionId == 17)
return "";
- return Common::String::format("%d:%02d%s", _gameHour, _gameMinute, _voy._isAM ? AM : PM);
+ return Common::String::format("%d:%02d%s", _gameHour, _gameMinute, _voy->_isAM ? AM : PM);
}
int VoyeurEngine::doComputerText(int maxLen) {
@@ -1172,10 +1172,10 @@ int VoyeurEngine::doComputerText(int maxLen) {
font._foreColor = 129;
font._fontSaveBack = false;
font._fontFlags = 0;
- if (_voy._vocSecondsOffset > 60)
- _voy._vocSecondsOffset = 0;
+ if (_voy->_vocSecondsOffset > 60)
+ _voy->_vocSecondsOffset = 0;
- if (_voy._RTVNum > _voy._computerTimeMax && maxLen == 9999) {
+ if (_voy->_RTVNum > _voy->_computerTimeMax && maxLen == 9999) {
if (_currentVocId != -1)
_soundManager.startVOCPlay(_currentVocId);
font._justify = ALIGN_LEFT;
@@ -1183,7 +1183,7 @@ int VoyeurEngine::doComputerText(int maxLen) {
font._justifyHeight = 100;
font._pos = Common::Point(128, 100);
(*_graphicsManager._vPort)->drawText(END_OF_MESSAGE);
- } else if (_voy._RTVNum < _voy._computerTimeMin && maxLen == 9999) {
+ } else if (_voy->_RTVNum < _voy->_computerTimeMin && maxLen == 9999) {
if (_currentVocId != -1)
_soundManager.startVOCPlay(_currentVocId);
font._justify = ALIGN_LEFT;
@@ -1192,15 +1192,15 @@ int VoyeurEngine::doComputerText(int maxLen) {
font._pos = Common::Point(120, 100);
(*_graphicsManager._vPort)->drawText(START_OF_MESSAGE);
} else {
- char *msg = (char *)_bVoy->memberAddr(0x4900 + _voy._computerTextId);
+ char *msg = (char *)_bVoy->memberAddr(0x4900 + _voy->_computerTextId);
font._pos = Common::Point(96, 60);
bool showEnd = true;
int yp = 60;
do {
if (_currentVocId != -1 && !_soundManager.getVOCStatus()) {
- if (_voy._vocSecondsOffset > 60)
- _voy._vocSecondsOffset = 0;
+ if (_voy->_vocSecondsOffset > 60)
+ _voy->_vocSecondsOffset = 0;
_soundManager.startVOCPlay(_currentVocId);
}
@@ -1248,7 +1248,7 @@ int VoyeurEngine::doComputerText(int maxLen) {
} while (!shouldQuit() && !_eventsManager._mouseClicked && totalChars < maxLen);
- _voy._computerTimeMax = 0;
+ _voy->_computerTimeMax = 0;
}
flipPageAndWait();
@@ -1273,12 +1273,12 @@ void VoyeurEngine::getComputerBrush() {
void VoyeurEngine::doTimeBar() {
flashTimeBar();
- if (_voy._RTVLimit > 0) {
- if (_voy._RTVNum > _voy._RTVLimit || _voy._RTVNum < 0)
- _voy._RTVNum = _voy._RTVLimit - 1;
+ if (_voy->_RTVLimit > 0) {
+ if (_voy->_RTVNum > _voy->_RTVLimit || _voy->_RTVNum < 0)
+ _voy->_RTVNum = _voy->_RTVLimit - 1;
- _timeBarVal = _voy._RTVNum;
- int height = ((_voy._RTVLimit - _voy._RTVNum) * 59) / _voy._RTVLimit;
+ _timeBarVal = _voy->_RTVNum;
+ int height = ((_voy->_RTVLimit - _voy->_RTVNum) * 59) / _voy->_RTVLimit;
int fullHeight = MAX(151 - height, 93);
_graphicsManager._drawPtr->_penColor = 134;
@@ -1297,7 +1297,7 @@ void VoyeurEngine::doTimeBar() {
}
void VoyeurEngine::flashTimeBar() {
- if (_voy._RTVNum >= 0 && (_voy._RTVLimit - _voy._RTVNum) < 11 &&
+ if (_voy->_RTVNum >= 0 && (_voy->_RTVLimit - _voy->_RTVNum) < 11 &&
(_eventsManager._intPtr._flashTimer >= (_flashTimeVal + 15) ||
_eventsManager._intPtr._flashTimer < _flashTimeVal)) {
// Within camera low power range
@@ -1314,21 +1314,21 @@ void VoyeurEngine::flashTimeBar() {
}
void VoyeurEngine::checkPhoneCall() {
- if ((_voy._RTVLimit - _voy._RTVNum) >= 36 && _voy._totalPhoneCalls < 5 &&
+ if ((_voy->_RTVLimit - _voy->_RTVNum) >= 36 && _voy->_totalPhoneCalls < 5 &&
_currentVocId <= 151 && _currentVocId > 146) {
- if ((_voy._switchBGNum < _checkPhoneVal || _checkPhoneVal > 180) &&
+ if ((_voy->_switchBGNum < _checkPhoneVal || _checkPhoneVal > 180) &&
!_soundManager.getVOCStatus()) {
int soundIndex;
do {
soundIndex = getRandomNumber(4);
- } while (_voy._phoneCallsReceived[soundIndex]);
+ } while (_voy->_phoneCallsReceived[soundIndex]);
_currentVocId = 154 + soundIndex;
_soundManager.stopVOCPlay();
_soundManager.startVOCPlay(_currentVocId);
- _checkPhoneVal = _voy._switchBGNum;
- _voy._phoneCallsReceived[soundIndex] = true;
- ++_voy._totalPhoneCalls;
+ _checkPhoneVal = _voy->_switchBGNum;
+ _voy->_phoneCallsReceived[soundIndex] = true;
+ ++_voy->_totalPhoneCalls;
}
}
}
@@ -1338,31 +1338,31 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) {
flipPageAndWait();
if (_currentVocId != -1) {
- _voy._vocSecondsOffset = _voy._RTVNum - _voy._musicStartTime;
+ _voy->_vocSecondsOffset = _voy->_RTVNum - _voy->_musicStartTime;
_soundManager.stopVOCPlay();
}
- _bVoy->getBoltGroup(_voy._boltGroupId2);
- PictureResource *pic = _bVoy->boltEntry(_voy._boltGroupId2 + evidId * 2)._picResource;
+ _bVoy->getBoltGroup(_voy->_boltGroupId2);
+ PictureResource *pic = _bVoy->boltEntry(_voy->_boltGroupId2 + evidId * 2)._picResource;
_graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(
(384 - pic->_bounds.width()) / 2, (240 - pic->_bounds.height()) / 2));
- _bVoy->freeBoltMember(_voy._boltGroupId2 + evidId * 2);
+ _bVoy->freeBoltMember(_voy->_boltGroupId2 + evidId * 2);
- CMapResource *pal = _bVoy->boltEntry(_voy._boltGroupId2 + evidId * 2 + 1)._cMapResource;
+ CMapResource *pal = _bVoy->boltEntry(_voy->_boltGroupId2 + evidId * 2 + 1)._cMapResource;
pal->startFade();
while (!shouldQuit() && (_eventsManager._fadeStatus & 1))
_eventsManager.delay(1);
- _bVoy->freeBoltMember(_voy._boltGroupId2 + evidId * 2 + 1);
+ _bVoy->freeBoltMember(_voy->_boltGroupId2 + evidId * 2 + 1);
Common::Array<RectEntry> &hotspots = _bVoy->boltEntry(_playStampGroupId + 4)._rectResource->_entries;
int count = hotspots[evidId]._count;
if (count > 0) {
for (int idx = 1; idx <= count; ++idx) {
- _voy._evPicPtrs[idx - 1] = _bVoy->boltEntry(_voy._boltGroupId2 +
+ _voy->_evPicPtrs[idx - 1] = _bVoy->boltEntry(_voy->_boltGroupId2 +
(evidId + idx) * 2)._picResource;
- _voy._evCmPtrs[idx - 1] = _bVoy->boltEntry(_voy._boltGroupId2 +
+ _voy->_evCmPtrs[idx - 1] = _bVoy->boltEntry(_voy->_boltGroupId2 +
(evidId + idx) * 2 + 1)._cMapResource;
}
}
@@ -1371,7 +1371,7 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) {
_eventsManager.stopEvidDim();
if (eventId == 999)
- _voy.addEvidEventStart(evidId);
+ _voy->addEvidEventStart(evidId);
_eventsManager.getMouseInfo();
@@ -1382,8 +1382,8 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) {
_voyeurArea = AREA_EVIDENCE;
if (_currentVocId != -1 && !_soundManager.getVOCStatus()) {
- if (_voy._vocSecondsOffset > 60)
- _voy._vocSecondsOffset = 0;
+ if (_voy->_vocSecondsOffset > 60)
+ _voy->_vocSecondsOffset = 0;
_soundManager.startVOCPlay(_currentVocId);
}
@@ -1394,11 +1394,11 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) {
if (count == 0 || evidIdx >= eventId)
continue;
- pic = _voy._evPicPtrs[arrIndex];
+ pic = _voy->_evPicPtrs[arrIndex];
_graphicsManager.sDrawPic(pic, *_graphicsManager._vPort,
Common::Point((384 - pic->_bounds.width()) / 2,
(240 - pic->_bounds.height()) / 2));
- _voy._evCmPtrs[arrIndex]->startFade();
+ _voy->_evCmPtrs[arrIndex]->startFade();
while (!shouldQuit() && (_eventsManager._fadeStatus & 1))
_eventsManager.delay(1);
@@ -1411,11 +1411,11 @@ void VoyeurEngine::doEvidDisplay(int evidId, int eventId) {
}
if (eventId == 999)
- _voy.addEvidEventEnd(evidIdx);
+ _voy->addEvidEventEnd(evidIdx);
for (int idx = 1; idx <= hotspots[evidId]._count; ++idx) {
- _bVoy->freeBoltMember(_voy._boltGroupId2 + (evidId + idx) * 2);
- _bVoy->freeBoltMember(_voy._boltGroupId2 + (evidId + idx) * 2 + 1);
+ _bVoy->freeBoltMember(_voy->_boltGroupId2 + (evidId + idx) * 2);
+ _bVoy->freeBoltMember(_voy->_boltGroupId2 + (evidId + idx) * 2 + 1);
}
}