aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/voyeur/files_threads.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/engines/voyeur/files_threads.cpp b/engines/voyeur/files_threads.cpp
index 8176a4f925..7ba3c5e62d 100644
--- a/engines/voyeur/files_threads.cpp
+++ b/engines/voyeur/files_threads.cpp
@@ -833,7 +833,15 @@ bool ThreadResource::goToStateID(int stackId, int sceneId) {
}
bool ThreadResource::goToState(int stackId, int sceneId) {
- error("TODO: goToState");
+ savePrevious();
+ if (stackId == -1 || loadAStack(stackId)) {
+ if (sceneId != -1)
+ _threadId = sceneId;
+
+ return doState();
+ } else {
+ return false;
+ }
}
void ThreadResource::savePrevious() {