aboutsummaryrefslogtreecommitdiff
path: root/engines/mortevielle
diff options
context:
space:
mode:
authorArnaud Boutonné2015-01-24 14:37:00 +0100
committerArnaud Boutonné2015-01-24 14:37:00 +0100
commitbf3e2bca07636afa307efc9e880548023f249e9b (patch)
tree3d61cce0545cd6e3a00edb013225e0a28d29e1a3 /engines/mortevielle
parent378d031b94be2de914e6bf21f610052b15f857ed (diff)
parenta4d822f98a3df3c64daafbc1cb5166ad6295d47a (diff)
downloadscummvm-rg350-bf3e2bca07636afa307efc9e880548023f249e9b.tar.gz
scummvm-rg350-bf3e2bca07636afa307efc9e880548023f249e9b.tar.bz2
scummvm-rg350-bf3e2bca07636afa307efc9e880548023f249e9b.zip
Merge pull request #570 from chrilith/mortevielle_3rdintro
MORTEVIELLE: Added missing mesgId handling for 3rd intro screen
Diffstat (limited to 'engines/mortevielle')
-rw-r--r--engines/mortevielle/mortevielle.h1
-rw-r--r--engines/mortevielle/utils.cpp15
2 files changed, 16 insertions, 0 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/utils.cpp b/engines/mortevielle/utils.cpp
index 8ae4951c50..61f58c0972 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;
+ g_system->showMouse(false);
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);
}
+ g_system->showMouse(true);
}
/**
@@ -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;
}