summaryrefslogtreecommitdiff
path: root/src/game/game_text.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/game_text.hpp')
-rw-r--r--src/game/game_text.hpp45
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 */