diff options
author | Eugene Sandulenko | 2016-01-09 23:16:52 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2016-01-10 09:21:03 +0100 |
commit | ceee1713f5c095cb7d8fdb5a080b4617c032cfcf (patch) | |
tree | 9c8f7e9d07165bcd2587b298ea6095c797522428 /engines/saga | |
parent | 05aa32dc21cce51d56f3cfbfa5a89a0d01ea3736 (diff) | |
download | scummvm-rg350-ceee1713f5c095cb7d8fdb5a080b4617c032cfcf.tar.gz scummvm-rg350-ceee1713f5c095cb7d8fdb5a080b4617c032cfcf.tar.bz2 scummvm-rg350-ceee1713f5c095cb7d8fdb5a080b4617c032cfcf.zip |
SAGA: Add support for Russian fan-translation of IHNM
Released about 2 years ago and is translating the subtitles
in contrast to the version released on CD which has only
poorly done voice-overs.
Diffstat (limited to 'engines/saga')
-rw-r--r-- | engines/saga/detection_tables.h | 33 | ||||
-rw-r--r-- | engines/saga/font.cpp | 2 | ||||
-rw-r--r-- | engines/saga/itedata.cpp | 24 | ||||
-rw-r--r-- | engines/saga/saga.cpp | 3 |
4 files changed, 61 insertions, 1 deletions
diff --git a/engines/saga/detection_tables.h b/engines/saga/detection_tables.h index 98009326ae..8b3a0e5207 100644 --- a/engines/saga/detection_tables.h +++ b/engines/saga/detection_tables.h @@ -825,6 +825,39 @@ static const SAGAGameDescription gameDescriptions[] = { IHNMCD_GameFonts, NULL, }, + + // I Have No Mouth And I Must Scream - Russian fan translaction v1.0 (by jack7277 et al) + { + { + "ihnm", + "", + { + {"musicfm.res", GAME_MUSICFILE_FM, "0439083e3dfdc51b486071d45872ae52", -1}, + {"musicgm.res", GAME_MUSICFILE_GM, "80f875a1fb384160d1f4b27166eef583", -1}, + {"scream.res", GAME_RESOURCEFILE, "ac00dd9e6701e8edbb49429dacbc4731", 79210049}, + {"patch.re_", GAME_PATCHFILE | GAME_RESOURCEFILE, "58b79e61594779513c7f2d35509fa89e", -1}, + {"scripts.res", GAME_SCRIPTFILE, "be38bbc5a26be809dbf39f13befebd01", -1}, + //{"sfx.res", GAME_SOUNDFILE, "1c610d543f32ec8b525e3f652536f269", -1}, + // There are two English versions of the game, each one with a different sfx.res file + // Known MD5 checksums for sfx.res in the English version of the game are + // 1c610d543f32ec8b525e3f652536f269 and 45a9a9f5d37740be24fd2ae2edf36573 + {"sfx.res", GAME_SOUNDFILE, NULL, -1}, + { NULL, 0, NULL, 0} + }, + Common::RU_RUS, + Common::kPlatformDOS, + ADGF_NO_FLAGS, + GUIO1(GUIO_NOASPECT) + }, + GID_IHNM, + 0, + IHNM_DEFAULT_SCENE, + &IHNM_Resources, + ARRAYSIZE(IHNMCD_GameFonts), + IHNMCD_GameFonts, + NULL, + }, + // I Have No Mouth And I Must Scream - Mac English CD { { diff --git a/engines/saga/font.cpp b/engines/saga/font.cpp index 73d42598cb..66a4e1c530 100644 --- a/engines/saga/font.cpp +++ b/engines/saga/font.cpp @@ -232,7 +232,7 @@ void Font::createOutline(FontData *font) { } int Font::translateChar(int charId) { - if (charId <= 127) + if (charId <= 127 || (_vm->getLanguage() == Common::RU_RUS && charId <= 254)) return charId; // normal character else return _charMap[charId - 128]; // extended character diff --git a/engines/saga/itedata.cpp b/engines/saga/itedata.cpp index da70733f4e..3577499399 100644 --- a/engines/saga/itedata.cpp +++ b/engines/saga/itedata.cpp @@ -422,6 +422,30 @@ const char *ITEinterfaceTextStrings[][53] = { NULL, NULL, "Cardango una partida guardada" + }, + // Russian IHNM + { + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xC2\xFB\xE9\xF2\xE8 \xE8\xE7 \xE8\xE3\xF0\xFB?", + "Load Successful!", + "\xC2\xE2\xE5\xE4\xE8\xF2\xE5 \xE8\xEC\xFF \xE7\xE0\xEF\xE8\xF1\xE8", + "\xC4\xE0\xF2\xFC %s >> %s", + "\xC8\xF1\xEF\xEE\xEB\xFC\xE7\xEE\xE2\xE0\xF2\xFC %s >> %s", + "[\xCD\xEE\xE2\xE0\xFF \xE7\xE0\xEF\xE8\xF1\xFC]", + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + " \xC7\xE0\xE3\xF0\xF3\xE7\xEA\xE0 " } }; diff --git a/engines/saga/saga.cpp b/engines/saga/saga.cpp index b94bb66bb4..532b59d3c7 100644 --- a/engines/saga/saga.cpp +++ b/engines/saga/saga.cpp @@ -503,6 +503,9 @@ const char *SagaEngine::getTextString(int textStringId) { case Common::ES_ESP: lang = 3; break; + case Common::RU_RUS: + lang = 4; + break; default: lang = 0; break; |