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 @@ public class TaikoJudgementInfo : JudgementInfo /// /// 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 @@ public class TaikoJudgementInfo : JudgementInfo 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/osu.Game.Modes.Taiko.csproj b/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj index 372f9ba6fd..a1d4e3745f 100644 --- a/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj +++ b/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj @@ -50,7 +50,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 @@ private void handleTimingPoints(Beatmap beatmap, string val) 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 @@ public class ControlPoint 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/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 @@ private void screenChanged(Screen newScreen) //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/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.Configuration; using osu.Framework.Graphics; using osu.Game.Graphics.UserInterface; +using System; namespace osu.Game.Overlays.Options.Sections.Graphics { @@ -12,9 +13,16 @@ public class LayoutOptions : OptionsSubsection { 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 @@ private void load(FrameworkConfigManager config) 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/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 @@ private void load(TextureStore textures, Storage storage) 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 @@ +