Skip to content

Commit

Permalink
SHERLOCK: 3DO intro cels added (+scream +note)
Browse files Browse the repository at this point in the history
  • Loading branch information
Martin Kiewitz committed Jun 8, 2015
1 parent 460d387 commit 856b52b
Showing 1 changed file with 97 additions and 1 deletion.
98 changes: 97 additions & 1 deletion engines/sherlock/scalpel/scalpel.cpp
Expand Up @@ -562,6 +562,8 @@ bool ScalpelEngine::showCityCutscene3DO() {
finished = _animation->play3DO("26open2", true, 1, 0, 2);

if (finished) {
_screen->_backBuffer2.blitFrom(*_screen);

// "Sherlock Holmes" (title)
ImageFile3DO titleImage_SherlockHolmesTitle("title1ab.cel");

Expand All @@ -576,28 +578,104 @@ bool ScalpelEngine::showCityCutscene3DO() {
finished = _events->delay(3500, true);
}
// Title is supposed to get faded away after that
if (finished) {
// Restore screen
_screen->blitFrom(_screen->_backBuffer2);
}
}

if (finished)
finished = _events->delay(2000);

if (finished) {
// TODO: fade to black
_screen->clear();
}

if (finished) {
// "In the alley behind the Regency Theatre..."
ImageFile3DO titleImage_InTheAlley("title1d.cel");

_screen->transBlitFromUnscaled3DO(titleImage_InTheAlley[0]._frame, Common::Point(72, 51));
// TODO: Supposed to get faded in and out
finished = _events->delay(2500, true);

// Fade out
}
return finished;
}

bool ScalpelEngine::showAlleyCutscene3DO() {
bool finished = _animation->play3DO("27PRO1", true, 1, 3, 2);

if (finished) {
// Fade out...
finished = _events->delay(1000, true);
}

if (finished)
finished = _animation->play3DO("27PRO2", true, 1, 0, 2);

if (finished) {
// Show screaming victim
ImageFile3DO titleImage_ScreamingVictim("scream.cel");

_screen->transBlitFromUnscaled3DO(titleImage_ScreamingVictim[0]._frame, Common::Point(0, 0));

// Play "scream.aiff"
if (_sound->_voices)
_sound->playSound("prologue/sounds/scream.aiff", WAIT_RETURN_IMMEDIATELY, 100);

finished = _events->delay(6000, true);
}

if (finished) {
// TODO: quick fade out
_screen->clear();

finished = _events->delay(2000, true);
}

if (finished)
finished = _animation->play3DO("27PRO3", true, 1, 0, 2);

if (finished) {
// Fade to black
_screen->clear();
}

if (finished) {
// "Early the following morning on Baker Street..."
ImageFile3DO titleImage_EarlyTheFollowingMorning("title3.cel");

_screen->transBlitFromUnscaled3DO(titleImage_EarlyTheFollowingMorning[0]._frame, Common::Point(35, 51));
// TODO: Fade in

finished = _events->delay(3000, true);
}

return finished;
}

bool ScalpelEngine::showStreetCutscene3DO() {
bool finished = _animation->play3DO("14KICK", true, 1, 3, 2);
// wait a bit
bool finished = _events->delay(500);

if (finished) {
// fade out "Early the following morning..."
_screen->clear();

// wait for music a bit
finished = _events->delay(1000, true);
}

finished = _animation->play3DO("14KICK", true, 1, 3, 2);

if (finished)
finished = _animation->play3DO("14NOTE", true, 1, 0, 3);

// TODO: fade out

return finished;
}

Expand All @@ -607,6 +685,24 @@ bool ScalpelEngine::showOfficeCutscene3DO() {
if (finished)
finished = _animation->play3DO("COFF2", true, 1, 0, 3);

if (finished) {
// Show the note
ImageFile3DO titleImage_CoffeeNote("note.cel");

_screen->clear();
_screen->transBlitFromUnscaled3DO(titleImage_CoffeeNote[0]._frame, Common::Point(0, 0));

if (_sound->_voices) {
finished = _sound->playSound("prologue/sounds/note.aiff", WAIT_KBD_OR_FINISH);
} else
finished = _events->delay(19000);

if (finished) {
_events->clearEvents();
finished = _events->delay(500);
}
}

if (finished)
finished = _animation->play3DO("COFF3", true, 1, 0, 3);

Expand Down

0 comments on commit 856b52b

Please sign in to comment.