aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/kyra_v2.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2008-02-10 18:34:48 +0000
committerJohannes Schickel2008-02-10 18:34:48 +0000
commitb407420ebb4249a1cc0fc40f10f90c0bd1fd0b9b (patch)
tree737fc2811f25eb8df851ae338f400581337c4ebf /engines/kyra/kyra_v2.cpp
parentcb6fb6200d207ab4b5c3e30539365762f9fbf6ac (diff)
downloadscummvm-rg350-b407420ebb4249a1cc0fc40f10f90c0bd1fd0b9b.tar.gz
scummvm-rg350-b407420ebb4249a1cc0fc40f10f90c0bd1fd0b9b.tar.bz2
scummvm-rg350-b407420ebb4249a1cc0fc40f10f90c0bd1fd0b9b.zip
Committed patch #1885629 "KYRA: HoF missing talkie credits and demo support".
svn-id: r30845
Diffstat (limited to 'engines/kyra/kyra_v2.cpp')
-rw-r--r--engines/kyra/kyra_v2.cpp35
1 files changed, 23 insertions, 12 deletions
diff --git a/engines/kyra/kyra_v2.cpp b/engines/kyra/kyra_v2.cpp
index b07b6ffa32..19fa30e3de 100644
--- a/engines/kyra/kyra_v2.cpp
+++ b/engines/kyra/kyra_v2.cpp
@@ -52,7 +52,7 @@ KyraEngine_v2::KyraEngine_v2(OSystem *system, const GameFlags &flags) : KyraEngi
_seqWsa = 0;
_sequences = 0;
_nSequences = 0;
-
+ _demoShapeDefs = 0;
_gamePlayBuffer = 0;
_cCodeBuffer = _optionsBuffer = _chapterBuffer = 0;
@@ -129,10 +129,15 @@ int KyraEngine_v2::init() {
_text = new TextDisplayer_v2(this, _screen);
assert(_text);
- _screen->loadFont(_screen->FID_6_FNT, "6.FNT");
- _screen->loadFont(_screen->FID_8_FNT, "8FAT.FNT");
+ if (_flags.isDemo && !_flags.isTalkie) {
+ _screen->loadFont(_screen->FID_8_FNT, "FONT9P.FNT");
+ } else {
+ _screen->loadFont(_screen->FID_6_FNT, "6.FNT");
+ _screen->loadFont(_screen->FID_8_FNT, "8FAT.FNT");
+ _screen->loadFont(_screen->FID_BOOKFONT_FNT, "BOOKFONT.FNT");
+ }
_screen->loadFont(_screen->FID_GOLDFONT_FNT, "GOLDFONT.FNT");
- _screen->loadFont(_screen->FID_BOOKFONT_FNT, "BOOKFONT.FNT");
+
_screen->setAnimBlockPtr(3504);
_screen->setScreenDim(0);
@@ -141,8 +146,10 @@ int KyraEngine_v2::init() {
_abortIntroFlag = false;
- for (int i = 0; i < 33; i++)
- _sequenceStringsDuration[i] = (int) strlen(_sequenceStrings[i]) * 8;
+ if (_sequenceStrings) {
+ for (int i = 0; i < 33; i++)
+ _sequenceStringsDuration[i] = (int) strlen(_sequenceStrings[i]) * 8;
+ }
// No mouse display in demo
if (_flags.isDemo)
@@ -164,8 +171,13 @@ int KyraEngine_v2::go() {
if (_flags.platform == Common::kPlatformFMTowns || _flags.platform == Common::kPlatformPC98)
seq_showStarcraftLogo();
- seq_playSequences(kSequenceVirgin, kSequenceZanfaun);
- //seq_playSequences(kSequenceFunters, kSequenceFrash);
+ if (_flags.isDemo && !_flags.isTalkie) {
+ seq_playSequences(kSequenceDemoVirgin, kSequenceDemoFisher);
+ _menuChoice = 4;
+ } else {
+ seq_playSequences(kSequenceVirgin, kSequenceZanfaun);
+ //seq_playSequences(kSequenceFunters, kSequenceFrash);
+ }
_res->unloadAllPakFiles();
@@ -178,13 +190,12 @@ int KyraEngine_v2::go() {
_res->loadFileList(_ingamePakList, _ingamePakListSize);
}
- if (_menuChoice == 1) {
+ //_menuDirectlyToLoad = (_menuChoice == 3) ? true : false;
+
+ if (_menuChoice & 1) {
startup();
runLoop();
cleanup();
- } else if (_menuChoice == 3) {
- // TODO: Load Game
-
}
return 0;