From 0597a95db09c4b38baa2b2cfae8f994110898c9d Mon Sep 17 00:00:00 2001 From: smoogipooo Date: Thu, 11 May 2017 22:16:50 +0900 Subject: [PATCH] Resharper is too smart. --- .../Beatmaps/ManiaBeatmapConverter.cs | 7 ++++--- osu.Game.Rulesets.Mania/UI/ManiaHitRenderer.cs | 10 +++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/osu.Game.Rulesets.Mania/Beatmaps/ManiaBeatmapConverter.cs b/osu.Game.Rulesets.Mania/Beatmaps/ManiaBeatmapConverter.cs index 08ee8c0bf8..e51bbcdc13 100644 --- a/osu.Game.Rulesets.Mania/Beatmaps/ManiaBeatmapConverter.cs +++ b/osu.Game.Rulesets.Mania/Beatmaps/ManiaBeatmapConverter.cs @@ -8,6 +8,7 @@ using System; using osu.Game.Rulesets.Objects.Types; using osu.Game.Rulesets.Beatmaps; using osu.Game.Rulesets.Objects; +using OpenTK; namespace osu.Game.Rulesets.Mania.Beatmaps { @@ -17,12 +18,12 @@ namespace osu.Game.Rulesets.Mania.Beatmaps protected override IEnumerable ConvertHitObject(HitObject original, Beatmap beatmap) { - int columns = (int)Math.Round(beatmap.BeatmapInfo.Difficulty.CircleSize); + int availableColumns = (int)Math.Round(beatmap.BeatmapInfo.Difficulty.CircleSize); var positionData = original as IHasXPosition; - float localWDivisor = 512.0f / columns; - int column = Math.Min((int)Math.Floor(positionData.X / localWDivisor), columns - 1); + float localWDivisor = 512.0f / availableColumns; + int column = MathHelper.Clamp((int)Math.Floor((positionData?.X ?? 1) / localWDivisor), 0, availableColumns - 1); yield return new Note { diff --git a/osu.Game.Rulesets.Mania/UI/ManiaHitRenderer.cs b/osu.Game.Rulesets.Mania/UI/ManiaHitRenderer.cs index 79fb6f8615..4cb5b8853b 100644 --- a/osu.Game.Rulesets.Mania/UI/ManiaHitRenderer.cs +++ b/osu.Game.Rulesets.Mania/UI/ManiaHitRenderer.cs @@ -36,7 +36,11 @@ namespace osu.Game.Rulesets.Mania.UI var timingSections = new List(); // Construct all the relevant timing sections - ControlPoint lastTimingChange = null; + ControlPoint lastTimingChange = Beatmap.TimingInfo.ControlPoints.FirstOrDefault(t => t.TimingChange); + + if (lastTimingChange == null) + throw new Exception("The Beatmap contains no timing points!"); + foreach (ControlPoint point in Beatmap.TimingInfo.ControlPoints) { if (point.TimingChange) @@ -92,10 +96,6 @@ namespace osu.Game.Rulesets.Mania.UI if (note != null) return new DrawableNote(note); - var holdNote = h as HoldNote; - if (holdNote != null) - return new DrawableHoldNote(holdNote); - return null; }