aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2014-01-20 22:59:13 -0500
committerPaul Gilbert2014-01-20 22:59:13 -0500
commitb247d8d0a739232820b10d4cf625f2c4b68116ca (patch)
tree45208e071ba39137fe9e7c7eca535b81528b95f2
parent3fc2a80be61717e4a40bdd9f7623ecb6d70293d7 (diff)
downloadscummvm-rg350-b247d8d0a739232820b10d4cf625f2c4b68116ca.tar.gz
scummvm-rg350-b247d8d0a739232820b10d4cf625f2c4b68116ca.tar.bz2
scummvm-rg350-b247d8d0a739232820b10d4cf625f2c4b68116ca.zip
VOYEUR: Fix for aborting out of sending someoneo the tape
-rw-r--r--engines/voyeur/files_threads.cpp5
-rw-r--r--engines/voyeur/voyeur.h5
-rw-r--r--engines/voyeur/voyeur_game.cpp3
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;