From b247d8d0a739232820b10d4cf625f2c4b68116ca Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 20 Jan 2014 22:59:13 -0500 Subject: VOYEUR: Fix for aborting out of sending someoneo the tape --- engines/voyeur/files_threads.cpp | 5 +++++ engines/voyeur/voyeur.h | 5 +++++ engines/voyeur/voyeur_game.cpp | 3 +-- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp index fac44c7fbc..7cd5e6e624 100644 --- a/engines/voyeur/files_threads.cpp +++ b/engines/voyeur/files_threads.cpp @@ -39,6 +39,10 @@ void ThreadResource::init() { ThreadResource::ThreadResource(BoltFilesState &state, const byte *src): _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]; _ctlPtr = nullptr; _aptPos = Common::Point(-1, -1); @@ -71,6 +75,7 @@ bool ThreadResource::loadAStack(int idx) { } _ctlPtr = _vm->_controlPtr->_entries[idx]; + _controlIndex = idx; return true; } diff --git a/engines/voyeur/voyeur.h b/engines/voyeur/voyeur.h index 33e924a26d..bdbf3c138e 100644 --- a/engines/voyeur/voyeur.h +++ b/engines/voyeur/voyeur.h @@ -138,6 +138,11 @@ private: bool checkForIncriminate(); void playAVideoEvent(int eventIndex); + + /** + * Shows the user a screen to select one of four characters to send the + * video tape to + */ int getChooseButton(); /** diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp index 030835c355..e5239171ad 100644 --- a/engines/voyeur/voyeur_game.cpp +++ b/engines/voyeur/voyeur_game.cpp @@ -155,11 +155,10 @@ void VoyeurEngine::playStamp() { _playStampGroupId = -1; flag = true; - if (buttonId == 4) { + if (buttonId != 4) { _voy._field470 = 131; _eventsManager.checkForKey(); _mainThread->chooseSTAMPButton(buttonId); - flag = true; } else { _mainThread->chooseSTAMPButton(buttonId); _voy._field46E = true; -- cgit v1.2.3