aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorJohannes Schickel2008-05-05 16:14:45 +0000
committerJohannes Schickel2008-05-05 16:14:45 +0000
commit37459e6e756e108dde2c1a23ae74d4070546a7a2 (patch)
tree1f279ca4f7f3de767d03d5eff57b4afb0cd9fc0f /engines
parent2afff044689a9d25c11d46b56a42d5948b95da1a (diff)
downloadscummvm-rg350-37459e6e756e108dde2c1a23ae74d4070546a7a2.tar.gz
scummvm-rg350-37459e6e756e108dde2c1a23ae74d4070546a7a2.tar.bz2
scummvm-rg350-37459e6e756e108dde2c1a23ae74d4070546a7a2.zip
- Fixed some palette fade times in Kyra3
- Changed behavior to match original when playing Kyra3 for the first time - Fixed typo svn-id: r31877
Diffstat (limited to 'engines')
-rw-r--r--engines/kyra/gui_mr.cpp2
-rw-r--r--engines/kyra/kyra_mr.cpp24
-rw-r--r--engines/kyra/kyra_mr.h2
-rw-r--r--engines/kyra/scene_mr.cpp8
4 files changed, 21 insertions, 15 deletions
diff --git a/engines/kyra/gui_mr.cpp b/engines/kyra/gui_mr.cpp
index c894c3ed74..f37d5bb572 100644
--- a/engines/kyra/gui_mr.cpp
+++ b/engines/kyra/gui_mr.cpp
@@ -771,7 +771,7 @@ int GUI_MR::quitGame(Button *caller) {
_displayMenu = false;
_vm->_runFlag = false;
_vm->fadeOutMusic(60);
- _screen->fadeToBlack();
+ _screen->fadeToBlack(60);
_screen->clearCurPage();
}
diff --git a/engines/kyra/kyra_mr.cpp b/engines/kyra/kyra_mr.cpp
index ab9c558abb..dce6a669ee 100644
--- a/engines/kyra/kyra_mr.cpp
+++ b/engines/kyra/kyra_mr.cpp
@@ -89,7 +89,7 @@ KyraEngine_MR::KyraEngine_MR(OSystem *system, const GameFlags &flags) : KyraEngi
_mainCharX = _mainCharY = -1;
_animList = 0;
_drawNoShapeFlag = false;
- _wsaPlayingVQA = false;
+ _wasPlayingVQA = false;
_lastCharPalLayer = -1;
_charPalUpdate = false;
_runFlag = false;
@@ -230,7 +230,14 @@ int KyraEngine_MR::go() {
_screen->clearPage(0);
_screen->clearPage(2);
- if (_gameToLoad != -1) {
+ const bool firstTimeGame = !saveFileLoadable(0);
+
+ if (firstTimeGame) {
+ playVQA("K3INTRO");
+ _wasPlayingVQA = false;
+ }
+
+ if (_gameToLoad != -1 || firstTimeGame) {
uninitMainMenu();
_musicSoundChannel = -1;
startup();
@@ -265,14 +272,13 @@ int KyraEngine_MR::go() {
case 2:
if (saveFileLoadable(0))
_menuDirectlyToLoad = true;
- else
- break;
+ // fall through
case 0:
uninitMainMenu();
fadeOutMusic(60);
- _screen->fadeToBlack();
+ _screen->fadeToBlack(60);
_musicSoundChannel = -1;
startup();
runLoop();
@@ -281,14 +287,14 @@ int KyraEngine_MR::go() {
case 1:
playVQA("K3INTRO");
- _wsaPlayingVQA = false;
+ _wasPlayingVQA = false;
_screen->hideMouse();
break;
case 3:
default:
fadeOutMusic(60);
- _screen->fadeToBlack();
+ _screen->fadeToBlack(60);
uninitMainMenu();
quitGame();
running = false;
@@ -350,7 +356,7 @@ void KyraEngine_MR::playVQA(const char *name) {
_screen->hideMouse();
memcpy(_screen->getPalette(1), _screen->getPalette(0), 768);
fadeOutMusic(60);
- _screen->fadeToBlack();
+ _screen->fadeToBlack(60);
_screen->clearPage(0);
vqa.setDrawPage(0);
@@ -366,7 +372,7 @@ void KyraEngine_MR::playVQA(const char *name) {
_screen->setScreenPalette(pal);
_screen->clearPage(0);
memcpy(_screen->getPalette(0), _screen->getPalette(1), 768);
- _wsaPlayingVQA = true;
+ _wasPlayingVQA = true;
}
}
diff --git a/engines/kyra/kyra_mr.h b/engines/kyra/kyra_mr.h
index 359228ef7a..2e7d0a507c 100644
--- a/engines/kyra/kyra_mr.h
+++ b/engines/kyra/kyra_mr.h
@@ -570,7 +570,7 @@ private:
// misc
TextDisplayer_MR *_text;
- bool _wsaPlayingVQA;
+ bool _wasPlayingVQA;
// resource specific
private:
diff --git a/engines/kyra/scene_mr.cpp b/engines/kyra/scene_mr.cpp
index 27f4fabb49..57ac328286 100644
--- a/engines/kyra/scene_mr.cpp
+++ b/engines/kyra/scene_mr.cpp
@@ -616,19 +616,19 @@ void KyraEngine_MR::initSceneScreen(int unk1) {
if (_noScriptEnter) {
memset(_screen->getPalette(0), 0, 432);
- if (!_wsaPlayingVQA)
+ if (!_wasPlayingVQA)
_screen->setScreenPalette(_screen->getPalette(0));
}
_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0, Screen::CR_NO_P_CHECK);
if (_noScriptEnter) {
- if (!_wsaPlayingVQA)
+ if (!_wasPlayingVQA)
_screen->setScreenPalette(_screen->getPalette(2));
memcpy(_screen->getPalette(0), _screen->getPalette(2), 432);
- if (_wsaPlayingVQA) {
+ if (_wasPlayingVQA) {
_screen->fadeFromBlack(0x3C);
- _wsaPlayingVQA = false;
+ _wasPlayingVQA = false;
}
}