diff options
Diffstat (limited to 'simon')
-rw-r--r-- | simon/simon-md5.h | 5 | ||||
-rw-r--r-- | simon/simon.cpp | 17 |
2 files changed, 12 insertions, 10 deletions
diff --git a/simon/simon-md5.h b/simon/simon-md5.h index 4259228652..8f15730a8f 100644 --- a/simon/simon-md5.h +++ b/simon/simon-md5.h @@ -1,5 +1,5 @@ /* - This file was generated by the md5table tool on Thu Mar 31 15:11:06 2005 + This file was generated by the md5table tool on Mon May 09 10:43:26 2005 DO NOT EDIT MANUALLY! */ @@ -16,11 +16,9 @@ static const MD5Table md5table[] = { { "078b04da0974a40645b92baffdf2781e", "simon2talkie", Common::EN_USA, Common::kPlatformPC }, { "08bd7abefe9c44e43df396748640e531", "simon1talkie", Common::FR_FRA, Common::kPlatformPC }, { "1e11ddbad80c408031ae44a0cbce46bb", "simon2talkie", Common::EN_USA, Common::kPlatformPC }, - { "27c8e7feada80c75b70b9c2f6088d519", "simon2dos", Common::EN_USA, Common::kPlatformPC }, { "39e8f13ec29de1fcef98c81ca0a2ae57", "simon1amiga", Common::EN_USA, Common::kPlatformAmiga }, { "3b22f3cc4ce9faa3f7830ab18235b04d", "simon1dos", Common::RU_RUS, Common::kPlatformPC }, { "3bdf85dc57c1abff8f05416b4571198f", "simon2talkie", Common::DE_DEU, Common::kPlatformPC }, - { "465eed710cc242b2de7dc77edd467c4c", "simon1dos", Common::EN_USA, Common::kPlatformPC }, { "486f026593f894f5b6b346ef3984a7a0", "simon1demo", Common::EN_USA, Common::kPlatformPC }, { "48ce4ffda968cc7a38870c354571f92c", "simon1dos", Common::EN_USA, Common::kPlatformPC }, { "79a9d9357c15153c8c502dba73c3eac6", "simon2talkie", Common::ES_ESP, Common::kPlatformPC }, @@ -29,7 +27,6 @@ static const MD5Table md5table[] = { { "a3cbdd3450f9fccb0a9d8d6dc28f66fe", "simon2talkie", Common::HB_ISR, Common::kPlatformPC }, { "b6cfe7449a32418ed523bde22f5125ed", "simon1dos", Common::FR_FRA, Common::kPlatformPC }, { "bd85a8b5135592ada9cbeae49160f1d3", "simon2talkie", Common::EN_USA, Common::kPlatformWindows }, - { "bed9134804d96f72afa152b8ec5628c3", "simon1dos", Common::FR_FRA, Common::kPlatformPC }, { "c8ddd48919aa75423dd2d3e5864909df", "simon2talkie", Common::FR_FRA, Common::kPlatformPC }, { "c8f5b860a20dcc63915d94cf2bdcfa49", "simon1dos", Common::IT_ITA, Common::kPlatformPC }, { "d22302abf44219f95d50f2faa807dd1a", "simon1talkie", Common::EN_USA, Common::kPlatformWindows }, diff --git a/simon/simon.cpp b/simon/simon.cpp index 963b3af147..ba53b6f6a0 100644 --- a/simon/simon.cpp +++ b/simon/simon.cpp @@ -258,6 +258,12 @@ static const GameSpecificSettings simon2dos_settings = { }; #endif +static const char* bad_versions[3] = { + "27c8e7feada80c75b70b9c2f6088d519", // simon2dos (English) + "465eed710cc242b2de7dc77edd467c4c", // simon1dos (English) + "bed9134804d96f72afa152b8ec5628c3", // simon1dos (French) +}; + SimonEngine::SimonEngine(GameDetector *detector, OSystem *syst) : Engine(syst), midi(syst) { @@ -302,11 +308,6 @@ SimonEngine::SimonEngine(GameDetector *detector, OSystem *syst) } ConfMan.flushToDisk(); } else { -#if 1 - // HACK HACK HACK - // This is not how, and where, MD5 computation should be done in the - // real world. Rather this is meant as a proof-of-concept hack. - // It's quick, it's dirty, and it'll go again eventually :-) char buf[100]; uint8 md5sum[16]; File f; @@ -322,6 +323,11 @@ SimonEngine::SimonEngine(GameDetector *detector, OSystem *syst) sprintf(md5str + j*2, "%02x", (int)md5sum[j]); } + for (int j = 0; j < 3; j++) { + if (!strcmp(md5str, bad_versions[j])) + error("Cracked version aren't supported"); + } + printf("%s %s\n", md5str, buf); const MD5Table *elem; elem = (const MD5Table *)bsearch(md5str, md5table, ARRAYSIZE(md5table)-1, sizeof(MD5Table), compareMD5Table); @@ -331,7 +337,6 @@ SimonEngine::SimonEngine(GameDetector *detector, OSystem *syst) else printf("Unknown MD5! Please report the details (language, platform, etc.) of this game to the ScummVM team\n"); } -#endif } VGA_DELAY_BASE = 1; |