mirror of
https://github.com/ppy/osu.git
synced 2025-01-09 03:42:55 +08:00
Move SpecialStyle
out of BeatmapInfo
This commit is contained in:
parent
0a4560a03e
commit
011c2e3651
@ -28,7 +28,7 @@ namespace osu.Game.Rulesets.Mania.Edit.Setup
|
|||||||
{
|
{
|
||||||
Label = "Use special (N+1) style",
|
Label = "Use special (N+1) style",
|
||||||
Description = "Changes one column to act as a classic \"scratch\" or \"special\" column, which can be moved around by the user's skin (to the left/right/centre). Generally used in 6K (5+1) or 8K (7+1) configurations.",
|
Description = "Changes one column to act as a classic \"scratch\" or \"special\" column, which can be moved around by the user's skin (to the left/right/centre). Generally used in 6K (5+1) or 8K (7+1) configurations.",
|
||||||
Current = { Value = Beatmap.BeatmapInfo.SpecialStyle }
|
Current = { Value = Beatmap.SpecialStyle }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -42,7 +42,7 @@ namespace osu.Game.Rulesets.Mania.Edit.Setup
|
|||||||
|
|
||||||
private void updateBeatmap()
|
private void updateBeatmap()
|
||||||
{
|
{
|
||||||
Beatmap.BeatmapInfo.SpecialStyle = specialStyle.Current.Value;
|
Beatmap.SpecialStyle = specialStyle.Current.Value;
|
||||||
Beatmap.SaveState();
|
Beatmap.SaveState();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -85,7 +85,7 @@ namespace osu.Game.Tests.Beatmaps.Formats
|
|||||||
Assert.AreEqual(0.7f, beatmap.StackLeniency);
|
Assert.AreEqual(0.7f, beatmap.StackLeniency);
|
||||||
Assert.IsTrue(beatmapInfo.Ruleset.OnlineID == 0);
|
Assert.IsTrue(beatmapInfo.Ruleset.OnlineID == 0);
|
||||||
Assert.IsFalse(beatmapInfo.LetterboxInBreaks);
|
Assert.IsFalse(beatmapInfo.LetterboxInBreaks);
|
||||||
Assert.IsFalse(beatmapInfo.SpecialStyle);
|
Assert.IsFalse(beatmap.SpecialStyle);
|
||||||
Assert.IsFalse(beatmapInfo.WidescreenStoryboard);
|
Assert.IsFalse(beatmapInfo.WidescreenStoryboard);
|
||||||
Assert.IsFalse(beatmapInfo.SamplesMatchPlaybackRate);
|
Assert.IsFalse(beatmapInfo.SamplesMatchPlaybackRate);
|
||||||
Assert.AreEqual(CountdownType.None, beatmapInfo.Countdown);
|
Assert.AreEqual(CountdownType.None, beatmapInfo.Countdown);
|
||||||
@ -952,7 +952,7 @@ namespace osu.Game.Tests.Beatmaps.Formats
|
|||||||
{
|
{
|
||||||
Assert.That(decoded.AudioLeadIn, Is.EqualTo(0));
|
Assert.That(decoded.AudioLeadIn, Is.EqualTo(0));
|
||||||
Assert.That(decoded.StackLeniency, Is.EqualTo(0.7f));
|
Assert.That(decoded.StackLeniency, Is.EqualTo(0.7f));
|
||||||
Assert.That(decoded.BeatmapInfo.SpecialStyle, Is.False);
|
Assert.That(decoded.SpecialStyle, Is.False);
|
||||||
Assert.That(decoded.BeatmapInfo.LetterboxInBreaks, Is.False);
|
Assert.That(decoded.BeatmapInfo.LetterboxInBreaks, Is.False);
|
||||||
Assert.That(decoded.BeatmapInfo.WidescreenStoryboard, Is.False);
|
Assert.That(decoded.BeatmapInfo.WidescreenStoryboard, Is.False);
|
||||||
Assert.That(decoded.BeatmapInfo.EpilepsyWarning, Is.False);
|
Assert.That(decoded.BeatmapInfo.EpilepsyWarning, Is.False);
|
||||||
|
@ -53,7 +53,7 @@ namespace osu.Game.Tests.Beatmaps.Formats
|
|||||||
var beatmapInfo = beatmap.BeatmapInfo;
|
var beatmapInfo = beatmap.BeatmapInfo;
|
||||||
Assert.AreEqual(0, beatmap.AudioLeadIn);
|
Assert.AreEqual(0, beatmap.AudioLeadIn);
|
||||||
Assert.AreEqual(0.7f, beatmap.StackLeniency);
|
Assert.AreEqual(0.7f, beatmap.StackLeniency);
|
||||||
Assert.AreEqual(false, beatmapInfo.SpecialStyle);
|
Assert.AreEqual(false, beatmap.SpecialStyle);
|
||||||
Assert.IsTrue(beatmapInfo.Ruleset.OnlineID == 0);
|
Assert.IsTrue(beatmapInfo.Ruleset.OnlineID == 0);
|
||||||
Assert.AreEqual(false, beatmapInfo.LetterboxInBreaks);
|
Assert.AreEqual(false, beatmapInfo.LetterboxInBreaks);
|
||||||
Assert.AreEqual(false, beatmapInfo.WidescreenStoryboard);
|
Assert.AreEqual(false, beatmapInfo.WidescreenStoryboard);
|
||||||
|
@ -118,6 +118,8 @@ namespace osu.Game.Beatmaps
|
|||||||
|
|
||||||
public float StackLeniency { get; set; } = 0.7f;
|
public float StackLeniency { get; set; } = 0.7f;
|
||||||
|
|
||||||
|
public bool SpecialStyle { get; set; }
|
||||||
|
|
||||||
IBeatmap IBeatmap.Clone() => Clone();
|
IBeatmap IBeatmap.Clone() => Clone();
|
||||||
|
|
||||||
public Beatmap<T> Clone() => (Beatmap<T>)MemberwiseClone();
|
public Beatmap<T> Clone() => (Beatmap<T>)MemberwiseClone();
|
||||||
|
@ -69,6 +69,7 @@ namespace osu.Game.Beatmaps
|
|||||||
beatmap.UnhandledEventLines = original.UnhandledEventLines;
|
beatmap.UnhandledEventLines = original.UnhandledEventLines;
|
||||||
beatmap.AudioLeadIn = original.AudioLeadIn;
|
beatmap.AudioLeadIn = original.AudioLeadIn;
|
||||||
beatmap.StackLeniency = original.StackLeniency;
|
beatmap.StackLeniency = original.StackLeniency;
|
||||||
|
beatmap.SpecialStyle = original.SpecialStyle;
|
||||||
|
|
||||||
return beatmap;
|
return beatmap;
|
||||||
}
|
}
|
||||||
|
@ -414,7 +414,6 @@ namespace osu.Game.Beatmaps
|
|||||||
Hash = hash,
|
Hash = hash,
|
||||||
DifficultyName = decodedInfo.DifficultyName,
|
DifficultyName = decodedInfo.DifficultyName,
|
||||||
OnlineID = decodedInfo.OnlineID,
|
OnlineID = decodedInfo.OnlineID,
|
||||||
SpecialStyle = decodedInfo.SpecialStyle,
|
|
||||||
LetterboxInBreaks = decodedInfo.LetterboxInBreaks,
|
LetterboxInBreaks = decodedInfo.LetterboxInBreaks,
|
||||||
WidescreenStoryboard = decodedInfo.WidescreenStoryboard,
|
WidescreenStoryboard = decodedInfo.WidescreenStoryboard,
|
||||||
EpilepsyWarning = decodedInfo.EpilepsyWarning,
|
EpilepsyWarning = decodedInfo.EpilepsyWarning,
|
||||||
|
@ -138,8 +138,6 @@ namespace osu.Game.Beatmaps
|
|||||||
|
|
||||||
#region Properties we may not want persisted (but also maybe no harm?)
|
#region Properties we may not want persisted (but also maybe no harm?)
|
||||||
|
|
||||||
public bool SpecialStyle { get; set; }
|
|
||||||
|
|
||||||
public bool LetterboxInBreaks { get; set; }
|
public bool LetterboxInBreaks { get; set; }
|
||||||
|
|
||||||
public bool WidescreenStoryboard { get; set; } = true;
|
public bool WidescreenStoryboard { get; set; } = true;
|
||||||
|
@ -289,7 +289,7 @@ namespace osu.Game.Beatmaps.Formats
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case @"SpecialStyle":
|
case @"SpecialStyle":
|
||||||
beatmap.BeatmapInfo.SpecialStyle = Parsing.ParseInt(pair.Value) == 1;
|
beatmap.SpecialStyle = Parsing.ParseInt(pair.Value) == 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case @"WidescreenStoryboard":
|
case @"WidescreenStoryboard":
|
||||||
|
@ -100,7 +100,7 @@ namespace osu.Game.Beatmaps.Formats
|
|||||||
if (beatmap.BeatmapInfo.CountdownOffset > 0)
|
if (beatmap.BeatmapInfo.CountdownOffset > 0)
|
||||||
writer.WriteLine(FormattableString.Invariant($@"CountdownOffset: {beatmap.BeatmapInfo.CountdownOffset}"));
|
writer.WriteLine(FormattableString.Invariant($@"CountdownOffset: {beatmap.BeatmapInfo.CountdownOffset}"));
|
||||||
if (onlineRulesetID == 3)
|
if (onlineRulesetID == 3)
|
||||||
writer.WriteLine(FormattableString.Invariant($"SpecialStyle: {(beatmap.BeatmapInfo.SpecialStyle ? '1' : '0')}"));
|
writer.WriteLine(FormattableString.Invariant($"SpecialStyle: {(beatmap.SpecialStyle ? '1' : '0')}"));
|
||||||
writer.WriteLine(FormattableString.Invariant($"WidescreenStoryboard: {(beatmap.BeatmapInfo.WidescreenStoryboard ? '1' : '0')}"));
|
writer.WriteLine(FormattableString.Invariant($"WidescreenStoryboard: {(beatmap.BeatmapInfo.WidescreenStoryboard ? '1' : '0')}"));
|
||||||
if (beatmap.BeatmapInfo.SamplesMatchPlaybackRate)
|
if (beatmap.BeatmapInfo.SamplesMatchPlaybackRate)
|
||||||
writer.WriteLine(@"SamplesMatchPlaybackRate: 1");
|
writer.WriteLine(@"SamplesMatchPlaybackRate: 1");
|
||||||
|
@ -72,6 +72,8 @@ namespace osu.Game.Beatmaps
|
|||||||
|
|
||||||
float StackLeniency { get; internal set; }
|
float StackLeniency { get; internal set; }
|
||||||
|
|
||||||
|
bool SpecialStyle { get; internal set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Creates a shallow-clone of this beatmap and returns it.
|
/// Creates a shallow-clone of this beatmap and returns it.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -349,6 +349,12 @@ namespace osu.Game.Rulesets.Difficulty
|
|||||||
set => baseBeatmap.StackLeniency = value;
|
set => baseBeatmap.StackLeniency = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool SpecialStyle
|
||||||
|
{
|
||||||
|
get => baseBeatmap.SpecialStyle;
|
||||||
|
set => baseBeatmap.SpecialStyle = value;
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -196,6 +196,12 @@ namespace osu.Game.Screens.Edit
|
|||||||
set => PlayableBeatmap.StackLeniency = value;
|
set => PlayableBeatmap.StackLeniency = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool SpecialStyle
|
||||||
|
{
|
||||||
|
get => PlayableBeatmap.SpecialStyle;
|
||||||
|
set => PlayableBeatmap.SpecialStyle = value;
|
||||||
|
}
|
||||||
|
|
||||||
public IBeatmap Clone() => (EditorBeatmap)MemberwiseClone();
|
public IBeatmap Clone() => (EditorBeatmap)MemberwiseClone();
|
||||||
|
|
||||||
private IList mutableHitObjects => (IList)PlayableBeatmap.HitObjects;
|
private IList mutableHitObjects => (IList)PlayableBeatmap.HitObjects;
|
||||||
|
Loading…
Reference in New Issue
Block a user