From 7fafeec76738f1ca9b2305db7c9545e9074a782b Mon Sep 17 00:00:00 2001 From: historic_bruno Date: Wed, 17 Oct 2012 20:33:50 +0000 Subject: [PATCH] Fixes splash screen to display only once at startup. Fixes #1701. Adds some spacing between splash screen icons and text. This was SVN commit r12762. --- binaries/data/mods/public/gui/pregame/mainmenu.js | 9 ++++----- .../data/mods/public/gui/splashscreen/splashscreen.txt | 8 ++++---- source/ps/GameSetup/GameSetup.cpp | 10 +++++++++- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/binaries/data/mods/public/gui/pregame/mainmenu.js b/binaries/data/mods/public/gui/pregame/mainmenu.js index e8fee90f2f..b753ca5df8 100644 --- a/binaries/data/mods/public/gui/pregame/mainmenu.js +++ b/binaries/data/mods/public/gui/pregame/mainmenu.js @@ -3,7 +3,7 @@ var currentSubmenuType; // contains submenu type const MARGIN = 4; // menu border size const background = "hellenes1"; // Background type. Currently: 'hellenes1', 'persians1'. -function init() +function init(initData) { initMusic(); @@ -16,11 +16,10 @@ function init() currentSubmenuType = "submenuSinglePlayer"; EnableUserReport(Engine.IsUserReportEnabled()); - - if(Engine.IsSplashScreenEnabled()) - { + + // Only show splash screen once + if (initData && initData.isStartup && Engine.IsSplashScreenEnabled()) Engine.PushGuiPage("page_splashscreen.xml", { "page": "splashscreen" } ); - } } var t0 = new Date; diff --git a/binaries/data/mods/public/gui/splashscreen/splashscreen.txt b/binaries/data/mods/public/gui/splashscreen/splashscreen.txt index 5e2ace03bf..082f0d73d4 100644 --- a/binaries/data/mods/public/gui/splashscreen/splashscreen.txt +++ b/binaries/data/mods/public/gui/splashscreen/splashscreen.txt @@ -1,9 +1,9 @@ [font="serif-bold-16"]Thank you for installing 0 A.D.! [font="serif-16"] -[icon="constructionIcon"]This is an early experimental version of the game. Features are missing and it contains bugs. +[icon="constructionIcon"] This is an early experimental version of the game. Features are missing and it contains bugs. -[icon=iconLag]The game lags when many units are moving. +[icon=iconLag] The game lags when many units are moving. -[icon="iconShip"]The computer opponent can't use ships. +[icon="iconShip"] The computer opponent can't use ships. -[icon="iconMap"]Large maps can cause problems. +[icon="iconMap"] Large maps can cause problems. diff --git a/source/ps/GameSetup/GameSetup.cpp b/source/ps/GameSetup/GameSetup.cpp index 4bb94b71f2..a3d1e937f3 100644 --- a/source/ps/GameSetup/GameSetup.cpp +++ b/source/ps/GameSetup/GameSetup.cpp @@ -986,7 +986,15 @@ void InitGraphics(const CmdLineArgs& args, int flags) if (!Autostart(args)) { const bool setup_gui = ((flags & INIT_NO_GUI) == 0); - InitPs(setup_gui, L"page_pregame.xml", JSVAL_VOID); + // We only want to display the splash screen at startup + CScriptValRooted data; + if (g_GUI) + { + ScriptInterface& scriptInterface = g_GUI->GetScriptInterface(); + scriptInterface.Eval("({})", data); + scriptInterface.SetProperty(data.get(), "isStartup", true); + } + InitPs(setup_gui, L"page_pregame.xml", data.get()); } } catch (PSERROR_Game_World_MapLoadFailed e)