diff --git a/osu.Game/Beatmaps/Beatmap.cs b/osu.Game/Beatmaps/Beatmap.cs index c666fa9b32..2a6c976a5e 100644 --- a/osu.Game/Beatmaps/Beatmap.cs +++ b/osu.Game/Beatmaps/Beatmap.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using osu.Game.Beatmaps.Objects; +using osu.Game.Beatmaps.Timing; using osu.Game.Users; namespace osu.Game.Beatmaps @@ -11,6 +12,8 @@ namespace osu.Game.Beatmaps { public List HitObjects; + public List ControlPoints; + public string Difficulty; public User Creator; } diff --git a/osu.Game/Beatmaps/Objects/HitObject.cs b/osu.Game/Beatmaps/Objects/HitObject.cs index 1990cfd704..703a719716 100644 --- a/osu.Game/Beatmaps/Objects/HitObject.cs +++ b/osu.Game/Beatmaps/Objects/HitObject.cs @@ -13,6 +13,6 @@ namespace osu.Game.Beatmaps.Objects public double StartTime; public double? EndTime; - public SampleInfo Sample; + public HitSampleInfo Sample; } } diff --git a/osu.Game/Beatmaps/Samples/HitSampleInfo.cs b/osu.Game/Beatmaps/Samples/HitSampleInfo.cs new file mode 100644 index 0000000000..4083a528aa --- /dev/null +++ b/osu.Game/Beatmaps/Samples/HitSampleInfo.cs @@ -0,0 +1,10 @@ +//Copyright (c) 2007-2016 ppy Pty Ltd . +//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +namespace osu.Game.Beatmaps.Samples +{ + public class HitSampleInfo : SampleInfo + { + SampleType Type; + } +} diff --git a/osu.Game/Beatmaps/Samples/SampleType.cs b/osu.Game/Beatmaps/Samples/SampleType.cs new file mode 100644 index 0000000000..43499b24e9 --- /dev/null +++ b/osu.Game/Beatmaps/Samples/SampleType.cs @@ -0,0 +1,17 @@ +//Copyright (c) 2007-2016 ppy Pty Ltd . +//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +using System; + +namespace osu.Game.Beatmaps.Samples +{ + [Flags] + public enum SampleType + { + None = 0, + Normal = 1, + Whistle = 2, + Finish = 4, + Clap = 8 + }; +} \ No newline at end of file diff --git a/osu.Game/Beatmaps/Timing/ControlPoint.cs b/osu.Game/Beatmaps/Timing/ControlPoint.cs new file mode 100644 index 0000000000..89eac572ec --- /dev/null +++ b/osu.Game/Beatmaps/Timing/ControlPoint.cs @@ -0,0 +1,16 @@ +//Copyright (c) 2007-2016 ppy Pty Ltd . +//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace osu.Game.Beatmaps.Timing +{ + public class ControlPoint + { + public double Time; + } +} diff --git a/osu.Game/Beatmaps/Timing/SampleChange.cs b/osu.Game/Beatmaps/Timing/SampleChange.cs new file mode 100644 index 0000000000..488d8f0a3b --- /dev/null +++ b/osu.Game/Beatmaps/Timing/SampleChange.cs @@ -0,0 +1,17 @@ +//Copyright (c) 2007-2016 ppy Pty Ltd . +//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using osu.Game.Beatmaps.Samples; + +namespace osu.Game.Beatmaps.Timing +{ + class SampleChange : ControlPoint + { + public SampleInfo Sample; + } +} diff --git a/osu.Game/Beatmaps/Timing/TimingChange.cs b/osu.Game/Beatmaps/Timing/TimingChange.cs new file mode 100644 index 0000000000..dd2b9cdc7c --- /dev/null +++ b/osu.Game/Beatmaps/Timing/TimingChange.cs @@ -0,0 +1,18 @@ +//Copyright (c) 2007-2016 ppy Pty Ltd . +//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace osu.Game.Beatmaps.Timing +{ + class TimingChange : ControlPoint + { + public double BeatLength; + + public double BPM => 60000 / BeatLength; + } +} diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj index 2c1a4fa1ba..ecec8032a9 100644 --- a/osu.Game/osu.Game.csproj +++ b/osu.Game/osu.Game.csproj @@ -48,9 +48,14 @@ + + + + +