IBeatmapDifficultyInfo.(Inverse)DifficultyRange()
Also adds explicit references to places from where the magic constants were lifted.
GetRateAdjustedDisplayDifficulty
This mirrors stable. Although the way stable does this is pretty dodgy, see: https://github.com/peppy/osu-stable-reference/blob/master/osu!/GameModes/Play/Rulesets/Fruits/RulesetFruits.cs#L274-L275
removed functions from `Ruleset.cs` and added a `GetEffectiveDifficulty()` instead
1) Now it use AR/OD calculation from Ruleset class 2) Implemented needed functions in each of default rulesets
ModScoreV2
LegacyMods
ILegacyScoreProcessor
ILegacyScoreSimulator
CreateLegacySkinProvider
CreateSkinTransformer
# Conflicts: # osu.Game.Rulesets.Catch/CatchRuleset.cs # osu.Game.Rulesets.Osu/OsuRuleset.cs # osu.Game.Rulesets.Taiko/TaikoRuleset.cs # osu.Game/Rulesets/Ruleset.cs
"internal"
But seems some of the customized ruleset use it for save the replay frame.
DifficultyCalculator
IRulesetInfo
IWorkingBeatmap
Out of the scope of this PR
Add "placeholder" (pre-MVP) implementation of osu!catch editor
LegacySkinTransformer
ISkin
ISkinSource