aboutsummaryrefslogtreecommitdiff
path: root/engines/voyeur/events.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/voyeur/events.cpp')
-rw-r--r--engines/voyeur/events.cpp85
1 files changed, 72 insertions, 13 deletions
diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp
index 6d38dc4695..1139b95cbf 100644
--- a/engines/voyeur/events.cpp
+++ b/engines/voyeur/events.cpp
@@ -44,19 +44,6 @@ IntNode::IntNode(uint16 curTime, uint16 timeReset, uint16 flags) {
/*------------------------------------------------------------------------*/
-VoyeurEvent::VoyeurEvent(int hour, int minute, bool isAM, int v4, int v5, int v6, int v7) {
- _hour = hour;
- _minute = minute;
- _isAM = isAM;
- _field6 = v4;
- _field8 = v5;
- _computerOn = v6;
- _dead = v7;
-}
-
-
-/*------------------------------------------------------------------------*/
-
IntData::IntData() {
_field9 = false;
_flipWait = false;
@@ -469,4 +456,76 @@ void EventsManager::incrementTime(int amt) {
mainVoyeurIntFunc();
}
+void EventsManager::addVideoEventStart() {
+ VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount];
+ e._hour = _vm->_gameHour;
+ e._minute = _vm->_gameMinute;
+ e._isAM = _vm->_voy._isAM;
+ e._type = EVTYPE_VIDEO;
+ e._field8 = _vm->_eventsManager._videoComputerBut4;
+ e._computerOn = _vm->_voy._vocSecondsOffset;
+ e._dead = _vm->_eventsManager._videoDead;
+}
+
+void EventsManager::addVideoEventEnd() {
+ VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount];
+ e._computerOff = _vm->_voy._RTVNum - _vm->_voy._field468 - _vm->_voy._vocSecondsOffset;
+ if (_vm->_voy._eventCount < (TOTAL_EVENTS - 1))
+ ++_vm->_voy._eventCount;
+}
+
+void EventsManager::addAudioEventStart() {
+ VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount];
+ e._hour = _vm->_gameHour;
+ e._minute = _vm->_gameMinute;
+ e._isAM = _vm->_voy._isAM;
+ e._type = EVTYPE_AUDIO;
+ e._field8 = _vm->_eventsManager._videoComputerBut4;
+ e._computerOn = _vm->_voy._field47A;
+ e._dead = _vm->_eventsManager._videoDead;
+}
+
+void EventsManager::addAudioEventEnd() {
+ VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount];
+ e._computerOff = _vm->_voy._RTVNum - _vm->_voy._field468 - _vm->_voy._vocSecondsOffset;
+ if (_vm->_voy._eventCount < (TOTAL_EVENTS - 1))
+ ++_vm->_voy._eventCount;
+}
+
+void EventsManager::addEvidEventStart(int v) {
+ VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount];
+ e._hour = _vm->_gameHour;
+ e._minute = _vm->_gameMinute;
+ e._isAM = _vm->_voy._isAM;
+ e._type = EVTYPE_EVID;
+ e._field8 = _vm->_eventsManager._videoComputerBut4;
+ e._computerOn = _vm->_voy._vocSecondsOffset;
+ e._dead = _vm->_eventsManager._videoDead;
+
+}
+
+void EventsManager::addEvidEventEnd(int dead) {
+ VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount];
+ e._dead = dead;
+ if (_vm->_voy._eventCount < (TOTAL_EVENTS - 1))
+ ++_vm->_voy._eventCount;
+}
+
+void EventsManager::addComputerEventStart() {
+ VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount];
+ e._hour = _vm->_gameHour;
+ e._minute = _vm->_gameMinute;
+ e._isAM = _vm->_voy._isAM;
+ e._type = EVTYPE_COMPUTER;
+ e._field8 = _vm->_playStamp1;
+ e._computerOn = _vm->_voy._computerTextId;
+}
+
+void EventsManager::addComputerEventEnd(int v) {
+ VoyeurEvent &e = _vm->_voy._events[_vm->_voy._eventCount];
+ e._computerOff = v;
+ if (_vm->_voy._eventCount < (TOTAL_EVENTS - 1))
+ ++_vm->_voy._eventCount;
+}
+
} // End of namespace Voyeur