summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/strgen/strgen.cpp13
-rw-r--r--src/strgen/strgen.h22
-rw-r--r--src/strings.cpp12
3 files changed, 25 insertions, 22 deletions
diff --git a/src/strgen/strgen.cpp b/src/strgen/strgen.cpp
index ccf4c1398..298597311 100644
--- a/src/strgen/strgen.cpp
+++ b/src/strgen/strgen.cpp
@@ -7,6 +7,7 @@
#include "../core/endian_func.hpp"
#include "../string_func.h"
#include "../strings_type.h"
+#include "strgen.h"
#include "../table/control_codes.h"
#include <stdio.h>
@@ -35,18 +36,6 @@
typedef void (*ParseCmdProc)(char *buf, int value);
-struct LanguagePackHeader {
- uint32 ident; // 32-bits identifier
- uint32 version; // 32-bits of auto generated version info which is basically a hash of strings.h
- char name[32]; // the international name of this language
- char own_name[32]; // the localized name of this language
- char isocode[16]; // the ISO code for the language (not country code)
- uint16 offsets[32]; // the offsets
- byte plural_form; // plural form index
- byte text_dir; // default direction of the text
- byte pad[2]; // pad header to be a multiple of 4
-};
-
struct CmdStruct {
const char *cmd;
ParseCmdProc proc;
diff --git a/src/strgen/strgen.h b/src/strgen/strgen.h
new file mode 100644
index 000000000..a38b1760d
--- /dev/null
+++ b/src/strgen/strgen.h
@@ -0,0 +1,22 @@
+/* $Id$ */
+
+/** @file strgen.h Language pack header for strgen (needs to match). */
+
+#ifndef STRGEN_H
+#define STRGEN_H
+
+struct LanguagePackHeader {
+ uint32 ident; // 32-bits identifier
+ uint32 version; // 32-bits of auto generated version info which is basically a hash of strings.h
+ char name[32]; // the international name of this language
+ char own_name[32]; // the localized name of this language
+ char isocode[16]; // the ISO code for the language (not country code)
+ uint16 offsets[32]; // the offsets
+ byte plural_form; // plural form index
+ byte text_dir; // default direction of the text
+ byte pad[2]; // pad header to be a multiple of 4
+};
+
+assert_compile(sizeof(LanguagePackHeader) % 4 == 0);
+
+#endif /* STRGEN_H */
diff --git a/src/strings.cpp b/src/strings.cpp
index 8512a99c4..2fb3a7854 100644
--- a/src/strings.cpp
+++ b/src/strings.cpp
@@ -40,6 +40,7 @@
#include "engine_func.h"
#include "engine_base.h"
#include "saveload.h"
+#include "strgen/strgen.h"
#include "table/strings.h"
#include "table/control_codes.h"
@@ -53,16 +54,7 @@ static char *GetSpecialNameString(char *buff, int ind, const int64 *argv, const
static char *FormatString(char *buff, const char *str, const int64 *argv, uint casei, const char* last);
-struct LanguagePack {
- uint32 ident; // 32-bits identifier
- uint32 version; // 32-bits of auto generated version info which is basically a hash of strings.h
- char name[32]; // the international name of this language
- char own_name[32]; // the localized name of this language
- char isocode[16]; // the ISO code for the language (not country code)
- uint16 offsets[32]; // the offsets
- byte plural_form; // how to compute plural forms
- byte text_dir; // default direction of the text
- byte pad[2]; // pad header to be a multiple of 4
+struct LanguagePack : public LanguagePackHeader {
char data[VARARRAY_SIZE]; // list of strings
};