VOYEUR: Fix for aborting out of sending someoneo the tape

This commit is contained in:
Paul Gilbert 2014-01-20 22:59:13 -05:00
parent 3fc2a80be6
commit b247d8d0a7
3 changed files with 11 additions and 2 deletions

View File

@ -39,6 +39,10 @@ void ThreadResource::init() {
ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): ThreadResource::ThreadResource(BoltFilesState &state, const byte *src):
_vm(state._vm) { _vm(state._vm) {
_threadId = READ_LE_UINT16(&src[0]);
_controlIndex = READ_LE_UINT16(&src[0]);
_field4 = READ_LE_UINT16(&src[0]);
_field6 = READ_LE_UINT16(&src[0]);
_flags = src[8]; _flags = src[8];
_ctlPtr = nullptr; _ctlPtr = nullptr;
_aptPos = Common::Point(-1, -1); _aptPos = Common::Point(-1, -1);
@ -71,6 +75,7 @@ bool ThreadResource::loadAStack(int idx) {
} }
_ctlPtr = _vm->_controlPtr->_entries[idx]; _ctlPtr = _vm->_controlPtr->_entries[idx];
_controlIndex = idx;
return true; return true;
} }

View File

@ -138,6 +138,11 @@ private:
bool checkForIncriminate(); bool checkForIncriminate();
void playAVideoEvent(int eventIndex); void playAVideoEvent(int eventIndex);
/**
* Shows the user a screen to select one of four characters to send the
* video tape to
*/
int getChooseButton(); int getChooseButton();
/** /**

View File

@ -155,11 +155,10 @@ void VoyeurEngine::playStamp() {
_playStampGroupId = -1; _playStampGroupId = -1;
flag = true; flag = true;
if (buttonId == 4) { if (buttonId != 4) {
_voy._field470 = 131; _voy._field470 = 131;
_eventsManager.checkForKey(); _eventsManager.checkForKey();
_mainThread->chooseSTAMPButton(buttonId); _mainThread->chooseSTAMPButton(buttonId);
flag = true;
} else { } else {
_mainThread->chooseSTAMPButton(buttonId); _mainThread->chooseSTAMPButton(buttonId);
_voy._field46E = true; _voy._field46E = true;