diff options
author | Martin Kiewitz | 2015-06-08 16:41:41 +0200 |
---|---|---|
committer | Martin Kiewitz | 2015-06-08 16:41:41 +0200 |
commit | 65d94d3fb3e0a06219982cc0a8fb885c35b893b9 (patch) | |
tree | 8a8cf204201896139d3cf19b9e548f56c07d9157 /engines/sherlock/scalpel/scalpel.cpp | |
parent | 9e964b52b1c6d8711f690cf50af9675449fca094 (diff) | |
download | scummvm-rg350-65d94d3fb3e0a06219982cc0a8fb885c35b893b9.tar.gz scummvm-rg350-65d94d3fb3e0a06219982cc0a8fb885c35b893b9.tar.bz2 scummvm-rg350-65d94d3fb3e0a06219982cc0a8fb885c35b893b9.zip |
SHERLOCK: 3DO cel decoding support
Diffstat (limited to 'engines/sherlock/scalpel/scalpel.cpp')
-rw-r--r-- | engines/sherlock/scalpel/scalpel.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/engines/sherlock/scalpel/scalpel.cpp b/engines/sherlock/scalpel/scalpel.cpp index abca2997f6..35ef6648b0 100644 --- a/engines/sherlock/scalpel/scalpel.cpp +++ b/engines/sherlock/scalpel/scalpel.cpp @@ -533,9 +533,48 @@ bool ScalpelEngine::showCityCutscene3DO() { bool finished = _animation->play3DO("26open1", true, 1, 255, 2); + if (finished) { + // TODO: Both of these should actually fade into the screen + _screen->_backBuffer2.blitFrom(*_screen); + + // "London, England" + ImageFile3DO titleImage_London("title2a.cel"); + + _screen->transBlitFromUnscaled3DO(titleImage_London[0]._frame, Common::Point(10, 11)); + finished = _events->delay(1000, true); + + if (finished) { + // "November, 1888" + ImageFile3DO titleImage_November("title2b.cel"); + + _screen->transBlitFromUnscaled3DO(titleImage_November[0]._frame, Common::Point(101, 102)); + finished = _events->delay(5000, true); + + if (finished) { + _screen->blitFrom(_screen->_backBuffer2); + } + } + } + if (finished) finished = _animation->play3DO("26open2", true, 1, 0, 2); + if (finished) { + // "Sherlock Holmes" (title) + ImageFile3DO titleImage_SherlockHolmesTitle("title1ab.cel"); + + _screen->transBlitFromUnscaled3DO(titleImage_SherlockHolmesTitle[0]._frame, Common::Point(34, 21)); + finished = _events->delay(500, true); + + // Title should fade in, Copyright should be displayed a bit after that + if (finished) { + //ImageFile3DO titleImage_Copyright("title1c.cel"); + + //_screen->transBlitFromUnscaled3DO(titleImage_Copyright[0]._frame, Common::Point(4, 190)); + finished = _events->delay(3500, true); + } + // Title is supposed to get faded away after that + } return finished; } |