diff --git a/projects/openttd_vs80.vcproj b/projects/openttd_vs80.vcproj
index ff901243f4..ec5bb6673c 100644
--- a/projects/openttd_vs80.vcproj
+++ b/projects/openttd_vs80.vcproj
@@ -1320,7 +1320,15 @@
>
+
+
+
+
+
+
+
+
{
@@ -30,13 +29,6 @@ struct Sign : PoolItem {
inline bool IsValid() const { return this->owner != INVALID_PLAYER; }
};
-enum {
- INVALID_SIGN = 0xFFFF,
-};
-
-extern SignID _new_sign_id;
-
-
static inline SignID GetMaxSignIndex()
{
/* TODO - This isn't the real content of the function, but
@@ -61,14 +53,4 @@ static inline bool IsValidSignID(uint index)
#define FOR_ALL_SIGNS_FROM(ss, start) for (ss = GetSign(start); ss != NULL; ss = (ss->index + 1U < GetSignPoolSize()) ? GetSign(ss->index + 1U) : NULL) if (ss->IsValid())
#define FOR_ALL_SIGNS(ss) FOR_ALL_SIGNS_FROM(ss, 0)
-extern bool _sign_sort_dirty;
-
-void UpdateAllSignVirtCoords();
-void PlaceProc_Sign(TileIndex tile);
-
-/* signs_gui.cpp */
-void ShowRenameSignWindow(const Sign *si);
-
-void ShowSignList();
-
-#endif /* SIGNS_H */
+#endif /* SIGNS_BASE_H */
diff --git a/src/signs_func.h b/src/signs_func.h
new file mode 100644
index 0000000000..5a38ba748f
--- /dev/null
+++ b/src/signs_func.h
@@ -0,0 +1,21 @@
+/* $Id$ */
+
+/** @file signs_func.h Functions related to signs. */
+
+#ifndef SIGNS_FUNC_H
+#define SIGNS_FUNC_H
+
+#include "signs_type.h"
+
+extern SignID _new_sign_id;
+extern bool _sign_sort_dirty;
+
+void UpdateAllSignVirtCoords();
+void PlaceProc_Sign(TileIndex tile);
+
+/* signs_gui.cpp */
+void ShowRenameSignWindow(const Sign *si);
+
+void ShowSignList();
+
+#endif /* SIGNS_FUNC_H */
diff --git a/src/signs_gui.cpp b/src/signs_gui.cpp
index ce533954c4..2e01f260ad 100644
--- a/src/signs_gui.cpp
+++ b/src/signs_gui.cpp
@@ -8,7 +8,8 @@
#include "textbuf_gui.h"
#include "window_gui.h"
#include "player_gui.h"
-#include "signs.h"
+#include "signs_base.h"
+#include "signs_func.h"
#include "debug.h"
#include "variables.h"
#include "command_func.h"
diff --git a/src/signs_type.h b/src/signs_type.h
new file mode 100644
index 0000000000..7f1dc5f4ff
--- /dev/null
+++ b/src/signs_type.h
@@ -0,0 +1,15 @@
+/* $Id$ */
+
+/** @file signs_type.h Types related to signs */
+
+#ifndef SIGNS_TYPE_H
+#define SIGNS_TYPE_H
+
+typedef uint16 SignID;
+struct Sign;
+
+enum {
+ INVALID_SIGN = 0xFFFF,
+};
+
+#endif /* SIGNS_TYPE_H */
diff --git a/src/strings.cpp b/src/strings.cpp
index 62e8224380..2fcb7055c6 100644
--- a/src/strings.cpp
+++ b/src/strings.cpp
@@ -20,7 +20,7 @@
#include "group.h"
#include "debug.h"
#include "newgrf_townname.h"
-#include "signs.h"
+#include "signs_base.h"
#include "newgrf_engine.h"
#include "spritecache.h"
#include "fontcache.h"
diff --git a/src/terraform_gui.cpp b/src/terraform_gui.cpp
index 935f39afce..a215bd475d 100644
--- a/src/terraform_gui.cpp
+++ b/src/terraform_gui.cpp
@@ -13,7 +13,7 @@
#include "viewport_func.h"
#include "gfx_func.h"
#include "command_func.h"
-#include "signs.h"
+#include "signs_func.h"
#include "variables.h"
#include "functions.h"
#include "sound_func.h"
diff --git a/src/viewport.cpp b/src/viewport.cpp
index 96e8dff887..659834fd1b 100644
--- a/src/viewport.cpp
+++ b/src/viewport.cpp
@@ -12,7 +12,8 @@
#include "viewport_func.h"
#include "station_base.h"
#include "town.h"
-#include "signs.h"
+#include "signs_base.h"
+#include "signs_func.h"
#include "waypoint.h"
#include "variables.h"
#include "train.h"