diff options
author | Chris Apers | 2015-01-24 10:51:51 +0100 |
---|---|---|
committer | Chris Apers | 2015-01-24 11:13:32 +0100 |
commit | 6691f9d8122aa36a0640fa33f6c2a3c6a72a6dd8 (patch) | |
tree | 845a1ab1d7bc6dc970e245c3e55e1857a681b5be /engines | |
parent | d75fbe79f064e3ee017764024aac173a7d599583 (diff) | |
download | scummvm-rg350-6691f9d8122aa36a0640fa33f6c2a3c6a72a6dd8.tar.gz scummvm-rg350-6691f9d8122aa36a0640fa33f6c2a3c6a72a6dd8.tar.bz2 scummvm-rg350-6691f9d8122aa36a0640fa33f6c2a3c6a72a6dd8.zip |
MORTEVIELLE: Added missing mesgId handling for 3rd intro screen
This message is displayed during disk access, so it is not visible as
is in ScummVM version, a delay is required. Also delay should hide the
mouse to prevent frozen screen.
Diffstat (limited to 'engines')
-rw-r--r-- | engines/mortevielle/mortevielle.h | 1 | ||||
-rw-r--r-- | engines/mortevielle/mouse.cpp | 4 | ||||
-rw-r--r-- | engines/mortevielle/utils.cpp | 15 |
3 files changed, 18 insertions, 2 deletions
diff --git a/engines/mortevielle/mortevielle.h b/engines/mortevielle/mortevielle.h index 5f7f175c26..b6fee3f19f 100644 --- a/engines/mortevielle/mortevielle.h +++ b/engines/mortevielle/mortevielle.h @@ -92,6 +92,7 @@ enum DataType { #define MORT_DAT_REQUIRED_VERSION 1 #define MORT_DAT "mort.dat" #define GAME_FRAME_DELAY (1000 / 50) +#define DISK_ACCESS_DELAY 3000 const int kTime1 = 410; const int kTime2 = 250; diff --git a/engines/mortevielle/mouse.cpp b/engines/mortevielle/mouse.cpp index 8f96ba3ef5..7551da3934 100644 --- a/engines/mortevielle/mouse.cpp +++ b/engines/mortevielle/mouse.cpp @@ -51,7 +51,7 @@ void MouseHandler::initMouse() { * @remarks Originally called 'hide_mouse' */ void MouseHandler::hideMouse() { - // No implementation needed in ScummVM + g_system->showMouse(false); } /** @@ -59,7 +59,7 @@ void MouseHandler::hideMouse() { * @remarks Originally called 'show_mouse' */ void MouseHandler::showMouse() { - // ScummVM implementation uses CursorMan for drawing the cursor + g_system->showMouse(true); } /** diff --git a/engines/mortevielle/utils.cpp b/engines/mortevielle/utils.cpp index 40136ad78b..a89af1ab5c 100644 --- a/engines/mortevielle/utils.cpp +++ b/engines/mortevielle/utils.cpp @@ -234,6 +234,7 @@ void MortevielleEngine::setMousePos(const Common::Point &pt) { void MortevielleEngine::delay(int amount) { uint32 endTime = g_system->getMillis() + amount; + _mouse->hideMouse(); while (g_system->getMillis() < endTime) { if (g_system->getMillis() > (_lastGameFrame + GAME_FRAME_DELAY)) { _lastGameFrame = g_system->getMillis(); @@ -244,6 +245,7 @@ void MortevielleEngine::delay(int amount) { g_system->delayMillis(10); } + _mouse->showMouse(); } /** @@ -2124,6 +2126,7 @@ void MortevielleEngine::showTitleScreen() { _caff = 51; _text->taffich(); testKeyboard(); + delay(DISK_ACCESS_DELAY); clearScreen(); draw(0, 0); @@ -2521,6 +2524,18 @@ void MortevielleEngine::handleDescriptionText(int f, int mesgId) { _coreVar._pctHintFound[10] = '*'; } break; + case 7: { + prepareScreenType3(); + Common::String tmpStr = getString(mesgId); + // CHECKME: original code seems to consider one extra character + // See text position in the 3rd intro screen + int size = tmpStr.size() + 1; + if (size < 40) + _text->displayStr(tmpStr, 252 - size * 3, 86, 50, 3, 5); + else + _text->displayStr(tmpStr, 144, 86, 50, 3, 5); + } + break; default: break; } |