diff --git a/osu.Game.Rulesets.Taiko/Difficulty/Evaluators/ColourEvaluator.cs b/osu.Game.Rulesets.Taiko/Difficulty/Evaluators/ColourEvaluator.cs
index 912a02f30e..afddedf962 100644
--- a/osu.Game.Rulesets.Taiko/Difficulty/Evaluators/ColourEvaluator.cs
+++ b/osu.Game.Rulesets.Taiko/Difficulty/Evaluators/ColourEvaluator.cs
@@ -28,25 +28,25 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Evaluators
///
/// Evaluate the difficulty of the first note of a .
///
- public static double EvaluateDifficultyOf(MonoStreak encoding)
+ public static double EvaluateDifficultyOf(MonoStreak monoStreak)
{
- return sigmoid(encoding.Index, 2, 2, 0.5, 1) * EvaluateDifficultyOf(encoding.Parent!) * 0.5;
+ return sigmoid(monoStreak.Index, 2, 2, 0.5, 1) * EvaluateDifficultyOf(monoStreak.Parent!) * 0.5;
}
///
/// Evaluate the difficulty of the first note of a .
///
- public static double EvaluateDifficultyOf(AlternatingMonoPattern encoding)
+ public static double EvaluateDifficultyOf(AlternatingMonoPattern alternatingMonoPattern)
{
- return sigmoid(encoding.Index, 2, 2, 0.5, 1) * EvaluateDifficultyOf(encoding.Parent!);
+ return sigmoid(alternatingMonoPattern.Index, 2, 2, 0.5, 1) * EvaluateDifficultyOf(alternatingMonoPattern.Parent!);
}
///
/// Evaluate the difficulty of the first note of a .
///
- public static double EvaluateDifficultyOf(RepeatingHitPatterns encoding)
+ public static double EvaluateDifficultyOf(RepeatingHitPatterns repeatingHitPattern)
{
- return 2 * (1 - sigmoid(encoding.RepetitionInterval, 2, 2, 0.5, 1));
+ return 2 * (1 - sigmoid(repeatingHitPattern.RepetitionInterval, 2, 2, 0.5, 1));
}
public static double EvaluateDifficultyOf(DifficultyHitObject hitObject)
@@ -54,12 +54,12 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Evaluators
TaikoDifficultyHitObjectColour colour = ((TaikoDifficultyHitObject)hitObject).Colour;
double difficulty = 0.0d;
- if (colour.MonoEncoding != null) // Difficulty for MonoEncoding
- difficulty += EvaluateDifficultyOf(colour.MonoEncoding);
- if (colour.ColourEncoding != null) // Difficulty for ColourEncoding
- difficulty += EvaluateDifficultyOf(colour.ColourEncoding);
- if (colour.CoupledColourEncoding != null) // Difficulty for CoupledColourEncoding
- difficulty += EvaluateDifficultyOf(colour.CoupledColourEncoding);
+ if (colour.MonoStreak != null) // Difficulty for MonoStreak
+ difficulty += EvaluateDifficultyOf(colour.MonoStreak);
+ if (colour.AlternatingMonoPattern != null) // Difficulty for AlternatingMonoPattern
+ difficulty += EvaluateDifficultyOf(colour.AlternatingMonoPattern);
+ if (colour.RepeatingHitPatterns != null) // Difficulty for RepeatingHitPattern
+ difficulty += EvaluateDifficultyOf(colour.RepeatingHitPatterns);
return difficulty;
}
diff --git a/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/Data/AlternatingMonoPattern.cs b/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/Data/AlternatingMonoPattern.cs
index bb4ddc73d0..9d2df877d3 100644
--- a/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/Data/AlternatingMonoPattern.cs
+++ b/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/Data/AlternatingMonoPattern.cs
@@ -15,7 +15,7 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Preprocessing.Colour.Data
///
/// s that are grouped together within this .
///
- public readonly List Payload = new List();
+ public readonly List MonoStreaks = new List();
///
/// The parent that contains this
@@ -23,7 +23,7 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Preprocessing.Colour.Data
public RepeatingHitPatterns? Parent;
///
- /// Index of this encoding within it's parent encoding
+ /// Index of this within it's parent
///
public int Index;
@@ -34,9 +34,9 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Preprocessing.Colour.Data
public bool IsRepetitionOf(AlternatingMonoPattern other)
{
return HasIdenticalMonoLength(other) &&
- other.Payload.Count == Payload.Count &&
- (other.Payload[0].EncodedData[0].BaseObject as Hit)?.Type ==
- (Payload[0].EncodedData[0].BaseObject as Hit)?.Type;
+ other.MonoStreaks.Count == MonoStreaks.Count &&
+ (other.MonoStreaks[0].HitObjects[0].BaseObject as Hit)?.Type ==
+ (MonoStreaks[0].HitObjects[0].BaseObject as Hit)?.Type;
}
///
@@ -44,7 +44,7 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Preprocessing.Colour.Data
///
public bool HasIdenticalMonoLength(AlternatingMonoPattern other)
{
- return other.Payload[0].RunLength == Payload[0].RunLength;
+ return other.MonoStreaks[0].RunLength == MonoStreaks[0].RunLength;
}
}
}
diff --git a/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/Data/MonoStreak.cs b/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/Data/MonoStreak.cs
index 26175d9559..82a09d61fe 100644
--- a/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/Data/MonoStreak.cs
+++ b/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/Data/MonoStreak.cs
@@ -16,7 +16,7 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Preprocessing.Colour.Data
///
/// List of s that are encoded within this .
///
- public List EncodedData { get; private set; } = new List();
+ public List HitObjects { get; private set; } = new List();
///
/// The parent that contains this
@@ -24,13 +24,13 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Preprocessing.Colour.Data
public AlternatingMonoPattern? Parent;
///
- /// Index of this encoding within it's parent encoding
+ /// Index of this within it's parent
///
public int Index;
///
/// How long the mono pattern encoded within is
///
- public int RunLength => EncodedData.Count;
+ public int RunLength => HitObjects.Count;
}
}
diff --git a/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/Data/RepeatingHitPattern.cs b/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/Data/RepeatingHitPattern.cs
index 91b41b80e7..d5ce2d0a55 100644
--- a/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/Data/RepeatingHitPattern.cs
+++ b/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/Data/RepeatingHitPattern.cs
@@ -20,7 +20,7 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Preprocessing.Colour.Data
///
/// The s that are grouped together within this .
///
- public readonly List Payload = new List();
+ public readonly List AlternatingMonoPatterns = new List();
///
/// The previous . This is used to determine the repetition interval.
@@ -39,24 +39,24 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Preprocessing.Colour.Data
}
///
- /// Returns true if other is considered a repetition of this encoding. This is true if other's first two payloads
+ /// Returns true if other is considered a repetition of this pattern. This is true if other's first two payloads
/// have identical mono lengths.
///
private bool isRepetitionOf(RepeatingHitPatterns other)
{
- if (Payload.Count != other.Payload.Count) return false;
+ if (AlternatingMonoPatterns.Count != other.AlternatingMonoPatterns.Count) return false;
- for (int i = 0; i < Math.Min(Payload.Count, 2); i++)
+ for (int i = 0; i < Math.Min(AlternatingMonoPatterns.Count, 2); i++)
{
- if (!Payload[i].HasIdenticalMonoLength(other.Payload[i])) return false;
+ if (!AlternatingMonoPatterns[i].HasIdenticalMonoLength(other.AlternatingMonoPatterns[i])) return false;
}
return true;
}
///
- /// Finds the closest previous that has the identical .
- /// Interval is defined as the amount of chunks between the current and repeated encoding.
+ /// Finds the closest previous that has the identical .
+ /// Interval is defined as the amount of chunks between the current and repeated patterns.
///
public void FindRepetitionInterval()
{
diff --git a/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/TaikoColourDifficultyPreprocessor.cs b/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/TaikoColourDifficultyPreprocessor.cs
index 5ae659574d..bd46957fc0 100644
--- a/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/TaikoColourDifficultyPreprocessor.cs
+++ b/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/TaikoColourDifficultyPreprocessor.cs
@@ -20,30 +20,30 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Preprocessing.Colour
///
public static void ProcessAndAssign(List hitObjects)
{
- List encodings = encode(hitObjects);
+ List hitPatterns = encode(hitObjects);
// Assign indexing and encoding data to all relevant objects. Only the first note of each encoding type is
// assigned with the relevant encodings.
- foreach (var coupledEncoding in encodings)
+ foreach (var repeatingHitPattern in hitPatterns)
{
- coupledEncoding.Payload[0].Payload[0].EncodedData[0].Colour.CoupledColourEncoding = coupledEncoding;
+ repeatingHitPattern.AlternatingMonoPatterns[0].MonoStreaks[0].HitObjects[0].Colour.RepeatingHitPatterns = repeatingHitPattern;
// The outermost loop is kept a ForEach loop since it doesn't need index information, and we want to
- // keep i and j for ColourEncoding's and MonoEncoding's index respectively, to keep it in line with
+ // keep i and j for AlternatingMonoPattern's and MonoStreak's index respectively, to keep it in line with
// documentation.
- for (int i = 0; i < coupledEncoding.Payload.Count; ++i)
+ for (int i = 0; i < repeatingHitPattern.AlternatingMonoPatterns.Count; ++i)
{
- AlternatingMonoPattern colourEncoding = coupledEncoding.Payload[i];
- colourEncoding.Parent = coupledEncoding;
- colourEncoding.Index = i;
- colourEncoding.Payload[0].EncodedData[0].Colour.ColourEncoding = colourEncoding;
+ AlternatingMonoPattern monoPattern = repeatingHitPattern.AlternatingMonoPatterns[i];
+ monoPattern.Parent = repeatingHitPattern;
+ monoPattern.Index = i;
+ monoPattern.MonoStreaks[0].HitObjects[0].Colour.AlternatingMonoPattern = monoPattern;
- for (int j = 0; j < colourEncoding.Payload.Count; ++j)
+ for (int j = 0; j < monoPattern.MonoStreaks.Count; ++j)
{
- MonoStreak monoEncoding = colourEncoding.Payload[j];
- monoEncoding.Parent = colourEncoding;
- monoEncoding.Index = j;
- monoEncoding.EncodedData[0].Colour.MonoEncoding = monoEncoding;
+ MonoStreak monoStreak = monoPattern.MonoStreaks[j];
+ monoStreak.Parent = monoPattern;
+ monoStreak.Index = j;
+ monoStreak.HitObjects[0].Colour.MonoStreak = monoStreak;
}
}
}
@@ -54,20 +54,20 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Preprocessing.Colour
///
private static List encode(List data)
{
- List firstPass = encodeMono(data);
- List secondPass = encodeColour(firstPass);
- List thirdPass = encodeCoupledColour(secondPass);
+ List monoStreaks = encodeMonoStreak(data);
+ List alternatingMonoPatterns = encodeAlternatingMonoPattern(monoStreaks);
+ List repeatingHitPatterns = encodeRepeatingHitPattern(alternatingMonoPatterns);
- return thirdPass;
+ return repeatingHitPatterns;
}
///
/// Encodes a list of s into a list of s.
///
- private static List encodeMono(List data)
+ private static List encodeMonoStreak(List data)
{
- List encodings = new List();
- MonoStreak? currentEncoding = null;
+ List monoStreaks = new List();
+ MonoStreak? currentMonoStreak = null;
for (int i = 0; i < data.Count; i++)
{
@@ -76,92 +76,92 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Preprocessing.Colour
// This ignores all non-note objects, which may or may not be the desired behaviour
TaikoDifficultyHitObject? previousObject = taikoObject.PreviousNote(0);
- // If this is the first object in the list or the colour changed, create a new mono encoding
- if (currentEncoding == null || previousObject == null || (taikoObject.BaseObject as Hit)?.Type != (previousObject.BaseObject as Hit)?.Type)
+ // If this is the first object in the list or the colour changed, create a new mono streak
+ if (currentMonoStreak == null || previousObject == null || (taikoObject.BaseObject as Hit)?.Type != (previousObject.BaseObject as Hit)?.Type)
{
- currentEncoding = new MonoStreak();
- encodings.Add(currentEncoding);
+ currentMonoStreak = new MonoStreak();
+ monoStreaks.Add(currentMonoStreak);
}
// Add the current object to the encoded payload.
- currentEncoding.EncodedData.Add(taikoObject);
+ currentMonoStreak.HitObjects.Add(taikoObject);
}
- return encodings;
+ return monoStreaks;
}
///
/// Encodes a list of s into a list of s.
///
- private static List encodeColour(List data)
+ private static List encodeAlternatingMonoPattern(List data)
{
- List encodings = new List();
- AlternatingMonoPattern? currentEncoding = null;
+ List monoPatterns = new List();
+ AlternatingMonoPattern? currentMonoPattern = null;
for (int i = 0; i < data.Count; i++)
{
- // Start a new ColourEncoding if the previous MonoEncoding has a different mono length, or if this is the first MonoEncoding in the list.
- if (currentEncoding == null || data[i].RunLength != data[i - 1].RunLength)
+ // Start a new AlternatingMonoPattern if the previous MonoStreak has a different mono length, or if this is the first MonoStreak in the list.
+ if (currentMonoPattern == null || data[i].RunLength != data[i - 1].RunLength)
{
- currentEncoding = new AlternatingMonoPattern();
- encodings.Add(currentEncoding);
+ currentMonoPattern = new AlternatingMonoPattern();
+ monoPatterns.Add(currentMonoPattern);
}
- // Add the current MonoEncoding to the encoded payload.
- currentEncoding.Payload.Add(data[i]);
+ // Add the current MonoStreak to the encoded payload.
+ currentMonoPattern.MonoStreaks.Add(data[i]);
}
- return encodings;
+ return monoPatterns;
}
///
/// Encodes a list of s into a list of s.
///
- private static List encodeCoupledColour(List data)
+ private static List encodeRepeatingHitPattern(List data)
{
- List encodings = new List();
- RepeatingHitPatterns? currentEncoding = null;
+ List hitPatterns = new List();
+ RepeatingHitPatterns? currentHitPattern = null;
for (int i = 0; i < data.Count; i++)
{
- // Start a new CoupledColourEncoding. ColourEncodings that should be grouped together will be handled later within this loop.
- currentEncoding = new RepeatingHitPatterns(currentEncoding);
+ // Start a new RepeatingHitPattern. AlternatingMonoPatterns that should be grouped together will be handled later within this loop.
+ currentHitPattern = new RepeatingHitPatterns(currentHitPattern);
- // Determine if future ColourEncodings should be grouped.
+ // Determine if future AlternatingMonoPatterns should be grouped.
bool isCoupled = i < data.Count - 2 && data[i].IsRepetitionOf(data[i + 2]);
if (!isCoupled)
{
- // If not, add the current ColourEncoding to the encoded payload and continue.
- currentEncoding.Payload.Add(data[i]);
+ // If not, add the current AlternatingMonoPattern to the encoded payload and continue.
+ currentHitPattern.AlternatingMonoPatterns.Add(data[i]);
}
else
{
- // If so, add the current ColourEncoding to the encoded payload and start repeatedly checking if the
- // subsequent ColourEncodings should be grouped by increasing i and doing the appropriate isCoupled check.
+ // If so, add the current AlternatingMonoPattern to the encoded payload and start repeatedly checking if the
+ // subsequent AlternatingMonoPatterns should be grouped by increasing i and doing the appropriate isCoupled check.
while (isCoupled)
{
- currentEncoding.Payload.Add(data[i]);
+ currentHitPattern.AlternatingMonoPatterns.Add(data[i]);
i++;
isCoupled = i < data.Count - 2 && data[i].IsRepetitionOf(data[i + 2]);
}
// Skip over viewed data and add the rest to the payload
- currentEncoding.Payload.Add(data[i]);
- currentEncoding.Payload.Add(data[i + 1]);
+ currentHitPattern.AlternatingMonoPatterns.Add(data[i]);
+ currentHitPattern.AlternatingMonoPatterns.Add(data[i + 1]);
i++;
}
- encodings.Add(currentEncoding);
+ hitPatterns.Add(currentHitPattern);
}
// Final pass to find repetition intervals
- for (int i = 0; i < encodings.Count; i++)
+ for (int i = 0; i < hitPatterns.Count; i++)
{
- encodings[i].FindRepetitionInterval();
+ hitPatterns[i].FindRepetitionInterval();
}
- return encodings;
+ return hitPatterns;
}
}
}
diff --git a/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/TaikoDifficultyHitObjectColour.cs b/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/TaikoDifficultyHitObjectColour.cs
index 708ce8ecd0..c631b8d4a8 100644
--- a/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/TaikoDifficultyHitObjectColour.cs
+++ b/osu.Game.Rulesets.Taiko/Difficulty/Preprocessing/Colour/TaikoDifficultyHitObjectColour.cs
@@ -11,18 +11,18 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Preprocessing.Colour
public class TaikoDifficultyHitObjectColour
{
///
- /// The that encodes this note, only present if this is the first note within a
+ /// The that encodes this note, only present if this is the first note within a
///
- public MonoStreak? MonoEncoding;
+ public MonoStreak? MonoStreak;
///
- /// The that encodes this note, only present if this is the first note within a
+ /// The that encodes this note, only present if this is the first note within a
///
- public AlternatingMonoPattern? ColourEncoding;
+ public AlternatingMonoPattern? AlternatingMonoPattern;
///
- /// The that encodes this note, only present if this is the first note within a
+ /// The that encodes this note, only present if this is the first note within a
///
- public RepeatingHitPatterns? CoupledColourEncoding;
+ public RepeatingHitPatterns? RepeatingHitPatterns;
}
}
diff --git a/osu.Game.Rulesets.Taiko/Difficulty/Skills/Colour.cs b/osu.Game.Rulesets.Taiko/Difficulty/Skills/Colour.cs
index dac0beadda..2d45b5eed0 100644
--- a/osu.Game.Rulesets.Taiko/Difficulty/Skills/Colour.cs
+++ b/osu.Game.Rulesets.Taiko/Difficulty/Skills/Colour.cs
@@ -15,8 +15,8 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Skills
{
protected override double SkillMultiplier => 0.12;
- // This is set to decay slower than other skills, due to the fact that only the first note of each Mono/Colour/Coupled
- // encoding having any difficulty values, and we want to allow colour difficulty to be able to build up even on
+ // This is set to decay slower than other skills, due to the fact that only the first note of each encoding class
+ // having any difficulty values, and we want to allow colour difficulty to be able to build up even on
// slower maps.
protected override double StrainDecayBase => 0.8;