aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/kyra3.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/kyra3.cpp')
-rw-r--r--engines/kyra/kyra3.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/engines/kyra/kyra3.cpp b/engines/kyra/kyra3.cpp
index 4ac2810247..f1db8eaf10 100644
--- a/engines/kyra/kyra3.cpp
+++ b/engines/kyra/kyra3.cpp
@@ -34,6 +34,10 @@ KyraEngine_v3::KyraEngine_v3(OSystem *system) : KyraEngine(system) {
KyraEngine_v3::~KyraEngine_v3() {
}
+Movie *KyraEngine_v3::createWSAMovie() {
+ return new WSAMovieV3(this);
+}
+
int KyraEngine_v3::go() {
_screen->_curPage = 0;
_screen->clearPage(0);
@@ -42,8 +46,9 @@ int KyraEngine_v3::go() {
assert(pal);
memset(pal, 0, sizeof(byte)*768);
- /*Movie *logo = createWSAMovie();
+ Movie *logo = createWSAMovie();
logo->open("REVENGE.WSA", 1, pal);
+ assert(logo->opened());
pal[0] = pal[1] = pal[2] = 0;
@@ -51,14 +56,21 @@ int KyraEngine_v3::go() {
// XXX
- logo->_x = logo->_y = 0;
- logo->_drawPage = 0;
+ logo->setX(0); logo->setY(0);
+ logo->setDrawPage(0);
for (int i = 0; i < 64; ++i) {
uint32 nextRun = _system->getMillis() + 3 * _tickLength;
logo->displayFrame(i);
_screen->updateScreen();
delayUntil(nextRun);
- }*/
+ }
+
+ for (int i = 64; i >= 29; --i) {
+ uint32 nextRun = _system->getMillis() + 3 * _tickLength;
+ logo->displayFrame(i);
+ _screen->updateScreen();
+ delayUntil(nextRun);
+ }
delete [] pal;