forum

[resolved] How do I get SV from timing points?

posted
Total Posts
2
Topic Starter
endynator
I encountered a problem while trying to use parsed sliders from
an osu!std level. I want to find slider's time length (ms) for 1 slide.
Timing Points wiki states that:
beatLength (Decimal): This property has two meanings:
For inherited timing points, a negative inverse slider velocity multiplier, as a percentage. For example, -50 would make all sliders in this timing section twice as fast as SliderMultiplier.
I wanted to use this:
Notice: The slider's length can be used to determine the time it takes to complete the slider.
length / (SliderMultiplier * 100 * SV) * beatLength tells how many milliseconds it takes to complete one slide of the slider (where SV is the slider velocity multiplier given by the effective inherited timing point, or 1 if there is none).
to calculate time it takes for a 1 slide to be complete. I don't understant what effective inherited timing point means.

Since timing points doesn't have SV but instead "a negative inverse slider velocity multiplier" I struggle to find SV.

Solution


formula: length / (SliderMultiplier * 100 * SV) * beatLength
If no inherited timing points -> SV = 1
If there is an inherited timing point -> SV = -(1/iTpBeatLength)*100.
Thus, final formula is:
length / (SliderMultiplier * 100 * (-(1/iTpBeatLength)*100)) * uTpbeatLength

iTpBeatLength - inheritedTimingPointBeatLength a.k.a. "negative inverse slider velocity multiplier".
uTpBeatLength - unheritedTimingPointBeatLength a.k.a beat length.
Example:
uninheritedTimingPoint: 1656,327.868852459016,4,2,0,100,1,0 where 327.868852459016 is our value.
InheritedTimingPoint: 1656,-125,4,2,0,100,0,0 where -125 is our value.

Appologies, if the explanation was unclear.
IkonikFYT
I've been literaly searching how to recreate osu sliders but i could never get the slider length right. I realised now that i was calculating the sv the wrong way. Thanks
Please sign in to reply.

New reply