aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/voyeur/graphics.cpp4
-rw-r--r--engines/voyeur/graphics.h6
-rw-r--r--engines/voyeur/voyeur.cpp12
-rw-r--r--engines/voyeur/voyeur.h68
4 files changed, 89 insertions, 1 deletions
diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp
index 008b014be1..4763a2d551 100644
--- a/engines/voyeur/graphics.cpp
+++ b/engines/voyeur/graphics.cpp
@@ -24,4 +24,8 @@
namespace Voyeur {
+GraphicsManager::GraphicsManager() {
+ _palFlag = false;
+}
+
} // End of namespace Voyeur
diff --git a/engines/voyeur/graphics.h b/engines/voyeur/graphics.h
index f1b568e064..bac4787cc7 100644
--- a/engines/voyeur/graphics.h
+++ b/engines/voyeur/graphics.h
@@ -30,7 +30,11 @@ namespace Voyeur {
class GraphicsManager {
public:
- GraphicsManager() {}
+ bool _palFlag;
+public:
+ GraphicsManager();
+
+ void addFadeInt() { } // TODO;
};
} // End of namespace Voyeur
diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp
index 256a642de0..d20a916b35 100644
--- a/engines/voyeur/voyeur.cpp
+++ b/engines/voyeur/voyeur.cpp
@@ -101,6 +101,18 @@ void VoyeurEngine::globalInitBolt() {
_bVoyBoltFile->getBoltGroup(0x10100);
_fontPtr = _bVoyBoltFile->memberAddr(0x101);
+ // Setup default flags
+ Common::fill((byte *)&_voy, (byte *)&_voy + sizeof(SVoy), 0);
+ _voy._eCursorOff[0x74 / 2] = 1;
+ _voy._eCursorOff[0x68 / 2] = 0;
+ _voy._eventTable[0x3e6]._data3 = 63;
+ _voy._eventTable[0x3e6]._data4 = 63;
+ _voy._evidence[19] = 0;
+ _voy._evidence[17] = 0;
+ _voy._evidence[18] = 9999;
+
+ _voy._curICF0 = _graphicsManager._palFlag ? 0xFFFFA5E0 : 0x5F90;
+ _graphicsManager.addFadeInt();
}
} // End of namespace Voyeur
diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h
index fb30359130..a930c5d0c6 100644
--- a/engines/voyeur/voyeur.h
+++ b/engines/voyeur/voyeur.h
@@ -57,6 +57,73 @@ enum VoyeurDebugChannels {
struct VoyeurGameDescription;
+class Event {
+public:
+ int _hours;
+ int _minutes;
+ int _seconds;
+ int _type;
+ int _data1;
+ int _data2;
+ int _data3;
+ int _data4;
+};
+
+class SVoy {
+public:
+ int _delaySecs;
+ int _RTANum;
+ int _RTVNum;
+ int _switchBGNum;
+ int _group;
+ int _resolvePtr;
+ int _seconds;
+ int _minutes;
+ int _hours;
+ int _morning;
+ int _timeChangeFlag;
+ int _totalSeconds;
+ int _gameSeconds;
+ int _vCursorOn[160];
+ int _vCursorOff[160];
+ int _aCursorOn[60];
+ int _aCursorOff[60];
+ int _eCursorOn[60];
+ int _eCursorOff[60];
+ int _timeStart;
+ int _duration;
+ int _vidStart;
+ int _doApt;
+ int _function;
+ int _anim;
+ int _level;
+ int _levelDone;
+ int _flags;
+ int _evGroup;
+ byte *_evPicPtrs[6];
+ byte *_evCmPtrs[6];
+ int _audioTime;
+ int _phones[5];
+ int _numPhonesUsed;
+ int _evidence[20];
+ int _computerNum;
+ int _computerBut;
+ int _computerOn;
+ int _computerOff;
+ int _dead;
+ int _deadTime;
+ int _eventCnt;
+ Event _eventTable[1000];
+ int _curICF0;
+ int _curICF1;
+ int _fadeICF0;
+ int _fadeICF1;
+ int _fadeFunc;
+ int _lastInplay;
+ int _incriminate;
+ int _policeEvent;
+};
+
class VoyeurEngine : public Engine {
private:
const VoyeurGameDescription *_gameDescription;
@@ -67,6 +134,7 @@ private:
BoltFile *_bVoyBoltFile;
byte *_fontPtr;
+ SVoy _voy;
void ESP_Init();
void initialiseManagers();