aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/pregob/onceupon
diff options
context:
space:
mode:
authorSven Hesse2012-06-30 03:04:29 +0200
committerSven Hesse2012-07-30 01:44:43 +0200
commit92bd9c864ab5238aa51ad6a327cfb7249bcc934f (patch)
tree4b994aa9104c48ea30b940fa186a9c7e9784d6df /engines/gob/pregob/onceupon
parent2f3aaf0e07a7309b2ba74c7e888b03c24534d4d0 (diff)
downloadscummvm-rg350-92bd9c864ab5238aa51ad6a327cfb7249bcc934f.tar.gz
scummvm-rg350-92bd9c864ab5238aa51ad6a327cfb7249bcc934f.tar.bz2
scummvm-rg350-92bd9c864ab5238aa51ad6a327cfb7249bcc934f.zip
GOB: Show the specific game title in Once Upon A Time
Diffstat (limited to 'engines/gob/pregob/onceupon')
-rw-r--r--engines/gob/pregob/onceupon/abracadabra.cpp14
-rw-r--r--engines/gob/pregob/onceupon/babayaga.cpp14
-rw-r--r--engines/gob/pregob/onceupon/onceupon.cpp27
-rw-r--r--engines/gob/pregob/onceupon/onceupon.h1
4 files changed, 56 insertions, 0 deletions
diff --git a/engines/gob/pregob/onceupon/abracadabra.cpp b/engines/gob/pregob/onceupon/abracadabra.cpp
index abf9fdce61..5c1bd0149b 100644
--- a/engines/gob/pregob/onceupon/abracadabra.cpp
+++ b/engines/gob/pregob/onceupon/abracadabra.cpp
@@ -57,19 +57,33 @@ Abracadabra::~Abracadabra() {
void Abracadabra::run() {
init();
+ // Copy protection
bool correctCP = doCopyProtection(kCopyProtectionColors, kCopyProtectionShapes, kCopyProtectionObfuscate);
if (_vm->shouldQuit() || !correctCP)
return;
+ // "Loading"
showWait();
if (_vm->shouldQuit())
return;
+ // Quote about fairy tales
showQuote();
if (_vm->shouldQuit())
return;
+ // Once Upon A Time title
showTitle();
+ if (_vm->shouldQuit())
+ return;
+
+ // Game title screen
+ showChapter(0);
+ if (_vm->shouldQuit())
+ return;
+
+ // "Loading"
+ showWait();
}
} // End of namespace OnceUpon
diff --git a/engines/gob/pregob/onceupon/babayaga.cpp b/engines/gob/pregob/onceupon/babayaga.cpp
index 9bca0e27d0..608d85e977 100644
--- a/engines/gob/pregob/onceupon/babayaga.cpp
+++ b/engines/gob/pregob/onceupon/babayaga.cpp
@@ -57,19 +57,33 @@ BabaYaga::~BabaYaga() {
void BabaYaga::run() {
init();
+ // Copy protection
bool correctCP = doCopyProtection(kCopyProtectionColors, kCopyProtectionShapes, kCopyProtectionObfuscate);
if (_vm->shouldQuit() || !correctCP)
return;
+ // "Loading"
showWait();
if (_vm->shouldQuit())
return;
+ // Quote about fairy tales
showQuote();
if (_vm->shouldQuit())
return;
+ // Once Upon A Time title
showTitle();
+ if (_vm->shouldQuit())
+ return;
+
+ // Game title screen
+ showChapter(0);
+ if (_vm->shouldQuit())
+ return;
+
+ // "Loading"
+ showWait();
}
} // End of namespace OnceUpon
diff --git a/engines/gob/pregob/onceupon/onceupon.cpp b/engines/gob/pregob/onceupon/onceupon.cpp
index 73322658de..6d185d007d 100644
--- a/engines/gob/pregob/onceupon/onceupon.cpp
+++ b/engines/gob/pregob/onceupon/onceupon.cpp
@@ -613,6 +613,33 @@ void OnceUpon::stopTitleMusic() {
_vm->_sound->sampleFree(_vm->_sound->sampleGetBySlot(i));
}
+void OnceUpon::showChapter(int chapter) {
+ // Display the intro text to a chapter
+
+ fadeOut();
+ clearScreen();
+ setGamePalette(11);
+
+ // Parchment background
+ _vm->_video->drawPackedSprite("parch.cmp", *_vm->_draw->_backSurface);
+
+ static const Font *fonts[3] = { _plettre, _glettre, _plettre };
+
+ const Common::String chapterFile = getLocFile(Common::String::format("gene%d.tx", chapter));
+
+ TXTFile *gameTitle = loadTXT(chapterFile, TXTFile::kFormatStringPositionColorFont);
+ gameTitle->draw(*_vm->_draw->_backSurface, fonts, ARRAYSIZE(fonts));
+ delete gameTitle;
+
+ _vm->_draw->forceBlit();
+
+ fadeIn();
+
+ waitInput();
+
+ fadeOut();
+}
+
} // End of namespace OnceUpon
} // End of namespace Gob
diff --git a/engines/gob/pregob/onceupon/onceupon.h b/engines/gob/pregob/onceupon/onceupon.h
index 97f7e6b77e..96f88cbb5f 100644
--- a/engines/gob/pregob/onceupon/onceupon.h
+++ b/engines/gob/pregob/onceupon/onceupon.h
@@ -52,6 +52,7 @@ protected:
void showWait();
void showQuote();
void showTitle();
+ void showChapter(int chapter);
Font *_jeudak;