1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-22 00:07:19 +08:00

Re-namespace options, adjust font sizes + more.

This commit is contained in:
Dean Herbert 2017-01-31 18:37:11 +09:00
parent 20ee1872b4
commit 6ca974bf0c
39 changed files with 305 additions and 290 deletions

View File

@ -13,14 +13,14 @@ using osu.Framework.Graphics.Primitives;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.Transformations;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input;
using osu.Game.Overlays;
using OpenTK;
using OpenTK.Graphics;
using osu.Framework.Input;
using osu.Game.Graphics;
namespace osu.Game.Overlays.Options
namespace osu.Game.Graphics.UserInterface
{
public class CheckBoxOption : CheckBox
public class OsuCheckbox : CheckBox
{
private Bindable<bool> bindable;
@ -70,15 +70,18 @@ namespace osu.Game.Overlays.Options
private AudioSample sampleChecked;
private AudioSample sampleUnchecked;
public CheckBoxOption()
public OsuCheckbox()
{
AutoSizeAxes = Axes.Y;
RelativeSizeAxes = Axes.X;
Children = new Drawable[]
{
labelSpriteText = new SpriteText(),
light = new Light()
labelSpriteText = new SpriteText
{
TextSize = OptionsOverlay.FONT_SIZE,
},
light = new Light
{
Anchor = Anchor.CentreRight,
Origin = Anchor.CentreRight,
@ -145,7 +148,7 @@ namespace osu.Game.Overlays.Options
public Light()
{
Size = new Vector2(40, 12);
Size = new Vector2(20, 12);
Masking = true;
@ -187,11 +190,13 @@ namespace osu.Game.Overlays.Options
{
if (value)
{
ResizeTo(new Vector2(40, 12), 500, EasingTypes.OutQuint);
FadeColour(glowingColour, 500, EasingTypes.OutQuint);
FadeGlowTo(1, 500, EasingTypes.OutQuint);
}
else
{
ResizeTo(new Vector2(20, 12), 500, EasingTypes.OutQuint);
FadeGlowTo(0, 500);
FadeColour(idleColour, 500);
}

View File

@ -5,6 +5,7 @@ using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input;
using osu.Game.Overlays;
using OpenTK.Graphics;
namespace osu.Game.Graphics.UserInterface
@ -14,7 +15,7 @@ namespace osu.Game.Graphics.UserInterface
public OsuTextBox()
{
Height = 40;
TextContainer.Height = 0.6f;
TextContainer.Height = OptionsOverlay.FONT_SIZE / Height;
CornerRadius = 5;
}

View File

@ -8,7 +8,7 @@ using osu.Framework.Graphics.Primitives;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.Transformations;
using osu.Game.Graphics;
using osu.Game.Overlays.Options.General;
using osu.Game.Overlays.Options.Sections.General;
using OpenTK;
using OpenTK.Graphics;

View File

@ -12,16 +12,15 @@ using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Primitives;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
using osu.Game.Graphics;
namespace osu.Game.Overlays.Options
{
public class DropdownOption<T> : FlowContainer
public class OptionDropdown<T> : FlowContainer
{
private DropDownMenu<T> dropdown;
private SpriteText text;
public string LabelText
{
get { return text.Text; }
@ -31,7 +30,7 @@ namespace osu.Game.Overlays.Options
text.Alpha = string.IsNullOrEmpty(value) ? 0 : 1;
}
}
public Bindable<T> Bindable
{
get { return bindable; }
@ -56,7 +55,7 @@ namespace osu.Game.Overlays.Options
{
bindable.Value = dropdown.SelectedValue;
}
protected override void Dispose(bool isDisposing)
{
bindable.ValueChanged -= Bindable_ValueChanged;
@ -64,7 +63,7 @@ namespace osu.Game.Overlays.Options
base.Dispose(isDisposing);
}
public DropdownOption()
public OptionDropdown()
{
if (!typeof(T).IsEnum)
throw new InvalidOperationException("OptionsDropdown only supports enums as the generic type argument");
@ -73,7 +72,10 @@ namespace osu.Game.Overlays.Options
AutoSizeAxes = Axes.Y;
Children = new Drawable[]
{
text = new SpriteText { Alpha = 0 },
text = new SpriteText {
Alpha = 0,
TextSize = OptionsOverlay.FONT_SIZE
},
dropdown = new StyledDropDownMenu<T>
{
Margin = new MarginPadding { Top = 5 },
@ -83,7 +85,7 @@ namespace osu.Game.Overlays.Options
};
dropdown.ValueChanged += Dropdown_ValueChanged;
}
private class StyledDropDownMenu<U> : DropDownMenu<U>
{
protected override float DropDownListSpacing => 4;
@ -92,7 +94,7 @@ namespace osu.Game.Overlays.Options
{
return new StyledDropDownComboBox();
}
protected override IEnumerable<DropDownMenuItem<U>> GetDropDownItems(IEnumerable<U> values)
{
return values.Select(v =>
@ -101,7 +103,7 @@ namespace osu.Game.Overlays.Options
return new StyledDropDownMenuItem<U>(
field.GetCustomAttribute<DescriptionAttribute>()?.Description ?? field.Name, v);
});
}
public StyledDropDownMenu()
@ -143,9 +145,17 @@ namespace osu.Game.Overlays.Options
{
Foreground.Padding = new MarginPadding(4);
AutoSizeAxes = Axes.None;
Height = 40;
Children = new[]
{
label = new SpriteText(),
label = new SpriteText()
{
Anchor = Anchor.CentreLeft,
Origin = Anchor.CentreLeft,
TextSize = OptionsOverlay.FONT_SIZE,
},
new TextAwesome
{
Icon = FontAwesome.fa_chevron_down,
@ -189,7 +199,10 @@ namespace osu.Game.Overlays.Options
Origin = Anchor.CentreLeft,
Anchor = Anchor.CentreLeft,
},
new SpriteText { Text = text }
new SpriteText {
Text = text,
TextSize = OptionsOverlay.FONT_SIZE,
}
}
}
};

View File

@ -0,0 +1,23 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework.Allocation;
using osu.Framework.Graphics.Sprites;
using osu.Game.Graphics;
namespace osu.Game.Overlays.Options
{
class OptionLabel : SpriteText
{
public OptionLabel()
{
TextSize = OptionsOverlay.FONT_SIZE;
}
[BackgroundDependencyLoader]
private void load(OsuColour colour)
{
Colour = colour.Gray6;
}
}
}

View File

@ -21,7 +21,7 @@ using System.Linq;
namespace osu.Game.Overlays.Options
{
public class SliderOption<T> : FlowContainer where T : struct
public class OptionSlider<T> : FlowContainer where T : struct
{
private SliderBar<T> slider;
private SpriteText text;
@ -42,14 +42,17 @@ namespace osu.Game.Overlays.Options
set { slider.Bindable = value; }
}
public SliderOption()
public OptionSlider()
{
Direction = FlowDirection.VerticalOnly;
RelativeSizeAxes = Axes.X;
AutoSizeAxes = Axes.Y;
Children = new Drawable[]
{
text = new SpriteText { Alpha = 0 },
text = new SpriteText {
Alpha = 0,
TextSize = OptionsOverlay.FONT_SIZE,
},
slider = new OsuSliderBar<T>
{
Margin = new MarginPadding { Top = 5 },
@ -76,7 +79,7 @@ namespace osu.Game.Overlays.Options
public OsuSliderBar()
{
Height = 22;
Height = 20;
Padding = new MarginPadding { Left = Height / 2, Right = Height / 2 };
Children = new Drawable[]
{

View File

@ -8,7 +8,7 @@ using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options
{
public class TextBoxOption : OsuTextBox
public class OptionTextBox : OsuTextBox
{
private Bindable<string> bindable;

View File

@ -1,9 +1,7 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework.Graphics.Sprites;
namespace osu.Game.Overlays.Options.Audio
namespace osu.Game.Overlays.Options.Sections.Audio
{
public class AudioDevicesOptions : OptionsSubsection
{
@ -13,7 +11,7 @@ namespace osu.Game.Overlays.Options.Audio
{
Children = new[]
{
new SpriteText { Text = "Output device: TODO dropdown" }
new OptionLabel { Text = "Output device: TODO dropdown" }
};
}
}

View File

@ -1,14 +1,13 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework.Allocation;
using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.Audio
using osu.Framework.Allocation;
using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.Sections.Audio
{
public class OffsetAdjustmentOptions : OptionsSubsection
{
@ -19,7 +18,7 @@ namespace osu.Game.Overlays.Options.Audio
{
Children = new Drawable[]
{
new SliderOption<int>
new OptionSlider<int>
{
LabelText = "Universal Offset",
Bindable = (BindableInt)config.GetBindable<int>(OsuConfig.Offset)

View File

@ -1,15 +1,13 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework;
using osu.Framework.Allocation;
using osu.Framework.Audio;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.Audio
namespace osu.Game.Overlays.Options.Sections.Audio
{
public class VolumeOptions : OptionsSubsection
{
@ -20,10 +18,10 @@ namespace osu.Game.Overlays.Options.Audio
{
Children = new Drawable[]
{
new SliderOption<double> { LabelText = "Master", Bindable = audio.Volume },
new SliderOption<double> { LabelText = "Effect", Bindable = audio.VolumeSample },
new SliderOption<double> { LabelText = "Music", Bindable = audio.VolumeTrack },
new CheckBoxOption
new OptionSlider<double> { LabelText = "Master", Bindable = audio.Volume },
new OptionSlider<double> { LabelText = "Effect", Bindable = audio.VolumeSample },
new OptionSlider<double> { LabelText = "Music", Bindable = audio.VolumeTrack },
new OsuCheckbox
{
LabelText = "Ignore beatmap hitsounds",
Bindable = config.GetBindable<bool>(OsuConfig.IgnoreBeatmapSamples)

View File

@ -1,11 +1,12 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework;
using osu.Framework.Graphics;
using osu.Game.Graphics;
namespace osu.Game.Overlays.Options.Audio
using osu.Framework;
using osu.Framework.Graphics;
using osu.Game.Graphics;
using osu.Game.Overlays.Options.Sections.Audio;
namespace osu.Game.Overlays.Options.Sections
{
public class AudioSection : OptionsSection
{

View File

@ -1,15 +1,14 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using OpenTK;
using osu.Framework;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
using osu.Game.Graphics;
using osu.Game.Graphics.UserInterface;
using OpenTK;
namespace osu.Game.Overlays.Options
namespace osu.Game.Overlays.Options.Sections
{
public class EditorSection : OptionsSection
{
@ -22,32 +21,32 @@ namespace osu.Game.Overlays.Options
content.Spacing = new Vector2(0, 5);
Children = new Drawable[]
{
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Background video",
Bindable = config.GetBindable<bool>(OsuConfig.VideoEditor)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Always use default skin",
Bindable = config.GetBindable<bool>(OsuConfig.EditorDefaultSkin)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Snaking sliders",
Bindable = config.GetBindable<bool>(OsuConfig.EditorSnakingSliders)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Hit animations",
Bindable = config.GetBindable<bool>(OsuConfig.EditorHitAnimations)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Follow points",
Bindable = config.GetBindable<bool>(OsuConfig.EditorFollowPoints)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Stacking",
Bindable = config.GetBindable<bool>(OsuConfig.EditorStacking)

View File

@ -1,15 +1,13 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework;
using osu.Framework.Allocation;
using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Options.Gameplay
using osu.Framework.Allocation;
using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.Sections.Gameplay
{
public class GeneralGameplayOptions : OptionsSubsection
{
@ -20,42 +18,42 @@ namespace osu.Game.Overlays.Options.Gameplay
{
Children = new Drawable[]
{
new SliderOption<int>
new OptionSlider<int>
{
LabelText = "Background dim",
Bindable = (BindableInt)config.GetBindable<int>(OsuConfig.DimLevel)
},
new DropdownOption<ProgressBarType>
new OptionDropdown<ProgressBarType>
{
LabelText = "Progress display",
Bindable = config.GetBindable<ProgressBarType>(OsuConfig.ProgressBarType)
},
new DropdownOption<ScoreMeterType>
new OptionDropdown<ScoreMeterType>
{
LabelText = "Score meter type",
Bindable = config.GetBindable<ScoreMeterType>(OsuConfig.ScoreMeter)
},
new SliderOption<double>
new OptionSlider<double>
{
LabelText = "Score meter size",
Bindable = (BindableDouble)config.GetBindable<double>(OsuConfig.ScoreMeterScale)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Always show key overlay",
Bindable = config.GetBindable<bool>(OsuConfig.KeyOverlay)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Show approach circle on first \"Hidden\" object",
Bindable = config.GetBindable<bool>(OsuConfig.HiddenShowFirstApproach)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Scale osu!mania scroll speed with BPM",
Bindable = config.GetBindable<bool>(OsuConfig.ManiaSpeedBPMScale)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Remember osu!mania scroll speed per beatmap",
Bindable = config.GetBindable<bool>(OsuConfig.UsePerBeatmapManiaSpeed)

View File

@ -1,15 +1,12 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using System;
using osu.Framework.Allocation;
using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.Gameplay
using osu.Framework.Allocation;
using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Options.Sections.Gameplay
{
public class SongSelectGameplayOptions : OptionsSubsection
{
@ -20,12 +17,12 @@ namespace osu.Game.Overlays.Options.Gameplay
{
Children = new Drawable[]
{
new SliderOption<double>
new OptionSlider<double>
{
LabelText = "Display beatmaps from",
Bindable = (BindableDouble)config.GetBindable<double>(OsuConfig.DisplayStarsMinimum)
},
new SliderOption<double>
new OptionSlider<double>
{
LabelText = "up to",
Bindable = (BindableDouble)config.GetBindable<double>(OsuConfig.DisplayStarsMaximum)

View File

@ -1,10 +1,11 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework.Graphics;
using osu.Game.Graphics;
namespace osu.Game.Overlays.Options.Gameplay
using osu.Framework.Graphics;
using osu.Game.Graphics;
using osu.Game.Overlays.Options.Sections.Gameplay;
namespace osu.Game.Overlays.Options.Sections
{
public class GameplaySection : OptionsSection
{

View File

@ -1,13 +1,12 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.General
namespace osu.Game.Overlays.Options.Sections.General
{
public class LanguageOptions : OptionsSubsection
{
@ -18,13 +17,13 @@ namespace osu.Game.Overlays.Options.General
{
Children = new Drawable[]
{
new SpriteText { Text = "TODO: Dropdown" },
new CheckBoxOption
new OptionLabel { Text = "TODO: Dropdown" },
new OsuCheckbox
{
LabelText = "Prefer metadata in original language",
Bindable = config.GetBindable<bool>(OsuConfig.ShowUnicode)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Use alternative font for chat display",
Bindable = config.GetBindable<bool>(OsuConfig.AlternativeChatFont)

View File

@ -1,20 +1,18 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using System;
using OpenTK;
using osu.Framework;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Primitives;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
using osu.Game.Online.API;
using osu.Game.Configuration;
using osu.Framework.Graphics.Primitives;
using OpenTK;
namespace osu.Game.Overlays.Options.General
namespace osu.Game.Overlays.Options.Sections.General
{
public class LoginOptions : OptionsSubsection, IOnlineComponent
{
@ -92,8 +90,8 @@ namespace osu.Game.Overlays.Options.General
private TextBox password;
private APIAccess api;
private CheckBoxOption saveUsername;
private CheckBoxOption savePassword;
private OsuCheckbox saveUsername;
private OsuCheckbox savePassword;
private void performLogin()
{
@ -122,12 +120,12 @@ namespace osu.Game.Overlays.Options.General
{
RelativeSizeAxes = Axes.X
},
saveUsername = new CheckBoxOption
saveUsername = new OsuCheckbox
{
LabelText = "Remember username",
Bindable = config.GetBindable<bool>(OsuConfig.SaveUsername),
},
savePassword = new CheckBoxOption
savePassword = new OsuCheckbox
{
LabelText = "Stay logged in",
Bindable = config.GetBindable<bool>(OsuConfig.SavePassword),

View File

@ -1,15 +1,13 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Platform;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.General
namespace osu.Game.Overlays.Options.Sections.General
{
public class UpdateOptions : OptionsSubsection
{
@ -20,12 +18,12 @@ namespace osu.Game.Overlays.Options.General
{
Children = new Drawable[]
{
new DropdownOption<ReleaseStream>
new OptionDropdown<ReleaseStream>
{
LabelText = "Release stream",
Bindable = config.GetBindable<ReleaseStream>(OsuConfig.ReleaseStream),
},
new SpriteText { Text = "Your osu! is up to date" }, // TODO: map this to reality
new OptionLabel { Text = "Your osu! is up to date" }, // TODO: map this to reality
new OsuButton
{
RelativeSizeAxes = Axes.X,

View File

@ -1,10 +1,11 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework.Graphics;
using osu.Game.Graphics;
namespace osu.Game.Overlays.Options.General
using osu.Framework.Graphics;
using osu.Game.Graphics;
using osu.Game.Overlays.Options.Sections.General;
namespace osu.Game.Overlays.Options.Sections
{
public class GeneralSection : OptionsSection
{

View File

@ -3,10 +3,10 @@
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.Graphics
namespace osu.Game.Overlays.Options.Sections.Graphics
{
public class DetailOptions : OptionsSubsection
{
@ -17,47 +17,47 @@ namespace osu.Game.Overlays.Options.Graphics
{
Children = new Drawable[]
{
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Snaking in sliders",
Bindable = config.GetBindable<bool>(OsuConfig.SnakingInSliders)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Snaking out sliders",
Bindable = config.GetBindable<bool>(OsuConfig.SnakingOutSliders)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Background video",
Bindable = config.GetBindable<bool>(OsuConfig.Video)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Storyboards",
Bindable = config.GetBindable<bool>(OsuConfig.ShowStoryboard)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Combo bursts",
Bindable = config.GetBindable<bool>(OsuConfig.ComboBurst)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Hit lighting",
Bindable = config.GetBindable<bool>(OsuConfig.HitLighting)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Shaders",
Bindable = config.GetBindable<bool>(OsuConfig.Bloom)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Softening filter",
Bindable = config.GetBindable<bool>(OsuConfig.BloomSoftening)
},
new DropdownOption<ScreenshotFormat>
new OptionDropdown<ScreenshotFormat>
{
LabelText = "Screenshot",
Bindable = config.GetBindable<ScreenshotFormat>(OsuConfig.ScreenshotFormat)

View File

@ -1,15 +1,12 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework;
using osu.Framework.Allocation;
using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.Graphics
namespace osu.Game.Overlays.Options.Sections.Graphics
{
public class LayoutOptions : OptionsSubsection
{
@ -20,23 +17,23 @@ namespace osu.Game.Overlays.Options.Graphics
{
Children = new Drawable[]
{
new SpriteText { Text = "Resolution: TODO dropdown" },
new CheckBoxOption
new OptionLabel { Text = "Resolution: TODO dropdown" },
new OsuCheckbox
{
LabelText = "Fullscreen mode",
Bindable = config.GetBindable<bool>(FrameworkConfig.Fullscreen),
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Letterboxing",
Bindable = config.GetBindable<bool>(FrameworkConfig.Letterboxing),
},
new SliderOption<int>
new OptionSlider<int>
{
LabelText = "Horizontal position",
Bindable = (BindableInt)config.GetBindable<int>(FrameworkConfig.LetterboxPositionX)
},
new SliderOption<int>
new OptionSlider<int>
{
LabelText = "Vertical position",
Bindable = (BindableInt)config.GetBindable<int>(FrameworkConfig.LetterboxPositionY)

View File

@ -1,12 +1,11 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework;
using osu.Framework.Allocation;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.Graphics
namespace osu.Game.Overlays.Options.Sections.Graphics
{
public class MainMenuOptions : OptionsSubsection
{
@ -17,27 +16,27 @@ namespace osu.Game.Overlays.Options.Graphics
{
Children = new[]
{
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Snow",
Bindable = config.GetBindable<bool>(OsuConfig.MenuSnow)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Parallax",
Bindable = config.GetBindable<bool>(OsuConfig.MenuParallax)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Menu tips",
Bindable = config.GetBindable<bool>(OsuConfig.ShowMenuTips)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Interface voices",
Bindable = config.GetBindable<bool>(OsuConfig.MenuVoice)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "osu! music theme",
Bindable = config.GetBindable<bool>(OsuConfig.MenuMusic)

View File

@ -1,15 +1,13 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework;
using osu.Framework.Allocation;
using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.Graphics
namespace osu.Game.Overlays.Options.Sections.Graphics
{
public class RendererOptions : OptionsSubsection
{
@ -22,22 +20,22 @@ namespace osu.Game.Overlays.Options.Graphics
Children = new Drawable[]
{
// TODO: this needs to be a custom dropdown at some point
new DropdownOption<FrameSync>
new OptionDropdown<FrameSync>
{
LabelText = "Frame limiter",
Bindable = config.GetBindable<FrameSync>(FrameworkConfig.FrameSync)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Show FPS counter",
Bindable = osuConfig.GetBindable<bool>(OsuConfig.FpsCounter),
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Reduce dropped frames",
Bindable = osuConfig.GetBindable<bool>(OsuConfig.ForceFrameFlush),
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Detect performance issues",
Bindable = osuConfig.GetBindable<bool>(OsuConfig.DetectPerformanceIssues),

View File

@ -1,12 +1,11 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework;
using osu.Framework.Allocation;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.Graphics
namespace osu.Game.Overlays.Options.Sections.Graphics
{
public class SongSelectGraphicsOptions : OptionsSubsection
{
@ -17,7 +16,7 @@ namespace osu.Game.Overlays.Options.Graphics
{
Children = new[]
{
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Show thumbnails",
Bindable = config.GetBindable<bool>(OsuConfig.SongSelectThumbnails)

View File

@ -1,10 +1,11 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework.Graphics;
using osu.Game.Graphics;
namespace osu.Game.Overlays.Options.Graphics
using osu.Framework.Graphics;
using osu.Game.Graphics;
using osu.Game.Overlays.Options.Sections.Graphics;
namespace osu.Game.Overlays.Options.Sections
{
public class GraphicsSection : OptionsSection
{

View File

@ -1,10 +1,10 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework.Graphics;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.Input
using osu.Framework.Graphics;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.Sections.Input
{
public class KeyboardOptions : OptionsSubsection
{

View File

@ -1,15 +1,13 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework;
using osu.Framework.Allocation;
using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.Input
namespace osu.Game.Overlays.Options.Sections.Input
{
public class MouseOptions : OptionsSubsection
{
@ -20,37 +18,37 @@ namespace osu.Game.Overlays.Options.Input
{
Children = new Drawable[]
{
new SliderOption<double>
new OptionSlider<double>
{
LabelText = "Sensitivity",
Bindable = (BindableDouble)config.GetBindable<double>(OsuConfig.MouseSpeed),
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Raw input",
Bindable = config.GetBindable<bool>(OsuConfig.RawInput)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Map absolute raw input to the osu! window",
Bindable = config.GetBindable<bool>(OsuConfig.AbsoluteToOsuWindow)
},
new DropdownOption<ConfineMouseMode>
new OptionDropdown<ConfineMouseMode>
{
LabelText = "Confine mouse cursor",
Bindable = config.GetBindable<ConfineMouseMode>(OsuConfig.ConfineMouse),
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Disable mouse wheel in play mode",
Bindable = config.GetBindable<bool>(OsuConfig.MouseDisableWheel)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Disable mouse buttons in play mode",
Bindable = config.GetBindable<bool>(OsuConfig.MouseDisableButtons)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Cursor ripples",
Bindable = config.GetBindable<bool>(OsuConfig.CursorRipple)

View File

@ -1,13 +1,12 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.Input
namespace osu.Game.Overlays.Options.Sections.Input
{
public class OtherInputOptions : OptionsSubsection
{
@ -18,12 +17,12 @@ namespace osu.Game.Overlays.Options.Input
{
Children = new Drawable[]
{
new CheckBoxOption
new OsuCheckbox
{
LabelText = "OS TabletPC support",
Bindable = config.GetBindable<bool>(OsuConfig.Tablet)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Wiimote/TaTaCon Drum Support",
Bindable = config.GetBindable<bool>(OsuConfig.Wiimote)

View File

@ -1,10 +1,11 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework.Graphics;
using osu.Game.Graphics;
namespace osu.Game.Overlays.Options.Input
using osu.Framework.Graphics;
using osu.Game.Graphics;
using osu.Game.Overlays.Options.Sections.Input;
namespace osu.Game.Overlays.Options.Sections
{
public class InputSection : OptionsSection
{

View File

@ -1,13 +1,12 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using OpenTK;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Game.Graphics;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options
using osu.Framework.Graphics;
using osu.Game.Graphics;
using osu.Game.Graphics.UserInterface;
using OpenTK;
namespace osu.Game.Overlays.Options.Sections
{
public class MaintenanceSection : OptionsSection
{
@ -39,7 +38,7 @@ namespace osu.Game.Overlays.Options
RelativeSizeAxes = Axes.X,
Text = "Run osu! updater",
},
new SpriteText
new OptionLabel
{
Text = "TODO: osu version here",
Anchor = Anchor.TopCentre,

View File

@ -1,19 +1,17 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.Online
namespace osu.Game.Overlays.Options.Sections.Online
{
public class InGameChatOptions : OptionsSubsection
{
private TextBoxOption chatIgnoreList;
private TextBoxOption chatHighlightWords;
private OptionTextBox chatIgnoreList;
private OptionTextBox chatHighlightWords;
protected override string Header => "In-game Chat";
[BackgroundDependencyLoader]
@ -21,33 +19,33 @@ namespace osu.Game.Overlays.Options.Online
{
Children = new Drawable[]
{
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Filter offensive words",
Bindable = config.GetBindable<bool>(OsuConfig.ChatFilter)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Filter foreign characters",
Bindable = config.GetBindable<bool>(OsuConfig.ChatRemoveForeign)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Log private messages",
Bindable = config.GetBindable<bool>(OsuConfig.LogPrivateMessages)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Block private messages from non-friends",
Bindable = config.GetBindable<bool>(OsuConfig.BlockNonFriendPM)
},
new SpriteText { Text = "Chat ignore list (space-seperated list)" },
chatIgnoreList = new TextBoxOption {
new OptionLabel { Text = "Chat ignore list (space-seperated list)" },
chatIgnoreList = new OptionTextBox {
RelativeSizeAxes = Axes.X,
Bindable = config.GetBindable<string>(OsuConfig.IgnoreList)
},
new SpriteText { Text = "Chat highlight words (space-seperated list)" },
chatHighlightWords = new TextBoxOption {
new OptionLabel { Text = "Chat highlight words (space-seperated list)" },
chatHighlightWords = new OptionTextBox {
RelativeSizeAxes = Axes.X,
Bindable = config.GetBindable<string>(OsuConfig.HighlightWords)
},

View File

@ -1,13 +1,12 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.Online
namespace osu.Game.Overlays.Options.Sections.Online
{
public class NotificationsOptions : OptionsSubsection
{
@ -18,32 +17,32 @@ namespace osu.Game.Overlays.Options.Online
{
Children = new Drawable[]
{
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Enable chat ticker",
Bindable = config.GetBindable<bool>(OsuConfig.Ticker)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Show a notification popup when someone says your name",
Bindable = config.GetBindable<bool>(OsuConfig.ChatHighlightName)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Show chat message notifications",
Bindable = config.GetBindable<bool>(OsuConfig.ChatMessageNotification)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Play a sound when someone says your name",
Bindable = config.GetBindable<bool>(OsuConfig.ChatAudibleHighlight)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Show notification popups instantly during gameplay",
Bindable = config.GetBindable<bool>(OsuConfig.PopupDuringGameplay)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Show notification popups when friends change status",
Bindable = config.GetBindable<bool>(OsuConfig.NotifyFriends)

View File

@ -1,13 +1,12 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.Online
namespace osu.Game.Overlays.Options.Sections.Online
{
public class OnlineIntegrationOptions : OptionsSubsection
{
@ -18,22 +17,22 @@ namespace osu.Game.Overlays.Options.Online
{
Children = new Drawable[]
{
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Integrate with Yahoo! status display",
Bindable = config.GetBindable<bool>(OsuConfig.YahooIntegration)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Integrate with MSN Live status display",
Bindable = config.GetBindable<bool>(OsuConfig.MsnIntegration)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Automatically start osu!direct downloads",
Bindable = config.GetBindable<bool>(OsuConfig.AutomaticDownload)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Prefer no-video downloads",
Bindable = config.GetBindable<bool>(OsuConfig.AutomaticDownloadNoVideo)

View File

@ -1,13 +1,12 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options.Online
namespace osu.Game.Overlays.Options.Sections.Online
{
public class PrivacyOptions : OptionsSubsection
{
@ -18,12 +17,12 @@ namespace osu.Game.Overlays.Options.Online
{
Children = new Drawable[]
{
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Share your city location with others",
Bindable = config.GetBindable<bool>(OsuConfig.DisplayCityLocation)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Allow multiplayer game invites from all users",
Bindable = config.GetBindable<bool>(OsuConfig.AllowPublicInvites)

View File

@ -1,10 +1,11 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework.Graphics;
using osu.Game.Graphics;
namespace osu.Game.Overlays.Options.Online
using osu.Framework.Graphics;
using osu.Game.Graphics;
using osu.Game.Overlays.Options.Sections.Online;
namespace osu.Game.Overlays.Options.Sections
{
public class OnlineSection : OptionsSection
{

View File

@ -1,18 +1,15 @@
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using OpenTK;
using osu.Framework;
using osu.Framework.Allocation;
using osu.Framework.Configuration;
using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
using osu.Game.Graphics;
using osu.Game.Graphics.UserInterface;
using OpenTK;
namespace osu.Game.Overlays.Options
namespace osu.Game.Overlays.Options.Sections
{
public class SkinSection : OptionsSection
{
@ -25,8 +22,8 @@ namespace osu.Game.Overlays.Options
content.Spacing = new Vector2(0, 5);
Children = new Drawable[]
{
new SpriteText { Text = "TODO: Skin preview textures" },
new SpriteText { Text = "Current skin: TODO dropdown" },
new OptionLabel { Text = "TODO: Skin preview textures" },
new OptionLabel { Text = "Current skin: TODO dropdown" },
new OsuButton
{
RelativeSizeAxes = Axes.X,
@ -42,32 +39,32 @@ namespace osu.Game.Overlays.Options
RelativeSizeAxes = Axes.X,
Text = "Export as .osk",
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Ignore all beatmap skins",
Bindable = config.GetBindable<bool>(OsuConfig.IgnoreBeatmapSkins)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Use skin's sound samples",
Bindable = config.GetBindable<bool>(OsuConfig.SkinSamples)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Use Taiko skin for Taiko mode",
Bindable = config.GetBindable<bool>(OsuConfig.UseTaikoSkin)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Always use skin cursor",
Bindable = config.GetBindable<bool>(OsuConfig.UseSkinCursor)
},
new SliderOption<double>
new OptionSlider<double>
{
LabelText = "Cursor size",
Bindable = (BindableDouble)config.GetBindable<double>(OsuConfig.CursorSize)
},
new CheckBoxOption
new OsuCheckbox
{
LabelText = "Automatic cursor size",
Bindable = config.GetBindable<bool>(OsuConfig.AutomaticCursorSizing)

View File

@ -79,6 +79,7 @@ namespace osu.Game.Overlays.Options
headerText = new SpriteText
{
Position = new Vector2(OptionsSidebar.default_width + 10, 0),
TextSize = OptionsOverlay.FONT_SIZE,
Anchor = Anchor.CentreLeft,
Origin = Anchor.CentreLeft,
},

View File

@ -16,19 +16,16 @@ using osu.Framework.Graphics.Transformations;
using osu.Framework.Input;
using osu.Game.Configuration;
using osu.Game.Overlays.Options;
using osu.Game.Overlays.Options.Audio;
using osu.Game.Overlays.Options.Gameplay;
using osu.Game.Overlays.Options.General;
using osu.Game.Overlays.Options.Graphics;
using osu.Game.Overlays.Options.Input;
using osu.Game.Overlays.Options.Online;
using System;
using osu.Game.Graphics;
using osu.Game.Overlays.Options.Sections;
namespace osu.Game.Overlays
{
public class OptionsOverlay : OverlayContainer
{
public const float FONT_SIZE = 16;
internal const float CONTENT_MARGINS = 10;
public const float TRANSITION_LENGTH = 600;

View File

@ -95,6 +95,7 @@
<Compile Include="Beatmaps\Timing\SampleChange.cs" />
<Compile Include="Beatmaps\Timing\TimingChange.cs" />
<Compile Include="Configuration\OsuConfigManager.cs" />
<Compile Include="Overlays\Options\OptionLabel.cs" />
<Compile Include="Overlays\Toolbar\ToolbarHomeButton.cs" />
<Compile Include="Overlays\Toolbar\ToolbarMusicButton.cs" />
<Compile Include="Overlays\Toolbar\ToolbarSettingsButton.cs" />
@ -192,45 +193,45 @@
<Compile Include="Database\BeatmapInfo.cs" />
<Compile Include="Database\BaseDifficulty.cs" />
<Compile Include="Graphics\UserInterface\OsuButton.cs" />
<Compile Include="Overlays\Options\MaintenanceSection.cs" />
<Compile Include="Overlays\Options\Sections\MaintenanceSection.cs" />
<Compile Include="Overlays\Options\OptionsSection.cs" />
<Compile Include="Overlays\Options\OptionsSubsection.cs" />
<Compile Include="Graphics\UserInterface\LoadingAnimation.cs" />
<Compile Include="Overlays\Options\OptionsSidebar.cs" />
<Compile Include="Overlays\Options\General\GeneralSection.cs" />
<Compile Include="Overlays\Options\General\LoginOptions.cs" />
<Compile Include="Overlays\Options\General\UpdateOptions.cs" />
<Compile Include="Overlays\Options\General\LanguageOptions.cs" />
<Compile Include="Overlays\Options\Graphics\GraphicsSection.cs" />
<Compile Include="Overlays\Options\Graphics\RendererOptions.cs" />
<Compile Include="Overlays\Options\Graphics\LayoutOptions.cs" />
<Compile Include="Overlays\Options\Graphics\DetailOptions.cs" />
<Compile Include="Overlays\Options\Graphics\MainMenuOptions.cs" />
<Compile Include="Overlays\Options\Graphics\SongSelectGraphicsOptions.cs" />
<Compile Include="Overlays\Options\Gameplay\GameplaySection.cs" />
<Compile Include="Overlays\Options\Gameplay\GeneralGameplayOptions.cs" />
<Compile Include="Overlays\Options\Gameplay\SongSelectGameplayOptions.cs" />
<Compile Include="Overlays\Options\Audio\AudioSection.cs" />
<Compile Include="Overlays\Options\Audio\AudioDevicesOptions.cs" />
<Compile Include="Overlays\Options\Audio\VolumeOptions.cs" />
<Compile Include="Overlays\Options\Audio\OffsetAdjustmentOptions.cs" />
<Compile Include="Overlays\Options\Input\InputSection.cs" />
<Compile Include="Overlays\Options\Input\MouseOptions.cs" />
<Compile Include="Overlays\Options\Input\KeyboardOptions.cs" />
<Compile Include="Overlays\Options\Input\OtherInputOptions.cs" />
<Compile Include="Overlays\Options\Online\OnlineSection.cs" />
<Compile Include="Overlays\Options\Online\OnlineIntegrationOptions.cs" />
<Compile Include="Overlays\Options\Online\InGameChatOptions.cs" />
<Compile Include="Overlays\Options\EditorSection.cs" />
<Compile Include="Overlays\Options\SkinSection.cs" />
<Compile Include="Overlays\Options\Online\PrivacyOptions.cs" />
<Compile Include="Overlays\Options\Online\NotificationsOptions.cs" />
<Compile Include="Overlays\Options\CheckBoxOption.cs" />
<Compile Include="Overlays\Options\Sections\GeneralSection.cs" />
<Compile Include="Overlays\Options\Sections\General\LoginOptions.cs" />
<Compile Include="Overlays\Options\Sections\General\UpdateOptions.cs" />
<Compile Include="Overlays\Options\Sections\General\LanguageOptions.cs" />
<Compile Include="Overlays\Options\Sections\GraphicsSection.cs" />
<Compile Include="Overlays\Options\Sections\Graphics\RendererOptions.cs" />
<Compile Include="Overlays\Options\Sections\Graphics\LayoutOptions.cs" />
<Compile Include="Overlays\Options\Sections\Graphics\DetailOptions.cs" />
<Compile Include="Overlays\Options\Sections\Graphics\MainMenuOptions.cs" />
<Compile Include="Overlays\Options\Sections\Graphics\SongSelectGraphicsOptions.cs" />
<Compile Include="Overlays\Options\Sections\GameplaySection.cs" />
<Compile Include="Overlays\Options\Sections\Gameplay\GeneralGameplayOptions.cs" />
<Compile Include="Overlays\Options\Sections\Gameplay\SongSelectGameplayOptions.cs" />
<Compile Include="Overlays\Options\Sections\AudioSection.cs" />
<Compile Include="Overlays\Options\Sections\Audio\AudioDevicesOptions.cs" />
<Compile Include="Overlays\Options\Sections\Audio\VolumeOptions.cs" />
<Compile Include="Overlays\Options\Sections\Audio\OffsetAdjustmentOptions.cs" />
<Compile Include="Overlays\Options\Sections\InputSection.cs" />
<Compile Include="Overlays\Options\Sections\Input\MouseOptions.cs" />
<Compile Include="Overlays\Options\Sections\Input\KeyboardOptions.cs" />
<Compile Include="Overlays\Options\Sections\Input\OtherInputOptions.cs" />
<Compile Include="Overlays\Options\Sections\OnlineSection.cs" />
<Compile Include="Overlays\Options\Sections\Online\OnlineIntegrationOptions.cs" />
<Compile Include="Overlays\Options\Sections\Online\InGameChatOptions.cs" />
<Compile Include="Overlays\Options\Sections\EditorSection.cs" />
<Compile Include="Overlays\Options\Sections\SkinSection.cs" />
<Compile Include="Overlays\Options\Sections\Online\PrivacyOptions.cs" />
<Compile Include="Overlays\Options\Sections\Online\NotificationsOptions.cs" />
<Compile Include="Graphics\UserInterface\OsuCheckbox.cs" />
<Compile Include="Overlays\Options\SidebarButton.cs" />
<Compile Include="Overlays\Options\TextBoxOption.cs" />
<Compile Include="Overlays\Options\SliderOption.cs" />
<Compile Include="Overlays\Options\OptionTextBox.cs" />
<Compile Include="Overlays\Options\OptionSlider.cs" />
<Compile Include="Configuration\ProgressBarType.cs" />
<Compile Include="Overlays\Options\DropdownOption.cs" />
<Compile Include="Overlays\Options\OptionDropdown.cs" />
<Compile Include="Configuration\RankingType.cs" />
<Compile Include="Configuration\ScoreMeterType.cs" />
<Compile Include="Configuration\ReleaseStream.cs" />