diff --git a/src/Makefile.am b/src/Makefile.am
index 5632dc867..6a520ca31 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -28,7 +28,7 @@ noinst_HEADERS = action.h advvis.h ai.h aiexperience.h anim_id.h \
researchdef.h resource.h scores.h scriptai.h scriptcb.h scriptextern.h scriptfuncs.h \
scriptobj.h scripttabs.h scriptvals.h selection.h seqdisp.h stats.h statsdef.h \
structure.h structuredef.h target.h text.h texture.h transporter.h visibility.h \
- warcam.h warzoneconfig.h weapondef.h winmain.h wrappers.h
+ warcam.h warzoneconfig.h weapondef.h main.h wrappers.h
warzone2100_SOURCES = scriptvals_parser.tab.c scriptvals_lexer.lex.c \
level_lexer.lex.c ai.c aiexperience.c astar.c action.c advvis.c atmos.c bridge.c \
diff --git a/src/clparse.c b/src/clparse.c
index 236b90098..d98ee82c3 100644
--- a/src/clparse.c
+++ b/src/clparse.c
@@ -31,7 +31,7 @@
#include "lib/framework/frame.h"
#include "lib/widget/widget.h"
-#include "winmain.h"
+#include "main.h"
#include "frontend.h"
#include "lib/ivis_common/pieclip.h"
diff --git a/src/design.c b/src/design.c
index e08da9caf..3a6bc8ee9 100644
--- a/src/design.c
+++ b/src/design.c
@@ -70,7 +70,7 @@
#include "component.h"
#include "lib/script/script.h"
#include "scripttabs.h"
-#include "winmain.h"
+#include "main.h"
#include "objects.h"
#include "display.h"
#include "console.h"
diff --git a/src/frontend.c b/src/frontend.c
index 765d082ef..4f2cb09e5 100644
--- a/src/frontend.c
+++ b/src/frontend.c
@@ -58,7 +58,7 @@
#include "seqdisp.h"
#include "text.h"
#include "warzoneconfig.h"
-#include "winmain.h"
+#include "main.h"
#include "wrappers.h"
static int StartWithGame = 1; // New game starts in Cam 1.
diff --git a/src/hci.c b/src/hci.c
index b4c16664d..815818e56 100644
--- a/src/hci.c
+++ b/src/hci.c
@@ -66,7 +66,7 @@
#include "text.h"
#include "transporter.h"
#include "warcam.h"
-#include "winmain.h"
+#include "main.h"
#include "wrappers.h"
diff --git a/src/ingameop.c b/src/ingameop.c
index 884c88d00..97bb949a1 100644
--- a/src/ingameop.c
+++ b/src/ingameop.c
@@ -50,7 +50,7 @@
#include "ingameop.h"
#include "mission.h"
#include "transporter.h"
-#include "winmain.h"
+#include "main.h"
extern void addText(int FontID,UDWORD FormID,UDWORD id, UDWORD PosX, UDWORD PosY, char *txt, UDWORD attachID,BOOL *State);
diff --git a/src/init.c b/src/init.c
index eab8aab46..2f625dc5c 100644
--- a/src/init.c
+++ b/src/init.c
@@ -88,7 +88,7 @@
#include "texture.h"
#include "transporter.h"
#include "warzoneconfig.h"
-#include "winmain.h"
+#include "main.h"
#include "wrappers.h"
#ifdef ARROWS
diff --git a/src/intimage.c b/src/intimage.c
index d769dbe22..ac6714163 100644
--- a/src/intimage.c
+++ b/src/intimage.c
@@ -62,7 +62,7 @@
#include "lib/widget/slider.h"
#include "lib/framework/fractions.h"
#include "order.h"
-#include "winmain.h"
+#include "main.h"
#include "intimage.h"
diff --git a/src/loadsave.c b/src/loadsave.c
index 3c32443ae..8c57cd254 100644
--- a/src/loadsave.c
+++ b/src/loadsave.c
@@ -40,7 +40,7 @@
#include "lib/sound/audio_id.h"
#include "lib/sound/audio.h"
#include "frontend.h"
-#include "winmain.h"
+#include "main.h"
#include "display3d.h"
#include "display.h"
#ifndef WIN32
diff --git a/src/main.c b/src/main.c
index 46e46c3ae..f2ac7ac0b 100644
--- a/src/main.c
+++ b/src/main.c
@@ -64,7 +64,7 @@
#include "research.h"
#include "seqdisp.h"
#include "warzoneconfig.h"
-#include "winmain.h"
+#include "main.h"
#include "wrappers.h"
#ifndef DATADIR
diff --git a/src/winmain.h b/src/main.h
similarity index 97%
rename from src/winmain.h
rename to src/main.h
index 02b9fb9bc..f03333b47 100644
--- a/src/winmain.h
+++ b/src/main.h
@@ -30,7 +30,6 @@ typedef enum {
//flag to indicate when initialisation is complete
extern BOOL gameInitialised;
-extern BOOL frontendInitialised;
extern BOOL bDisableLobby;
extern GS_GAMEMODE GetGameMode(void) WZ_DECL_PURE;
diff --git a/src/mission.c b/src/mission.c
index 242840d58..d1cd1b5cf 100644
--- a/src/mission.c
+++ b/src/mission.c
@@ -49,7 +49,7 @@
#include "text.h"
#include "frontend.h" // for displaytextoption.
#include "intdisplay.h"
-#include "winmain.h"
+#include "main.h"
#include "display.h"
#include "loadsave.h"
#include "lib/script/script.h"
diff --git a/src/multiint.c b/src/multiint.c
index 7acac1041..a97edff82 100644
--- a/src/multiint.c
+++ b/src/multiint.c
@@ -35,7 +35,7 @@
#include "lib/ivis_opengl/screen.h"
#include "lib/widget/widget.h"
-#include "winmain.h"
+#include "main.h"
#include "objects.h"
#include "display.h"// pal stuff
#include "display3d.h"
diff --git a/src/multiopt.c b/src/multiopt.c
index c1db6fa83..36fa5af3b 100644
--- a/src/multiopt.c
+++ b/src/multiopt.c
@@ -28,7 +28,7 @@
#include "map.h"
#include "game.h" // for loading maps
#include "message.h" // for clearing messages.
-#include "winmain.h"
+#include "main.h"
#include "display3d.h" // for changing the viewpoint
#include "power.h"
#include "lib/widget/widget.h"
diff --git a/src/scriptextern.c b/src/scriptextern.c
index 55b54c108..f8e2609e2 100644
--- a/src/scriptextern.c
+++ b/src/scriptextern.c
@@ -35,7 +35,7 @@
#include "multiplay.h"
-#include "winmain.h"
+#include "main.h"
#include "hci.h"
#include "lib/gamelib/gtime.h"
diff --git a/src/stats.c b/src/stats.c
index 5cd0ac3c5..85701f09b 100644
--- a/src/stats.c
+++ b/src/stats.c
@@ -32,7 +32,7 @@
#include "objects.h"
#include "stats.h"
#include "map.h"
-#include "winmain.h"
+#include "main.h"
#include "lib/sound/audio_id.h"
#include "projectile.h"
#include "text.h"
diff --git a/src/wrappers.c b/src/wrappers.c
index 1499e6d91..d54ee6ae3 100644
--- a/src/wrappers.c
+++ b/src/wrappers.c
@@ -45,7 +45,7 @@
#include "hci.h" // access to widget screen.
#include "lib/widget/widget.h"
#include "wrappers.h"
-#include "winmain.h"
+#include "main.h"
#include "objects.h"
#include "display.h"
#include "display3d.h"
diff --git a/warzone2100.cbp b/warzone2100.cbp
index 9598aa200..6bee0186c 100644
--- a/warzone2100.cbp
+++ b/warzone2100.cbp
@@ -650,6 +650,7 @@
+
@@ -868,7 +869,6 @@
-