diff --git a/OpenRA.Game/Chrome.cs b/OpenRA.Game/Chrome.cs index bd268015e3..9d8e22634a 100644 --- a/OpenRA.Game/Chrome.cs +++ b/OpenRA.Game/Chrome.cs @@ -268,6 +268,7 @@ namespace OpenRA var rect = new Rectangle(pos.X - 160 / 2, pos.Y - 4, 160, 24); DrawDialogBackground( rect, "dialog2"); DrawCentered(text, new int2(pos.X, pos.Y), Color.White); + rgbaRenderer.Flush(); AddButton(rect, a); } @@ -278,6 +279,7 @@ namespace OpenRA var r = new Rectangle( (Game.viewport.Width - w) / 2, (Game.viewport.Height - h) / 2, w, h ); DrawDialogBackground(r, "dialog"); DrawCentered("Choose Map", new int2(r.Left + w / 2, r.Top + 20), Color.White); + rgbaRenderer.Flush(); DrawDialogBackground(new Rectangle(r.Right - 200 - 160 / 2, r.Bottom - 50 + 6, 160, 24), "dialog2"); @@ -401,7 +403,7 @@ namespace OpenRA } - public void DrawWidgets(World world) { rootWidget.Draw(); } + public void DrawWidgets(World world) { rootWidget.Draw(); shpRenderer.Flush(); rgbaRenderer.Flush(); } public void DrawLobby( World world ) { @@ -419,6 +421,7 @@ namespace OpenRA var r = new Rectangle( (Game.viewport.Width - w) / 2, (Game.viewport.Height - h) / 2, w, h ); DrawDialogBackground(r, "dialog"); DrawCentered("OpenRA Multiplayer Lobby", new int2(r.Left + w / 2, r.Top + 20), Color.White); + rgbaRenderer.Flush(); DrawDialogBackground(new Rectangle(r.Right - 264, r.Top + 43, 244, 244),"dialog2"); @@ -446,6 +449,8 @@ namespace OpenRA f.DrawText(rgbaRenderer, "Faction", new int2(r.Left + 220, r.Top + 50), Color.White); f.DrawText(rgbaRenderer, "Status", new int2(r.Left + 290, r.Top + 50), Color.White); f.DrawText(rgbaRenderer, "Spawn", new int2(r.Left + 390, r.Top + 50), Color.White); + + rgbaRenderer.Flush(); var y = r.Top + 80; foreach (var client in Game.LobbyInfo.Clients) diff --git a/OpenRA.Game/Graphics/SpriteFont.cs b/OpenRA.Game/Graphics/SpriteFont.cs index 1977137ac9..d07272a98a 100644 --- a/OpenRA.Game/Graphics/SpriteFont.cs +++ b/OpenRA.Game/Graphics/SpriteFont.cs @@ -52,7 +52,7 @@ namespace OpenRA.Graphics p.X += g.Advance; } - r.Flush(); + // r.Flush(); } public int2 Measure(string text) diff --git a/OpenRA.Game/Widgets/CheckboxWidget.cs b/OpenRA.Game/Widgets/CheckboxWidget.cs index 6ceccf8fc4..3795fec7a9 100644 --- a/OpenRA.Game/Widgets/CheckboxWidget.cs +++ b/OpenRA.Game/Widgets/CheckboxWidget.cs @@ -55,6 +55,8 @@ namespace OpenRA.Widgets Color.White); Game.chrome.lineRenderer.Flush(); } + + Game.chrome.rgbaRenderer.Flush(); base.Draw(); } diff --git a/OpenRA.Game/Widgets/LabelWidget.cs b/OpenRA.Game/Widgets/LabelWidget.cs index 83dd73d75e..10ed5bc9db 100644 --- a/OpenRA.Game/Widgets/LabelWidget.cs +++ b/OpenRA.Game/Widgets/LabelWidget.cs @@ -46,6 +46,7 @@ namespace OpenRA.Widgets - new int2(textSize.X / 2, textSize.Y/2); Game.chrome.renderer.BoldFont.DrawText(Game.chrome.rgbaRenderer, Text, position, Color.White); + Game.chrome.rgbaRenderer.Flush(); Game.chrome.renderer.Device.DisableScissor(); base.Draw(); } diff --git a/OpenRA.Game/Widgets/WidgetUtils.cs b/OpenRA.Game/Widgets/WidgetUtils.cs index ea7efe80cb..6a10fb4d9a 100644 --- a/OpenRA.Game/Widgets/WidgetUtils.cs +++ b/OpenRA.Game/Widgets/WidgetUtils.cs @@ -59,10 +59,10 @@ namespace OpenRA.Widgets sr.DrawSprite(ss[5], new float2(Bounds.Right - ss[5].size.X, Bounds.Top), "chrome"); sr.DrawSprite(ss[6], new float2(Bounds.Left, Bounds.Bottom - ss[6].size.Y), "chrome"); sr.DrawSprite(ss[7], new float2(Bounds.Right - ss[7].size.X, Bounds.Bottom - ss[7].size.Y), "chrome"); - sr.Flush(); if (a != null) a(); + sr.Flush(); // because the scissor is changing r.Device.DisableScissor(); } }