aboutsummaryrefslogtreecommitdiff
path: root/engines/sky
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sky')
-rw-r--r--engines/sky/detection.cpp3
-rw-r--r--engines/sky/disk.cpp5
-rw-r--r--engines/sky/sky.cpp10
-rw-r--r--engines/sky/text.cpp1
4 files changed, 13 insertions, 6 deletions
diff --git a/engines/sky/detection.cpp b/engines/sky/detection.cpp
index 623a8c2bd7..6ad6e651ef 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 cdf1557d82..6edf2bdad9 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 bc4f2be19d..47cc65e96d 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 12926aebfe..64a72a53aa 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;