aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/voyeur/data.h52
-rw-r--r--engines/voyeur/voyeur.h22
2 files changed, 61 insertions, 13 deletions
diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h
index db6ec988d7..b798e3880c 100644
--- a/engines/voyeur/data.h
+++ b/engines/voyeur/data.h
@@ -129,16 +129,6 @@ public:
int _field4F0;
int _field4F2;
- /**
- * Total number of game events that have occurred
- */
- int _eventCount;
-
- /**
- * List of game events that have occurred
- */
- VoyeurEvent _events[TOTAL_EVENTS];
-
int _field4376;
int _field4378;
int _field437A;
@@ -152,6 +142,9 @@ public:
int _curICF1;
int _fadeICF0;
int _policeEvent;
+
+ int _eventCount;
+ VoyeurEvent _events[TOTAL_EVENTS];
public:
SVoy();
void setVm(VoyeurEngine *vm);
@@ -167,15 +160,54 @@ public:
void addEvent(int hour, int minute, VoyeurEventType type, int audioVideoId,
int on, int off, int dead);
+ /**
+ * Adds the start of a video event happening
+ */
void addVideoEventStart();
+
+ /**
+ * Adds the finish of a video event happening
+ */
void addVideoEventEnd();
+
+ /**
+ * Adds the start of an audio event happening
+ */
void addAudioEventStart();
+
+ /**
+ * Adsd the finish of an audio event happening
+ */
void addAudioEventEnd();
+
+ /**
+ * Adds the start of an evidence event happening
+ */
void addEvidEventStart(int v);
+
+ /**
+ * Adds the finish of an evidence event happening
+ */
void addEvidEventEnd(int totalPages);
+
+ /**
+ * Adds the start of a computer event happening
+ */
void addComputerEventStart();
+
+ /**
+ * Adds the finish of a computer event happening
+ */
void addComputerEventEnd(int v);
+
+ /**
+ * Review a previously recorded evidence event
+ */
void reviewAnEvidEvent(int eventIndex);
+
+ /**
+ * Review a previously recorded computer event
+ */
void reviewComputerEvent(int eventIndex);
};
diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h
index e4b950d90f..f39c4a2d1d 100644
--- a/engines/voyeur/voyeur.h
+++ b/engines/voyeur/voyeur.h
@@ -177,9 +177,6 @@ public:
int _playStampGroupId;
int _currentVocId;
- /**
- * Id for the current video, audio, or evidence scene being viewed
- */
int _audioVideoId;
const int *_resolvePtr;
int _iForceDeath; // CHECKME: The original initializes it in ESP_init()
@@ -259,7 +256,16 @@ public:
*/
void doScroll(const Common::Point &pt);
+ /**
+ * Check for phone call
+ */
void checkPhoneCall();
+
+ /**
+ * Display evidence sequence from within a room
+ * Suspension of disbelief needed to believe that recording from a distance,
+ * you could still flip through the often pages of evidence for a single hotspot.
+ */
void doEvidDisplay(int evidId, int eventId);
/**
@@ -285,6 +291,9 @@ public:
#define VOYEUR_SAVEGAME_VERSION 1
+/**
+ * Header for Voyeur savegame files
+ */
struct VoyeurSavegameHeader {
uint8 _version;
Common::String _saveName;
@@ -293,7 +302,14 @@ struct VoyeurSavegameHeader {
int _saveHour, _saveMinutes;
int _totalFrames;
+ /**
+ * Read in the header from the specified file
+ */
bool read(Common::InSaveFile *f);
+
+ /**
+ * Write out header information to the specified file
+ */
void write(Common::OutSaveFile *f, VoyeurEngine *vm, const Common::String &saveName);
};