Isolates different usages of hitcircle scale so they can't ever cause regressions.
also OsuSetting to GameSetting
This is a significant performance boost for gameplay, especially for long or stroyboard-heavy maps.
Also Curve -> Path.
# Conflicts: # osu.Game.Rulesets.Osu/Edit/Masks/SliderMasks/Components/SliderBodyPiece.cs # osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs
# Conflicts: # osu.Game.Rulesets.Osu/Edit/Layers/Selection/Overlays/SliderMask.cs
The snaking logic contains a lot of caching/optimisations and offsetting of the path which is tedious to re-compute when the path changes.
# Conflicts: # osu.Game.Rulesets.Catch/UI/CatchRulesetContainer.cs # osu.Game.Rulesets.Mania/Edit/ManiaEditRulesetContainer.cs # osu.Game.Rulesets.Osu/Edit/OsuEditRulesetContainer.cs # osu.Game/Rulesets/UI/RulesetContainer.cs
# Conflicts: # osu.Game.Rulesets.Osu.Tests/TestCaseHitCircle.cs # osu.Game.Rulesets.Osu/Objects/Drawables/DrawableOsuHitObject.cs # osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBall.cs