summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/strgen/strgen.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/strgen/strgen.cpp b/src/strgen/strgen.cpp
index c216940c3..bcb44f4fe 100644
--- a/src/strgen/strgen.cpp
+++ b/src/strgen/strgen.cpp
@@ -928,9 +928,17 @@ static void WriteStringsH(const char *filename)
fprintf(_output_file, "\nstatic const StringID STR_LAST_STRINGID = 0x%X;\n\n", next - 1);
+ /* Find the plural form with the most amount of cases. */
+ int max_plural_forms = 0;
+ for (uint i = 0; i < lengthof(_plural_forms); i++) {
+ max_plural_forms = max(max_plural_forms, _plural_forms[i].plural_count);
+ }
+
fprintf(_output_file,
- "static const uint LANGUAGE_PACK_VERSION = 0x%X;\n"
- "static const uint LANGUAGE_MAX_PLURAL = %d;\n\n", (uint)_hash, (uint)lengthof(_plural_forms)
+ "static const uint LANGUAGE_PACK_VERSION = 0x%X;\n"
+ "static const uint LANGUAGE_MAX_PLURAL = %d;\n"
+ "static const uint LANGUAGE_MAX_PLURAL_FORMS = %d;\n\n",
+ (uint)_hash, (uint)lengthof(_plural_forms), max_plural_forms
);
fprintf(_output_file, "#endif /* TABLE_STRINGS_H */\n");