summaryrefslogtreecommitdiff
path: root/newgrf_text.h
diff options
context:
space:
mode:
Diffstat (limited to 'newgrf_text.h')
-rw-r--r--newgrf_text.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/newgrf_text.h b/newgrf_text.h
new file mode 100644
index 000000000..2eed88ccb
--- /dev/null
+++ b/newgrf_text.h
@@ -0,0 +1,41 @@
+/* $Id$ */
+#ifndef NEWGRF_TEXT_H
+#define NEWGRF_TEXT_H
+
+/** @file
+ * Header of Action 04 "universal holder" structure and functions
+ */
+
+#define MAX_LANG 28
+
+/**
+ * Element of the linked list.
+ * Each of those elements represent the string,
+ * but according to a different lang.
+ */
+typedef struct GRFText {
+ byte langid;
+ char *text;
+ struct GRFText *next;
+} GRFText;
+
+
+/**
+ * Holder of the above structure.
+ * Putting both grfid and stringid togueter allow us to avoid duplicates,
+ * since it is NOT SUPPOSED to happen.
+ */
+typedef struct GRFTextEntry {
+ uint32 grfid;
+ uint16 stringid;
+ GRFText *textholder;
+} GRFTextEntry;
+
+
+StringID AddGRFString(uint32 grfid, uint16 stringid, byte langid, const char *text_to_add);
+StringID GetGRFStringID(uint32 grfid, uint16 stringid);
+char *GetGRFString(char *buff, uint16 stringid);
+void CleanUpStrings(void);
+void SetCurrentGrfLangID(const char *iso_name);
+
+#endif /* NEWGRF_TEXT_H */