diff --git a/osu.Desktop/Overlays/VersionManager.cs b/osu.Desktop/Overlays/VersionManager.cs index b93636331a..70925f6cf4 100644 --- a/osu.Desktop/Overlays/VersionManager.cs +++ b/osu.Desktop/Overlays/VersionManager.cs @@ -215,6 +215,7 @@ namespace osu.Desktop.Overlays Origin = Anchor.Centre, Icon = FontAwesome.fa_upload, Colour = Color4.White, + TextSize = 20 } }); } diff --git a/osu.Game.Modes.Taiko/Judgements/TaikoScoreResult.cs b/osu.Game.Modes.Taiko/Judgements/TaikoHitResult.cs similarity index 84% rename from osu.Game.Modes.Taiko/Judgements/TaikoScoreResult.cs rename to osu.Game.Modes.Taiko/Judgements/TaikoHitResult.cs index 004b9c4973..d425616b66 100644 --- a/osu.Game.Modes.Taiko/Judgements/TaikoScoreResult.cs +++ b/osu.Game.Modes.Taiko/Judgements/TaikoHitResult.cs @@ -3,7 +3,7 @@ namespace osu.Game.Modes.Taiko.Judgements { - public enum TaikoScoreResult + public enum TaikoHitResult { Good, Great diff --git a/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs b/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs index 8c42023648..d9e81d4d77 100644 --- a/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs +++ b/osu.Game.Modes.Taiko/Judgements/TaikoJudgementInfo.cs @@ -10,32 +10,32 @@ namespace osu.Game.Modes.Taiko.Judgements /// /// The maximum score value. /// - public const TaikoScoreResult MAX_SCORE = TaikoScoreResult.Great; + public const TaikoHitResult MAX_HIT_RESULT = TaikoHitResult.Great; /// /// The score value. /// - public TaikoScoreResult Score; + public TaikoHitResult TaikoResult; /// /// The score value for the combo portion of the score. /// - public int ScoreValue => ScoreToInt(Score); + public int ScoreValue => NumericResultForScore(TaikoResult); /// /// The score value for the accuracy portion of the score. /// - public int AccuracyScoreValue => AccuracyScoreToInt(Score); + public int AccuracyScoreValue => NumericResultForAccuracy(TaikoResult); /// /// The maximum score value for the combo portion of the score. /// - public int MaxScoreValue => ScoreToInt(MAX_SCORE); + public int MaxScoreValue => NumericResultForScore(MAX_HIT_RESULT); /// /// The maximum score value for the accuracy portion of the score. /// - public int MaxAccuracyScoreValue => AccuracyScoreToInt(MAX_SCORE); + public int MaxAccuracyScoreValue => NumericResultForAccuracy(MAX_HIT_RESULT); /// /// Whether this Judgement has a secondary hit in the case of finishers. @@ -43,38 +43,39 @@ namespace osu.Game.Modes.Taiko.Judgements public bool SecondHit; /// - /// Computes the score value for the combo portion of the score. - /// For the accuracy portion of the score (including accuracy percentage), see . + /// Computes the numeric score value for the combo portion of the score. + /// For the accuracy portion of the score (including accuracy percentage), see . /// /// The result to compute the score value for. - /// The int score value. - protected virtual int ScoreToInt(TaikoScoreResult result) + /// The numeric score value. + protected virtual int NumericResultForScore(TaikoHitResult result) { switch (result) { default: return 0; - case TaikoScoreResult.Good: + case TaikoHitResult.Good: return 100; - case TaikoScoreResult.Great: + case TaikoHitResult.Great: return 300; } } /// - /// Computes the score value for the accurac portion of the score. + /// Computes the numeric score value for the accuracy portion of the score. + /// For the combo portion of the score, see . /// /// The result to compute the score value for. - /// The int score value. - protected virtual int AccuracyScoreToInt(TaikoScoreResult result) + /// The numeric score value. + protected virtual int NumericResultForAccuracy(TaikoHitResult result) { switch (result) { default: return 0; - case TaikoScoreResult.Good: + case TaikoHitResult.Good: return 150; - case TaikoScoreResult.Great: + case TaikoHitResult.Great: return 300; } } diff --git a/osu.Game.Modes.Taiko/Objects/Drawable/DrawableTaikoHitObject.cs b/osu.Game.Modes.Taiko/Objects/Drawable/DrawableTaikoHitObject.cs index bc52be63c6..1cd02e8292 100644 --- a/osu.Game.Modes.Taiko/Objects/Drawable/DrawableTaikoHitObject.cs +++ b/osu.Game.Modes.Taiko/Objects/Drawable/DrawableTaikoHitObject.cs @@ -41,7 +41,7 @@ namespace osu.Game.Modes.Taiko.Objects.Drawable /// a time value and the HitObject's StartTime. /// /// - protected void UpdateScrollPosition(double time) + protected virtual void UpdateScrollPosition(double time) { MoveToX((float)((HitObject.StartTime - time) / HitObject.PreEmpt)); } diff --git a/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj b/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj index 2073556e1b..03231582b1 100644 --- a/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj +++ b/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj @@ -51,7 +51,7 @@ - + diff --git a/osu.Game/Beatmaps/Formats/OsuLegacyDecoder.cs b/osu.Game/Beatmaps/Formats/OsuLegacyDecoder.cs index af90e35da7..20b977499e 100644 --- a/osu.Game/Beatmaps/Formats/OsuLegacyDecoder.cs +++ b/osu.Game/Beatmaps/Formats/OsuLegacyDecoder.cs @@ -207,7 +207,8 @@ namespace osu.Game.Beatmaps.Formats VelocityAdjustment = beatLength < 0 ? -beatLength / 100.0 : 1, TimingChange = split.Length <= 6 || split[6][0] == '1', KiaiMode = (effectFlags & 1) > 0, - OmitFirstBarLine = (effectFlags & 8) > 0 + OmitFirstBarLine = (effectFlags & 8) > 0, + TimeSignature = (TimeSignatures)int.Parse(split[2]) }; } diff --git a/osu.Game/Beatmaps/Timing/ControlPoint.cs b/osu.Game/Beatmaps/Timing/ControlPoint.cs index e323412f81..40320a88d7 100644 --- a/osu.Game/Beatmaps/Timing/ControlPoint.cs +++ b/osu.Game/Beatmaps/Timing/ControlPoint.cs @@ -11,18 +11,12 @@ namespace osu.Game.Beatmaps.Timing TimingChange = true, }; + public TimeSignatures TimeSignature; public double Time; public double BeatLength; public double VelocityAdjustment; public bool TimingChange; public bool KiaiMode; public bool OmitFirstBarLine; - - } - - internal enum TimeSignatures - { - SimpleQuadruple = 4, - SimpleTriple = 3 } } diff --git a/osu.Game/Beatmaps/Timing/TimeSignatures.cs b/osu.Game/Beatmaps/Timing/TimeSignatures.cs new file mode 100644 index 0000000000..94b36591f5 --- /dev/null +++ b/osu.Game/Beatmaps/Timing/TimeSignatures.cs @@ -0,0 +1,11 @@ +// Copyright (c) 2007-2017 ppy Pty Ltd . +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +namespace osu.Game.Beatmaps.Timing +{ + public enum TimeSignatures + { + SimpleQuadruple = 4, + SimpleTriple = 3 + } +} \ No newline at end of file diff --git a/osu.Game/Graphics/TextAwesome.cs b/osu.Game/Graphics/TextAwesome.cs index 45f9ddeec9..1bae165e45 100644 --- a/osu.Game/Graphics/TextAwesome.cs +++ b/osu.Game/Graphics/TextAwesome.cs @@ -1,11 +1,11 @@ // Copyright (c) 2007-2017 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework.Graphics.Sprites; +using osu.Game.Graphics.Sprites; namespace osu.Game.Graphics { - public class TextAwesome : SpriteText + public class TextAwesome : OsuSpriteText { //public override FontFace FontFace => (int)Icon < 0xf000 ? FontFace.OsuFont : FontFace.FontAwesome; diff --git a/osu.Game/Graphics/UserInterface/OsuDropDownHeader.cs b/osu.Game/Graphics/UserInterface/OsuDropDownHeader.cs index 00dc510338..559ffca283 100644 --- a/osu.Game/Graphics/UserInterface/OsuDropDownHeader.cs +++ b/osu.Game/Graphics/UserInterface/OsuDropDownHeader.cs @@ -54,6 +54,7 @@ namespace osu.Game.Graphics.UserInterface Anchor = Anchor.CentreRight, Origin = Anchor.CentreRight, Margin = new MarginPadding { Right = 4 }, + TextSize = 20 } }; } diff --git a/osu.Game/Modes/UI/ModIcon.cs b/osu.Game/Modes/UI/ModIcon.cs index b1017a670e..65a570fea7 100644 --- a/osu.Game/Modes/UI/ModIcon.cs +++ b/osu.Game/Modes/UI/ModIcon.cs @@ -66,12 +66,14 @@ namespace osu.Game.Modes.UI Anchor = Anchor.Centre, Icon = FontAwesome.fa_osu_mod_bg, Shadow = true, + TextSize = 20 }, modIcon = new TextAwesome { Origin = Anchor.Centre, Anchor = Anchor.Centre, Colour = OsuColour.Gray(84), + TextSize = 20 }, }; diff --git a/osu.Game/Modes/UI/Playfield.cs b/osu.Game/Modes/UI/Playfield.cs index bff461f649..e5babecad9 100644 --- a/osu.Game/Modes/UI/Playfield.cs +++ b/osu.Game/Modes/UI/Playfield.cs @@ -7,6 +7,7 @@ using osu.Game.Modes.Objects; using osu.Game.Modes.Objects.Drawables; using OpenTK; using osu.Game.Modes.Judgements; +using osu.Framework.Allocation; namespace osu.Game.Modes.UI { @@ -45,10 +46,16 @@ namespace osu.Game.Modes.UI } }); - Add(HitObjects = new HitObjectContainer> + HitObjects = new HitObjectContainer> { RelativeSizeAxes = Axes.Both, - }); + }; + } + + [BackgroundDependencyLoader] + private void load() + { + Add(HitObjects); } /// diff --git a/osu.Game/OsuGame.cs b/osu.Game/OsuGame.cs index 9bd2ef9f75..5e7c47c9a9 100644 --- a/osu.Game/OsuGame.cs +++ b/osu.Game/OsuGame.cs @@ -279,6 +279,7 @@ namespace osu.Game //central game mode change logic. if (!currentScreen.ShowOverlays) { + options.State = Visibility.Hidden; Toolbar.State = Visibility.Hidden; musicController.State = Visibility.Hidden; chat.State = Visibility.Hidden; diff --git a/osu.Game/Overlays/Notifications/Notification.cs b/osu.Game/Overlays/Notifications/Notification.cs index ea07d7806a..e003a0e9dd 100644 --- a/osu.Game/Overlays/Notifications/Notification.cs +++ b/osu.Game/Overlays/Notifications/Notification.cs @@ -169,6 +169,7 @@ namespace osu.Game.Overlays.Notifications Anchor = Anchor.Centre, Origin = Anchor.Centre, Icon = FontAwesome.fa_times_circle, + TextSize = 20 } }; } diff --git a/osu.Game/Overlays/Notifications/SimpleNotification.cs b/osu.Game/Overlays/Notifications/SimpleNotification.cs index b06994d61a..19034d6d1c 100644 --- a/osu.Game/Overlays/Notifications/SimpleNotification.cs +++ b/osu.Game/Overlays/Notifications/SimpleNotification.cs @@ -53,6 +53,7 @@ namespace osu.Game.Overlays.Notifications Anchor = Anchor.Centre, Origin = Anchor.Centre, Icon = icon, + TextSize = 20 } }); diff --git a/osu.Game/Overlays/Options/OptionsFooter.cs b/osu.Game/Overlays/Options/OptionsFooter.cs index 23622aef08..c42fe42428 100644 --- a/osu.Game/Overlays/Options/OptionsFooter.cs +++ b/osu.Game/Overlays/Options/OptionsFooter.cs @@ -32,6 +32,7 @@ namespace osu.Game.Overlays.Options { Icon = Ruleset.GetRuleset(m).Icon, Colour = Color4.Gray, + TextSize = 20 }); Children = new Drawable[] diff --git a/osu.Game/Overlays/Options/Sections/Graphics/LayoutOptions.cs b/osu.Game/Overlays/Options/Sections/Graphics/LayoutOptions.cs index a3dbb9c76f..0a2e8f91a4 100644 --- a/osu.Game/Overlays/Options/Sections/Graphics/LayoutOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Graphics/LayoutOptions.cs @@ -5,6 +5,7 @@ using osu.Framework.Allocation; using osu.Framework.Configuration; using osu.Framework.Graphics; using osu.Game.Graphics.UserInterface; +using System; namespace osu.Game.Overlays.Options.Sections.Graphics { @@ -12,9 +13,16 @@ namespace osu.Game.Overlays.Options.Sections.Graphics { protected override string Header => "Layout"; + private OptionSlider letterboxPositionX; + private OptionSlider letterboxPositionY; + + private Bindable letterboxing; + [BackgroundDependencyLoader] private void load(FrameworkConfigManager config) { + letterboxing = config.GetBindable(FrameworkConfig.Letterboxing); + Children = new Drawable[] { new OptionLabel { Text = "Resolution: TODO dropdown" }, @@ -26,19 +34,36 @@ namespace osu.Game.Overlays.Options.Sections.Graphics new OsuCheckbox { LabelText = "Letterboxing", - Bindable = config.GetBindable(FrameworkConfig.Letterboxing), + Bindable = letterboxing, }, - new OptionSlider + letterboxPositionX = new OptionSlider { LabelText = "Horizontal position", Bindable = (BindableInt)config.GetBindable(FrameworkConfig.LetterboxPositionX) }, - new OptionSlider + letterboxPositionY = new OptionSlider { LabelText = "Vertical position", Bindable = (BindableInt)config.GetBindable(FrameworkConfig.LetterboxPositionY) }, }; + + letterboxing.ValueChanged += visibilityChanged; + letterboxing.TriggerChange(); + } + + private void visibilityChanged(object sender, EventArgs e) + { + if (letterboxing) + { + letterboxPositionX.Show(); + letterboxPositionY.Show(); + } + else + { + letterboxPositionX.Hide(); + letterboxPositionY.Hide(); + } } } } \ No newline at end of file diff --git a/osu.Game/Overlays/Options/SidebarButton.cs b/osu.Game/Overlays/Options/SidebarButton.cs index 83c2227763..729a9be326 100644 --- a/osu.Game/Overlays/Options/SidebarButton.cs +++ b/osu.Game/Overlays/Options/SidebarButton.cs @@ -87,6 +87,7 @@ namespace osu.Game.Overlays.Options { Anchor = Anchor.Centre, Origin = Anchor.Centre, + TextSize = 20 }, } }, diff --git a/osu.Game/Overlays/Toolbar/ToolbarButton.cs b/osu.Game/Overlays/Toolbar/ToolbarButton.cs index 17cef48f38..be4a23722f 100644 --- a/osu.Game/Overlays/Toolbar/ToolbarButton.cs +++ b/osu.Game/Overlays/Toolbar/ToolbarButton.cs @@ -98,6 +98,7 @@ namespace osu.Game.Overlays.Toolbar { Anchor = Anchor.Centre, Origin = Anchor.Centre, + TextSize = 20 }, DrawableText = new OsuSpriteText { diff --git a/osu.Game/Screens/Select/BeatmapInfoWedge.cs b/osu.Game/Screens/Select/BeatmapInfoWedge.cs index 5285d26264..d0805c19bd 100644 --- a/osu.Game/Screens/Select/BeatmapInfoWedge.cs +++ b/osu.Game/Screens/Select/BeatmapInfoWedge.cs @@ -237,14 +237,16 @@ namespace osu.Game.Screens.Select Icon = FontAwesome.fa_square, Origin = Anchor.Centre, Colour = new Color4(68, 17, 136, 255), - Rotation = 45 + Rotation = 45, + TextSize = 20 }, new TextAwesome { Icon = statistic.Icon, Origin = Anchor.Centre, Colour = new Color4(255, 221, 85, 255), - Scale = new Vector2(0.8f) + Scale = new Vector2(0.8f), + TextSize = 20 }, new OsuSpriteText { diff --git a/osu.Game/Screens/Select/SearchTextBox.cs b/osu.Game/Screens/Select/SearchTextBox.cs index bb1edfd0d7..4f2ab221cb 100644 --- a/osu.Game/Screens/Select/SearchTextBox.cs +++ b/osu.Game/Screens/Select/SearchTextBox.cs @@ -26,6 +26,7 @@ namespace osu.Game.Screens.Select Origin = Anchor.CentreRight, Anchor = Anchor.CentreRight, Margin = new MarginPadding { Right = 10 }, + TextSize = 20 } }); diff --git a/osu.Game/Screens/Tournament/Drawings.cs b/osu.Game/Screens/Tournament/Drawings.cs index 61f75021dc..b31a73b230 100644 --- a/osu.Game/Screens/Tournament/Drawings.cs +++ b/osu.Game/Screens/Tournament/Drawings.cs @@ -160,7 +160,7 @@ namespace osu.Game.Screens.Tournament Text = "Control Panel", TextSize = 22f, - Font = "Exo2.0-Boldd" + Font = "Exo2.0-Bold" }, new FillFlowContainer { diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj index 188d929888..50809cddf7 100644 --- a/osu.Game/osu.Game.csproj +++ b/osu.Game/osu.Game.csproj @@ -76,6 +76,7 @@ +