aboutsummaryrefslogtreecommitdiff
path: root/kyra
diff options
context:
space:
mode:
authorJohannes Schickel2005-10-14 11:25:48 +0000
committerJohannes Schickel2005-10-14 11:25:48 +0000
commit67eedc08d27e6a3649db5bcb9a4c0ad76e468d35 (patch)
tree487a1482e5e84697066372a827e6341c23ffbfe7 /kyra
parentc75dfc3f05ef3210eb7e5f29306cfd8f42623b06 (diff)
downloadscummvm-rg350-67eedc08d27e6a3649db5bcb9a4c0ad76e468d35.tar.gz
scummvm-rg350-67eedc08d27e6a3649db5bcb9a4c0ad76e468d35.tar.bz2
scummvm-rg350-67eedc08d27e6a3649db5bcb9a4c0ad76e468d35.zip
Oops. Fixes a bug with wrong filename for intro text in english version.
Also gets rid of GF_KYRA* since GI_KYRA* should be used instead. And last but not least fixes text drawing while Kallaks writing scene. svn-id: r19081
Diffstat (limited to 'kyra')
-rw-r--r--kyra/kyra.cpp26
-rw-r--r--kyra/kyra.h13
-rw-r--r--kyra/resource.cpp2
-rwxr-xr-xkyra/seqplayer.cpp4
4 files changed, 23 insertions, 22 deletions
diff --git a/kyra/kyra.cpp b/kyra/kyra.cpp
index e66c4badc8..4ccce0f99b 100644
--- a/kyra/kyra.cpp
+++ b/kyra/kyra.cpp
@@ -69,19 +69,19 @@ struct KyraGameSettings {
};
static const KyraGameSettings kyra_games[] = {
- { "kyra1", "Legend of Kyrandia (Floppy, English)", GI_KYRA1, GF_ENGLISH | GF_FLOPPY | GF_KYRA1,
+ { "kyra1", "Legend of Kyrandia (Floppy, English)", GI_KYRA1, GF_ENGLISH | GF_FLOPPY,
"796e44863dd22fa635b042df1bf16673", "GEMCUT.EMC" },
- { "kyra1", "Legend of Kyrandia (Floppy, French)", GI_KYRA1, GF_FRENCH | GF_FLOPPY | GF_KYRA1,
+ { "kyra1", "Legend of Kyrandia (Floppy, French)", GI_KYRA1, GF_FRENCH | GF_FLOPPY,
"abf8eb360e79a6c2a837751fbd4d3d24", "GEMCUT.EMC" },
- { "kyra1", "Legend of Kyrandia (Floppy, German)", GI_KYRA1, GF_GERMAN | GF_FLOPPY | GF_KYRA1,
+ { "kyra1", "Legend of Kyrandia (Floppy, German)", GI_KYRA1, GF_GERMAN | GF_FLOPPY,
"6018e1dfeaca7fe83f8d0b00eb0dd049", "GEMCUT.EMC"},
- { "kyra1", "Legend of Kyrandia (CD, English)", GI_KYRA1, GF_ENGLISH | GF_TALKIE | GF_KYRA1,
+ { "kyra1", "Legend of Kyrandia (CD, English)", GI_KYRA1, GF_ENGLISH | GF_TALKIE,
"fac399fe62f98671e56a005c5e94e39f", "GEMCUT.PAK" },
- { "kyra1", "Legend of Kyrandia (CD, German)", GI_KYRA1, GF_GERMAN | GF_TALKIE | GF_KYRA1,
+ { "kyra1", "Legend of Kyrandia (CD, German)", GI_KYRA1, GF_GERMAN | GF_TALKIE,
"230f54e6afc007ab4117159181a1c722", "GEMCUT.PAK" },
- { "kyra1", "Legend of Kyrandia (CD, French)", GI_KYRA1, GF_FRENCH | GF_TALKIE | GF_KYRA1,
+ { "kyra1", "Legend of Kyrandia (CD, French)", GI_KYRA1, GF_FRENCH | GF_TALKIE,
"b037c41768b652a040360ffa3556fd2a", "GEMCUT.PAK" },
- { "kyra1", "Legend of Kyrandia (Demo)", GI_KYRA1, GF_DEMO | GF_KYRA1,
+ { "kyra1", "Legend of Kyrandia (Demo)", GI_KYRA1, GF_DEMO,
"fb722947d94897512b13b50cc84fd648", "DEMO1.WSA" },
{ 0, 0, 0, 0, 0, 0 }
};
@@ -98,7 +98,7 @@ struct KyraGameList {
};
static const KyraGameList kyra_list[] = {
- { "kyra1", "Legend of Kyrandia", GF_KYRA1 },
+ { "kyra1", "Legend of Kyrandia (Unknown)", 0 },
{ 0, 0, 0 }
};
@@ -148,7 +148,7 @@ DetectedGameList Engine_KYRA_detectGames(const FSList &fslist) {
}
}
if (detectedGames.isEmpty()) {
- printf("Unknown MD5 (%s)! Please report the details (language, platform, etc.) of this game to the ScummVM team\n", md5str);
+ debug("Unknown MD5 (%s)! Please report the details (language, platform, etc.) of this game to the ScummVM team\n", md5str);
const KyraGameList *g1 = kyra_list;
while (g1->name) {
@@ -190,7 +190,7 @@ KyraEngine::KyraEngine(GameDetector *detector, OSystem *system)
// TODO
// Fallback. Maybe we will be able to determine game type from game
// data contents
- _features = GF_KYRA1;
+ _features = 0;
for (g = kyra_games; g->name; g++) {
if (!Common::File::exists(g->checkFile))
@@ -217,6 +217,10 @@ KyraEngine::KyraEngine(GameDetector *detector, OSystem *system)
if (!found) {
debug("Unknown MD5 (%s)! Please report the details (language, platform, etc.) of this game to the ScummVM team", md5str);
+ // a bit hacky but should work fine for now
+ debug("Assuming an english floppy version for now");
+ _features = GF_FLOPPY | GF_ENGLISH;
+ _game = GI_KYRA1;
}
}
@@ -845,7 +849,7 @@ void KyraEngine::seq_introStory() {
_screen->clearPage(3);
_screen->clearPage(0);
if (_features & GF_ENGLISH) {
- loadBitmap("TEXT_ENG.CPS", 3, 3, 0);
+ loadBitmap("TEXT.CPS", 3, 3, 0);
} else if (_features & GF_GERMAN) {
loadBitmap("TEXT_GER.CPS", 3, 3, 0);
} else if (_features & GF_FRENCH) {
diff --git a/kyra/kyra.h b/kyra/kyra.h
index 870ec07081..33270a01a2 100644
--- a/kyra/kyra.h
+++ b/kyra/kyra.h
@@ -36,14 +36,11 @@ namespace Kyra {
enum {
GF_FLOPPY = 1 << 0,
GF_TALKIE = 1 << 1,
- GF_KYRA1 = 1 << 2,
- GF_KYRA2 = 1 << 3,
- GF_KYRA3 = 1 << 4,
- GF_AUDIOCD = 1 << 5, // FM-Towns versions seems to use audio CD
- GF_DEMO = 1 << 6,
- GF_ENGLISH = 1 << 7,
- GF_FRENCH = 1 << 8,
- GF_GERMAN = 1 << 9
+ GF_AUDIOCD = 1 << 2, // FM-Towns versions seems to use audio CD
+ GF_DEMO = 1 << 3,
+ GF_ENGLISH = 1 << 4,
+ GF_FRENCH = 1 << 5,
+ GF_GERMAN = 1 << 6
};
diff --git a/kyra/resource.cpp b/kyra/resource.cpp
index e138c82b4f..3a86b945de 100644
--- a/kyra/resource.cpp
+++ b/kyra/resource.cpp
@@ -188,7 +188,7 @@ PAKFile::PAKFile(const Common::String& file) {
_open = false;
if (!pakfile.open(file.c_str())) {
- printf("pakfile couldn't open %s\n", file.c_str());
+ debug("couldn't open pakfile '%s'\n", file.c_str());
return;
}
diff --git a/kyra/seqplayer.cpp b/kyra/seqplayer.cpp
index fe5a312239..08dc5db0eb 100755
--- a/kyra/seqplayer.cpp
+++ b/kyra/seqplayer.cpp
@@ -601,9 +601,9 @@ bool SeqPlayer::playSequence(const uint8 *seqData, bool skipSeq) {
++_seqDisplayedChar;
if (KyraEngine::_seq_textsTableEN[_seqDisplayedText][_seqDisplayedChar] == '\0') {
_seqDisplayedTextTimer = 0xFFFFFFFF;
+ } else {
+ _seqDisplayedTextTimer = _system->getMillis() + 1000 / 60;
}
- } else {
- _seqDisplayedTextTimer = _system->getMillis() + 1000 / 60;
}
}