mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-16 06:39:17 +00:00
VOYEUR: Extra control/group initialisation
This commit is contained in:
parent
a86b1c3d58
commit
ce3cb58d15
@ -558,6 +558,7 @@ void StampBoltFile::initControl() {
|
||||
_state._curMemberPtr->_controlResource = res = new ControlResource(_state,
|
||||
_state._curMemberPtr->_data);
|
||||
|
||||
_state._vm->_controlGroupPtr = _state._curGroupPtr;
|
||||
_state._vm->_controlPtr = res;
|
||||
}
|
||||
|
||||
|
@ -41,6 +41,7 @@ VoyeurEngine::VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc)
|
||||
_bVoy = NULL;
|
||||
_iForceDeath = -1;
|
||||
_controlPtr = NULL;
|
||||
_stampFlags = 0;
|
||||
|
||||
initialiseManagers();
|
||||
}
|
||||
|
@ -66,7 +66,6 @@ private:
|
||||
Common::Array<int> _resolves;
|
||||
FontInfoResource _defaultFontInfo;
|
||||
int _iForceDeath;
|
||||
byte *_stampData;
|
||||
|
||||
void ESP_Init();
|
||||
void initialiseManagers();
|
||||
@ -83,6 +82,8 @@ private:
|
||||
void doOpening();
|
||||
|
||||
void playStamp();
|
||||
void initStamp();
|
||||
void initUseCount();
|
||||
void initThreadStruct(byte *threadStruct);
|
||||
protected:
|
||||
// Engine APIs
|
||||
@ -97,7 +98,13 @@ public:
|
||||
SoundManager _soundManager;
|
||||
SVoy _voy;
|
||||
|
||||
BoltFile *_stampLibPtr;
|
||||
BoltGroup *_controlGroupPtr;
|
||||
ControlResource *_controlPtr;
|
||||
byte *_stampData;
|
||||
BoltGroup *_stackGroupPtr;
|
||||
int _stampFlags;
|
||||
int _stm_useCount[8];
|
||||
public:
|
||||
VoyeurEngine(OSystem *syst, const VoyeurGameDescription *gameDesc);
|
||||
virtual ~VoyeurEngine();
|
||||
|
@ -36,12 +36,14 @@ void VoyeurEngine::addVideoEventStart() {
|
||||
}
|
||||
|
||||
void VoyeurEngine::playStamp() {
|
||||
BoltFile *boltFile = NULL;
|
||||
_filesManager.openBoltLib("stampblt.blt", boltFile);
|
||||
_stampLibPtr = NULL;
|
||||
_filesManager.openBoltLib("stampblt.blt", _stampLibPtr);
|
||||
|
||||
boltFile->getBoltGroup(0x10000);
|
||||
_stampLibPtr->getBoltGroup(0x10000);
|
||||
_voy._resolvePtr = &RESOLVE_TABLE[0];
|
||||
PtrResource *threadsList = boltFile->boltEntry(3)._ptrResource;
|
||||
initStamp();
|
||||
|
||||
PtrResource *threadsList = _stampLibPtr->boltEntry(3)._ptrResource;
|
||||
byte *threadP = threadsList->_entries[0]->_data;
|
||||
initThreadStruct(threadP);
|
||||
|
||||
@ -59,6 +61,20 @@ void VoyeurEngine::playStamp() {
|
||||
_voy._field4386 = 0;
|
||||
}
|
||||
|
||||
void VoyeurEngine::initStamp() {
|
||||
_stampFlags &= ~1;
|
||||
_stackGroupPtr = _controlGroupPtr;
|
||||
|
||||
if (_controlPtr->_entries.size() == 0)
|
||||
error("No control entries");
|
||||
|
||||
initUseCount();
|
||||
}
|
||||
|
||||
void VoyeurEngine::initUseCount() {
|
||||
Common::fill(&_stm_useCount[0], &_stm_useCount[8], 0);
|
||||
}
|
||||
|
||||
void VoyeurEngine::initThreadStruct(byte *threadStruct) {
|
||||
// TODO
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user