From 9c8503f277b21857c750acbcb545ce3d9ece7d0e Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sat, 16 Jan 2010 12:47:01 +1300 Subject: [PATCH] slightly nicer lobby dialog --- OpenRa.Game/Chrome.cs | 17 +++++++++++++++-- chrome.xml | 10 ++++++++++ widget-panel.png | Bin 0 -> 3425 bytes 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 widget-panel.png diff --git a/OpenRa.Game/Chrome.cs b/OpenRa.Game/Chrome.cs index de4f764796..b46f63366f 100644 --- a/OpenRa.Game/Chrome.cs +++ b/OpenRa.Game/Chrome.cs @@ -29,6 +29,7 @@ namespace OpenRa.Game // Options menu (to be refactored) bool optionsPressed = false; readonly Sprite[] optionsSprites; + readonly Sprite[] panelSprites; // Buttons readonly Animation repairButton; @@ -106,6 +107,9 @@ namespace OpenRa.Game SpriteSheetBuilder.LoadAllSprites("dd-bkgnd")[0], }; + + panelSprites = Graphics.Util.MakeArray(8, + n => SequenceProvider.GetImageFromCollection(renderer, "panel", n.ToString())); tabSprites = Rules.NewUnitInfo.Values .Where(u => u.Traits.Contains()) @@ -203,6 +207,14 @@ namespace OpenRa.Game renderer.DrawText(client.State.ToString(), new int2(r.Left + 390, y), Color.White); y += 30; } + + var typingBox = new Rectangle(r.Left + 20, r.Bottom - 47, r.Width - 40, 27); + var chatBox = new Rectangle(r.Left + 20, r.Bottom - 269, r.Width - 40, 220); + + DrawDialogBackground(typingBox, panelSprites, false); + DrawDialogBackground(chatBox, panelSprites, false); + + DrawChat(typingBox, chatBox); } public void TickRadarAnimation() @@ -472,6 +484,7 @@ namespace OpenRa.Game var sr = isShp ? shpRenderer : rgbaRenderer; + if (ss.Length > 8) for( var x = r.Left + (int)ss[2].size.X; x < r.Right - (int)ss[3].size.X; x += (int)ss[8].size.X ) for( var y = r.Top + (int)ss[0].size.Y; y < r.Bottom - (int)ss[1].size.Y; y += (int)ss[8].size.Y ) sr.DrawSprite(ss[8], Game.viewport.Location + new float2(x, y), PaletteType.Chrome); @@ -511,12 +524,12 @@ namespace OpenRa.Game void DrawChat(Rectangle typingArea, Rectangle chatLogArea) { - var chatpos = new int2(chatLogArea.X + 2, chatLogArea.Bottom - 10); + var chatpos = new int2(chatLogArea.X + 10, chatLogArea.Bottom - 6); renderer.Device.EnableScissor(typingArea.Left, typingArea.Top, typingArea.Width, typingArea.Height); if (Game.chat.isChatting) RenderChatLine(Tuple.New(Color.White, "Chat:", Game.chat.typing), - new int2(typingArea.X + 2, typingArea.Y + 2)); + new int2(typingArea.X + 10, typingArea.Y + 6)); renderer.Device.DisableScissor(); renderer.Device.EnableScissor(chatLogArea.Left, chatLogArea.Top, chatLogArea.Width, chatLogArea.Height); diff --git a/chrome.xml b/chrome.xml index 84242c5709..4794b37fdb 100644 --- a/chrome.xml +++ b/chrome.xml @@ -121,5 +121,15 @@ + + + + + + + + + + diff --git a/widget-panel.png b/widget-panel.png new file mode 100644 index 0000000000000000000000000000000000000000..54f90b04d211933c0621cc99d63cf61cc390e3a6 GIT binary patch literal 3425 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 literal 0 HcmV?d00001