Expose the cursor mode setting.
This commit is contained in:
@@ -296,7 +296,26 @@ namespace OpenRA
|
||||
using (new PerfTimer("LoadMaps"))
|
||||
modData.MapCache.LoadMaps();
|
||||
|
||||
Cursor = new SoftwareCursor(modData.CursorProvider);
|
||||
if (Settings.Graphics.HardwareCursors)
|
||||
{
|
||||
try
|
||||
{
|
||||
Cursor = new HardwareCursor(modData.CursorProvider);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Write("debug", "Failed to initialize hardware cursors. Falling back to software cursors.");
|
||||
Log.Write("debug", "Error was: " + e.Message);
|
||||
|
||||
Console.WriteLine("Failed to initialize hardware cursors. Falling back to software cursors.");
|
||||
Console.WriteLine("Error was: " + e.Message);
|
||||
|
||||
Cursor = new SoftwareCursor(modData.CursorProvider);
|
||||
Settings.Graphics.HardwareCursors = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
Cursor = new SoftwareCursor(modData.CursorProvider);
|
||||
|
||||
PerfHistory.items["render"].hasNormalTick = false;
|
||||
PerfHistory.items["batches"].hasNormalTick = false;
|
||||
|
||||
@@ -80,6 +80,7 @@ namespace OpenRA
|
||||
public WindowMode Mode = WindowMode.PseudoFullscreen;
|
||||
public int2 FullscreenSize = new int2(0, 0);
|
||||
public int2 WindowedSize = new int2(1024, 768);
|
||||
public bool HardwareCursors = true;
|
||||
public bool PixelDouble = false;
|
||||
public bool CursorDouble = false;
|
||||
public bool CapFramerate = true;
|
||||
|
||||
@@ -148,6 +148,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
var ds = Game.Settings.Graphics;
|
||||
var gs = Game.Settings.Game;
|
||||
|
||||
BindCheckboxPref(panel, "HARDWARECURSORS_CHECKBOX", ds, "HardwareCursors");
|
||||
BindCheckboxPref(panel, "PIXELDOUBLE_CHECKBOX", ds, "PixelDouble");
|
||||
BindCheckboxPref(panel, "CURSORDOUBLE_CHECKBOX", ds, "CursorDouble");
|
||||
BindCheckboxPref(panel, "FRAME_LIMIT_CHECKBOX", ds, "CapFramerate");
|
||||
@@ -173,8 +174,12 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
worldRenderer.Viewport.Zoom = ds.PixelDouble ? 2 : 1;
|
||||
};
|
||||
|
||||
// Cursor doubling is only supported with software cursors and when pixel doubling is enabled
|
||||
var cursorDoubleCheckbox = panel.Get<CheckboxWidget>("CURSORDOUBLE_CHECKBOX");
|
||||
cursorDoubleCheckbox.IsDisabled = () => !ds.PixelDouble;
|
||||
cursorDoubleCheckbox.IsDisabled = () => !ds.PixelDouble || Game.Cursor is HardwareCursor;
|
||||
|
||||
var cursorDoubleIsChecked = cursorDoubleCheckbox.IsChecked;
|
||||
cursorDoubleCheckbox.IsChecked = () => !cursorDoubleCheckbox.IsDisabled() && cursorDoubleIsChecked();
|
||||
|
||||
panel.Get("WINDOW_RESOLUTION").IsVisible = () => ds.Mode == WindowMode.Windowed;
|
||||
var windowWidth = panel.Get<TextFieldWidget>("WINDOW_WIDTH");
|
||||
|
||||
@@ -50,21 +50,21 @@ Container@SETTINGS_PANEL:
|
||||
Text: Display
|
||||
Align: Center
|
||||
Label@MODE_LABEL:
|
||||
X: 120
|
||||
X: 110
|
||||
Y: 39
|
||||
Width: 45
|
||||
Height: 25
|
||||
Align: Right
|
||||
Text: Mode:
|
||||
DropDownButton@MODE_DROPDOWN:
|
||||
X: 170
|
||||
X: 160
|
||||
Y: 40
|
||||
Width: 170
|
||||
Height: 25
|
||||
Font: Regular
|
||||
Text: Windowed
|
||||
Container@WINDOW_RESOLUTION:
|
||||
X: 340
|
||||
X: 330
|
||||
Y: 40
|
||||
Children:
|
||||
Label@At:
|
||||
@@ -92,62 +92,69 @@ Container@SETTINGS_PANEL:
|
||||
Width: 45
|
||||
Height: 25
|
||||
MaxLength: 5
|
||||
Checkbox@HARDWARECURSORS_CHECKBOX:
|
||||
X: 310
|
||||
Y: 75
|
||||
Width: 200
|
||||
Height: 20
|
||||
Font: Regular
|
||||
Text: Use Hardware Cursors
|
||||
Label@VIDEO_DESC:
|
||||
Y: 60
|
||||
Y: 93
|
||||
Width: PARENT_RIGHT
|
||||
Height: 25
|
||||
Font: Tiny
|
||||
Align: Center
|
||||
Text: Mode/Resolution changes will be applied after the game is restarted
|
||||
Text: Mode, resolution, and cursor changes will be applied after the game is restarted
|
||||
Checkbox@FRAME_LIMIT_CHECKBOX:
|
||||
X: 15
|
||||
Y: 100
|
||||
Y: 125
|
||||
Width: 200
|
||||
Height: 20
|
||||
Font: Regular
|
||||
Text: Enable Frame Limiter
|
||||
Checkbox@PIXELDOUBLE_CHECKBOX:
|
||||
X: 310
|
||||
Y: 100
|
||||
Y: 125
|
||||
Width: 200
|
||||
Height: 20
|
||||
Font: Regular
|
||||
Text: Enable Pixel Doubling
|
||||
Checkbox@CURSORDOUBLE_CHECKBOX:
|
||||
X: 355
|
||||
Y: 135
|
||||
X: 340
|
||||
Y: 155
|
||||
Width: 200
|
||||
Height: 20
|
||||
Font: Regular
|
||||
Text: Also Double Cursor
|
||||
Label@FRAME_LIMIT_DESC_A:
|
||||
X: 45
|
||||
Y: 132
|
||||
Y: 152
|
||||
Width: 50
|
||||
Height: 25
|
||||
Text: Limit to
|
||||
Align: Right
|
||||
TextField@FRAME_LIMIT_TEXTFIELD:
|
||||
X: 100
|
||||
Y: 133
|
||||
Y: 153
|
||||
Width: 45
|
||||
Height: 25
|
||||
MaxLength: 3
|
||||
Label@FRAME_LIMIT_DESC_B:
|
||||
X: 150
|
||||
Y: 132
|
||||
Y: 152
|
||||
Height: 25
|
||||
Text: FPS
|
||||
Checkbox@TEAM_HEALTH_COLORS_CHECKBOX:
|
||||
X: 310
|
||||
Y: 170
|
||||
Y: 185
|
||||
Width: 200
|
||||
Height: 20
|
||||
Font: Regular
|
||||
Text: Team Health Colors
|
||||
Checkbox@SHOW_SHELLMAP:
|
||||
X: 15
|
||||
Y: 170
|
||||
Y: 185
|
||||
Width: 200
|
||||
Height: 20
|
||||
Font: Regular
|
||||
@@ -155,18 +162,18 @@ Container@SETTINGS_PANEL:
|
||||
Label@PLAYER:
|
||||
Text: Player:
|
||||
X: 15
|
||||
Y: 215
|
||||
Y: 225
|
||||
TextField@PLAYERNAME:
|
||||
Text: Name
|
||||
X: 65
|
||||
Y: 205
|
||||
Y: 215
|
||||
Width: 145
|
||||
Height: 25
|
||||
MaxLength: 16
|
||||
ColorPreviewManager@COLOR_MANAGER:
|
||||
DropDownButton@PLAYERCOLOR:
|
||||
X: 215
|
||||
Y: 205
|
||||
Y: 215
|
||||
Width: 70
|
||||
Height: 25
|
||||
IgnoreChildMouseOver: true
|
||||
@@ -178,13 +185,13 @@ Container@SETTINGS_PANEL:
|
||||
Height: PARENT_BOTTOM-12
|
||||
Checkbox@ALWAYS_SHOW_STATUS_BARS_CHECKBOX:
|
||||
X: 310
|
||||
Y: 205
|
||||
Y: 215
|
||||
Width: 200
|
||||
Height: 20
|
||||
Font: Regular
|
||||
Text: Always Show Status Bars
|
||||
Label@LOCALIZATION_TITLE:
|
||||
Y: 225
|
||||
Y: 265
|
||||
Width: PARENT_RIGHT
|
||||
Font: Bold
|
||||
Text: Localization
|
||||
@@ -192,7 +199,7 @@ Container@SETTINGS_PANEL:
|
||||
Visible: false
|
||||
Label@LANGUAGE_LABEL:
|
||||
X: 230 - WIDTH - 5
|
||||
Y: 244
|
||||
Y: 284
|
||||
Width: 75
|
||||
Height: 25
|
||||
Align: Right
|
||||
@@ -200,13 +207,13 @@ Container@SETTINGS_PANEL:
|
||||
Visible: false
|
||||
DropDownButton@LANGUAGE_DROPDOWNBUTTON:
|
||||
X: 230
|
||||
Y: 245
|
||||
Y: 285
|
||||
Width: 200
|
||||
Height: 25
|
||||
Font: Regular
|
||||
Visible: false
|
||||
Label@LANGUAGE_DESC_A:
|
||||
Y: 265
|
||||
Y: 310
|
||||
Width: PARENT_RIGHT
|
||||
Height: 25
|
||||
Font: Tiny
|
||||
@@ -214,7 +221,7 @@ Container@SETTINGS_PANEL:
|
||||
Text: Language changes will be applied after the game is restarted
|
||||
Visible: false
|
||||
Label@LANGUAGE_DESC_B:
|
||||
Y: 280
|
||||
Y: 325
|
||||
Width: PARENT_RIGHT
|
||||
Height: 25
|
||||
Font: Tiny
|
||||
|
||||
@@ -63,21 +63,21 @@ Background@SETTINGS_PANEL:
|
||||
Height: PARENT_BOTTOM
|
||||
Children:
|
||||
Label@MODE_LABEL:
|
||||
X: 120
|
||||
X: 110
|
||||
Y: 39
|
||||
Width: 45
|
||||
Height: 25
|
||||
Align: Right
|
||||
Text: Mode:
|
||||
DropDownButton@MODE_DROPDOWN:
|
||||
X: 170
|
||||
X: 160
|
||||
Y: 40
|
||||
Width: 170
|
||||
Height: 25
|
||||
Font: Regular
|
||||
Text: Windowed
|
||||
Container@WINDOW_RESOLUTION:
|
||||
X: 340
|
||||
X: 330
|
||||
Y: 40
|
||||
Children:
|
||||
Label@At:
|
||||
@@ -105,62 +105,69 @@ Background@SETTINGS_PANEL:
|
||||
Width: 45
|
||||
Height: 25
|
||||
MaxLength: 5
|
||||
Checkbox@HARDWARECURSORS_CHECKBOX:
|
||||
X: 310
|
||||
Y: 75
|
||||
Width: 200
|
||||
Height: 20
|
||||
Font: Regular
|
||||
Text: Use Hardware Cursors
|
||||
Label@VIDEO_DESC:
|
||||
Y: 60
|
||||
Y: 93
|
||||
Width: PARENT_RIGHT
|
||||
Height: 25
|
||||
Font: Tiny
|
||||
Align: Center
|
||||
Text: Mode/Resolution changes will be applied after the game is restarted
|
||||
Text: Mode, resolution, and cursor changes will be applied after the game is restarted
|
||||
Checkbox@FRAME_LIMIT_CHECKBOX:
|
||||
X: 15
|
||||
Y: 100
|
||||
Y: 125
|
||||
Width: 200
|
||||
Height: 20
|
||||
Font: Regular
|
||||
Text: Enable Frame Limiter
|
||||
Checkbox@PIXELDOUBLE_CHECKBOX:
|
||||
X: 310
|
||||
Y: 100
|
||||
Y: 125
|
||||
Width: 200
|
||||
Height: 20
|
||||
Font: Regular
|
||||
Text: Enable Pixel Doubling
|
||||
Checkbox@CURSORDOUBLE_CHECKBOX:
|
||||
X: 355
|
||||
Y: 135
|
||||
X: 340
|
||||
Y: 160
|
||||
Width: 200
|
||||
Height: 20
|
||||
Font: Regular
|
||||
Text: Also Double Cursor
|
||||
Label@FRAME_LIMIT_DESC_A:
|
||||
X: 45
|
||||
Y: 132
|
||||
Y: 157
|
||||
Width: 50
|
||||
Height: 25
|
||||
Text: Limit to
|
||||
Align: Right
|
||||
TextField@FRAME_LIMIT_TEXTFIELD:
|
||||
X: 100
|
||||
Y: 133
|
||||
Y: 158
|
||||
Width: 45
|
||||
Height: 25
|
||||
MaxLength: 3
|
||||
Label@FRAME_LIMIT_DESC_B:
|
||||
X: 150
|
||||
Y: 132
|
||||
Y: 157
|
||||
Height: 25
|
||||
Text: FPS
|
||||
Checkbox@TEAM_HEALTH_COLORS_CHECKBOX:
|
||||
X: 310
|
||||
Y: 170
|
||||
Y: 195
|
||||
Width: 200
|
||||
Height: 20
|
||||
Font: Regular
|
||||
Text: Team Health Colors
|
||||
Checkbox@SHOW_SHELLMAP:
|
||||
X: 15
|
||||
Y: 170
|
||||
Y: 195
|
||||
Width: 200
|
||||
Height: 20
|
||||
Font: Regular
|
||||
@@ -168,18 +175,18 @@ Background@SETTINGS_PANEL:
|
||||
Label@PLAYER:
|
||||
Text: Player:
|
||||
X: 15
|
||||
Y: 215
|
||||
Y: 240
|
||||
TextField@PLAYERNAME:
|
||||
Text: Name
|
||||
X: 65
|
||||
Y: 205
|
||||
Y: 230
|
||||
Width: 145
|
||||
Height: 25
|
||||
MaxLength: 16
|
||||
ColorPreviewManager@COLOR_MANAGER:
|
||||
DropDownButton@PLAYERCOLOR:
|
||||
X: 215
|
||||
Y: 205
|
||||
Y: 230
|
||||
Width: 70
|
||||
Height: 25
|
||||
IgnoreChildMouseOver: true
|
||||
@@ -191,13 +198,13 @@ Background@SETTINGS_PANEL:
|
||||
Height: PARENT_BOTTOM-12
|
||||
Checkbox@ALWAYS_SHOW_STATUS_BARS_CHECKBOX:
|
||||
X: 310
|
||||
Y: 205
|
||||
Y: 230
|
||||
Width: 200
|
||||
Height: 20
|
||||
Font: Regular
|
||||
Text: Always Show Status Bars
|
||||
Label@LOCALIZATION_TITLE:
|
||||
Y: 225
|
||||
Y: 270
|
||||
Width: PARENT_RIGHT
|
||||
Font: Bold
|
||||
Text: Localization
|
||||
@@ -205,7 +212,7 @@ Background@SETTINGS_PANEL:
|
||||
Visible: false
|
||||
Label@LANGUAGE_LABEL:
|
||||
X: 230 - WIDTH - 5
|
||||
Y: 244
|
||||
Y: 289
|
||||
Width: 75
|
||||
Height: 25
|
||||
Align: Right
|
||||
@@ -213,12 +220,12 @@ Background@SETTINGS_PANEL:
|
||||
Visible: false
|
||||
DropDownButton@LANGUAGE_DROPDOWNBUTTON:
|
||||
X: 230
|
||||
Y: 245
|
||||
Y: 290
|
||||
Width: 200
|
||||
Height: 25
|
||||
Visible: false
|
||||
Label@LANGUAGE_DESC_A:
|
||||
Y: 265
|
||||
Y: 310
|
||||
Width: PARENT_RIGHT
|
||||
Height: 25
|
||||
Font: Tiny
|
||||
@@ -226,7 +233,7 @@ Background@SETTINGS_PANEL:
|
||||
Text: Language changes will be applied after the game is restarted
|
||||
Visible: false
|
||||
Label@LANGUAGE_DESC_B:
|
||||
Y: 280
|
||||
Y: 325
|
||||
Width: PARENT_RIGHT
|
||||
Height: 25
|
||||
Font: Tiny
|
||||
|
||||
Reference in New Issue
Block a user