diff options
author | Max Horn | 2006-04-11 22:47:53 +0000 |
---|---|---|
committer | Max Horn | 2006-04-11 22:47:53 +0000 |
commit | 24b2f65f91eacb442cd2a13ecec3e7916655a82e (patch) | |
tree | 23fdf7f996054d7e9c266a8ee202533c1e676aa2 | |
parent | 4ec79db410d5c9374e54695299b88e309709b90a (diff) | |
download | scummvm-rg350-24b2f65f91eacb442cd2a13ecec3e7916655a82e.tar.gz scummvm-rg350-24b2f65f91eacb442cd2a13ecec3e7916655a82e.tar.bz2 scummvm-rg350-24b2f65f91eacb442cd2a13ecec3e7916655a82e.zip |
Re-fix the CD version of Loom
svn-id: r21814
-rw-r--r-- | engines/scumm/plugin.cpp | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/engines/scumm/plugin.cpp b/engines/scumm/plugin.cpp index d02b1da487..7cdf424fe2 100644 --- a/engines/scumm/plugin.cpp +++ b/engines/scumm/plugin.cpp @@ -1248,14 +1248,16 @@ static bool generateDetectName(const GameSettings &g, int method, char *detectNa switch (method) { case 0: - if (g.version > 3) - return false; - strcpy(detectName, "00.LFL"); + if (g.version <= 3) + strcpy(detectName, "00.LFL"); break; case 1: - if (g.version != 4) - return false; - strcpy(detectName, "000.LFL"); + // FIXME: The following would normally only allow for V4 games. But + // for loom, there is both a v3 and a v4 version, but due to the way + // the detector works at this time, we'll only ever see the v3 variant + // here. + if (g.version == 3 || g.version == 4) + strcpy(detectName, "000.LFL"); break; case 2: if (g.version < 4 || g.version > 7) @@ -1264,16 +1266,16 @@ static bool generateDetectName(const GameSettings &g, int method, char *detectNa strcat(detectName, ".000"); break; case 3: - if (g.version < 7) - return false; - strcpy(detectName, g.gameid); - strcat(detectName, ".la0"); + if (g.version >= 7) { + strcpy(detectName, g.gameid); + strcat(detectName, ".la0"); + } break; case 4: - if (g.heversion == 0) - return false; - strcpy(detectName, g.gameid); - strcat(detectName, ".he0"); + if (g.heversion != 0) { + strcpy(detectName, g.gameid); + strcat(detectName, ".he0"); + } break; case 5: // FIXME: Fingolfin asks: For which games is this case used? @@ -1282,15 +1284,14 @@ static bool generateDetectName(const GameSettings &g, int method, char *detectNa strcpy(detectName, g.gameid); break; case 6: - if (g.id != GID_SAMNMAX) - return false; - strcpy(detectName, g.gameid); - strcat(detectName, ".sm0"); + if (g.id == GID_SAMNMAX) { + strcpy(detectName, g.gameid); + strcat(detectName, ".sm0"); + } break; case 7: - if (g.id != GID_MANIAC) - return false; - strcpy(detectName, "00.MAN"); + if (g.id == GID_MANIAC) + strcpy(detectName, "00.MAN"); break; default: return false; |