aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics/portrait.cpp
diff options
context:
space:
mode:
authorMartin Kiewitz2010-01-12 12:00:00 +0000
committerMartin Kiewitz2010-01-12 12:00:00 +0000
commit6a5dbf6db737e976513ca840c41dcb3a9a346a3b (patch)
treec2bb2eae6c2026b90f22fe0db40f2c62c30ebd6f /engines/sci/graphics/portrait.cpp
parentf2318e5fe4d80c3c04822734d73df54e89101e91 (diff)
downloadscummvm-rg350-6a5dbf6db737e976513ca840c41dcb3a9a346a3b.tar.gz
scummvm-rg350-6a5dbf6db737e976513ca840c41dcb3a9a346a3b.tar.bz2
scummvm-rg350-6a5dbf6db737e976513ca840c41dcb3a9a346a3b.zip
SCI: continue when kPortrait is called with no sync resource existant for mouth movement, prints warning() instead
svn-id: r47263
Diffstat (limited to 'engines/sci/graphics/portrait.cpp')
-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;