diff options
author | Eugene Sandulenko | 2005-09-20 00:52:32 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2005-09-20 00:52:32 +0000 |
commit | cfe0b5936ba302c889dbbb495434529986b13d1d (patch) | |
tree | 1d734e62022b6f268a4ab4e658afc0066f9daf91 | |
parent | 98c40b69aa3758e10da79a9fd435c506f24f7669 (diff) | |
download | scummvm-rg350-cfe0b5936ba302c889dbbb495434529986b13d1d.tar.gz scummvm-rg350-cfe0b5936ba302c889dbbb495434529986b13d1d.tar.bz2 scummvm-rg350-cfe0b5936ba302c889dbbb495434529986b13d1d.zip |
Implement Feature request #1286150 "Third-party translations". Just
use target_md5=234672e54b4534ac6775 which will be used to pick up
alternative target parameters.
svn-id: r18848
-rw-r--r-- | scumm/scumm.cpp | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index cbcd0f3f82..1787e6b2dd 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -3087,11 +3087,13 @@ Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst) { } } - // Use MD5 to determine specific game version, if required. - if (game.features & GF_MULTIPLE_VERSIONS) { + // Check if MD5 was overwritten + if (ConfMan.hasKey("target_md5")) { + const char *md5 = ConfMan.get("target_md5").c_str(); + g = multiple_versions_md5_settings; while (g->name) { - if (!scumm_stricmp(gameMD5, g->name)) + if (!scumm_stricmp(md5, g->name)) break; g++; } @@ -3101,6 +3103,22 @@ Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst) { if (game.description) g_system->setWindowCaption(game.description); } + } else { + // Use MD5 to determine specific game version, if required. + if (game.features & GF_MULTIPLE_VERSIONS) { + g = multiple_versions_md5_settings; + while (g->name) { + if (!scumm_stricmp(gameMD5, g->name)) + break; + g++; + } + if (g->name) { + game = *g; + game.name = name; + if (game.description) + g_system->setWindowCaption(game.description); + } + } } // Starting from version 7.1, HE games use 640x480. We check this here since multiple // versions _could_ use different resolutions (I haven't verified this, though). |