aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/graphics/portrait.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/engines/sci/graphics/portrait.cpp b/engines/sci/graphics/portrait.cpp
index c45ca914f9..0d591c3fa1 100644
--- a/engines/sci/graphics/portrait.cpp
+++ b/engines/sci/graphics/portrait.cpp
@@ -139,9 +139,6 @@ void Portrait::doit(Common::Point position, uint16 resourceId, uint16 noun, uint
Resource *syncResource = _resMan->findResource(syncResourceId, true);
uint syncOffset = 0;
- if (!syncResource)
- error("kPortrait: Could not open sync resource %d %X", resourceId, audioNumber);
-
// Set the portrait palette
_palette->set(&_portraitPalette, 1);
@@ -153,6 +150,13 @@ void Portrait::doit(Common::Point position, uint16 resourceId, uint16 noun, uint
_audio->stopAudio();
_audio->startAudio(resourceId, audioNumber);
+ if (!syncResource) {
+ // Getting the book in the book shop calls kPortrait where no sync exists
+ // TODO: find out what to do then
+ warning("kPortrait: no sync resource %d %X", resourceId, audioNumber);
+ return;
+ }
+
// Do animation depending on sync resource till audio is done playing
uint16 syncCue;
int timerPosition, curPosition;