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 --- */
|