forum

Questions about how timing points work

posted
Total Posts
5
Topic Starter
Vysion
I converted a BMS map (aleph-0) into osz, and to check that everything was fine, I opened the editor. Before this, my initial approach was to use uninherited timing points as tempo changes, but they don't change SV. So, I moved to using inherited timing points. However, in some points of the map the bpm reaches ~9 million, which translates to about x40000 relative to the starting BPM.



My questions from this point are, how precise is osu with parsing these multipliers? the timestamps originating around 5701 ms are not actually overlapping. Here's a reference of the same chart, into a different game.

Also, does osu care if the value exceeds a certain number? The editor clamps it to 10.



Also, is osu fine with multipliers really being 0? I set the timing point at ~30 ms to 0.000001. (The duplicate at the same point was an accident).
gummibar
hello!

i think this is regarding mania and not standard, so i'm going to spit out some of my standard facts and hope that it carries over.

osu is not precise with parsing these multipliers, as the client only ever updates on 1ms intervals. no decimals.

you are absolutely correct when you state that the sv is clamped to 10x. the only way to exceed this is through bpm changes (although, you said something about bpm changes not affecting it, so this may not work in mania). it also has a minimum of 0.10x, so 0x is right out. it wont break the game or anything, it will just load as 0.10.

Topic Starter
Vysion
First off, thanks for this additional information. I took a look at the map, and yeah, it does look like the map is using bpm to stay within the clamp range. Looks like it also uses a decimal in some portions of the map's timing points, e.g. 40000.1. (i don't think this is very significant though)

At this point it's just a matter of trying to figure out how I can adjust the bpm and inherited timing points under that to match around 10 million bpm, lol. I am sure there is already a formula for finding this, but i can't find it.

I am also not entirely sure how I can use bpm to stay within the range, even looking at the map. if anyone has an idea of how to do this please let me know.
gummibar
hi!

the decimals being used in the timing points is curious to me. i honestly now can not be sure if timing points are only processed to zero decimal places. osu! does not automatically change these numbers back to zero decimals, which is strange as that is how it handles nearly all values which are rounded or clamped. in fact, it clamps them specifically to 10 decimal places. despite this, the official osu wiki states that this value should be an integer. weird. really weird. you may have to find out if this works yourself. I would now presume that it does parse up to 10 decimal places, but I'm now far from certain. Sorry for any confusion.
Topic Starter
Vysion
Yeah, regarding what you said about the file format requiring the times to be integers, I think your claim that they are parsed as decimals is correct. Last night, I was able to convert Aleph-0 to an osz successfully, and it appears that osu doesn't actually care that the timing points are decimals, or the storyboarded sound effects. E.g. these are the first few timing points:

85,240,4,2,0,25,1,0
115,245760.025166,4,2,0,25,1,0
115,-100,4,2,0,25,0,0
5786.385196,0.006006,4,2,0,25,1,0
5786.385196,-100,4,2,0,25,0,0

So it seems that osu doesn't produce any errors. In fact, it's able to replicate all of the "glitchy" parts just fine. here's the actual file: https://www.mediafire.com/file/g3x8k7dmf4wo2sd/LeaF_-_Aleph-0%255BINSANE%255D.osz/file. Maybe someone should update the wiki to change the types, because it might throw off future developers?

I cannot be entirely sure if hit objects work the same way, since I truncated the precision off. I will definitely test this later, though.

Regarding slider velocities, I was able to get that to work by just appending an uninherited timing point with said BPM, and an inherited timing point with a multiplier of 1.0. (Apparently that's how you change svs in mania.)
Please sign in to reply.

New reply