[Super-tux-commit] supertux/lib/app setup.cpp,1.19,1.20 tinygettext.cpp,1.2,1.3 tinygettext.h,1.1,1.
Brought to you by:
wkendrick
From: Matze B. <mat...@us...> - 2004-11-24 23:10:49
|
Update of /cvsroot/super-tux/supertux/lib/app In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16564/lib/app Modified Files: setup.cpp tinygettext.cpp tinygettext.h Log Message: some cleanups in the sprite class, increased delta for collision response Index: tinygettext.h =================================================================== RCS file: /cvsroot/super-tux/supertux/lib/app/tinygettext.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- tinygettext.h 23 Nov 2004 22:21:50 -0000 1.1 +++ tinygettext.h 24 Nov 2004 23:10:01 -0000 1.2 @@ -104,13 +104,14 @@ SearchPath search_path; typedef std::map<std::string, std::string> Aliases; Aliases language_aliases; + std::string charset; std::string language; Dictionary* current_dict; Dictionary empty_dict; public: DictionaryManager(); - + /** Return the currently active dictionary, if none is set, an empty dictionary is returned. */ Dictionary& get_dictionary() @@ -122,6 +123,9 @@ /** Set a language based on a four? letter country code */ void set_language(const std::string& langspec); + /** Set a charset that will be set on the returned dictionaries */ + void set_charset(const std::string& charset); + /** Define an alias for a language */ void set_language_alias(const std::string& alias, const std::string& lang); Index: tinygettext.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/lib/app/tinygettext.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- tinygettext.cpp 23 Nov 2004 22:49:04 -0000 1.2 +++ tinygettext.cpp 24 Nov 2004 23:10:01 -0000 1.3 @@ -237,6 +237,8 @@ Dictionary& dict = dictionaries[lang]; dict.set_language(get_language_def(lang)); + if(charset != "") + dict.set_charset(charset); for (SearchPath::iterator p = search_path.begin(); p != search_path.end(); ++p) { @@ -309,6 +311,14 @@ } void +DictionaryManager::set_charset(const std::string& charset) +{ + dictionaries.clear(); // changing charset invalidates cache + this->charset = charset; + set_language(language); +} + +void DictionaryManager::set_language_alias(const std::string& alias, const std::string& language) { @@ -334,9 +344,8 @@ void DictionaryManager::add_directory(const std::string& pathname) { + dictionaries.clear(); // adding directories invalidates cache search_path.push_back(pathname); - // cache is outdated now - dictionaries.clear(); set_language(language); } Index: setup.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/lib/app/setup.cpp,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- setup.cpp 24 Nov 2004 14:10:20 -0000 1.19 +++ setup.cpp 24 Nov 2004 23:10:01 -0000 1.20 @@ -262,6 +262,7 @@ directories(); dictionary_manager.add_directory(datadir + "/locale"); + dictionary_manager.set_charset("iso8859-1"); } /* --- SETUP --- */ |