Index: binaries/data/config/default.cfg
===================================================================
--- binaries/data/config/default.cfg	(revision 15055)
+++ binaries/data/config/default.cfg	(working copy)
@@ -21,7 +21,9 @@
 windowed = false
 
 ; Enable/disable the splashscreen
-splashscreenenable = true
+splashscreendisable = false
+; Splashscreen version (date of last modification). By default, 0 to force splashscreen to appear at first launch.
+splashscreenversion = 0
 
 ; Pause the game on window focus loss (Only applicable to single player mode)
 pauseonfocusloss = true
Index: binaries/data/mods/public/gui/options/options.js
===================================================================
--- binaries/data/mods/public/gui/options/options.js	(revision 15055)
+++ binaries/data/mods/public/gui/options/options.js	(working copy)
@@ -7,6 +7,7 @@
 	[
 		[translate("Windowed Mode"), translate("Start 0 A.D. in a window"), {"config":"windowed"}, "boolean"],
 		[translate("Background Pause"), translate("Pause single player games when window loses focus"), {"config":"pauseonfocusloss"}, "boolean"],
+		[translate("Disable Welcome Screen"), translate("If you disable this screen completely, you may miss important announcements.\nYou can still launch it using the main menu."), {"config":"splashscreendisable"}, "boolean"],
 		[translate("Developer Overlay"), translate("Show overlay in-game with options such as reveal map, control all units, and change perspective. Designed for use by developers"), {"config":"developeroverlay.enable"}, "boolean"],
 	],
 	"graphicsSetting":
Index: binaries/data/mods/public/gui/pregame/mainmenu.js
===================================================================
--- binaries/data/mods/public/gui/pregame/mainmenu.js	(revision 15055)
+++ binaries/data/mods/public/gui/pregame/mainmenu.js	(working copy)
@@ -158,8 +158,9 @@
 	{
 		g_ShowSplashScreens = false;
 
-		if (Engine.ConfigDB_GetValue("user", "splashscreenenable") !== "false")
-			Engine.PushGuiPage("page_splashscreen.xml", { "page": "splashscreen", callback : "SplashScreenClosedCallback" } );
+		if (Engine.ConfigDB_GetValue("user", "splashscreendisable") !== "true" 
+			&& Engine.ConfigDB_GetValue("user", "splashscreenversion") < Engine.GetFileMTime("gui/splashscreen/splashscreen.txt"))
+            Engine.PushGuiPage("page_splashscreen.xml", { "page": "splashscreen", callback : "SplashScreenClosedCallback" } );
 		else
 			ShowRenderPathMessage();
 	}
Index: binaries/data/mods/public/gui/pregame/mainmenu.xml
===================================================================
--- binaries/data/mods/public/gui/pregame/mainmenu.xml	(revision 15055)
+++ binaries/data/mods/public/gui/pregame/mainmenu.xml	(working copy)
@@ -328,6 +328,22 @@
 						pressedScenarioEditorButton();
 					</action>
 				</object>
+
+				<object name="submenuWelcomeScreenButton"
+					style="StoneButtonFancy"
+					type="button"
+					size="0 96 100% 124"
+					tooltip_style="pgToolTip"
+				>
+					<translatableAttribute id="caption">Welcome Screen</translatableAttribute>
+					<translatableAttribute id="tooltip">Show the Welcome Screen. Useful if you hid it by mistake.</translatableAttribute>
+					<action on="Press">
+						<![CDATA[
+						closeMenu();
+						Engine.PushGuiPage("page_splashscreen.xml", { "page": "splashscreen", callback : "SplashScreenClosedCallback" } );
+						]]>
+					</action>
+				</object>
 			</object>
 		</object><!-- end of submenu -->
 
@@ -427,7 +443,7 @@
 					<translatableAttribute id="tooltip">Game options and scenario design tools.</translatableAttribute>
 					<action on="Press">
 						closeMenu();
-						openMenu("submenuToolsAndOptions", (this.parent.size.top+this.size.top), (this.size.bottom-this.size.top), 3);
+						openMenu("submenuToolsAndOptions", (this.parent.size.top+this.size.top), (this.size.bottom-this.size.top), 4);
 					</action>
 				</object>
 
Index: binaries/data/mods/public/gui/splashscreen/splashscreen.js
===================================================================
--- binaries/data/mods/public/gui/splashscreen/splashscreen.js	(revision 15055)
+++ binaries/data/mods/public/gui/splashscreen/splashscreen.js	(working copy)
@@ -1,6 +1,7 @@
 function init(data)
 {
 	Engine.GetGUIObjectByName("mainText").caption = Engine.TranslateLines(Engine.ReadFile("gui/splashscreen/" + data.page + ".txt"));
+	Engine.GetGUIObjectByName("displaySplashScreen").checked = (Engine.ConfigDB_GetValue("user", "splashscreenversion") < Engine.GetFileMTime("gui/splashscreen/splashscreen.txt"));
 }
 
 function openURL(url)
Index: binaries/data/mods/public/gui/splashscreen/splashscreen.xml
===================================================================
--- binaries/data/mods/public/gui/splashscreen/splashscreen.xml	(revision 15055)
+++ binaries/data/mods/public/gui/splashscreen/splashscreen.xml	(working copy)
@@ -19,14 +19,17 @@
 						<object name="displaySplashScreenText" size="20 0 100% 100%" type="text" style="ModernLeftLabelText">
 							<translatableAttribute id="caption">Show this message in the future</translatableAttribute>
 						</object>
-						<object name="displaySplashScreen" checked="true" size="0 50%-8 16 50%+8" type="checkbox" style="ModernTickBox"/>
+						<object name="displaySplashScreen" size="0 50%-8 16 50%+8" type="checkbox" style="ModernTickBox"/>
 					</object>
 				</object>
 			</object>
 		<object name="btnOK" type="button" style="StoneButton" tooltip_style="snToolTip" size="20 100%-42 184 100%-14">
 			<translatableAttribute id="caption">OK</translatableAttribute>
 			<action on="Press"><![CDATA[
-			Engine.ConfigDB_CreateValue("user", "splashscreenenable", Engine.GetGUIObjectByName("displaySplashScreen").checked ? "true" : "false");
+			if (Engine.GetGUIObjectByName("displaySplashScreen").checked)
+				Engine.ConfigDB_CreateValue("user", "splashscreenversion", 0);
+			else
+				Engine.ConfigDB_CreateValue("user", "splashscreenversion", Engine.GetFileMTime("gui/splashscreen/splashscreen.txt"));
 			Engine.ConfigDB_WriteFile("user", "config/user.cfg");
 			Engine.PopGuiPageCB();
 			]]></action>
