[Scummvm-cvs-logs] SF.net SVN: scummvm:[48697] scummvm/trunk/engines/sci
waltervn at users.sourceforge.net
waltervn at users.sourceforge.net
Sun Apr 18 02:56:05 CEST 2010
Revision: 48697
http://scummvm.svn.sourceforge.net/scummvm/?rev=48697&view=rev
Author: waltervn
Date: 2010-04-18 00:56:04 +0000 (Sun, 18 Apr 2010)
Log Message:
-----------
SCI: Don't add subtitles for monolingual strings.
Modified Paths:
--------------
scummvm/trunk/engines/sci/engine/state.cpp
scummvm/trunk/engines/sci/sci.h
Modified: scummvm/trunk/engines/sci/engine/state.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/state.cpp 2010-04-17 23:57:50 UTC (rev 48696)
+++ scummvm/trunk/engines/sci/engine/state.cpp 2010-04-18 00:56:04 UTC (rev 48697)
@@ -124,7 +124,7 @@
}
}
-Common::String SciEngine::getSciLanguageString(const char *str, kLanguage lang) const {
+Common::String SciEngine::getSciLanguageString(const char *str, kLanguage lang, kLanguage *lang2) const {
kLanguage secondLang = K_LANG_NONE;
const char *seeker = str;
@@ -139,10 +139,9 @@
seeker++;
}
- //if ((secondLang == K_LANG_JAPANESE) && (*(seeker + 1) == 'J')) {
- // // FIXME: Add Kanji support
- // lang = K_LANG_ENGLISH;
- //}
+ // Return the secondary language found in the string
+ if (lang2)
+ *lang2 = secondLang;
if (secondLang == lang)
return Common::String(seeker + 2);
@@ -211,9 +210,16 @@
subLang = (kLanguage)GET_SEL32V(_gamestate->_segMan, _gamestate->_gameObj, SELECTOR(subtitleLang));
}
- Common::String retval = getSciLanguageString(str, lang);
+ kLanguage secondLang;
+ Common::String retval = getSciLanguageString(str, lang, &secondLang);
- if ((subLang != K_LANG_NONE) && (sep != NULL)) {
+ // Don't add subtitle when separator is not set, subtitle language is not set, or
+ // string contains only one language
+ if ((sep == NULL) || (subLang == K_LANG_NONE) || (secondLang == K_LANG_NONE))
+ return retval;
+
+ // Add subtitle, unless the subtitle language doesn't match the languages in the string
+ if ((subLang == K_LANG_ENGLISH) || (subLang == secondLang)) {
retval += sep;
retval += getSciLanguageString(str, subLang);
}
Modified: scummvm/trunk/engines/sci/sci.h
===================================================================
--- scummvm/trunk/engines/sci/sci.h 2010-04-17 23:57:50 UTC (rev 48696)
+++ scummvm/trunk/engines/sci/sci.h 2010-04-18 00:56:04 UTC (rev 48697)
@@ -190,7 +190,7 @@
kLanguage getSciLanguage();
- Common::String getSciLanguageString(const char *str, kLanguage lang) const;
+ Common::String getSciLanguageString(const char *str, kLanguage lang, kLanguage *lang2 = NULL) const;
public:
GfxAnimate *_gfxAnimate; // Animate for 16-bit gfx
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list