Add Graphics.UIScale setting to modify UI size.

This commit is contained in:
Paul Chote
2019-12-25 18:00:04 +00:00
committed by teinarss
parent ce445f993c
commit 6388a6bff4
12 changed files with 78 additions and 42 deletions

View File

@@ -44,7 +44,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
bool newsOpen;
// Increment the version number when adding new stats
const int SystemInformationVersion = 3;
const int SystemInformationVersion = 4;
Dictionary<string, Pair<string, string>> GetSystemInformation()
{
var lang = System.Globalization.CultureInfo.InstalledUICulture.TwoLetterISOLanguageName;
@@ -57,8 +57,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ "x64process", Pair.New("Process is 64 bit", Environment.Is64BitProcess.ToString()) },
{ "runtime", Pair.New(".NET Runtime", Platform.RuntimeVersion) },
{ "gl", Pair.New("OpenGL Version", Game.Renderer.GLVersion) },
{ "windowsize", Pair.New("Window Size", "{0}x{1}".F(Game.Renderer.Resolution.Width, Game.Renderer.Resolution.Height)) },
{ "windowscale", Pair.New("Window Scale", Game.Renderer.WindowScale.ToString("F2", CultureInfo.InvariantCulture)) },
{ "windowsize", Pair.New("Window Size", "{0}x{1}".F(Game.Renderer.NativeResolution.Width, Game.Renderer.NativeResolution.Height)) },
{ "windowscale", Pair.New("Window Scale", Game.Renderer.NativeWindowScale.ToString("F2", CultureInfo.InvariantCulture)) },
{ "uiscale", Pair.New("UI Scale", Game.Settings.Graphics.UIScale.ToString("F2", CultureInfo.InvariantCulture)) },
{ "lang", Pair.New("System Language", lang) }
};
}

View File

@@ -841,7 +841,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
};
var viewportSizes = Game.ModData.Manifest.Get<WorldViewportSizes>();
var windowHeight = Game.Renderer.Resolution.Height;
var windowHeight = Game.Renderer.NativeResolution.Height;
var validSizes = new List<WorldViewport>() { WorldViewport.Close };
if (viewportSizes.GetSizeRange(WorldViewport.Medium).X < windowHeight)

View File

@@ -39,9 +39,8 @@ namespace OpenRA.Mods.Common.Widgets
// Cursor is rendered in native window coordinates
// Apply same scaling rules as hardware cursors
var ws = Game.Renderer.WindowScale;
var scale = (graphicSettings.CursorDouble ? 2 : 1) * (ws > 1.5f ? 2 : 1);
WidgetUtils.DrawSHPCentered(sprite, ChildOrigin, directionPalette, scale / ws);
var scale = (graphicSettings.CursorDouble ? 2 : 1) * (Game.Renderer.NativeWindowScale > 1.5f ? 2 : 1);
WidgetUtils.DrawSHPCentered(sprite, ChildOrigin, directionPalette, scale / Game.Renderer.WindowScale);
}
}