Committing patch '[ 1531177 ] Kyra2 mock-up' by eriktorbjorn, with the addition of playing the music tracks as well (Only MIDI works for now though)

svn-id: r23649
This commit is contained in:
Oystein Eftevaag 2006-07-31 23:05:01 +00:00
parent 01b3a0b568
commit ec8f1b092d
4 changed files with 110 additions and 20 deletions

View File

@ -22,8 +22,6 @@
#include "kyra/kyra.h"
#include "kyra/kyra2.h"
#include "kyra/screen.h"
#include "kyra/wsamovie.h"
#include "common/system.h"
@ -37,24 +35,7 @@ KyraEngine_v2::~KyraEngine_v2() {
}
int KyraEngine_v2::go() {
uint8 pal[768];
WSAMovieV2 *title = new WSAMovieV2(this);
title->open("title.WSA", 0, pal);
assert(title->opened());
_screen->setScreenPalette(pal);
title->setX(0); title->setY(0);
title->setDrawPage(0);
for (int i = 0; i < 26 && !_quitFlag; ++i) {
uint32 nextRun = _system->getMillis() + 6 * _tickLength;
title->displayFrame(i);
_screen->updateScreen();
delayUntil(nextRun);
}
delete title;
seq_menu();
waitForEvent();
return 0;
}

View File

@ -33,6 +33,9 @@ public:
int setupGameFlags() { _game = GI_KYRA2; return 0; }
int go();
protected:
void seq_menu();
};
} // end of namespace Kyra

View File

@ -17,6 +17,7 @@ MODULE_OBJS := \
script.o \
seqplayer.o \
sequences_v1.o \
sequences_v2.o \
sound_adlib.o \
sound_digital.o \
sound.o \

View File

@ -0,0 +1,105 @@
/* ScummVM - Scumm Interpreter
* Copyright (C) 2005-2006 The ScummVM project
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* $URL$
* $Id$
*
*/
#include "kyra/kyra.h"
#include "kyra/kyra2.h"
#include "kyra/screen.h"
#include "kyra/wsamovie.h"
#include "kyra/sound.h"
#include "common/system.h"
namespace Kyra {
void KyraEngine_v2::seq_menu() {
debugC(9, kDebugLevelMain, "KyraEngine_v2::seq_menu()");
_sound->loadMusicFile("K2INTRO");
_screen->loadBitmap("VIRGIN.CPS", 7, 7, _screen->_currentPalette);
_screen->copyRegion(0, 0, 0, 0, 320, 200, 6, 0);
_screen->updateScreen();
_screen->fadeFromBlack();
delay(60 * _tickLength);
_screen->fadeToBlack();
_screen->clearCurPage();
if (_quitFlag)
return;
uint8 pal[768];
int i;
_sound->playTrack(2);
WSAMovieV2 *title = new WSAMovieV2(this);
title->setDrawPage(0);
title->open("WESTWOOD.WSA", 0, pal);
assert(title->opened());
title->setX(0); title->setY(0);
title->displayFrame(0);
_screen->updateScreen();
_screen->fadePalette(pal, 0x54);
for (i = 1; i < 18 && !_quitFlag; ++i) {
uint32 nextRun = _system->getMillis() + 6 * _tickLength;
title->displayFrame(i);
_screen->updateScreen();
delayUntil(nextRun);
}
title->close();
_screen->fadeToBlack();
_screen->clearCurPage();
if (_quitFlag) {
delete title;
return;
}
_sound->playTrack(3);
title->open("TITLE.WSA", 0, pal);
assert(title->opened());
title->setX(0); title->setY(0);
title->displayFrame(0);
_screen->updateScreen();
_screen->fadePalette(pal, 0x54);
for (i = 1; i < 26 && !_quitFlag; ++i) {
uint32 nextRun = _system->getMillis() + 6 * _tickLength;
title->displayFrame(i);
_screen->updateScreen();
delayUntil(nextRun);
}
title->close();
_sound->beginFadeOut();
delete title;
}
} // end of namespace Kyra