diff --git a/OpenRA.Mods.D2k/D2kLoadScreen.cs b/OpenRA.Mods.D2k/D2kLoadScreen.cs deleted file mode 100644 index d0dc9c7337..0000000000 --- a/OpenRA.Mods.D2k/D2kLoadScreen.cs +++ /dev/null @@ -1,95 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2012 The OpenRA Developers (see AUTHORS) - * This file is part of OpenRA, which is free software. It is made - * available to you under the terms of the GNU General Public License - * as published by the Free Software Foundation. For more information, - * see COPYING. - */ -#endregion - -using System.Collections.Generic; -using System.Drawing; -using System.IO; -using OpenRA.FileFormats; -using OpenRA.Graphics; -using OpenRA.Network; -using OpenRA.Support; -using OpenRA.Widgets; - -namespace OpenRA.Mods.D2k -{ - public class D2kLoadScreen : ILoadScreen - { - public static string[] Comments = new[] { "Filling Crates...", "Breeding Sandworms..." }; - public Dictionary Info; - - Stopwatch lastLoadScreen = new Stopwatch(); - Rectangle stripeRect; - Sprite stripe, Logo; - float2 logoPos; - - Renderer r; - public void Init(Dictionary info) - { - Info = info; - - // Avoid standard loading mechanisms so we - // can display loadscreen as early as possible - r = Game.Renderer; - if (r == null) return; - var s = new Sheet("mods/d2k/uibits/loadscreen.png"); - Logo = new Sprite(s, new Rectangle(0, 0, 256, 256), TextureChannel.Alpha); - stripe = new Sprite(s, new Rectangle(256, 0, 256, 256), TextureChannel.Alpha); - stripeRect = new Rectangle(0, r.Resolution.Height / 2 - 128, r.Resolution.Width, 256); - logoPos = new float2(r.Resolution.Width / 2 - 128, r.Resolution.Height / 2 - 128); - } - - public void Display() - { - if (r == null) - return; - - // Update text at most every 0.5 seconds - if (lastLoadScreen.ElapsedTime() < 0.5) - return; - - if (r.Fonts == null) - return; - - lastLoadScreen.Reset(); - var text = Comments.Random(Game.CosmeticRandom); - var textSize = r.Fonts["Bold"].Measure(text); - - r.BeginFrame(float2.Zero, 1f); - WidgetUtils.FillRectWithSprite(stripeRect, stripe); - r.RgbaSpriteRenderer.DrawSprite(Logo, logoPos); - r.Fonts["Bold"].DrawText(text, new float2(r.Resolution.Width - textSize.X - 20, r.Resolution.Height - textSize.Y - 20), Color.White); - r.EndFrame(new NullInputHandler()); - } - - public void StartGame() - { - TestAndContinue(); - } - - void TestAndContinue() - { - Ui.ResetAll(); - if (!FileSystem.Exists(Info["TestFile"])) - { - var args = new WidgetArgs() - { - { "continueLoading", () => TestAndContinue() }, - { "installData", Info } - }; - Ui.OpenWindow(Info["InstallerMenuWidget"], args); - } - else - { - Ui.ResetAll(); - Game.LoadShellMap(); - } - } - } -} \ No newline at end of file diff --git a/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj b/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj index 31d3e8665f..b4b95a7d13 100644 --- a/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj +++ b/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj @@ -76,7 +76,6 @@ - diff --git a/OpenRA.Mods.TS/TSLoadScreen.cs b/OpenRA.Mods.RA/DefaultLoadScreen.cs similarity index 87% rename from OpenRA.Mods.TS/TSLoadScreen.cs rename to OpenRA.Mods.RA/DefaultLoadScreen.cs index 89940a84dd..09ab6f88a3 100644 --- a/OpenRA.Mods.TS/TSLoadScreen.cs +++ b/OpenRA.Mods.RA/DefaultLoadScreen.cs @@ -16,28 +16,29 @@ using OpenRA.Network; using OpenRA.Support; using OpenRA.Widgets; -namespace OpenRA.Mods.TS +namespace OpenRA.Mods.RA { - public class TSLoadScreen : ILoadScreen + public class DefaultLoadScreen : ILoadScreen { Dictionary Info; - static string[] Comments = new[] { "Updating EVA installation...", "Changing perspective..." }; Stopwatch lastLoadScreen = new Stopwatch(); + Rectangle StripeRect; Sprite Stripe, Logo; float2 LogoPos; Renderer r; + public void Init(Dictionary info) { Info = info; // Avoid standard loading mechanisms so we - // can display loadscreen as early as possible + // can display the loadscreen as early as possible r = Game.Renderer; if (r == null) return; - var s = new Sheet(Info["LoadScreenImage"]); + var s = new Sheet(Info["Image"]); Logo = new Sprite(s, new Rectangle(0,0,256,256), TextureChannel.Alpha); Stripe = new Sprite(s, new Rectangle(256,0,256,256), TextureChannel.Alpha); StripeRect = new Rectangle(0, r.Resolution.Height/2 - 128, r.Resolution.Width, 256); @@ -57,7 +58,7 @@ namespace OpenRA.Mods.TS return; lastLoadScreen.Reset(); - var text = Comments.Random(Game.CosmeticRandom); + var text = Info["Text"].Split(',').Random(Game.CosmeticRandom); var textSize = r.Fonts["Bold"].Measure(text); r.BeginFrame(float2.Zero, 1f); diff --git a/OpenRA.Mods.RA/RALoadScreen.cs b/OpenRA.Mods.RA/RALoadScreen.cs deleted file mode 100644 index 43ee9b0439..0000000000 --- a/OpenRA.Mods.RA/RALoadScreen.cs +++ /dev/null @@ -1,96 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2011 The OpenRA Developers (see AUTHORS) - * This file is part of OpenRA, which is free software. It is made - * available to you under the terms of the GNU General Public License - * as published by the Free Software Foundation. For more information, - * see COPYING. - */ -#endregion - -using System.Collections.Generic; -using System.Drawing; -using OpenRA.FileFormats; -using OpenRA.Graphics; -using OpenRA.Network; -using OpenRA.Support; -using OpenRA.Widgets; - -namespace OpenRA.Mods.RA -{ - public class RALoadScreen : ILoadScreen - { - Dictionary Info; - static string[] Comments = new[] { "Filling Crates...", "Charging Capacitors...", "Reticulating Splines...", - "Planting Trees...", "Building Bridges...", "Aging Empires...", - "Compiling EVA...", "Constructing Pylons...", "Activating Skynet...", - "Splitting Atoms..." - }; - - Stopwatch lastLoadScreen = new Stopwatch(); - Rectangle StripeRect; - Sprite Stripe, Logo; - float2 LogoPos; - - Renderer r; - public void Init(Dictionary info) - { - Info = info; - // Avoid standard loading mechanisms so we - // can display loadscreen as early as possible - r = Game.Renderer; - if (r == null) return; - - var s = new Sheet(Info["LoadScreenImage"]); - Logo = new Sprite(s, new Rectangle(0,0,256,256), TextureChannel.Alpha); - Stripe = new Sprite(s, new Rectangle(256,0,256,256), TextureChannel.Alpha); - StripeRect = new Rectangle(0, r.Resolution.Height/2 - 128, r.Resolution.Width, 256); - LogoPos = new float2(r.Resolution.Width/2 - 128, r.Resolution.Height/2 - 128); - } - - public void Display() - { - if (r == null) - return; - - // Update text at most every 0.5 seconds - if (lastLoadScreen.ElapsedTime() < 0.5) - return; - - if (r.Fonts == null) - return; - - lastLoadScreen.Reset(); - var text = Comments.Random(Game.CosmeticRandom); - var textSize = r.Fonts["Bold"].Measure(text); - - r.BeginFrame(float2.Zero, 1f); - WidgetUtils.FillRectWithSprite(StripeRect, Stripe); - r.RgbaSpriteRenderer.DrawSprite(Logo, LogoPos); - r.Fonts["Bold"].DrawText(text, new float2(r.Resolution.Width - textSize.X - 20, r.Resolution.Height - textSize.Y - 20), Color.White); - r.EndFrame( new NullInputHandler() ); - } - - public void StartGame() - { - TestAndContinue(); - } - - void TestAndContinue() - { - Ui.ResetAll(); - if (!FileSystem.Exists(Info["TestFile"])) - { - var args = new WidgetArgs() - { - { "continueLoading", () => TestAndContinue() }, - { "installData", Info } - }; - Ui.OpenWindow(Info["InstallerMenuWidget"], args); - } - else - Game.LoadShellMap(); - } - } -} - diff --git a/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj b/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj index 75b8c8f952..86528ddc37 100644 --- a/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj +++ b/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj @@ -54,7 +54,6 @@ -