Overhaul settings panel layout

- make the panel larger
- place settings widgets in a scroll panel
- arrange settings widgets in two columns
- make tabs in TD vertical
This commit is contained in:
Ivaylo Draganov
2021-09-22 16:59:36 +03:00
committed by reaperrr
parent a36eb585d3
commit 3ecaf76804
24 changed files with 2009 additions and 1565 deletions

View File

@@ -35,6 +35,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
var ds = Game.Settings.Debug; var ds = Game.Settings.Debug;
var ss = Game.Settings.Server; var ss = Game.Settings.Server;
var gs = Game.Settings.Game; var gs = Game.Settings.Game;
var scrollPanel = panel.Get<ScrollPanelWidget>("SETTINGS_SCROLLPANEL");
// Advanced // Advanced
SettingsUtils.BindCheckboxPref(panel, "NAT_DISCOVERY", ss, "DiscoverNatDevices"); SettingsUtils.BindCheckboxPref(panel, "NAT_DISCOVERY", ss, "DiscoverNatDevices");
@@ -55,8 +56,15 @@ namespace OpenRA.Mods.Common.Widgets.Logic
SettingsUtils.BindCheckboxPref(panel, "CHECKBOTSYNC_CHECKBOX", ds, "SyncCheckBotModuleCode"); SettingsUtils.BindCheckboxPref(panel, "CHECKBOTSYNC_CHECKBOX", ds, "SyncCheckBotModuleCode");
SettingsUtils.BindCheckboxPref(panel, "PERFLOGGING_CHECKBOX", ds, "EnableSimulationPerfLogging"); SettingsUtils.BindCheckboxPref(panel, "PERFLOGGING_CHECKBOX", ds, "EnableSimulationPerfLogging");
panel.Get("DEBUG_OPTIONS").IsVisible = () => ds.DisplayDeveloperSettings; panel.Get("BOTDEBUG_CHECKBOX_CONTAINER").IsVisible = () => ds.DisplayDeveloperSettings;
panel.Get("DEBUG_HIDDEN_LABEL").IsVisible = () => !ds.DisplayDeveloperSettings; panel.Get("CHECKUNSYNCED_CHECKBOX_CONTAINER").IsVisible = () => ds.DisplayDeveloperSettings;
panel.Get("CHECKBOTSYNC_CHECKBOX_CONTAINER").IsVisible = () => ds.DisplayDeveloperSettings;
panel.Get("LUADEBUG_CHECKBOX_CONTAINER").IsVisible = () => ds.DisplayDeveloperSettings;
panel.Get("REPLAY_COMMANDS_CHECKBOX_CONTAINER").IsVisible = () => ds.DisplayDeveloperSettings;
panel.Get("PERFLOGGING_CHECKBOX_CONTAINER").IsVisible = () => ds.DisplayDeveloperSettings;
panel.Get("DEBUG_HIDDEN_CONTAINER").IsVisible = () => !ds.DisplayDeveloperSettings;
SettingsUtils.AdjustSettingsScrollPanelLayout(scrollPanel);
return () => ss.DiscoverNatDevices != OriginalServerDiscoverNatDevices; return () => ss.DiscoverNatDevices != OriginalServerDiscoverNatDevices;
} }

View File

