2014-01-06 22:54:46 -05:00
|
|
|
/* 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;
|
2014-01-30 22:10:59 -05:00
|
|
|
int _audioVideoId;
|
2014-01-06 22:54:46 -05:00
|
|
|
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;
|
2014-01-19 21:58:55 -05:00
|
|
|
int _aptLoadMode;
|
2014-01-06 22:54:46 -05:00
|
|
|
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:
|
2014-01-19 23:00:18 -05:00
|
|
|
SVoy();
|
2014-01-06 22:54:46 -05:00
|
|
|
void setVm(VoyeurEngine *vm);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Synchronise the data
|
|
|
|
*/
|
|
|
|
void synchronize(Common::Serializer &s);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Add an event to the list of game events that have occurred
|
|
|
|
*/
|
2014-01-30 22:10:59 -05:00
|
|
|
void addEvent(int hour, int minute, VoyeurEventType type, int audioVideoId,
|
|
|
|
int on, int off, int dead);
|
2014-01-06 22:54:46 -05:00
|
|
|
|
|
|
|
void addVideoEventStart();
|
|
|
|
void addVideoEventEnd();
|
|
|
|
void addAudioEventStart();
|
|
|
|
void addAudioEventEnd();
|
|
|
|
void addEvidEventStart(int v);
|
2014-01-29 21:08:52 -05:00
|
|
|
void addEvidEventEnd(int totalPages);
|
2014-01-06 22:54:46 -05:00
|
|
|
void addComputerEventStart();
|
|
|
|
void addComputerEventEnd(int v);
|
2014-01-18 17:32:59 -05:00
|
|
|
void reviewAnEvidEvent(int eventIndex);
|
|
|
|
void reviewComputerEvent(int eventIndex);
|
2014-01-06 22:54:46 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
} // End of namespace Voyeur
|
|
|
|
|
|
|
|
#endif /* VOYEUR_DATA_H */
|