diff options
-rw-r--r-- | common/translation.cpp | 33 | ||||
-rw-r--r-- | engines/tsage/ringworld_scenes1.cpp | 2 | ||||
-rw-r--r-- | gui/themes/translations.dat | bin | 220518 -> 220969 bytes | |||
-rw-r--r-- | po/hu_HU.po | 9 |
4 files changed, 26 insertions, 18 deletions
diff --git a/common/translation.cpp b/common/translation.cpp index 526bebcec6..59488c2dd5 100644 --- a/common/translation.cpp +++ b/common/translation.cpp @@ -223,9 +223,17 @@ String TranslationManager::getLangById(int id) const { } bool TranslationManager::openTranslationsFile(File& inFile) { - // First try to open it directly (i.e. using the SearchMan). - if (inFile.open("translations.dat")) - return true; + // First try to open it using the SearchMan. + ArchiveMemberList fileList; + SearchMan.listMatchingMembers(fileList, "translations.dat"); + for (ArchiveMemberList::iterator it = fileList.begin(); it != fileList.end(); ++it) { + SeekableReadStream *stream = it->get()->createReadStream(); + if (stream && inFile.open(stream, it->get()->getName())) { + if (checkHeader(inFile)) + return true; + inFile.close(); + } + } // Then look in the Themepath if we can find the file. if (ConfMan.hasKey("themepath")) @@ -243,8 +251,11 @@ bool TranslationManager::openTranslationsFile(const FSNode &node, File& inFile, // necessary to make them here. But it avoid printing warnings. FSNode fileNode = node.getChild("translations.dat"); if (fileNode.exists() && fileNode.isReadable() && !fileNode.isDirectory()) { - if (inFile.open(fileNode)) - return true; + if (inFile.open(fileNode)) { + if (checkHeader(inFile)) + return true; + inFile.close(); + } } // Check if we exceeded the given recursion depth @@ -268,13 +279,10 @@ bool TranslationManager::openTranslationsFile(const FSNode &node, File& inFile, void TranslationManager::loadTranslationsInfoDat() { File in; if (!openTranslationsFile(in)) { - warning("You are missing the 'translations.dat' file. GUI translation will not be available"); + warning("You are missing a valid 'translations.dat' file. GUI translation will not be available"); return; } - if (!checkHeader(in)) - return; - char buf[256]; int len; @@ -326,9 +334,6 @@ void TranslationManager::loadLanguageDat(int index) { if (!openTranslationsFile(in)) return; - if (!checkHeader(in)) - return; - char buf[1024]; int len; @@ -386,7 +391,7 @@ bool TranslationManager::checkHeader(File &in) { // Check header if (strcmp(buf, "TRANSLATIONS")) { - warning("Your 'translations.dat' file is corrupt. GUI translation will not be available"); + warning("File '%s' is not a valid translations data file. Skipping this file", in.getName()); return false; } @@ -394,7 +399,7 @@ bool TranslationManager::checkHeader(File &in) { ver = in.readByte(); if (ver != TRANSLATIONS_DAT_VER) { - warning("Your 'translations.dat' file has a mismatching version, expected was %d but you got %d. GUI translation will not be available", TRANSLATIONS_DAT_VER, ver); + warning("File '%s' has a mismatching version, expected was %d but you got %d. Skipping this file", in.getName(), TRANSLATIONS_DAT_VER, ver); return false; } diff --git a/engines/tsage/ringworld_scenes1.cpp b/engines/tsage/ringworld_scenes1.cpp index 29b7c9b997..7fe2610fd7 100644 --- a/engines/tsage/ringworld_scenes1.cpp +++ b/engines/tsage/ringworld_scenes1.cpp @@ -342,7 +342,7 @@ void Scene20::Action2::signal() { } case 8: scene->_sound.release(); - scene->_sound.fadeOut(this); + _globals->_soundHandler.fadeOut(this); break; case 9: SceneItem::display(0, 0, LIST_END); diff --git a/gui/themes/translations.dat b/gui/themes/translations.dat Binary files differindex 83155bba1b..f218747182 100644 --- a/gui/themes/translations.dat +++ b/gui/themes/translations.dat diff --git a/po/hu_HU.po b/po/hu_HU.po index 78062e9d41..4663df0ded 100644 --- a/po/hu_HU.po +++ b/po/hu_HU.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: ScummVM 1.3.0svn\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n" "POT-Creation-Date: 2011-06-20 23:09+0100\n" -"PO-Revision-Date: 2011-06-15 07:42+0100\n" +"PO-Revision-Date: 2011-06-21 09:54+0100\n" "Last-Translator: Gruby <grubycza@hotmail.com>\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" @@ -1081,7 +1081,7 @@ msgstr "A motor nem támogatja a játékállás mentését" #: common/error.cpp:71 msgid "User canceled" -msgstr "" +msgstr "Felhasználói megszakítás" #: common/error.cpp:75 msgid "Unknown error" @@ -1239,10 +1239,13 @@ msgid "" "ScummVM. As such, it is likely to be unstable, and any saves you make might " "not work in future versions of ScummVM." msgstr "" +"FIGYELEM: A játékot amit indítani akarsz még nem teljesen támogatotja a " +"ScummVM. Számíts rá hogy nem stabilan fut, és a mentések nem működnek a " +"jövőbeni ScummVM verziókkal." #: engines/engine.cpp:408 msgid "Start anyway" -msgstr "" +msgstr "Indítás így is" #: engines/scumm/dialogs.cpp:281 msgid "~P~revious" |