diff options
author | Paul Gilbert | 2014-01-06 22:54:46 -0500 |
---|---|---|
committer | Paul Gilbert | 2014-01-06 22:54:46 -0500 |
commit | 3eff4af3c514f75eaa6e91ab94fd644d69557341 (patch) | |
tree | 0675468de8bd57bb7621221d2b9edb1f0ada1543 /engines/voyeur/data.h | |
parent | 2a206ebd7f84b41ba93518a2c003ba67bedf72df (diff) | |
download | scummvm-rg350-3eff4af3c514f75eaa6e91ab94fd644d69557341.tar.gz scummvm-rg350-3eff4af3c514f75eaa6e91ab94fd644d69557341.tar.bz2 scummvm-rg350-3eff4af3c514f75eaa6e91ab94fd644d69557341.zip |
VOYEUR: Added new data source file
Diffstat (limited to 'engines/voyeur/data.h')
-rw-r--r-- | engines/voyeur/data.h | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/engines/voyeur/data.h b/engines/voyeur/data.h new file mode 100644 index 0000000000..03545adea3 --- /dev/null +++ b/engines/voyeur/data.h @@ -0,0 +1,140 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#ifndef VOYEUR_DATA_H +#define VOYEUR_DATA_H + +#include "common/scummsys.h" +#include "common/serializer.h" +#include "voyeur/files.h" + +namespace Voyeur { + +#define TOTAL_EVENTS 1000 + +enum VoyeurEventType { EVTYPE_VIDEO = 1, EVTYPE_AUDIO = 2, EVTYPE_EVID = 3, + EVTYPE_COMPUTER = 4 }; + +struct VoyeurEvent { + int _hour; + int _minute; + bool _isAM; + VoyeurEventType _type; + int _videoId; + int _computerOn; + int _computerOff; + int _dead; + + void synchronize(Common::Serializer &s); +}; + +class VoyeurEngne; + +class SVoy { +private: + VoyeurEngine *_vm; +public: + bool _isAM; + int _RTANum; + int _RTVNum; + int _switchBGNum; + int _arr1[8][20]; + int _arr2[8][20]; + int _arr3[3][20]; + int _arr4[3][20]; + int _arr5[3][20]; + int _arr6[3][20]; + int _arr7[20]; + + int _field468; + int _field46A; + int _vocSecondsOffset; + bool _field46E; + int _field470; + int _field472; + int _transitionId; + int _RTVLimit; + int _field478; + int _field47A; + PictureResource *_evPicPtrs[6]; + CMapResource *_evCmPtrs[6]; + int _field4AC; + int _field4AE[5]; + int _field4B8; + + int _computerTextId; + Common::Rect _rect4E4; + int _field4EC; + int _field4EE; + 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; + int _field437C; + int _field437E; + int _field4380; + int _field4382; + int _videoEventId; + RectResource *_viewBounds; + int _curICF0; + int _curICF1; + int _fadeICF0; + int _policeEvent; +public: + void setVm(VoyeurEngine *vm); + + /** + * Synchronise the data + */ + void synchronize(Common::Serializer &s); + + /** + * Add an event to the list of game events that have occurred + */ + void addEvent(int hour, int minute, VoyeurEventType type, int videoId, int on, + int off, int dead); + + void addVideoEventStart(); + void addVideoEventEnd(); + void addAudioEventStart(); + void addAudioEventEnd(); + void addEvidEventStart(int v); + void addEvidEventEnd(int dead); + void addComputerEventStart(); + void addComputerEventEnd(int v); +}; + +} // End of namespace Voyeur + +#endif /* VOYEUR_DATA_H */ |