@@ -43,6 +43,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
var musicPlaylist = worldRenderer.World.WorldActor.Trait<MusicPlaylist>(); var musicPlaylist = worldRenderer.World.WorldActor.Trait<MusicPlaylist>();
var ss = Game.Settings.Sound; var ss = Game.Settings.Sound;
var scrollPanel = panel.Get<ScrollPanelWidget>("SETTINGS_SCROLLPANEL");
SettingsUtils.BindCheckboxPref(panel, "CASH_TICKS", ss, "CashTicks"); SettingsUtils.BindCheckboxPref(panel, "CASH_TICKS", ss, "CashTicks");
SettingsUtils.BindCheckboxPref(panel, "MUTE_SOUND", ss, "Mute"); SettingsUtils.BindCheckboxPref(panel, "MUTE_SOUND", ss, "Mute");
@@ -81,13 +82,16 @@ namespace OpenRA.Mods.Common.Widgets.Logic
}; };
// Replace controls with a warning label if sound is disabled // Replace controls with a warning label if sound is disabled
var noDeviceLabel = panel.GetOrNull("NO_AUDIO_DEVICE"); var noDeviceLabel = panel.GetOrNull("NO_AUDIO_DEVICE_CONTAINER");
if (noDeviceLabel != null) if (noDeviceLabel != null)
noDeviceLabel.Visible = Game.Sound.DummyEngine; noDeviceLabel.Visible = Game.Sound.DummyEngine;
var controlsContainer = panel.GetOrNull("AUDIO_CONTROLS"); panel.Get("CASH_TICKS_CONTAINER").Visible = !Game.Sound.DummyEngine;
if (controlsContainer != null) panel.Get("MUTE_SOUND_CONTAINER").Visible = !Game.Sound.DummyEngine;
controlsContainer.Visible = !Game.Sound.DummyEngine; panel.Get("MUTE_BACKGROUND_MUSIC_CONTAINER").Visible = !Game.Sound.DummyEngine;
panel.Get("SOUND_VOLUME_CONTAINER").Visible = !Game.Sound.DummyEngine;
panel.Get("MUSIC_VOLUME_CONTAINER").Visible = !Game.Sound.DummyEngine;
panel.Get("VIDEO_VOLUME_CONTAINER").Visible = !Game.Sound.DummyEngine;
var soundVolumeSlider = panel.Get<SliderWidget>("SOUND_VOLUME"); var soundVolumeSlider = panel.Get<SliderWidget>("SOUND_VOLUME");
soundVolumeSlider.OnChange += x => Game.Sound.SoundVolume = x; soundVolumeSlider.OnChange += x => Game.Sound.SoundVolume = x;
@@ -102,13 +106,18 @@ namespace OpenRA.Mods.Common.Widgets.Logic
soundDevice = devices.FirstOrDefault(d => d.Device == ss.Device) ?? devices.First(); soundDevice = devices.FirstOrDefault(d => d.Device == ss.Device) ?? devices.First();
var audioDeviceDropdown = panel.Get<DropDownButtonWidget>("AUDIO_DEVICE"); var audioDeviceDropdown = panel.Get<DropDownButtonWidget>("AUDIO_DEVICE");
audioDeviceDropdown.OnMouseDown = _ => ShowAudioDeviceDropdown(audioDeviceDropdown, devices); audioDeviceDropdown.OnMouseDown = _ => ShowAudioDeviceDropdown(audioDeviceDropdown, devices, scrollPanel);
var deviceFont = Game.Renderer.Fonts[audioDeviceDropdown.Font]; var deviceFont = Game.Renderer.Fonts[audioDeviceDropdown.Font];
var deviceLabel = new CachedTransform<SoundDevice, string>( var deviceLabel = new CachedTransform<SoundDevice, string>(
s => WidgetUtils.TruncateText(s.Label, audioDeviceDropdown.UsableWidth, deviceFont)); s => WidgetUtils.TruncateText(s.Label, audioDeviceDropdown.UsableWidth, deviceFont));
audioDeviceDropdown.GetText = () => deviceLabel.Update(soundDevice); audioDeviceDropdown.GetText = () => deviceLabel.Update(soundDevice);
var restartDesc = panel.Get("RESTART_REQUIRED_DESC");
restartDesc.IsVisible = () => soundDevice.Device != OriginalSoundDevice;
SettingsUtils.AdjustSettingsScrollPanelLayout(scrollPanel);
return () => return () =>
{ {
ss.Device = soundDevice.Device; ss.Device = soundDevice.Device;
@@ -142,7 +151,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
}; };
} }
void ShowAudioDeviceDropdown(DropDownButtonWidget dropdown, SoundDevice[] devices) void ShowAudioDeviceDropdown(DropDownButtonWidget dropdown, SoundDevice[] devices, ScrollPanelWidget scrollPanel)
{ {
var i = 0; var i = 0;
var options = devices.ToDictionary(d => (i++).ToString(), d => d); var options = devices.ToDictionary(d => (i++).ToString(), d => d);
@@ -151,7 +160,11 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
var item = ScrollItemWidget.Setup(itemTemplate, var item = ScrollItemWidget.Setup(itemTemplate,
() => soundDevice == options[o], () => soundDevice == options[o],
() => soundDevice = options[o]); () =>
{
soundDevice = options[o];
SettingsUtils.AdjustSettingsScrollPanelLayout(scrollPanel);
});
var deviceLabel = item.Get<LabelWidget>("LABEL"); var deviceLabel = item.Get<LabelWidget>("LABEL");
var font = Game.Renderer.Fonts[deviceLabel.Font]; var font = Game.Renderer.Fonts[deviceLabel.Font];

View File

@@ -64,6 +64,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
var ds = Game.Settings.Graphics; var ds = Game.Settings.Graphics;
var gs = Game.Settings.Game; var gs = Game.Settings.Game;
var scrollPanel = panel.Get<ScrollPanelWidget>("SETTINGS_SCROLLPANEL");
SettingsUtils.BindCheckboxPref(panel, "CURSORDOUBLE_CHECKBOX", ds, "CursorDouble"); SettingsUtils.BindCheckboxPref(panel, "CURSORDOUBLE_CHECKBOX", ds, "CursorDouble");
SettingsUtils.BindCheckboxPref(panel, "VSYNC_CHECKBOX", ds, "VSync"); SettingsUtils.BindCheckboxPref(panel, "VSYNC_CHECKBOX", ds, "VSync");
@@ -74,7 +75,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
SettingsUtils.BindCheckboxPref(panel, "PAUSE_SHELLMAP_CHECKBOX", gs, "PauseShellmap"); SettingsUtils.BindCheckboxPref(panel, "PAUSE_SHELLMAP_CHECKBOX", gs, "PauseShellmap");
var windowModeDropdown = panel.Get<DropDownButtonWidget>("MODE_DROPDOWN"); var windowModeDropdown = panel.Get<DropDownButtonWidget>("MODE_DROPDOWN");
windowModeDropdown.OnMouseDown = _ => ShowWindowModeDropdown(windowModeDropdown, ds); windowModeDropdown.OnMouseDown = _ => ShowWindowModeDropdown(windowModeDropdown, ds, scrollPanel);
windowModeDropdown.GetText = () => ds.Mode == WindowMode.Windowed ? windowModeDropdown.GetText = () => ds.Mode == WindowMode.Windowed ?
"Windowed" : ds.Mode == WindowMode.Fullscreen ? "Fullscreen (Legacy)" : "Fullscreen"; "Windowed" : ds.Mode == WindowMode.Fullscreen ? "Fullscreen (Legacy)" : "Fullscreen";
@@ -130,8 +131,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
uiScaleDropdown.IsDisabled = () => disableUIScale; uiScaleDropdown.IsDisabled = () => disableUIScale;
panel.Get("DISPLAY_SELECTION").IsVisible = () => ds.Mode != WindowMode.Windowed; panel.Get("DISPLAY_SELECTION_CONTAINER").IsVisible = () => ds.Mode != WindowMode.Windowed;
panel.Get("WINDOW_RESOLUTION").IsVisible = () => ds.Mode == WindowMode.Windowed; panel.Get("WINDOW_RESOLUTION_CONTAINER").IsVisible = () => ds.Mode == WindowMode.Windowed;
var windowWidth = panel.Get<TextFieldWidget>("WINDOW_WIDTH"); var windowWidth = panel.Get<TextFieldWidget>("WINDOW_WIDTH");
var origWidthText = windowWidth.Text = ds.WindowedSize.X.ToString(); var origWidthText = windowWidth.Text = ds.WindowedSize.X.ToString();
@@ -148,6 +149,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
var frameLimitLabel = new CachedTransform<int, string>(fps => frameLimitOrigLabel + $" ({fps} FPS)"); var frameLimitLabel = new CachedTransform<int, string>(fps => frameLimitOrigLabel + $" ({fps} FPS)");
frameLimitCheckbox.GetText = () => frameLimitLabel.Update(ds.MaxFramerate); frameLimitCheckbox.GetText = () => frameLimitLabel.Update(ds.MaxFramerate);
panel.Get<SliderWidget>("FRAME_LIMIT_SLIDER").IsDisabled = () => !frameLimitCheckbox.IsChecked();
// Player profile // Player profile
var ps = Game.Settings.Player; var ps = Game.Settings.Player;
@@ -194,6 +197,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
}); });
colorDropdown.Get<ColorBlockWidget>("COLORBLOCK").GetColor = () => ps.Color; colorDropdown.Get<ColorBlockWidget>("COLORBLOCK").GetColor = () => ps.Color;
SettingsUtils.AdjustSettingsScrollPanelLayout(scrollPanel);
return () => return () =>
{ {
Exts.TryParseIntegerInvariant(windowWidth.Text, out var x); Exts.TryParseIntegerInvariant(windowWidth.Text, out var x);
@@ -244,7 +249,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
}; };
} }
static void ShowWindowModeDropdown(DropDownButtonWidget dropdown, GraphicSettings s) static void ShowWindowModeDropdown(DropDownButtonWidget dropdown, GraphicSettings s, ScrollPanelWidget scrollPanel)
{ {
var options = new Dictionary<string, WindowMode>() var options = new Dictionary<string, WindowMode>()
{ {
@@ -257,7 +262,11 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
var item = ScrollItemWidget.Setup(itemTemplate, var item = ScrollItemWidget.Setup(itemTemplate,
() => s.Mode == options[o], () => s.Mode == options[o],
() => s.Mode = options[o]); () =>
{
s.Mode = options[o];
SettingsUtils.AdjustSettingsScrollPanelLayout(scrollPanel);
});
item.Get<LabelWidget>("LABEL").GetText = () => o; item.Get<LabelWidget>("LABEL").GetText = () => o;
return item; return item;
@@ -393,9 +402,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
// HACK: Recalculate the widget bounds to fit within the new effective window bounds // HACK: Recalculate the widget bounds to fit within the new effective window bounds
// This is fragile, and only works when called when Settings is opened via the main menu. // This is fragile, and only works when called when Settings is opened via the main menu.
// HACK: Skip children badges container on the main menu // HACK: Skip children badges container on the main menu and settings tab container
// This has a fixed size, with calculated size and children positions that break if we adjust them here // These have a fixed size, with calculated size and children positions that break if we adjust them here
if (w.Id == "BADGES_CONTAINER") if (w.Id == "BADGES_CONTAINER" || w.Id == "SETTINGS_TAB_CONTAINER")
return; return;
var parentBounds = w.Parent == null var parentBounds = w.Parent == null

View File

@@ -86,31 +86,26 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
hotkeyList = panel.Get<ScrollPanelWidget>("HOTKEY_LIST"); hotkeyList = panel.Get<ScrollPanelWidget>("HOTKEY_LIST");
hotkeyList.Layout = new GridLayout(hotkeyList); hotkeyList.Layout = new GridLayout(hotkeyList);
var hotkeyHeader = hotkeyList.Get<ScrollItemWidget>("HEADER"); var headerTemplate = hotkeyList.Get("HEADER");
var templates = hotkeyList.Get("TEMPLATES"); var template = hotkeyList.Get("TEMPLATE");
hotkeyList.RemoveChildren(); hotkeyList.RemoveChildren();
Func<bool> returnTrue = () => true;
Action doNothing = () => { };
if (logicArgs.TryGetValue("HotkeyGroups", out var hotkeyGroups)) if (logicArgs.TryGetValue("HotkeyGroups", out var hotkeyGroups))
{ {
InitHotkeyRemapDialog(panel); InitHotkeyRemapDialog(panel);
foreach (var hg in hotkeyGroups.Nodes) foreach (var hg in hotkeyGroups.Nodes)
{ {
var templateNode = hg.Value.Nodes.FirstOrDefault(n => n.Key == "Template");
var typesNode = hg.Value.Nodes.FirstOrDefault(n => n.Key == "Types"); var typesNode = hg.Value.Nodes.FirstOrDefault(n => n.Key == "Types");
if (templateNode == null || typesNode == null) if (typesNode == null)
continue; continue;
var header = ScrollItemWidget.Setup(hotkeyHeader, returnTrue, doNothing); var header = headerTemplate.Clone();
header.Get<LabelWidget>("LABEL").GetText = () => hg.Key; header.Get<LabelWidget>("LABEL").GetText = () => hg.Key;
hotkeyList.AddChild(header); hotkeyList.AddChild(header);
var types = FieldLoader.GetValue<string[]>("Types", typesNode.Value.Value); var types = FieldLoader.GetValue<string[]>("Types", typesNode.Value.Value);
var added = new HashSet<HotkeyDefinition>(); var added = new HashSet<HotkeyDefinition>();
var template = templates.Get(templateNode.Value.Value);
foreach (var t in types) foreach (var t in types)
{ {

View File

@@ -28,6 +28,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
Func<bool> InitPanel(Widget panel) Func<bool> InitPanel(Widget panel)
{ {
var gs = Game.Settings.Game; var gs = Game.Settings.Game;
var scrollPanel = panel.Get<ScrollPanelWidget>("SETTINGS_SCROLLPANEL");
SettingsUtils.BindCheckboxPref(panel, "ALTERNATE_SCROLL_CHECKBOX", gs, "UseAlternateScrollButton"); SettingsUtils.BindCheckboxPref(panel, "ALTERNATE_SCROLL_CHECKBOX", gs, "UseAlternateScrollButton");
SettingsUtils.BindCheckboxPref(panel, "EDGESCROLL_CHECKBOX", gs, "ViewportEdgeScroll"); SettingsUtils.BindCheckboxPref(panel, "EDGESCROLL_CHECKBOX", gs, "ViewportEdgeScroll");
@@ -89,6 +90,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
zoomModifierDropdown.OnMouseDown = _ => ShowZoomModifierDropdown(zoomModifierDropdown, gs); zoomModifierDropdown.OnMouseDown = _ => ShowZoomModifierDropdown(zoomModifierDropdown, gs);
zoomModifierDropdown.GetText = () => gs.ZoomModifier.ToString(); zoomModifierDropdown.GetText = () => gs.ZoomModifier.ToString();
SettingsUtils.AdjustSettingsScrollPanelLayout(scrollPanel);
return () => false; return () => false;
} }

View File

@@ -40,7 +40,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
var panelTemplate = panelContainer.Get<ContainerWidget>("PANEL_TEMPLATE"); var panelTemplate = panelContainer.Get<ContainerWidget>("PANEL_TEMPLATE");
panelContainer.RemoveChild(panelTemplate); panelContainer.RemoveChild(panelTemplate);
tabContainer = widget.Get("TAB_CONTAINER"); tabContainer = widget.Get("SETTINGS_TAB_CONTAINER");
tabTemplate = tabContainer.Get<ButtonWidget>("BUTTON_TEMPLATE"); tabTemplate = tabContainer.Get<ButtonWidget>("BUTTON_TEMPLATE");
tabContainer.RemoveChild(tabTemplate); tabContainer.RemoveChild(tabTemplate);

View File

@@ -48,5 +48,30 @@ namespace OpenRA.Mods.Common.Widgets.Logic
ss.Value = (float)(int)field.GetValue(group); ss.Value = (float)(int)field.GetValue(group);
ss.OnChange += x => field.SetValue(group, (int)x); ss.OnChange += x => field.SetValue(group, (int)x);
} }
public static void AdjustSettingsScrollPanelLayout(ScrollPanelWidget scrollPanel)
{
foreach (var row in scrollPanel.Children)
{
if (row.Children.Count == 0)
continue;
var hasVisibleChildren = false;
foreach (var container in row.Children)
{
if (container.IsVisible())
{
hasVisibleChildren = true;
break;
}
}
if (!hasVisibleChildren)
row.Visible = false;
}
scrollPanel.Layout.AdjustChildren();
}
} }
} }

View File

@@ -448,6 +448,9 @@ dropdown-separators:
separator-pressed: 129, 34, 1, 19 separator-pressed: 129, 34, 1, 19
separator-disabled: 161, 34, 1, 19 separator-disabled: 161, 34, 1, 19
separator:
Inherits: button
# #
# Common chrome # Common chrome
# === # ===

View File

@@ -3,128 +3,193 @@ Container@ADVANCED_PANEL:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Children: Children:
Label@ADVANCED_TITLE: ScrollPanel@SETTINGS_SCROLLPANEL:
Y: 21
Width: PARENT_RIGHT Width: PARENT_RIGHT
Font: Bold Height: PARENT_BOTTOM
Text: Advanced CollapseHiddenChildren: True
TopBottomSpacing: 5
ItemSpacing: 10
Children:
Background@SECTION_HEADER:
X: 5
Width: PARENT_RIGHT - 24 - 10
Height: 13
Background: separator
Children:
Label@LABEL:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
Font: TinyBold
Align: Center Align: Center
Text: Advanced
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 20
Children:
Container@NAT_DISCOVERY_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@NAT_DISCOVERY: Checkbox@NAT_DISCOVERY:
X: 15 Width: PARENT_RIGHT
Y: 43
Width: 200
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Enable UPnP/NAT-PMP Discovery Text: Enable UPnP/NAT-PMP Discovery
Checkbox@PERFTEXT_CHECKBOX: Container@FETCH_NEWS_CHECKBOX_CONTAINER:
X: 15 X: PARENT_RIGHT / 2 + 10
Y: 73 Width: PARENT_RIGHT / 2 - 20
Width: 300 Children:
Height: 20
Font: Regular
Text: Show Performance Text
Checkbox@PERFGRAPH_CHECKBOX:
X: 15
Y: 103
Width: 300
Height: 20
Font: Regular
Text: Show Performance Graph
Checkbox@FETCH_NEWS_CHECKBOX: Checkbox@FETCH_NEWS_CHECKBOX:
X: 310 Width: PARENT_RIGHT
Y: 43
Width: 300
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Fetch Community News Text: Fetch Community News
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 20
Children:
Container@PERFGRAPH_CHECKBOX_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@PERFGRAPH_CHECKBOX:
Width: PARENT_RIGHT
Height: 20
Font: Regular
Text: Show Performance Graph
Container@CHECK_VERSION_CHECKBOX_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@CHECK_VERSION_CHECKBOX: Checkbox@CHECK_VERSION_CHECKBOX:
X: 310 Width: PARENT_RIGHT
Y: 73
Width: 300
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Check for Updates Text: Check for Updates
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@PERFTEXT_CHECKBOX_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@PERFTEXT_CHECKBOX:
Width: PARENT_RIGHT
Height: 20
Font: Regular
Text: Show Performance Text
Container@SENDSYSINFO_CHECKBOX_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@SENDSYSINFO_CHECKBOX: Checkbox@SENDSYSINFO_CHECKBOX:
X: 310 Width: PARENT_RIGHT
Y: 103
Width: 300
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Send System Information Text: Send System Information
Label@SENDSYSINFO_DESC: Label@SENDSYSINFO_DESC:
X: 310 Y: 15
Y: 118 Width: PARENT_RIGHT
Width: 255
Height: 30 Height: 30
Font: Tiny Font: Tiny
WordWrap: True WordWrap: True
Text: Your Operating System, OpenGL and .NET runtime versions, and language settings will be sent along with an anonymous ID to help prioritize future development. Text: Your Operating System, OpenGL and .NET runtime versions, and language settings will be sent along with an anonymous ID to help prioritize future development.
Label@DEBUG_TITLE: Container@SPACER:
Y: 190 Background@SECTION_HEADER:
X: 5
Width: PARENT_RIGHT - 24 - 10
Height: 13
Background: separator
Children:
Label@LABEL:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Font: Bold Height: PARENT_BOTTOM
Text: Developer Font: TinyBold
Align: Center Align: Center
Container@DEBUG_HIDDEN_LABEL: Text: Developer
Y: 245 Container@ROW:
Width: PARENT_RIGHT Width: PARENT_RIGHT - 24
Height: 40
Children:
Container@DEBUG_HIDDEN_CONTAINER:
X: 10
Width: PARENT_RIGHT - 10
Children: Children:
Label@A: Label@A:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: 20 Height: 20
Font: Regular
Text: Additional developer-specific options can be enabled via the Text: Additional developer-specific options can be enabled via the
Align: Center Align: Center
Label@B: Label@B:
Y: 20 Y: 20
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: 20 Height: 20
Font: Regular
Text: Debug.DisplayDeveloperSettings setting or launch flag Text: Debug.DisplayDeveloperSettings setting or launch flag
Align: Center Align: Center
Container@DEBUG_OPTIONS: Container@ROW:
Width: PARENT_RIGHT Width: PARENT_RIGHT - 24
Height: PARENT_BOTTOM Height: 20
Children:
Container@BOTDEBUG_CHECKBOX_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children: Children:
Checkbox@BOTDEBUG_CHECKBOX: Checkbox@BOTDEBUG_CHECKBOX:
X: 15 Width: PARENT_RIGHT
Y: 213
Width: 300
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Show Bot Debug Messages Text: Show Bot Debug Messages
Checkbox@CHECKUNSYNCED_CHECKBOX: Container@CHECKBOTSYNC_CHECKBOX_CONTAINER:
X: 15 X: PARENT_RIGHT / 2 + 10
Y: 243 Width: PARENT_RIGHT / 2 - 20
Width: 300 Children:
Height: 20
Font: Regular
Text: Check Sync around Unsynced Code
Checkbox@CHECKBOTSYNC_CHECKBOX: Checkbox@CHECKBOTSYNC_CHECKBOX:
X: 15 Width: PARENT_RIGHT
Y: 273
Width: 300
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Check Sync around BotModule Code Text: Check Sync around BotModule Code
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 20
Children:
Container@LUADEBUG_CHECKBOX_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@LUADEBUG_CHECKBOX: Checkbox@LUADEBUG_CHECKBOX:
X: 310 Width: PARENT_RIGHT
Y: 213
Width: 300
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Show Map Debug Messages Text: Show Map Debug Messages
Container@CHECKUNSYNCED_CHECKBOX_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@CHECKUNSYNCED_CHECKBOX:
Width: PARENT_RIGHT
Height: 20
Font: Regular
Text: Check Sync around Unsynced Code
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 20
Children:
Container@REPLAY_COMMANDS_CHECKBOX_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@REPLAY_COMMANDS_CHECKBOX: Checkbox@REPLAY_COMMANDS_CHECKBOX:
X: 310 Width: PARENT_RIGHT
Y: 243
Width: 300
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Enable Debug Commands in Replays Text: Enable Debug Commands in Replays
Container@PERFLOGGING_CHECKBOX_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@PERFLOGGING_CHECKBOX: Checkbox@PERFLOGGING_CHECKBOX:
X: 310 Width: PARENT_RIGHT
Y: 273
Width: 300
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Enable Tick Performance Logging Text: Enable Tick Performance Logging

View File

@@ -3,97 +3,140 @@ Container@AUDIO_PANEL:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Children: Children:
Label@AUDIO_TITLE: ScrollPanel@SETTINGS_SCROLLPANEL:
Y: 21
Width: PARENT_RIGHT
Font: Bold
Text: Audio
Align: Center
Label@NO_AUDIO_DEVICE:
Y: 50
Width: PARENT_RIGHT
Align: Center
Text: Audio controls require an active sound device
Container@AUDIO_CONTROLS:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
CollapseHiddenChildren: True
TopBottomSpacing: 5
ItemSpacing: 10
Children:
Background@SECTION_HEADER:
X: 5
Width: PARENT_RIGHT - 24 - 10
Height: 13
Background: separator
Children:
Label@LABEL:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
Font: TinyBold
Align: Center
Text: Audio
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 20
Children:
Container@NO_AUDIO_DEVICE_CONTAINER:
X: 10
Width: PARENT_RIGHT - 10
Children:
Label@NO_AUDIO_DEVICE:
Width: PARENT_RIGHT
Height: 20
Align: Center
Text: Audio controls require an active sound device
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@CASH_TICKS_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children: Children:
Checkbox@CASH_TICKS: Checkbox@CASH_TICKS:
X: 15 Width: PARENT_RIGHT
Y: 43
Width: 200
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Cash Ticks Text: Cash Ticks
Container@MUTE_SOUND_CONTAINER:
X: 10
Y: 30
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@MUTE_SOUND: Checkbox@MUTE_SOUND:
X: 15 Width: PARENT_RIGHT
Y: 73
Width: 200
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Mute Sound Text: Mute Sound
Container@SOUND_VOLUME_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@SOUND_LABEL:
Width: PARENT_RIGHT
Height: 20
Text: Sound Volume:
ExponentialSlider@SOUND_VOLUME:
Y: 30
Width: PARENT_RIGHT
Height: 20
Ticks: 7
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@MUTE_BACKGROUND_MUSIC_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@MUTE_BACKGROUND_MUSIC: Checkbox@MUTE_BACKGROUND_MUSIC:
X: 15 Width: PARENT_RIGHT
Y: 103
Width: 200
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Mute Background Music Text: Mute Background Music
Label@SOUND_LABEL: Container@MUSIC_VOLUME_CONTAINER:
X: PARENT_RIGHT - WIDTH - 270 X: PARENT_RIGHT / 2 + 10
Y: 40 Width: PARENT_RIGHT / 2 - 20
Width: 95 Children:
Height: 25
Align: Right
Text: Sound Volume:
ExponentialSlider@SOUND_VOLUME:
X: PARENT_RIGHT - WIDTH - 15
Y: 45
Width: 250
Height: 20
Ticks: 7
Label@MUSIC_LABEL: Label@MUSIC_LABEL:
X: PARENT_RIGHT - WIDTH - 270 Width: PARENT_RIGHT
Y: 70 Height: 20
Width: 95
Height: 25
Align: Right
Text: Music Volume: Text: Music Volume:
ExponentialSlider@MUSIC_VOLUME: ExponentialSlider@MUSIC_VOLUME:
X: PARENT_RIGHT - WIDTH - 15 Y: 25
Y: 75 Width: PARENT_RIGHT
Width: 250
Height: 20
Ticks: 7
Label@VIDEO_LABEL:
X: PARENT_RIGHT - WIDTH - 270
Y: 100
Width: 95
Height: 25
Align: Right
Text: Video Volume:
ExponentialSlider@VIDEO_VOLUME:
X: PARENT_RIGHT - WIDTH - 15
Y: 105
Width: 250
Height: 20 Height: 20
Ticks: 7 Ticks: 7
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@AUDIO_DEVICE_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@AUDIO_DEVICE_LABEL: Label@AUDIO_DEVICE_LABEL:
X: 190 - WIDTH - 5 Width: PARENT_RIGHT
Y: 240 Height: 20
Width: 75
Height: 25
Align: Right
Text: Audio Device: Text: Audio Device:
DropDownButton@AUDIO_DEVICE: DropDownButton@AUDIO_DEVICE:
X: 190 Y: 25
Y: 240
Width: 300
Height: 25
Label@AUDIO_DEVICE_DESC:
Y: 261
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: 25 Height: 25
Container@VIDEO_VOLUME_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@VIDEO_LABEL:
Width: PARENT_RIGHT
Height: 20
Text: Video Volume:
ExponentialSlider@VIDEO_VOLUME:
Y: 25
Width: PARENT_RIGHT
Height: 20
Ticks: 7
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 20
Children:
Container@RESTART_REQUIRED_CONTAINER:
X: 10
Width: PARENT_RIGHT - 10
Children:
Label@RESTART_REQUIRED_DESC:
Width: PARENT_RIGHT
Height: 20
Font: Tiny Font: Tiny
Align: Center Align: Center
Text: Device changes will be applied after the game is restarted Text: Device changes will be applied after the game is restarted

View File

@@ -3,36 +3,53 @@ Container@DISPLAY_PANEL:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Children: Children:
Label@VIDEO_TITLE: ScrollPanel@SETTINGS_SCROLLPANEL:
Y: 21
Width: PARENT_RIGHT Width: PARENT_RIGHT
Font: Bold Height: PARENT_BOTTOM
Text: Display CollapseHiddenChildren: True
TopBottomSpacing: 5
ItemSpacing: 10
Children:
Background@SECTION_HEADER:
X: 5
Width: PARENT_RIGHT - 24 - 10
Height: 13
Background: separator
Children:
Label@LABEL:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
Font: TinyBold
Align: Center Align: Center
Text: Profile
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@PLAYER_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@PLAYER: Label@PLAYER:
Width: PARENT_RIGHT
Height: 20
Text: Player Name: Text: Player Name:
X: 15
Y: 40
Width: 120
Height: 25
Align: Right
TextField@PLAYERNAME: TextField@PLAYERNAME:
Text: Name Y: 25
X: 140 Width: PARENT_RIGHT
Y: 40
Width: 160
Height: 25 Height: 25
MaxLength: 16 MaxLength: 16
Text: Name
Container@PLAYERCOLOR_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@COLOR: Label@COLOR:
X: 265 Width: PARENT_RIGHT
Y: 40 Height: 20
Width: 145
Height: 25
Text: Preferred Color: Text: Preferred Color:
Align: Right
DropDownButton@PLAYERCOLOR: DropDownButton@PLAYERCOLOR:
X: 415 Y: 25
Y: 40
Width: 75 Width: 75
Height: 25 Height: 25
IgnoreChildMouseOver: true IgnoreChildMouseOver: true
@@ -43,181 +60,249 @@ Container@DISPLAY_PANEL:
Y: 6 Y: 6
Width: PARENT_RIGHT - 35 Width: PARENT_RIGHT - 35
Height: PARENT_BOTTOM - 12 Height: PARENT_BOTTOM - 12
Container@SPACER:
Background@SECTION_HEADER:
X: 5
Width: PARENT_RIGHT - 24 - 10
Height: 13
Background: separator
Children:
Label@LABEL:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
Font: TinyBold
Align: Center
Text: Display
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@BATTLEFIELD_CAMERA_DROPDOWN_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@BATTLEFIELD_CAMERA: Label@BATTLEFIELD_CAMERA:
X: 15 Width: PARENT_RIGHT
Y: 70 Height: 20
Width: 120
Height: 25
Text: Battlefield Camera: Text: Battlefield Camera:
Align: Right
DropDownButton@BATTLEFIELD_CAMERA_DROPDOWN: DropDownButton@BATTLEFIELD_CAMERA_DROPDOWN:
X: 140 Y: 25
Y: 70 Width: PARENT_RIGHT
Width: 160
Height: 25 Height: 25
Font: Regular Font: Regular
Container@TARGET_LINES_DROPDOWN_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@TARGET_LINES: Label@TARGET_LINES:
X: 265 Width: PARENT_RIGHT
Y: 70 Height: 20
Width: 145
Height: 25
Text: Target Lines: Text: Target Lines:
Align: Right
DropDownButton@TARGET_LINES_DROPDOWN: DropDownButton@TARGET_LINES_DROPDOWN:
X: 415 Y: 25
Y: 70 Width: PARENT_RIGHT
Width: 160
Height: 25 Height: 25
Font: Regular Font: Regular
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@UI_SCALE_DROPDOWN_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@UI_SCALE: Label@UI_SCALE:
X: 15 Width: PARENT_RIGHT
Y: 100 Height: 20
Width: 120
Height: 25
Text: UI Scale: Text: UI Scale:
Align: Right
DropDownButton@UI_SCALE_DROPDOWN: DropDownButton@UI_SCALE_DROPDOWN:
X: 140 Y: 25
Y: 100 Width: PARENT_RIGHT
Width: 160
Height: 25 Height: 25
Font: Regular Font: Regular
Container@STATUS_BAR_DROPDOWN_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@STATUS_BARS: Label@STATUS_BARS:
X: 265 Width: PARENT_RIGHT
Y: 100 Height: 20
Width: 145
Height: 25
Text: Status Bars: Text: Status Bars:
Align: Right
DropDownButton@STATUS_BAR_DROPDOWN: DropDownButton@STATUS_BAR_DROPDOWN:
X: 415 Y: 25
Y: 100 Width: PARENT_RIGHT
Width: 160
Height: 25 Height: 25
Font: Regular Font: Regular
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 20
Children:
Container@CURSORDOUBLE_CHECKBOX_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@CURSORDOUBLE_CHECKBOX: Checkbox@CURSORDOUBLE_CHECKBOX:
X: 15 Width: PARENT_RIGHT
Y: 133
Width: 200
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Increase Cursor Size Text: Increase Cursor Size
Container@PLAYER_STANCE_COLORS_CHECKBOX_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@PLAYER_STANCE_COLORS_CHECKBOX: Checkbox@PLAYER_STANCE_COLORS_CHECKBOX:
X: 310 Width: PARENT_RIGHT
Y: 133
Width: 200
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Player Stance Colors Text: Player Stance Colors
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 20
Children:
Container@UI_FEEDBACK_CHECKBOX_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@UI_FEEDBACK_CHECKBOX: Checkbox@UI_FEEDBACK_CHECKBOX:
X: 15 Width: PARENT_RIGHT
Y: 163
Width: 200
Height: 20 Height: 20
Font: Regular Font: Regular
Text: UI Feedback in Transients Panel Text: UI Feedback in Transients Panel
Label@VIDEO_TITLE: Container@SPACER:
Y: 190 Background@SECTION_HEADER:
X: 5
Width: PARENT_RIGHT - 24 - 10
Height: 13
Background: separator
Children:
Label@LABEL:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Font: Bold Height: PARENT_BOTTOM
Text: Video Font: TinyBold
Align: Center Align: Center
Text: Video
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@VIDEO_MODE_DROPDOWN_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@VIDEO_MODE: Label@VIDEO_MODE:
X: 15 Width: PARENT_RIGHT
Y: 210 Height: 20
Width: 120
Height: 25
Align: Right
Text: Video Mode: Text: Video Mode:
DropDownButton@MODE_DROPDOWN: DropDownButton@MODE_DROPDOWN:
X: 140 Y: 25
Y: 210 Width: PARENT_RIGHT
Width: 160
Height: 25 Height: 25
Font: Regular Font: Regular
Text: Windowed Text: Windowed
Container@WINDOW_RESOLUTION: Container@WINDOW_RESOLUTION_CONTAINER:
Y: 240 X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children: Children:
Label@WINDOW_SIZE: Label@WINDOW_SIZE:
X: 15 Width: PARENT_RIGHT
Height: 25 Height: 20
Width: 120
Align: Right
Text: Window Size: Text: Window Size:
TextField@WINDOW_WIDTH: TextField@WINDOW_WIDTH:
X: 140 Y: 25
Width: 55 Width: 55
Height: 25 Height: 25
MaxLength: 5 MaxLength: 5
Type: Integer Type: Integer
Label@X: Label@X:
X: 55
Y: 25
Text: x Text: x
Font: Bold Font: Bold
X: 195
Height: 25 Height: 25
Width: 15 Width: 15
Align: Center Align: Center
TextField@WINDOW_HEIGHT: TextField@WINDOW_HEIGHT:
X: 210 X: 70
Y: 25
Width: 55 Width: 55
Height: 25 Height: 25
MaxLength: 5 MaxLength: 5
Type: Integer Type: Integer
Container@DISPLAY_SELECTION: Container@DISPLAY_SELECTION_CONTAINER:
Y: 240 X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children: Children:
Label@DISPLAY_SELECTION_LABEL: Label@DISPLAY_SELECTION_LABEL:
X: 15 Width: PARENT_RIGHT
Height: 25 Height: 20
Width: 120
Align: Right
Text: Select Display: Text: Select Display:
DropDownButton@DISPLAY_SELECTION_DROPDOWN: DropDownButton@DISPLAY_SELECTION_DROPDOWN:
X: 140 Y: 25
Width: 160 Width: PARENT_RIGHT
Height: 25 Height: 25
Font: Regular Font: Regular
Checkbox@VSYNC_CHECKBOX: Text: Standard
X: 310 Container@ROW:
Y: 210 Width: PARENT_RIGHT - 24
Width: 200 Height: 50
Height: 20 Children:
Font: Regular Container@FRAME_LIMIT_CHECKBOX_CONTAINER:
Text: Enable VSync X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@FRAME_LIMIT_CHECKBOX: Checkbox@FRAME_LIMIT_CHECKBOX:
X: 310 Width: PARENT_RIGHT
Y: 243
Width: 200
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Enable Frame Limiter Text: Enable Frame Limiter
Container@FRAME_LIMIT_SLIDER_CONTAINER:
Width: PARENT_RIGHT / 2 - 20
Children:
Slider@FRAME_LIMIT_SLIDER: Slider@FRAME_LIMIT_SLIDER:
X: 340 X: 20
Y: 265 Y: 25
Width: 200 Width: PARENT_RIGHT - 20
Height: 20 Height: 20
Ticks: 20 Ticks: 20
MinimumValue: 50 MinimumValue: 50
MaximumValue: 240 MaximumValue: 240
Container@VSYNC_CHECKBOX_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@VSYNC_CHECKBOX:
Width: PARENT_RIGHT
Height: 20
Font: Regular
Text: Enable VSync
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@GL_PROFILE_DROPDOWN_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@GL_PROFILE: Label@GL_PROFILE:
X: 15 Width: PARENT_RIGHT
Y: 270 Height: 20
Width: 120
Height: 25
Align: Right
Text: OpenGL Profile: Text: OpenGL Profile:
DropDownButton@GL_PROFILE_DROPDOWN: DropDownButton@GL_PROFILE_DROPDOWN:
X: 140 Y: 25
Y: 270 Width: PARENT_RIGHT
Width: 160
Height: 25 Height: 25
Font: Regular Font: Regular
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 30
Children:
Container@RESTART_REQUIRED_CONTAINER:
X: 10
Width: PARENT_RIGHT - 20
Children:
Label@RESTART_REQUIRED_DESC: Label@RESTART_REQUIRED_DESC:
X: 300 Width: PARENT_RIGHT
Y: PARENT_BOTTOM + 10 Height: 20
Width: PARENT_RIGHT - 300 Font: Tiny
Height: 15
Font: TinyBold
Text: Display and OpenGL changes require restart Text: Display and OpenGL changes require restart
Align: Center Align: Center

View File

@@ -2,171 +2,123 @@ Container@HOTKEYS_PANEL:
Logic: HotkeysSettingsLogic Logic: HotkeysSettingsLogic
HotkeyGroups: HotkeyGroups:
Game Commands: Game Commands:
Template: TWO_COLUMN
Types: OrderGenerator, World, Menu Types: OrderGenerator, World, Menu
Viewport Commands: Viewport Commands:
Template: TWO_COLUMN
Types: Viewport Types: Viewport
Observer / Replay Commands: Observer / Replay Commands:
Template: TWO_COLUMN
Types: Observer, Replay Types: Observer, Replay
Unit Commands: Unit Commands:
Template: THREE_COLUMN
Types: Unit Types: Unit
Unit Stance Commands: Unit Stance Commands:
Template: TWO_COLUMN
Types: Stance Types: Stance
Production Commands: Production Commands:
Template: THREE_COLUMN
Types: Production, ProductionSlot Types: Production, ProductionSlot
Support Power Commands: Support Power Commands:
Template: THREE_COLUMN
Types: SupportPower Types: SupportPower
Music Commands: Music Commands:
Template: TWO_COLUMN
Types: Music Types: Music
Chat Commands: Chat Commands:
Template: TWO_COLUMN
Types: Chat Types: Chat
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Children: Children:
Label@HOTKEY_TITLE:
Y: 21
Width: PARENT_RIGHT
Font: Bold
Text: Hotkeys
Align: Center
ScrollPanel@HOTKEY_LIST: ScrollPanel@HOTKEY_LIST:
X: 15 Width: PARENT_RIGHT
Y: 40 Height: PARENT_BOTTOM - 65
Width: PARENT_RIGHT - 30 TopBottomSpacing: 5
TopBottomSpacing: 4 ItemSpacing: 5
ItemSpacing: 4
Height: 191
Children: Children:
ScrollItem@HEADER: Container@HEADER:
Width: 528 Width: PARENT_RIGHT - 24 - 10
Height: 13 Height: 18
Visible: false
Children: Children:
Label@LABEL: Background@BACKGROUND:
Font: TinyBold
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: 13 Height: 13
Background: separator
Label@LABEL:
Width: PARENT_RIGHT
Height: 13
Font: TinyBold
Align: Center Align: Center
Container@TEMPLATES: Container@TEMPLATE:
Children: Width: (PARENT_RIGHT - 24) / 2 - 10
Container@TWO_COLUMN: Height: 30
Width: 262
Height: 25
Visible: false
Children:
Label@FUNCTION:
Y: 0
Width: PARENT_RIGHT - 85
Height: 25
Align: Right
Button@HOTKEY:
X: PARENT_RIGHT - WIDTH
Width: 80
Height: 25
Align: Left
TooltipContainer: SETTINGS_TOOLTIP_CONTAINER
Container@THREE_COLUMN:
Width: 173
Height: 25
Visible: false Visible: false
Children: Children:
Label@FUNCTION: Label@FUNCTION:
Y: 0 - 1 Y: 0 - 1
Width: PARENT_RIGHT - 84 Width: PARENT_RIGHT - 90 - 5
Height: 25 Height: 25
Align: Right Align: Right
Button@HOTKEY: Button@HOTKEY:
X: PARENT_RIGHT - WIDTH + 1 X: PARENT_RIGHT - WIDTH
Width: 80 Width: 90
Height: 25 Height: 25
Align: Left
TooltipContainer: SETTINGS_TOOLTIP_CONTAINER TooltipContainer: SETTINGS_TOOLTIP_CONTAINER
Background@HOTKEY_DIALOG_ROOT: Background@HOTKEY_DIALOG_ROOT:
X: 15 Y: PARENT_BOTTOM - HEIGHT - 1
Y: 230 Width: PARENT_RIGHT
Width: PARENT_RIGHT - 30 Height: 65 + 1
Height: 65
Background: panel-gray Background: panel-gray
Children: Children:
Label@HOTKEY_LABEL: Label@HOTKEY_LABEL:
X: 15 X: 15
Y: 19 Y: 19
Width: 220 - 15 - 10 Width: 200
Height: 25 Height: 25
Font: Bold Font: Bold
Align: Right Align: Right
HotkeyEntry@HOTKEY_ENTRY: HotkeyEntry@HOTKEY_ENTRY:
X: 220 X: 15 + 200 + 5
Y: 20 Y: 20
Width: 254 Width: 220
Height: 25 Height: 25
Container@NOTICES: Container@NOTICES:
X: 220 X: 15 + 200 + 5
Y: 42 Y: 42
Width: 254 Width: 220
Height: 25 Height: 25
Children: Children:
Label@DEFAULT_NOTICE: Label@DEFAULT_NOTICE:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Font: Tiny Font: Tiny
Align: Left
Text: This is the default Text: This is the default
Label@ORIGINAL_NOTICE: Label@ORIGINAL_NOTICE:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Font: Tiny Font: Tiny
Align: Left
Text: The default is "{0}" Text: The default is "{0}"
Label@DUPLICATE_NOTICE: Label@DUPLICATE_NOTICE:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Font: Tiny Font: Tiny
Align: Left
Text: This is already used for "{0}" Text: This is already used for "{0}"
Button@OVERRIDE_HOTKEY_BUTTON: Button@OVERRIDE_HOTKEY_BUTTON:
X: PARENT_RIGHT - 50 - 15 - WIDTH - 20 X: PARENT_RIGHT - 3 * WIDTH - 30
Y: 20 Y: 20
Width: 70 Width: 70
Height: 25 Height: 25
Text: Override Text: Override
Font: Bold
Button@CLEAR_HOTKEY_BUTTON: Button@CLEAR_HOTKEY_BUTTON:
X: PARENT_RIGHT - 25 - 15 - WIDTH - 10 X: PARENT_RIGHT - 2 * WIDTH - 30
Y: 20 Y: 20
Width: 25 Width: 65
Height: 25 Height: 25
Text: Clear
Font: Bold
TooltipText: Unbind the hotkey TooltipText: Unbind the hotkey
TooltipContainer: SETTINGS_TOOLTIP_CONTAINER TooltipContainer: SETTINGS_TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP TooltipTemplate: SIMPLE_TOOLTIP
Children:
Image:
ImageCollection: lobby-bits
ImageName: kick
X: 7
Y: 8
IgnoreMouseOver: True
Button@RESET_HOTKEY_BUTTON: Button@RESET_HOTKEY_BUTTON:
X: PARENT_RIGHT - WIDTH - 15 X: PARENT_RIGHT - WIDTH - 20
Y: 20 Y: 20
Width: 25 Width: 65
Height: 25 Height: 25
Text: Reset
Font: Bold
TooltipText: Reset to default TooltipText: Reset to default
TooltipContainer: SETTINGS_TOOLTIP_CONTAINER TooltipContainer: SETTINGS_TOOLTIP_CONTAINER
TooltipTemplate: SIMPLE_TOOLTIP TooltipTemplate: SIMPLE_TOOLTIP
Children:
Image@IMAGE_RELOAD:
X: 5
Y: 5
Width: 16
Height: 16
ImageCollection: reload-icon
ImageName: enabled
IgnoreMouseOver: True

View File

@@ -3,30 +3,61 @@ Container@INPUT_PANEL:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Children: Children:
Label@INPUT_TITLE: ScrollPanel@SETTINGS_SCROLLPANEL:
Y: 21
Width: PARENT_RIGHT Width: PARENT_RIGHT
Font: Bold Height: PARENT_BOTTOM
Text: Input CollapseHiddenChildren: True
TopBottomSpacing: 5
ItemSpacing: 10
Children:
Background@SECTION_HEADER:
X: 5
Width: PARENT_RIGHT - 24 - 10
Height: 13
Background: separator
Children:
Label@LABEL:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
Font: TinyBold
Align: Center Align: Center
Text: Input
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@MOUSE_CONTROL_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@MOUSE_CONTROL_LABEL: Label@MOUSE_CONTROL_LABEL:
X: 15 Width: PARENT_RIGHT
Y: 40 Height: 20
Width: 110
Height: 25
Font: Regular Font: Regular
Text: Control Scheme: Text: Control Scheme:
Align: Right
DropDownButton@MOUSE_CONTROL_DROPDOWN: DropDownButton@MOUSE_CONTROL_DROPDOWN:
X: 130 Y: 25
Y: 40 Width: PARENT_RIGHT
Width: 150 Height: 25
Font: Regular
Container@ZOOM_MODIFIER_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@ZOOM_MODIFIER_LABEL:
Width: PARENT_RIGHT
Height: 20
Font: Regular
Text: Zoom Modifier:
DropDownButton@ZOOM_MODIFIER:
Y: 25
Width: PARENT_RIGHT
Height: 25 Height: 25
Font: Regular Font: Regular
Container@MOUSE_CONTROL_DESC_CLASSIC: Container@MOUSE_CONTROL_DESC_CLASSIC:
X: 25 X: 10
Y: 70 Y: 55
Width: 300 Width: PARENT_RIGHT
Children: Children:
LabelWithHighlight@DESC_SELECTION: LabelWithHighlight@DESC_SELECTION:
Height: 16 Height: 16
@@ -74,9 +105,9 @@ Container@INPUT_PANEL:
Font: Small Font: Small
Text: or by moving the cursor to the edge of the screen Text: or by moving the cursor to the edge of the screen
Container@MOUSE_CONTROL_DESC_MODERN: Container@MOUSE_CONTROL_DESC_MODERN:
X: 25 X: 10
Y: 70 Y: 55
Width: 300 Width: PARENT_RIGHT / 2 - 20
Children: Children:
LabelWithHighlight@DESC_SELECTION: LabelWithHighlight@DESC_SELECTION:
Height: 16 Height: 16
@@ -123,97 +154,115 @@ Container@INPUT_PANEL:
Height: 16 Height: 16
Font: Small Font: Small
Text: or by moving the cursor to the edge of the screen Text: or by moving the cursor to the edge of the screen
Label@MOUSE_SCROLL_TYPE_LABEL: Container@ROW:
X: 15 Width: PARENT_RIGHT - 24
Y: 210
Width: 110
Height: 25
Font: Regular
Text: Pan Behaviour:
Align: Right
DropDownButton@MOUSE_SCROLL_TYPE_DROPDOWN:
X: 130
Y: 210
Width: 150
Height: 25
Font: Regular
Checkbox@LOCKMOUSE_CHECKBOX:
X: 15
Y: 243
Width: 190
Height: 20 Height: 20
Font: Regular Children:
Text: Lock Mouse to Window Container@EDGESCROLL_CHECKBOX_CONTAINER:
Label@ZOOM_MODIFIER_LABEL: X: PARENT_RIGHT / 2 + 10
X: 350 Width: PARENT_RIGHT / 2 - 20
Y: 70 Children:
Width: 70
Height: 25
Font: Regular
Text: Zoom Modifier:
Align: Right
DropDownButton@ZOOM_MODIFIER:
X: 425
Y: 70
Width: 150
Height: 25
Font: Regular
Checkbox@EDGESCROLL_CHECKBOX: Checkbox@EDGESCROLL_CHECKBOX:
X: 360 Width: PARENT_RIGHT
Y: 103
Width: 180
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Screen Edge Panning Text: Screen Edge Panning
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 20
Children:
Container@ALTERNATE_SCROLL_CHECKBOX_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@ALTERNATE_SCROLL_CHECKBOX: Checkbox@ALTERNATE_SCROLL_CHECKBOX:
X: 360 Width: PARENT_RIGHT
Y: 133
Width: 180
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Alternate Mouse Panning Text: Alternate Mouse Panning
Label@SCROLL_SPEED_LABEL: Container@ROW:
X: 310 Width: PARENT_RIGHT - 24
Y: 210
Width: 100
Height: 25
Text: Pan Speed:
Align: Right
Slider@SCROLLSPEED_SLIDER:
X: 415
Y: 215
Width: 160
Height: 20 Height: 20
Ticks: 5 Children:
Container@LOCKMOUSE_CHECKBOX_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@LOCKMOUSE_CHECKBOX:
Width: PARENT_RIGHT
Height: 20
Font: Regular
Text: Lock Mouse to Window
Container@SPACER:
Height: 30
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@MOUSE_SCROLL_TYPE_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@MOUSE_SCROLL_TYPE_LABEL:
Width: PARENT_RIGHT
Height: 20
Font: Regular
Text: Pan Behaviour:
DropDownButton@MOUSE_SCROLL_TYPE_DROPDOWN:
Y: 25
Width: PARENT_RIGHT
Height: 25
Font: Regular
Container@SCROLLSPEED_SLIDER_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@SCROLL_SPEED_LABEL:
Width: PARENT_RIGHT
Height: 20
Text: Pan Speed:
Slider@SCROLLSPEED_SLIDER:
Y: 25
Width: PARENT_RIGHT
Height: 20
Ticks: 7
MinimumValue: 10 MinimumValue: 10
MaximumValue: 50 MaximumValue: 50
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@ZOOMSPEED_SLIDER_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@ZOOM_SPEED_LABEL: Label@ZOOM_SPEED_LABEL:
X: 310 Width: PARENT_RIGHT
Y: 240
Width: 100
Height: 25
Text: Zoom Speed:
Align: Right
ExponentialSlider@ZOOMSPEED_SLIDER:
X: 415
Y: 245
Width: 160
Height: 20 Height: 20
Ticks: 5 Text: Zoom Speed:
ExponentialSlider@ZOOMSPEED_SLIDER:
Y: 25
Width: PARENT_RIGHT
Height: 20
Ticks: 7
MinimumValue: 0.01 MinimumValue: 0.01
MaximumValue: 0.4 MaximumValue: 0.4
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@UI_SCROLLSPEED_SLIDER_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@UI_SCROLL_SPEED_LABEL: Label@UI_SCROLL_SPEED_LABEL:
X: 310 Width: PARENT_RIGHT
Y: 270
Width: 100
Height: 25
Text: UI Scroll Speed:
Align: Right
Slider@UI_SCROLLSPEED_SLIDER:
X: 415
Y: 275
Width: 160
Height: 20 Height: 20
Ticks: 5 Text: UI Scroll Speed:
Slider@UI_SCROLLSPEED_SLIDER:
Y: 25
Width: PARENT_RIGHT
Height: 20
Ticks: 7
MinimumValue: 1 MinimumValue: 1
MaximumValue: 100 MaximumValue: 100

View File

@@ -1,6 +1,6 @@
Container@SETTINGS_PANEL: Container@SETTINGS_PANEL:
Logic: SettingsLogic Logic: SettingsLogic
ButtonStride: 120, 0 ButtonStride: 0, 45
Panels: Panels:
DISPLAY_PANEL: Display DISPLAY_PANEL: Display
AUDIO_PANEL: Audio AUDIO_PANEL: Audio
@@ -9,40 +9,42 @@ Container@SETTINGS_PANEL:
ADVANCED_PANEL: Advanced ADVANCED_PANEL: Advanced
X: (WINDOW_RIGHT - WIDTH) / 2 X: (WINDOW_RIGHT - WIDTH) / 2
Y: (WINDOW_BOTTOM - HEIGHT) / 2 Y: (WINDOW_BOTTOM - HEIGHT) / 2
Width: 590 Width: 640
Height: 328 Height: 435
Children: Children:
Label@TITLE: Label@TITLE:
Width: 590 Width: PARENT_RIGHT
Y: 0 - 22 Y: 0 - 22
Font: BigBold Font: BigBold
Contrast: true Contrast: true
Align: Center Align: Center
Text: Settings Text: Settings
Container@TAB_CONTAINER:
Children:
Button@BUTTON_TEMPLATE:
Width: 110
Height: 35
Background@PANEL_CONTAINER:
Y: 34
Width: 590
Height: 310
Background: panel-black
Children:
Container@PANEL_TEMPLATE:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
Button@BACK_BUTTON: Button@BACK_BUTTON:
Key: escape Key: escape
Y: 343 Y: PARENT_BOTTOM - 1
Width: 140 Width: 140
Height: 35 Height: 35
Text: Back Text: Back
Button@RESET_BUTTON: Button@RESET_BUTTON:
X: 150 X: 150
Y: 343 Y: PARENT_BOTTOM - 1
Width: 140 Width: 140
Height: 35 Height: 35
Text: Reset Text: Reset
Container@SETTINGS_TAB_CONTAINER:
X: 0 - 140 + 1
Children:
Button@BUTTON_TEMPLATE:
Width: 140
Height: 35
Background@PANEL_CONTAINER:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
Background: panel-black
Children:
Container@PANEL_TEMPLATE:
X: 15
Y: 15
Width: PARENT_RIGHT - 30
Height: PARENT_BOTTOM - 30
TooltipContainer@SETTINGS_TOOLTIP_CONTAINER: TooltipContainer@SETTINGS_TOOLTIP_CONTAINER:

View File

@@ -1,124 +1,195 @@
Container@ADVANCED_PANEL: Container@ADVANCED_PANEL:
Logic: AdvancedSettingsLogic Logic: AdvancedSettingsLogic
Width: PARENT_RIGHT - 10 Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Children:
ScrollPanel@SETTINGS_SCROLLPANEL:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
CollapseHiddenChildren: True
TopBottomSpacing: 5
ItemSpacing: 10
Children:
Background@SECTION_HEADER:
X: 5
Width: PARENT_RIGHT - 24 - 10
Height: 13
Background: separator
Children:
Label@LABEL:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
Font: TinyBold
Align: Center
Text: Advanced
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 20
Children:
Container@NAT_DISCOVERY_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children: Children:
Checkbox@NAT_DISCOVERY: Checkbox@NAT_DISCOVERY:
X: 15 Width: PARENT_RIGHT
Y: 43
Width: 200
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Enable UPnP/NAT-PMP Discovery Text: Enable UPnP/NAT-PMP Discovery
Checkbox@PERFTEXT_CHECKBOX: Container@FETCH_NEWS_CHECKBOX_CONTAINER:
X: 15 X: PARENT_RIGHT / 2 + 10
Y: 73 Width: PARENT_RIGHT / 2 - 20
Width: 300 Children:
Height: 20
Font: Regular
Text: Show Performance Text
Checkbox@PERFGRAPH_CHECKBOX:
X: 15
Y: 103
Width: 300
Height: 20
Font: Regular
Text: Show Performance Graph
Checkbox@FETCH_NEWS_CHECKBOX: Checkbox@FETCH_NEWS_CHECKBOX:
X: 310 Width: PARENT_RIGHT
Y: 43
Width: 300
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Fetch Community News Text: Fetch Community News
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 20
Children:
Container@PERFGRAPH_CHECKBOX_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@PERFGRAPH_CHECKBOX:
Width: PARENT_RIGHT
Height: 20
Font: Regular
Text: Show Performance Graph
Container@CHECK_VERSION_CHECKBOX_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@CHECK_VERSION_CHECKBOX: Checkbox@CHECK_VERSION_CHECKBOX:
X: 310 Width: PARENT_RIGHT
Y: 73
Width: 300
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Check for Updates Text: Check for Updates
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@PERFTEXT_CHECKBOX_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@PERFTEXT_CHECKBOX:
Width: PARENT_RIGHT
Height: 20
Font: Regular
Text: Show Performance Text
Container@SENDSYSINFO_CHECKBOX_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@SENDSYSINFO_CHECKBOX: Checkbox@SENDSYSINFO_CHECKBOX:
X: 310 Width: PARENT_RIGHT
Y: 103
Width: 300
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Send System Information Text: Send System Information
Label@SENDSYSINFO_DESC: Label@SENDSYSINFO_DESC:
X: 310 Y: 15
Y: 118 Width: PARENT_RIGHT
Width: 255
Height: 30 Height: 30
Font: Tiny Font: Tiny
WordWrap: True WordWrap: True
Text: Your Operating System, OpenGL and .NET runtime versions, and language settings will be sent along with an anonymous ID to help prioritize future development. Text: Your Operating System, OpenGL and .NET runtime versions, and language settings will be sent along with an anonymous ID to help prioritize future development.
Label@DEBUG_TITLE: Container@SPACER:
Y: 190 Background@SECTION_HEADER:
X: 5
Width: PARENT_RIGHT - 24 - 10
Height: 13
Background: separator
Children:
Label@LABEL:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Font: Bold Height: PARENT_BOTTOM
Text: Developer Font: TinyBold
Align: Center Align: Center
Container@DEBUG_HIDDEN_LABEL: Text: Developer
Y: 245 Container@ROW:
Width: PARENT_RIGHT Width: PARENT_RIGHT - 24
Height: 40
Children:
Container@DEBUG_HIDDEN_CONTAINER:
X: 10
Width: PARENT_RIGHT - 10
Children: Children:
Label@A: Label@A:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: 20 Height: 20
Font: Regular
Text: Additional developer-specific options can be enabled via the Text: Additional developer-specific options can be enabled via the
Align: Center Align: Center
Label@B: Label@B:
Y: 20 Y: 20
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: 20 Height: 20
Font: Regular
Text: Debug.DisplayDeveloperSettings setting or launch flag Text: Debug.DisplayDeveloperSettings setting or launch flag
Align: Center Align: Center
Container@DEBUG_OPTIONS: Container@ROW:
Width: PARENT_RIGHT Width: PARENT_RIGHT - 24
Height: PARENT_BOTTOM Height: 20
Children:
Container@BOTDEBUG_CHECKBOX_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children: Children:
Checkbox@BOTDEBUG_CHECKBOX: Checkbox@BOTDEBUG_CHECKBOX:
X: 15 Width: PARENT_RIGHT
Y: 213
Width: 300
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Show Bot Debug Messages Text: Show Bot Debug Messages
Checkbox@CHECKUNSYNCED_CHECKBOX: Container@CHECKBOTSYNC_CHECKBOX_CONTAINER:
X: 15 X: PARENT_RIGHT / 2 + 10
Y: 243 Width: PARENT_RIGHT / 2 - 20
Width: 300 Children:
Height: 20
Font: Regular
Text: Check Sync around Unsynced Code
Checkbox@CHECKBOTSYNC_CHECKBOX: Checkbox@CHECKBOTSYNC_CHECKBOX:
X: 15 Width: PARENT_RIGHT
Y: 273
Width: 300
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Check Sync around BotModule Code Text: Check Sync around BotModule Code
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 20
Children:
Container@LUADEBUG_CHECKBOX_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@LUADEBUG_CHECKBOX: Checkbox@LUADEBUG_CHECKBOX:
X: 310 Width: PARENT_RIGHT
Y: 213
Width: 300
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Show Map Debug Messages Text: Show Map Debug Messages
Container@CHECKUNSYNCED_CHECKBOX_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@CHECKUNSYNCED_CHECKBOX:
Width: PARENT_RIGHT
Height: 20
Font: Regular
Text: Check Sync around Unsynced Code
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 20
Children:
Container@REPLAY_COMMANDS_CHECKBOX_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@REPLAY_COMMANDS_CHECKBOX: Checkbox@REPLAY_COMMANDS_CHECKBOX:
X: 310 Width: PARENT_RIGHT
Y: 243
Width: 300
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Enable Debug Commands in Replays Text: Enable Debug Commands in Replays
Container@PERFLOGGING_CHECKBOX_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@PERFLOGGING_CHECKBOX: Checkbox@PERFLOGGING_CHECKBOX:
X: 310 Width: PARENT_RIGHT
Y: 273
Width: 300
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Enable Tick Performance Logging Text: Enable Tick Performance Logging

View File

@@ -1,93 +1,142 @@
Container@AUDIO_PANEL: Container@AUDIO_PANEL:
Logic: AudioSettingsLogic Logic: AudioSettingsLogic
Width: PARENT_RIGHT - 10 Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Children:
ScrollPanel@SETTINGS_SCROLLPANEL:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
CollapseHiddenChildren: True
TopBottomSpacing: 5
ItemSpacing: 10
Children:
Background@SECTION_HEADER:
X: 5
Width: PARENT_RIGHT - 24 - 10
Height: 13
Background: separator
Children:
Label@LABEL:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
Font: TinyBold
Align: Center
Text: Audio
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 20
Children:
Container@NO_AUDIO_DEVICE_CONTAINER:
X: 10
Width: PARENT_RIGHT - 10
Children: Children:
Label@NO_AUDIO_DEVICE: Label@NO_AUDIO_DEVICE:
Y: 50
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: 20
Align: Center Align: Center
Text: Audio controls require an active sound device Text: Audio controls require an active sound device
Container@AUDIO_CONTROLS: Container@ROW:
Width: PARENT_RIGHT Width: PARENT_RIGHT - 24
Height: PARENT_BOTTOM Height: 50
Children:
Container@CASH_TICKS_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children: Children:
Checkbox@CASH_TICKS: Checkbox@CASH_TICKS:
X: 15 Width: PARENT_RIGHT
Y: 43
Width: 200
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Cash Ticks Text: Cash Ticks
Container@MUTE_SOUND_CONTAINER:
X: 10
Y: 30
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@MUTE_SOUND: Checkbox@MUTE_SOUND:
X: 15 Width: PARENT_RIGHT
Y: 73
Width: 200
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Mute Sound Text: Mute Sound
Container@SOUND_VOLUME_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@SOUND_LABEL:
Width: PARENT_RIGHT
Height: 20
Text: Sound Volume:
ExponentialSlider@SOUND_VOLUME:
Y: 30
Width: PARENT_RIGHT
Height: 20
Ticks: 7
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@MUTE_BACKGROUND_MUSIC_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@MUTE_BACKGROUND_MUSIC: Checkbox@MUTE_BACKGROUND_MUSIC:
X: 15 Width: PARENT_RIGHT
Y: 103
Width: 200
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Mute Background Music Text: Mute Background Music
Label@SOUND_LABEL: Container@MUSIC_VOLUME_CONTAINER:
X: PARENT_RIGHT - WIDTH - 270 X: PARENT_RIGHT / 2 + 10
Y: 40 Width: PARENT_RIGHT / 2 - 20
Width: 95 Children:
Height: 25
Align: Right
Text: Sound Volume:
ExponentialSlider@SOUND_VOLUME:
X: PARENT_RIGHT - WIDTH - 15
Y: 45
Width: 250
Height: 20
Ticks: 7
Label@MUSIC_LABEL: Label@MUSIC_LABEL:
X: PARENT_RIGHT - WIDTH - 270 Width: PARENT_RIGHT
Y: 70 Height: 20
Width: 95
Height: 25
Align: Right
Text: Music Volume: Text: Music Volume:
ExponentialSlider@MUSIC_VOLUME: ExponentialSlider@MUSIC_VOLUME:
X: PARENT_RIGHT - WIDTH - 15 Y: 25
Y: 75 Width: PARENT_RIGHT
Width: 250
Height: 20
Ticks: 7
Label@VIDEO_LABEL:
X: PARENT_RIGHT - WIDTH - 270
Y: 100
Width: 95
Height: 25
Align: Right
Text: Video Volume:
ExponentialSlider@VIDEO_VOLUME:
X: PARENT_RIGHT - WIDTH - 15
Y: 105
Width: 250
Height: 20 Height: 20
Ticks: 7 Ticks: 7
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@AUDIO_DEVICE_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@AUDIO_DEVICE_LABEL: Label@AUDIO_DEVICE_LABEL:
X: 190 - WIDTH - 5 Width: PARENT_RIGHT
Y: 240 Height: 20
Width: 75
Height: 25
Align: Right
Text: Audio Device: Text: Audio Device:
DropDownButton@AUDIO_DEVICE: DropDownButton@AUDIO_DEVICE:
X: 190 Y: 25
Y: 240
Width: 300
Height: 25
Label@AUDIO_DEVICE_DESC:
Y: 261
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: 25 Height: 25
Container@VIDEO_VOLUME_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@VIDEO_LABEL:
Width: PARENT_RIGHT
Height: 20
Text: Video Volume:
ExponentialSlider@VIDEO_VOLUME:
Y: 25
Width: PARENT_RIGHT
Height: 20
Ticks: 7
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 20
Children:
Container@RESTART_REQUIRED_CONTAINER:
X: 10
Width: PARENT_RIGHT - 10
Children:
Label@RESTART_REQUIRED_DESC:
Width: PARENT_RIGHT
Height: 20
Font: Tiny Font: Tiny
Align: Center Align: Center
Text: Device changes will be applied after the game is restarted Text: Device changes will be applied after the game is restarted

View File

@@ -1,32 +1,55 @@
Container@DISPLAY_PANEL: Container@DISPLAY_PANEL:
Logic: DisplaySettingsLogic Logic: DisplaySettingsLogic
Width: PARENT_RIGHT - 10 Width: PARENT_RIGHT
Height: PARENT_BOTTOM - 50 Height: PARENT_BOTTOM
Children:
ScrollPanel@SETTINGS_SCROLLPANEL:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
CollapseHiddenChildren: True
TopBottomSpacing: 5
ItemSpacing: 10
Children:
Background@SECTION_HEADER:
X: 5
Width: PARENT_RIGHT - 24 - 10
Height: 13
Background: separator
Children:
Label@LABEL:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
Font: TinyBold
Align: Center
Text: Profile
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@PLAYER_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children: Children:
Label@PLAYER: Label@PLAYER:
Width: PARENT_RIGHT
Height: 20
Text: Player Name: Text: Player Name:
X: 15
Y: 40
Width: 120
Height: 25
Align: Right
TextField@PLAYERNAME: TextField@PLAYERNAME:
Text: Name Y: 25
X: 140 Width: PARENT_RIGHT
Y: 40
Width: 160
Height: 25 Height: 25
MaxLength: 16 MaxLength: 16
Text: Name
Container@PLAYERCOLOR_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@COLOR: Label@COLOR:
X: 265 Width: PARENT_RIGHT
Y: 40 Height: 20
Width: 145
Height: 25
Text: Preferred Color: Text: Preferred Color:
Align: Right
DropDownButton@PLAYERCOLOR: DropDownButton@PLAYERCOLOR:
X: 415 Y: 25
Y: 40
Width: 75 Width: 75
Height: 25 Height: 25
IgnoreChildMouseOver: true IgnoreChildMouseOver: true
@@ -37,188 +60,258 @@ Container@DISPLAY_PANEL:
Y: 6 Y: 6
Width: PARENT_RIGHT - 35 Width: PARENT_RIGHT - 35
Height: PARENT_BOTTOM - 12 Height: PARENT_BOTTOM - 12
Container@SPACER:
Background@SECTION_HEADER:
X: 5
Width: PARENT_RIGHT - 24 - 10
Height: 13
Background: separator
Children:
Label@LABEL:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
Font: TinyBold
Align: Center
Text: Display
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@BATTLEFIELD_CAMERA_DROPDOWN_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@BATTLEFIELD_CAMERA: Label@BATTLEFIELD_CAMERA:
X: 15 Width: PARENT_RIGHT
Y: 70 Height: 20
Width: 120
Height: 25
Text: Battlefield Camera: Text: Battlefield Camera:
Align: Right
DropDownButton@BATTLEFIELD_CAMERA_DROPDOWN: DropDownButton@BATTLEFIELD_CAMERA_DROPDOWN:
X: 140 Y: 25
Y: 70 Width: PARENT_RIGHT
Width: 160
Height: 25 Height: 25
Font: Regular Font: Regular
Container@TARGET_LINES_DROPDOWN_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@TARGET_LINES: Label@TARGET_LINES:
X: 265 Width: PARENT_RIGHT
Y: 70 Height: 20
Width: 145
Height: 25
Text: Target Lines: Text: Target Lines:
Align: Right
DropDownButton@TARGET_LINES_DROPDOWN: DropDownButton@TARGET_LINES_DROPDOWN:
X: 415 Y: 25
Y: 70 Width: PARENT_RIGHT
Width: 160
Height: 25 Height: 25
Font: Regular Font: Regular
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@UI_SCALE_DROPDOWN_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@UI_SCALE: Label@UI_SCALE:
X: 15 Width: PARENT_RIGHT
Y: 100 Height: 20
Width: 120
Height: 25
Text: UI Scale: Text: UI Scale:
Align: Right
DropDownButton@UI_SCALE_DROPDOWN: DropDownButton@UI_SCALE_DROPDOWN:
X: 140 Y: 25
Y: 100 Width: PARENT_RIGHT
Width: 160
Height: 25 Height: 25
Font: Regular Font: Regular
Container@STATUS_BAR_DROPDOWN_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@STATUS_BARS: Label@STATUS_BARS:
X: 265 Width: PARENT_RIGHT
Y: 100 Height: 20
Width: 145
Height: 25
Text: Status Bars: Text: Status Bars:
Align: Right
DropDownButton@STATUS_BAR_DROPDOWN: DropDownButton@STATUS_BAR_DROPDOWN:
X: 415 Y: 25
Y: 100 Width: PARENT_RIGHT
Width: 160
Height: 25 Height: 25
Font: Regular Font: Regular
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 20
Children:
Container@CURSORDOUBLE_CHECKBOX_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@CURSORDOUBLE_CHECKBOX: Checkbox@CURSORDOUBLE_CHECKBOX:
X: 15 Width: PARENT_RIGHT
Y: 133
Width: 200
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Increase Cursor Size Text: Increase Cursor Size
Container@PLAYER_STANCE_COLORS_CHECKBOX_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@PLAYER_STANCE_COLORS_CHECKBOX: Checkbox@PLAYER_STANCE_COLORS_CHECKBOX:
X: 195 Width: PARENT_RIGHT
Y: 133
Width: 200
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Player Stance Colors Text: Player Stance Colors
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 20
Children:
Container@PAUSE_SHELLMAP_CHECKBOX_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 10
Children:
Checkbox@PAUSE_SHELLMAP_CHECKBOX: Checkbox@PAUSE_SHELLMAP_CHECKBOX:
X: 375 Width: PARENT_RIGHT
Y: 133
Width: 200
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Pause Menu Background Text: Pause Menu Background
Container@UI_FEEDBACK_CHECKBOX_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@UI_FEEDBACK_CHECKBOX: Checkbox@UI_FEEDBACK_CHECKBOX:
X: 15 Width: PARENT_RIGHT
Y: 163
Width: 200
Height: 20 Height: 20
Font: Regular Font: Regular
Text: UI Feedback in Transients Panel Text: UI Feedback in Transients Panel
Label@VIDEO_TITLE: Container@SPACER:
Y: 190 Background@SECTION_HEADER:
X: 5
Width: PARENT_RIGHT - 24 - 10
Height: 13
Background: separator
Children:
Label@LABEL:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Font: Bold Height: PARENT_BOTTOM
Text: Video Font: TinyBold
Align: Center Align: Center
Text: Video
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@VIDEO_MODE_DROPDOWN_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@VIDEO_MODE: Label@VIDEO_MODE:
X: 15 Width: PARENT_RIGHT
Y: 210 Height: 20
Width: 120
Height: 25
Align: Right
Text: Video Mode: Text: Video Mode:
DropDownButton@MODE_DROPDOWN: DropDownButton@MODE_DROPDOWN:
X: 140 Y: 25
Y: 210 Width: PARENT_RIGHT
Width: 160
Height: 25 Height: 25
Font: Regular Font: Regular
Text: Windowed Text: Windowed
Checkbox@VSYNC_CHECKBOX: Container@WINDOW_RESOLUTION_CONTAINER:
X: 310 X: PARENT_RIGHT / 2 + 10
Y: 213 Width: PARENT_RIGHT / 2 - 20
Width: 200
Height: 20
Font: Regular
Text: Enable VSync
Container@WINDOW_RESOLUTION:
Y: 240
Children: Children:
Label@WINDOW_SIZE: Label@WINDOW_SIZE:
X: 15 Width: PARENT_RIGHT
Height: 25 Height: 20
Width: 120
Align: Right
Text: Window Size: Text: Window Size:
TextField@WINDOW_WIDTH: TextField@WINDOW_WIDTH:
X: 140 Y: 25
Width: 55 Width: 55
Height: 25 Height: 25
MaxLength: 5 MaxLength: 5
Type: Integer Type: Integer
Label@X: Label@X:
X: 55
Y: 25
Text: x Text: x
Font: Bold Font: Bold
X: 195
Height: 25 Height: 25
Width: 15 Width: 15
Align: Center Align: Center
TextField@WINDOW_HEIGHT: TextField@WINDOW_HEIGHT:
X: 210 X: 70
Y: 25
Width: 55 Width: 55
Height: 25 Height: 25
MaxLength: 5 MaxLength: 5
Type: Integer Type: Integer
Container@DISPLAY_SELECTION: Container@DISPLAY_SELECTION_CONTAINER:
Y: 240 X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children: Children:
Label@DISPLAY_SELECTION_LABEL: Label@DISPLAY_SELECTION_LABEL:
X: 15 Width: PARENT_RIGHT
Height: 25 Height: 20
Width: 120
Align: Right
Text: Select Display: Text: Select Display:
DropDownButton@DISPLAY_SELECTION_DROPDOWN: DropDownButton@DISPLAY_SELECTION_DROPDOWN:
X: 140 Y: 25
Width: 160 Width: PARENT_RIGHT
Height: 25 Height: 25
Font: Regular Font: Regular
Text: Standard Text: Standard
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@FRAME_LIMIT_CHECKBOX_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@FRAME_LIMIT_CHECKBOX: Checkbox@FRAME_LIMIT_CHECKBOX:
X: 310 Width: PARENT_RIGHT
Y: 243
Width: 200
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Enable Frame Limiter Text: Enable Frame Limiter
Container@FRAME_LIMIT_SLIDER_CONTAINER:
Width: PARENT_RIGHT / 2 - 20
Children:
Slider@FRAME_LIMIT_SLIDER: Slider@FRAME_LIMIT_SLIDER:
X: 340 X: 20
Y: 265 Y: 25
Width: 200 Width: PARENT_RIGHT - 20
Height: 20 Height: 20
Ticks: 20 Ticks: 20
MinimumValue: 50 MinimumValue: 50
MaximumValue: 240 MaximumValue: 240
Container@VSYNC_CHECKBOX_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@VSYNC_CHECKBOX:
Width: PARENT_RIGHT
Height: 20
Font: Regular
Text: Enable VSync
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@GL_PROFILE_DROPDOWN_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@GL_PROFILE: Label@GL_PROFILE:
X: 15 Width: PARENT_RIGHT
Y: 270 Height: 20
Width: 120
Height: 25
Align: Right
Text: OpenGL Profile: Text: OpenGL Profile:
DropDownButton@GL_PROFILE_DROPDOWN: DropDownButton@GL_PROFILE_DROPDOWN:
X: 140 Y: 25
Y: 270 Width: PARENT_RIGHT
Width: 160
Height: 25 Height: 25
Font: Regular Font: Regular
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 30
Children:
Container@RESTART_REQUIRED_CONTAINER:
X: 10
Width: PARENT_RIGHT - 20
Children:
Label@RESTART_REQUIRED_DESC: Label@RESTART_REQUIRED_DESC:
Y: PARENT_BOTTOM - 40
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: 15 Height: 20
Font: Tiny Font: Tiny
Text: Display and OpenGL changes require restart Text: Display and OpenGL changes require restart
Align: Center Align: Center

View File

@@ -2,140 +2,98 @@ Container@HOTKEYS_PANEL:
Logic: HotkeysSettingsLogic Logic: HotkeysSettingsLogic
HotkeyGroups: HotkeyGroups:
Game Commands: Game Commands:
Template: TWO_COLUMN
Types: OrderGenerator, World, Menu Types: OrderGenerator, World, Menu
Viewport Commands: Viewport Commands:
Template: TWO_COLUMN
Types: Viewport Types: Viewport
Observer / Replay Commands: Observer / Replay Commands:
Template: TWO_COLUMN
Types: Observer, Replay Types: Observer, Replay
Unit Commands: Unit Commands:
Template: THREE_COLUMN
Types: Unit Types: Unit
Unit Stance Commands: Unit Stance Commands:
Template: TWO_COLUMN
Types: Stance Types: Stance
Production Commands: Production Commands:
Template: THREE_COLUMN
Types: Production, ProductionSlot Types: Production, ProductionSlot
Support Power Commands: Support Power Commands:
Template: THREE_COLUMN
Types: SupportPower Types: SupportPower
Music Commands: Music Commands:
Template: TWO_COLUMN
Types: Music Types: Music
Chat Commands: Chat Commands:
Template: TWO_COLUMN
Types: Chat Types: Chat
Width: PARENT_RIGHT - 10 Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Children: Children:
ScrollPanel@HOTKEY_LIST: ScrollPanel@HOTKEY_LIST:
X: 15
Y: 40
Width: PARENT_RIGHT - 30
TopBottomSpacing: 4
ItemSpacing: 4
Height: 190
Children:
ScrollItem@HEADER:
BaseName: scrollheader
Width: 528
Height: 13
Visible: false
Children:
Label@LABEL:
Font: TinyBold
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: 10 Height: PARENT_BOTTOM - 65
Align: Center TopBottomSpacing: 5
ScrollItem@HEADER: ItemSpacing: 5
Width: 528
Height: 13
Visible: false
Children: Children:
Label@LABEL: Container@HEADER:
Font: TinyBold Width: PARENT_RIGHT - 24 - 10
Height: 18
Children:
Background@BACKGROUND:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: 10 Height: 13
Background: separator
Label@LABEL:
Width: PARENT_RIGHT
Height: 13
Font: TinyBold
Align: Center Align: Center
Container@TEMPLATES: Container@TEMPLATE:
Children: Width: (PARENT_RIGHT - 24) / 2 - 10
Container@TWO_COLUMN: Height: 30
Width: 262
Height: 25
Visible: false Visible: false
Children: Children:
Label@FUNCTION: Label@FUNCTION:
Y: 0 - 1 Y: 0 - 1
Width: PARENT_RIGHT - 85 Width: PARENT_RIGHT - 120 - 5
Height: 25 Height: 25
Align: Right Align: Right
Button@HOTKEY: Button@HOTKEY:
X: PARENT_RIGHT - WIDTH X: PARENT_RIGHT - WIDTH
Width: 80 Width: 120
Height: 25 Height: 25
Align: Left
TooltipContainer: SETTINGS_TOOLTIP_CONTAINER
Container@THREE_COLUMN:
Width: 173
Height: 25
Visible: false
Children:
Label@FUNCTION:
Y: 0 - 1
Width: PARENT_RIGHT - 84
Height: 25
Align: Right
Button@HOTKEY:
X: PARENT_RIGHT - WIDTH + 1
Width: 80
Height: 25
Align: Left
TooltipContainer: SETTINGS_TOOLTIP_CONTAINER TooltipContainer: SETTINGS_TOOLTIP_CONTAINER
Background@HOTKEY_DIALOG_ROOT: Background@HOTKEY_DIALOG_ROOT:
X: 15 Y: PARENT_BOTTOM - HEIGHT
Y: 230 Width: PARENT_RIGHT
Width: PARENT_RIGHT - 30
Height: 65 Height: 65
Background: dialog3 Background: dialog3
Children: Children:
Label@HOTKEY_LABEL: Label@HOTKEY_LABEL:
X: 15 X: 15
Y: 19 Y: 19
Width: 219 - 15 - 10 Width: 200
Height: 25 Height: 25
Font: Bold Font: Bold
Align: Right Align: Right
HotkeyEntry@HOTKEY_ENTRY: HotkeyEntry@HOTKEY_ENTRY:
X: 219 X: 15 + 200 + 5
Y: 20 Y: 20
Width: 170 Width: 300
Height: 25 Height: 25
Container@NOTICES: Container@NOTICES:
X: 219 X: 15 + 200 + 5
Y: 42 Y: 42
Width: 170 Width: 300
Height: 25 Height: 25
Children: Children:
Label@DEFAULT_NOTICE: Label@DEFAULT_NOTICE:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Font: Tiny Font: Tiny
Align: Left
Text: This is the default Text: This is the default
Label@ORIGINAL_NOTICE: Label@ORIGINAL_NOTICE:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Font: Tiny Font: Tiny
Align: Left
Text: The default is "{0}" Text: The default is "{0}"
Label@DUPLICATE_NOTICE: Label@DUPLICATE_NOTICE:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Font: Tiny Font: Tiny
Align: Left
Text: This is already used for "{0}" Text: This is already used for "{0}"
Button@OVERRIDE_HOTKEY_BUTTON: Button@OVERRIDE_HOTKEY_BUTTON:
X: PARENT_RIGHT - 3 * WIDTH - 30 X: PARENT_RIGHT - 3 * WIDTH - 30

View File

@@ -1,26 +1,63 @@
Container@INPUT_PANEL: Container@INPUT_PANEL:
Logic: InputSettingsLogic Logic: InputSettingsLogic
Width: PARENT_RIGHT - 10 Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Children:
ScrollPanel@SETTINGS_SCROLLPANEL:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
CollapseHiddenChildren: True
TopBottomSpacing: 5
ItemSpacing: 10
Children:
Background@SECTION_HEADER:
X: 5
Width: PARENT_RIGHT - 24 - 10
Height: 13
Background: separator
Children:
Label@LABEL:
Width: PARENT_RIGHT
Height: PARENT_BOTTOM
Font: TinyBold
Align: Center
Text: Input
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@MOUSE_CONTROL_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children: Children:
Label@MOUSE_CONTROL_LABEL: Label@MOUSE_CONTROL_LABEL:
X: 15 Width: PARENT_RIGHT
Y: 40 Height: 20
Width: 110
Height: 25
Font: Regular Font: Regular
Text: Control Scheme: Text: Control Scheme:
Align: Right
DropDownButton@MOUSE_CONTROL_DROPDOWN: DropDownButton@MOUSE_CONTROL_DROPDOWN:
X: 130 Y: 25
Y: 40 Width: PARENT_RIGHT
Width: 150 Height: 25
Font: Regular
Container@ZOOM_MODIFIER_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@ZOOM_MODIFIER_LABEL:
Width: PARENT_RIGHT
Height: 20
Font: Regular
Text: Zoom Modifier:
DropDownButton@ZOOM_MODIFIER:
Y: 25
Width: PARENT_RIGHT
Height: 25 Height: 25
Font: Regular Font: Regular
Container@MOUSE_CONTROL_DESC_CLASSIC: Container@MOUSE_CONTROL_DESC_CLASSIC:
X: 25 X: 10
Y: 70 Y: 55
Width: 300 Width: PARENT_RIGHT
Children: Children:
LabelWithHighlight@DESC_SELECTION: LabelWithHighlight@DESC_SELECTION:
Height: 16 Height: 16
@@ -68,9 +105,9 @@ Container@INPUT_PANEL:
Font: Small Font: Small
Text: or by moving the cursor to the edge of the screen Text: or by moving the cursor to the edge of the screen
Container@MOUSE_CONTROL_DESC_MODERN: Container@MOUSE_CONTROL_DESC_MODERN:
X: 25 X: 10
Y: 70 Y: 55
Width: 300 Width: PARENT_RIGHT / 2 - 20
Children: Children:
LabelWithHighlight@DESC_SELECTION: LabelWithHighlight@DESC_SELECTION:
Height: 16 Height: 16
@@ -117,97 +154,115 @@ Container@INPUT_PANEL:
Height: 16 Height: 16
Font: Small Font: Small
Text: or by moving the cursor to the edge of the screen Text: or by moving the cursor to the edge of the screen
Label@MOUSE_SCROLL_TYPE_LABEL: Container@ROW:
X: 15 Width: PARENT_RIGHT - 24
Y: 210
Width: 110
Height: 25
Font: Regular
Text: Pan Behaviour:
Align: Right
DropDownButton@MOUSE_SCROLL_TYPE_DROPDOWN:
X: 130
Y: 210
Width: 150
Height: 25
Font: Regular
Checkbox@LOCKMOUSE_CHECKBOX:
X: 15
Y: 243
Width: 190
Height: 20 Height: 20
Font: Regular Children:
Text: Lock Mouse to Window Container@EDGESCROLL_CHECKBOX_CONTAINER:
Label@ZOOM_MODIFIER_LABEL: X: PARENT_RIGHT / 2 + 10
X: 350 Width: PARENT_RIGHT / 2 - 20
Y: 70 Children:
Width: 70
Height: 25
Font: Regular
Text: Zoom Modifier:
Align: Right
DropDownButton@ZOOM_MODIFIER:
X: 425
Y: 70
Width: 150
Height: 25
Font: Regular
Checkbox@EDGESCROLL_CHECKBOX: Checkbox@EDGESCROLL_CHECKBOX:
X: 360 Width: PARENT_RIGHT
Y: 103
Width: 180
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Screen Edge Panning Text: Screen Edge Panning
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 20
Children:
Container@ALTERNATE_SCROLL_CHECKBOX_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@ALTERNATE_SCROLL_CHECKBOX: Checkbox@ALTERNATE_SCROLL_CHECKBOX:
X: 360 Width: PARENT_RIGHT
Y: 133
Width: 180
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Alternate Mouse Panning Text: Alternate Mouse Panning
Label@SCROLL_SPEED_LABEL: Container@ROW:
X: 305 Width: PARENT_RIGHT - 24
Y: 210
Width: 100
Height: 25
Text: Pan Speed:
Align: Right
Slider@SCROLLSPEED_SLIDER:
X: 410
Y: 215
Width: 165
Height: 20 Height: 20
Ticks: 5 Children:
Container@LOCKMOUSE_CHECKBOX_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Checkbox@LOCKMOUSE_CHECKBOX:
Width: PARENT_RIGHT
Height: 20
Font: Regular
Text: Lock Mouse to Window
Container@SPACER:
Height: 30
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@MOUSE_SCROLL_TYPE_CONTAINER:
X: 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@MOUSE_SCROLL_TYPE_LABEL:
Width: PARENT_RIGHT
Height: 20
Font: Regular
Text: Pan Behaviour:
DropDownButton@MOUSE_SCROLL_TYPE_DROPDOWN:
Y: 25
Width: PARENT_RIGHT
Height: 25
Font: Regular
Container@SCROLLSPEED_SLIDER_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@SCROLL_SPEED_LABEL:
Width: PARENT_RIGHT
Height: 20
Text: Pan Speed:
Slider@SCROLLSPEED_SLIDER:
Y: 25
Width: PARENT_RIGHT
Height: 20
Ticks: 7
MinimumValue: 10 MinimumValue: 10
MaximumValue: 50 MaximumValue: 50
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@ZOOMSPEED_SLIDER_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@ZOOM_SPEED_LABEL: Label@ZOOM_SPEED_LABEL:
X: 305 Width: PARENT_RIGHT
Y: 240
Width: 100
Height: 25
Text: Zoom Speed:
Align: Right
ExponentialSlider@ZOOMSPEED_SLIDER:
X: 410
Y: 245
Width: 165
Height: 20 Height: 20
Ticks: 5 Text: Zoom Speed:
ExponentialSlider@ZOOMSPEED_SLIDER:
Y: 25
Width: PARENT_RIGHT
Height: 20
Ticks: 7
MinimumValue: 0.01 MinimumValue: 0.01
MaximumValue: 0.4 MaximumValue: 0.4
Container@ROW:
Width: PARENT_RIGHT - 24
Height: 50
Children:
Container@UI_SCROLLSPEED_SLIDER_CONTAINER:
X: PARENT_RIGHT / 2 + 10
Width: PARENT_RIGHT / 2 - 20
Children:
Label@UI_SCROLL_SPEED_LABEL: Label@UI_SCROLL_SPEED_LABEL:
X: 305 Width: PARENT_RIGHT
Y: 270
Width: 100
Height: 25
Text: UI Scroll Speed:
Align: Right
Slider@UI_SCROLLSPEED_SLIDER:
X: 410
Y: 275
Width: 165
Height: 20 Height: 20
Ticks: 5 Text: UI Scroll Speed:
Slider@UI_SCROLLSPEED_SLIDER:
Y: 25
Width: PARENT_RIGHT
Height: 20
Ticks: 7
MinimumValue: 1 MinimumValue: 1
MaximumValue: 100 MaximumValue: 100

View File

@@ -1,6 +1,6 @@
Background@SETTINGS_PANEL: Background@SETTINGS_PANEL:
Logic: SettingsLogic Logic: SettingsLogic
ButtonStride: 90, 0 ButtonStride: 0, 35
Panels: Panels:
DISPLAY_PANEL: Display DISPLAY_PANEL: Display
AUDIO_PANEL: Audio AUDIO_PANEL: Audio
@@ -9,8 +9,8 @@ Background@SETTINGS_PANEL:
ADVANCED_PANEL: Advanced ADVANCED_PANEL: Advanced
X: (WINDOW_RIGHT - WIDTH) / 2 X: (WINDOW_RIGHT - WIDTH) / 2
Y: (WINDOW_BOTTOM - HEIGHT) / 2 Y: (WINDOW_BOTTOM - HEIGHT) / 2
Width: 600 Width: 900
Height: 400 Height: 600
Children: Children:
Label@SETTINGS_LABEL_TITLE: Label@SETTINGS_LABEL_TITLE:
Y: 20 Y: 20
@@ -20,7 +20,7 @@ Background@SETTINGS_PANEL:
Align: Center Align: Center
Font: Bold Font: Bold
Button@RESET_BUTTON: Button@RESET_BUTTON:
X: 20 X: 20 + 10 + WIDTH
Y: PARENT_BOTTOM - 45 Y: PARENT_BOTTOM - 45
Width: 160 Width: 160
Height: 25 Height: 25
@@ -34,14 +34,14 @@ Background@SETTINGS_PANEL:
Height: 25 Height: 25
Text: Back Text: Back
Font: Bold Font: Bold
Container@TAB_CONTAINER: Container@SETTINGS_TAB_CONTAINER:
X: 70 X: 20
Y: 50 Y: 50
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: 25 Height: 25
Children: Children:
Button@BUTTON_TEMPLATE: Button@BUTTON_TEMPLATE:
Width: 90 Width: 160
Height: 25 Height: 25
Font: Bold Font: Bold
Container@PANEL_CONTAINER: Container@PANEL_CONTAINER:
@@ -49,8 +49,8 @@ Background@SETTINGS_PANEL:
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Children: Children:
Container@PANEL_TEMPLATE: Container@PANEL_TEMPLATE:
X: 5 X: 190
Y: 50 Y: 50
Width: PARENT_RIGHT Width: PARENT_RIGHT - 190 - 20
Height: PARENT_BOTTOM Height: PARENT_BOTTOM - 105
TooltipContainer@SETTINGS_TOOLTIP_CONTAINER: TooltipContainer@SETTINGS_TOOLTIP_CONTAINER:

View File

@@ -430,6 +430,9 @@ dropdown-separators:
separator-pressed: 641, 2, 1, 19 separator-pressed: 641, 2, 1, 19
separator-disabled: 513, 258, 1, 19 separator-disabled: 513, 258, 1, 19
separator:
Inherits: button
logos: logos:
Inherits: ^LoadScreen Inherits: ^LoadScreen
Regions: Regions:

View File

@@ -580,3 +580,6 @@ dropdown-separators:
separator-pressed: 766, 2, 1, 19 separator-pressed: 766, 2, 1, 19
separator-disabled: 513, 258, 1, 19 separator-disabled: 513, 258, 1, 19
observer-separator: 769, 258, 1, 19 observer-separator: 769, 258, 1, 19
separator:
Inherits: button

View File

@@ -702,6 +702,9 @@ dropdown-separators:
separator-pressed: 766, 2, 1, 19 separator-pressed: 766, 2, 1, 19
separator-disabled: 513, 258, 1, 19 separator-disabled: 513, 258, 1, 19
separator:
Inherits: button
logos: logos:
Inherits: ^LoadScreen Inherits: ^LoadScreen
Regions: Regions:

View File

@@ -2,143 +2,100 @@ Container@HOTKEYS_PANEL:
Logic: HotkeysSettingsLogic Logic: HotkeysSettingsLogic
HotkeyGroups: HotkeyGroups:
Game Commands: Game Commands:
Template: TWO_COLUMN
Types: OrderGenerator, World, Menu Types: OrderGenerator, World, Menu
Viewport Commands: Viewport Commands:
Template: TWO_COLUMN
Types: Viewport Types: Viewport
Observer / Replay Commands: Observer / Replay Commands:
Template: TWO_COLUMN
Types: Observer, Replay Types: Observer, Replay
Unit Commands: Unit Commands:
Template: THREE_COLUMN
Types: Unit Types: Unit
Unit Stance Commands: Unit Stance Commands:
Template: TWO_COLUMN
Types: Stance Types: Stance
Production Commands: Production Commands:
Template: THREE_COLUMN
Types: Production, ProductionSlot Types: Production, ProductionSlot
Support Power Commands: Support Power Commands:
Template: THREE_COLUMN
Types: SupportPower Types: SupportPower
Music Commands: Music Commands:
Template: TWO_COLUMN
Types: Music Types: Music
Chat Commands: Chat Commands:
Template: TWO_COLUMN
Types: Chat Types: Chat
Depth Preview Debug: Depth Preview Debug:
Template: TWO_COLUMN
Types: DepthDebug Types: DepthDebug
Width: PARENT_RIGHT - 10 Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Children: Children:
ScrollPanel@HOTKEY_LIST: ScrollPanel@HOTKEY_LIST:
X: 15
Y: 40
Width: PARENT_RIGHT - 30
TopBottomSpacing: 4
ItemSpacing: 4
Height: 190
Children:
ScrollItem@HEADER:
BaseName: scrollheader
Width: 528
Height: 13
Visible: false
Children:
Label@LABEL:
Font: TinyBold
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: 10 Height: PARENT_BOTTOM - 65
Align: Center TopBottomSpacing: 5
ScrollItem@HEADER: ItemSpacing: 5
Width: 528
Height: 13
Visible: false
Children: Children:
Label@LABEL: Container@HEADER:
Font: TinyBold Width: PARENT_RIGHT - 24 - 10
Height: 18
Children:
Background@BACKGROUND:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: 10 Height: 13
Background: separator
Label@LABEL:
Width: PARENT_RIGHT
Height: 13
Font: TinyBold
Align: Center Align: Center
Container@TEMPLATES: Container@TEMPLATE:
Children: Width: (PARENT_RIGHT - 24) / 2 - 10
Container@TWO_COLUMN: Height: 30
Width: 262
Height: 25
Visible: false Visible: false
Children: Children:
Label@FUNCTION: Label@FUNCTION:
Y: 0 - 1 Y: 0 - 1
Width: PARENT_RIGHT - 85 Width: PARENT_RIGHT - 120 - 5
Height: 25 Height: 25
Align: Right Align: Right
Button@HOTKEY: Button@HOTKEY:
X: PARENT_RIGHT - WIDTH X: PARENT_RIGHT - WIDTH
Width: 80 Width: 120
Height: 25 Height: 25
Align: Left
TooltipContainer: SETTINGS_TOOLTIP_CONTAINER
Container@THREE_COLUMN:
Width: 173
Height: 25
Visible: false
Children:
Label@FUNCTION:
Y: 0 - 1
Width: PARENT_RIGHT - 84
Height: 25
Align: Right
Button@HOTKEY:
X: PARENT_RIGHT - WIDTH + 1
Width: 80
Height: 25
Align: Left
TooltipContainer: SETTINGS_TOOLTIP_CONTAINER TooltipContainer: SETTINGS_TOOLTIP_CONTAINER
Background@HOTKEY_DIALOG_ROOT: Background@HOTKEY_DIALOG_ROOT:
X: 15 Y: PARENT_BOTTOM - HEIGHT
Y: 230 Width: PARENT_RIGHT
Width: PARENT_RIGHT - 30
Height: 65 Height: 65
Background: dialog3 Background: dialog3
Children: Children:
Label@HOTKEY_LABEL: Label@HOTKEY_LABEL:
X: 15 X: 15
Y: 19 Y: 19
Width: 219 - 15 - 10 Width: 200
Height: 25 Height: 25
Font: Bold Font: Bold
Align: Right Align: Right
HotkeyEntry@HOTKEY_ENTRY: HotkeyEntry@HOTKEY_ENTRY:
X: 219 X: 15 + 200 + 5
Y: 20 Y: 20
Width: 170 Width: 300
Height: 25 Height: 25
Container@NOTICES: Container@NOTICES:
X: 219 X: 15 + 200 + 5
Y: 42 Y: 42
Width: 170 Width: 300
Height: 25 Height: 25
Children: Children:
Label@DEFAULT_NOTICE: Label@DEFAULT_NOTICE:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Font: Tiny Font: Tiny
Align: Left
Text: This is the default Text: This is the default
Label@ORIGINAL_NOTICE: Label@ORIGINAL_NOTICE:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Font: Tiny Font: Tiny
Align: Left
Text: The default is "{0}" Text: The default is "{0}"
Label@DUPLICATE_NOTICE: Label@DUPLICATE_NOTICE:
Width: PARENT_RIGHT Width: PARENT_RIGHT
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Font: Tiny Font: Tiny
Align: Left
Text: This is already used for "{0}" Text: This is already used for "{0}"
Button@OVERRIDE_HOTKEY_BUTTON: Button@OVERRIDE_HOTKEY_BUTTON:
X: PARENT_RIGHT - 3 * WIDTH - 30 X: PARENT_RIGHT - 3 * WIDTH - 30