aboutsummaryrefslogtreecommitdiff
path: root/engines/agos
diff options
context:
space:
mode:
authorTravis Howell2006-10-15 05:59:22 +0000
committerTravis Howell2006-10-15 05:59:22 +0000
commit8925e814a75ea7a2464784c6587377ab054e6ad2 (patch)
tree57495e00e29009e29b7d6571863d5d2fbab946c0 /engines/agos
parented897780369cd866e6656ad22942a9984dcdbdcc (diff)
downloadscummvm-rg350-8925e814a75ea7a2464784c6587377ab054e6ad2.tar.gz
scummvm-rg350-8925e814a75ea7a2464784c6587377ab054e6ad2.tar.bz2
scummvm-rg350-8925e814a75ea7a2464784c6587377ab054e6ad2.zip
Minor cleanup
svn-id: r24333
Diffstat (limited to 'engines/agos')
-rw-r--r--engines/agos/agos.cpp2
-rw-r--r--engines/agos/game.cpp12
-rw-r--r--engines/agos/intern.h6
-rw-r--r--engines/agos/midi.cpp2
-rw-r--r--engines/agos/res.cpp30
-rw-r--r--engines/agos/saveload.cpp7
6 files changed, 28 insertions, 31 deletions
diff --git a/engines/agos/agos.cpp b/engines/agos/agos.cpp
index 5e1d50ebc9..e2b3b6e748 100644
--- a/engines/agos/agos.cpp
+++ b/engines/agos/agos.cpp
@@ -2403,7 +2403,7 @@ void AGOSEngine::loadMusic(uint music) {
if (f.isOpen() == false)
error("loadMusic: Can't load music from '%s'", filename);
- if (getGameId() == GID_SIMON1DEMO)
+ if (getFeatures() & GF_DEMO)
midi.loadS1D (&f);
else
midi.loadSMF (&f, music);
diff --git a/engines/agos/game.cpp b/engines/agos/game.cpp
index 322abd0f31..4756e5a353 100644
--- a/engines/agos/game.cpp
+++ b/engines/agos/game.cpp
@@ -722,8 +722,8 @@ static const AGOSGameDescription gameDescriptions[] = {
},
GType_ELVIRA1,
- GID_ELVIRA1DEMO,
- GF_OLD_BUNDLE | GF_CRUNCHED,
+ GID_ELVIRA1,
+ GF_OLD_BUNDLE | GF_CRUNCHED | GF_DEMO,
},
// Elvira - English Atari ST Floppy
@@ -930,8 +930,8 @@ static const AGOSGameDescription gameDescriptions[] = {
},
GType_SIMON1,
- GID_SIMON1AMIGADEMO,
- GF_32COLOR | GF_CRUNCHED | GF_OLD_BUNDLE,
+ GID_SIMON1AMIGA,
+ GF_32COLOR | GF_CRUNCHED | GF_OLD_BUNDLE | GF_DEMO,
},
// Simon the Sorcerer 1 - English Amiga AGA Floppy
@@ -1026,8 +1026,8 @@ static const AGOSGameDescription gameDescriptions[] = {
},
GType_SIMON1,
- GID_SIMON1DEMO,
- GF_OLD_BUNDLE,
+ GID_SIMON1DOS,
+ GF_OLD_BUNDLE | GF_DEMO,
},
// Simon the Sorcerer 1 - English DOS Floppy
diff --git a/engines/agos/intern.h b/engines/agos/intern.h
index 854b57848e..2abb4a2547 100644
--- a/engines/agos/intern.h
+++ b/engines/agos/intern.h
@@ -209,7 +209,8 @@ enum GameFeatures {
GF_OLD_BUNDLE = 1 << 1,
GF_CRUNCHED = 1 << 2,
GF_ZLIBCOMP = 1 << 3,
- GF_32COLOR = 1 << 4
+ GF_32COLOR = 1 << 4,
+ GF_DEMO = 1 << 5
};
enum GameFileTypes {
@@ -227,14 +228,11 @@ enum GameFileTypes {
enum GameIds {
GID_ELVIRA1,
- GID_ELVIRA1DEMO,
GID_ELVIRA2,
GID_WAXWORKS,
GID_SIMON1DOS,
- GID_SIMON1DEMO,
GID_SIMON1AMIGA,
- GID_SIMON1AMIGADEMO,
GID_SIMON1CD32,
GID_SIMON1TALKIE,
diff --git a/engines/agos/midi.cpp b/engines/agos/midi.cpp
index 5087830b90..a70668eb98 100644
--- a/engines/agos/midi.cpp
+++ b/engines/agos/midi.cpp
@@ -552,7 +552,7 @@ void MidiPlayer::loadS1D(Common::File *in, bool sfx) {
uint16 size = in->readUint16LE();
if (size != in->size() - 2) {
- error("Size mismatch in simon1demo MUS file (%ld versus reported %d)", (long)in->size() - 2, (int)size);
+ error("Size mismatch in MUS file (%ld versus reported %d)", (long)in->size() - 2, (int)size);
}
p->data = (byte *)calloc(size, 1);
diff --git a/engines/agos/res.cpp b/engines/agos/res.cpp
index 80b10eae9e..94046a1e06 100644
--- a/engines/agos/res.cpp
+++ b/engines/agos/res.cpp
@@ -660,23 +660,21 @@ bool AGOSEngine::loadVGAFile(uint id, uint type) {
if (getPlatform() == Common::kPlatformAmiga || getPlatform() == Common::kPlatformAtariST) {
if (getFeatures() & GF_TALKIE) {
sprintf(filename, "%.3d%d.out", id, type);
+ } else if (getGameType() == GType_ELVIRA1 && getFeatures() & GF_DEMO) {
+ if (id == 20)
+ sprintf(filename, "D%d.out", type);
+ else if (id == 26)
+ sprintf(filename, "J%d.out", type);
+ else if (id == 27)
+ sprintf(filename, "K%d.out", type);
+ else if (id == 33)
+ sprintf(filename, "Q%d.out", type);
+ else if (id == 34)
+ sprintf(filename, "R%d.out", type);
+ else
+ sprintf(filename, "%.1d%d.out", id, type);
} else if (getGameType() == GType_ELVIRA1 || getGameType() == GType_ELVIRA2) {
- if (getGameId() == GID_ELVIRA1DEMO) {
- if (id == 20)
- sprintf(filename, "D%d.out", type);
- else if (id == 26)
- sprintf(filename, "J%d.out", type);
- else if (id == 27)
- sprintf(filename, "K%d.out", type);
- else if (id == 33)
- sprintf(filename, "Q%d.out", type);
- else if (id == 34)
- sprintf(filename, "R%d.out", type);
- else
- sprintf(filename, "%.1d%d.out", id, type);
- } else {
- sprintf(filename, "%.2d%d.pkd", id, type);
- }
+ sprintf(filename, "%.2d%d.pkd", id, type);
} else {
sprintf(filename, "%.3d%d.pkd", id, type);
}
diff --git a/engines/agos/saveload.cpp b/engines/agos/saveload.cpp
index f486cf381f..854ca8dd69 100644
--- a/engines/agos/saveload.cpp
+++ b/engines/agos/saveload.cpp
@@ -133,10 +133,11 @@ char *AGOSEngine::genSaveName(int slot) {
}
void AGOSEngine::quickLoadOrSave() {
- // The demo of Simon 1 (DOS Floppy) is missing too many segments
- // and the Feeble Files doesn't always allow a load or save
- if (getGameId() == GID_SIMON1DEMO || getGameType() == GType_FF)
+ // Quick load & save is only supported complete version of Simon the Sorcerer 1/2
+ if (getGameType() != GType_SIMON1 && getGameType() != GType_SIMON2 &&
+ !(getFeatures() & GF_DEMO)) {
return;
+ }
bool success;
char buf[50];