aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/pregob/onceupon/onceupon.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/gob/pregob/onceupon/onceupon.cpp')
-rw-r--r--engines/gob/pregob/onceupon/onceupon.cpp88
1 files changed, 3 insertions, 85 deletions
diff --git a/engines/gob/pregob/onceupon/onceupon.cpp b/engines/gob/pregob/onceupon/onceupon.cpp
index 7f59790d1d..6ee391ea7f 100644
--- a/engines/gob/pregob/onceupon/onceupon.cpp
+++ b/engines/gob/pregob/onceupon/onceupon.cpp
@@ -37,6 +37,7 @@
#include "gob/pregob/onceupon/onceupon.h"
#include "gob/pregob/onceupon/palettes.h"
+#include "gob/pregob/onceupon/title.h"
#include "gob/pregob/onceupon/chargenchild.h"
static const uint kLanguageCount = 5;
@@ -657,94 +658,11 @@ const PreGob::AnimProperties OnceUpon::kTitleAnimation = {
};
void OnceUpon::showTitle() {
- // Show the Once Upon A Time title animation
- // NOTE: This is currently only a mock-up. The real animation is in "ville.seq".
-
fadeOut();
setGamePalette(10);
- warning("OnceUpon::showTitle(): Actually play the SEQ");
-
- clearScreen();
-
- _vm->_video->drawPackedSprite("ville.cmp", *_vm->_draw->_backSurface);
- _vm->_draw->forceBlit();
-
- ANIFile ani (_vm, "pres.ani", 320);
- ANIList anims;
-
- loadAnims(anims, ani, 1, &kTitleAnimation);
-
- playTitleMusic();
-
- while (!_vm->shouldQuit()) {
- redrawAnim(anims);
-
- fadeIn();
-
- endFrame(true);
-
- if (hasInput())
- break;
- }
-
- freeAnims(anims);
-
- fadeOut();
- stopTitleMusic();
-}
-
-void OnceUpon::playTitleMusic() {
- // Look at what platform this is and play the appropriate music type
-
- if (_vm->getPlatform() == Common::kPlatformPC)
- playTitleMusicDOS();
- else if (_vm->getPlatform() == Common::kPlatformAmiga)
- playTitleMusicAmiga();
- else if (_vm->getPlatform() == Common::kPlatformAtariST)
- playTitleMusicAtariST();
-}
-
-void OnceUpon::playTitleMusicDOS() {
- // Play an AdLib track
-
- _vm->_sound->adlibLoadTBR("babayaga.tbr");
- _vm->_sound->adlibLoadMDY("babayaga.mdy");
- _vm->_sound->adlibSetRepeating(-1);
- _vm->_sound->adlibPlay();
-}
-
-void OnceUpon::playTitleMusicAmiga() {
- // Play a Protracker track
-
- _vm->_sound->protrackerPlay("mod.babayaga");
-}
-
-void OnceUpon::playTitleMusicAtariST() {
- // Play a Soundblaster composition
-
- static const int16 titleMusic[21] = { 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, -1};
- static const char * const titleFiles[ 3] = {"baba1.snd", "baba2.snd", "baba3.snd"};
-
- for (uint i = 0; i < ARRAYSIZE(titleFiles); i++)
- _vm->_sound->sampleLoad(_vm->_sound->sampleGetBySlot(i), SOUND_SND, titleFiles[i]);
-
- _vm->_sound->blasterPlayComposition(titleMusic, 0);
- _vm->_sound->blasterRepeatComposition(-1);
-}
-
-void OnceUpon::stopTitleMusic() {
- // Just stop everything
-
- _vm->_sound->adlibSetRepeating(0);
- _vm->_sound->blasterRepeatComposition(0);
-
- _vm->_sound->adlibStop();
- _vm->_sound->blasterStopComposition();
- _vm->_sound->protrackerStop();
-
- for (int i = 0; i < ::Gob::Sound::kSoundsCount; i++)
- _vm->_sound->sampleFree(_vm->_sound->sampleGetBySlot(i));
+ Title title(_vm);
+ title.play();
}
void OnceUpon::showChapter(int chapter) {