diff options
author | truebrain <truebrain@openttd.org> | 2011-12-19 21:05:46 +0000 |
---|---|---|
committer | truebrain <truebrain@openttd.org> | 2011-12-19 21:05:46 +0000 |
commit | 2ae87e72131a8e88327dbb0b5b286accddafe05d (patch) | |
tree | ec755c0d0c31cbcb470d0df2625db8614efca6b2 /src/game/game_text.hpp | |
parent | 9b6b2cabc187f3cb72a53d396418ab1b9ebd2933 (diff) | |
download | openttd-2ae87e72131a8e88327dbb0b5b286accddafe05d.tar.xz |
(svn r23634) -Add: support language files for GameScript (Rubidium)
Diffstat (limited to 'src/game/game_text.hpp')
-rw-r--r-- | src/game/game_text.hpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/game/game_text.hpp b/src/game/game_text.hpp new file mode 100644 index 000000000..b367e63f9 --- /dev/null +++ b/src/game/game_text.hpp @@ -0,0 +1,45 @@ +/* $Id$ */ + +/* + * This file is part of OpenTTD. + * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>. + */ + +/** @file game_text.hpp Base functions regarding game texts. */ + +#ifndef GAME_TEXT_HPP +#define GAME_TEXT_HPP + +#include "../core/smallvec_type.hpp" + +/** The tab we place our strings in. */ +static const uint GAME_TEXT_TAB = 18; + +const char *GetGameStringPtr(uint id); +void RegisterGameTranslation(class Squirrel *engine); +void ReconsiderGameScriptLanguage(); + +/** Container for the raw (unencoded) language strings of a language. */ +struct LanguageStrings { + const char *language; ///< Name of the language (base filename). + StringList lines; ///< The lines of the file to pass into the parser/encoder. + + LanguageStrings(const char *language); + ~LanguageStrings(); +}; + +/** Container for all the game strings. */ +struct GameStrings { + uint version; ///< The version of the language strings. + LanguageStrings *cur_language; ///< The current (compiled) language. + + AutoDeleteSmallVector<LanguageStrings *, 4> raw_strings; ///< The raw strings per language, first must be English/the master language!. + AutoDeleteSmallVector<LanguageStrings *, 4> compiled_strings; ///< The compiled strings per language, first must be English/the master language!. + StringList string_names; ///< The names of the compiled strings. + + void Compile(); +}; + +#endif /* GAME_TEXT_HPP */ |