From 64498f074dfd6ebfeddc24cc3a3ee28af57e0160 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Sat, 2 May 2009 05:44:40 +0000 Subject: [PATCH] Add German floppy demo of BASS. svn-id: r40234 --- engines/sky/detection.cpp | 3 ++- engines/sky/disk.cpp | 5 ++++- engines/sky/sky.cpp | 10 ++++++---- engines/sky/text.cpp | 1 + 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/engines/sky/detection.cpp b/engines/sky/detection.cpp index 623a8c2bd79..6ad6e651ef1 100644 --- a/engines/sky/detection.cpp +++ b/engines/sky/detection.cpp @@ -49,8 +49,9 @@ struct SkyVersion { // TODO: Would be nice if Disk::determineGameVersion() used this table, too. static const SkyVersion skyVersions[] = { + { 232, -1, "floppy demo", 272 }, // German { 243, -1, "pc gamer demo", 109 }, - { 247, -1, "floppy demo", 267 }, + { 247, -1, "floppy demo", 267 }, // English { 1404, -1, "floppy", 288 }, { 1413, -1, "floppy", 303 }, { 1445, 8830435, "floppy", 348 }, diff --git a/engines/sky/disk.cpp b/engines/sky/disk.cpp index cdf1557d826..6edf2bdad90 100644 --- a/engines/sky/disk.cpp +++ b/engines/sky/disk.cpp @@ -335,11 +335,14 @@ void Disk::dumpFile(uint16 fileNr) { uint32 Disk::determineGameVersion() { //determine game version based on number of entries in dinner table switch (_dinnerTableEntries) { + case 232: + // German floppy demo (v0.0272) + return 272; case 243: // pc gamer demo (v0.0109) return 109; case 247: - //floppy demo (v0.0267) + // English floppy demo (v0.0267) return 267; case 1404: //floppy (v0.0288) diff --git a/engines/sky/sky.cpp b/engines/sky/sky.cpp index bc4f2be19d1..47cc65e96dd 100644 --- a/engines/sky/sky.cpp +++ b/engines/sky/sky.cpp @@ -164,7 +164,7 @@ Common::Error SkyEngine::go() { if (result != GAME_RESTORED) { bool introSkipped = false; - if (_systemVars.gameVersion > 267) { // don't do intro for floppydemos + if (_systemVars.gameVersion > 272) { // don't do intro for floppydemos Intro *skyIntro = new Intro(_skyDisk, _skyScreen, _skyMusic, _skySound, _skyText, _mixer, _system); bool floppyIntro = ConfMan.getBool("alt_intro"); introSkipped = !skyIntro->doIntro(floppyIntro); @@ -433,9 +433,10 @@ void SkyEngine::delay(int32 amount) { bool SkyEngine::isDemo(void) { switch (_systemVars.gameVersion) { - case 109: // pc gamer demo - case 267: // floppy demo - case 365: // cd demo + case 109: // PC Gamer demo + case 267: // English floppy demo + case 272: // German floppy demo + case 365: // CD demo return true; case 288: case 303: @@ -453,6 +454,7 @@ bool SkyEngine::isCDVersion(void) { switch (_systemVars.gameVersion) { case 109: case 267: + case 272: case 288: case 303: case 331: diff --git a/engines/sky/text.cpp b/engines/sky/text.cpp index 12926aebfe9..64a72a53aa0 100644 --- a/engines/sky/text.cpp +++ b/engines/sky/text.cpp @@ -424,6 +424,7 @@ void Text::initHuffTree() { case 109: _huffTree = _huffTree_00109; break; + case 272: // FIXME: Extract data case 267: _huffTree = _huffTree_00267; break;