-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sliders can have zero length #10959
Comments
Any updates on a potential solution? I'm debugging through just to see if I can find what's causing it and it seems like the following snippet should handle this case (for spinners at least) osu/osu.Game/Screens/Edit/Compose/Components/Timeline/TimelineHitObjectBlueprint.cs Lines 390 to 391 in fd45d8c
|
@vmaggioli At the point at which you're already debugging this, you should be looking to find out an answer yourself. That said, as a hint, the conditional that you pointed to does not do what you think it does. The spinner can - expectedly - get a zero duration when |
I can still replicate this. https://youtu.be/BKNTfaXuF_4 |
Can you explain the repro case? Is copy-pasting the slider enough to trigger this? |
I can reproduce. As far as I can tell it needs to be an existing slider from a map that wasn't created using the lazer editor, for whatever reason. So any plain ol' map imported from direct can be used to repro. |
Sliders can be modified to zero length if another slider with length >minimum length is copypasted on top of it. (apparently only applies to sliders from existing maps) I also found another way of creating zero length sliders which abuses the perfect curve algorithm and the transformation box. Since the transformation box interacts with all mouse buttons, I can left-click hold and drag the middle controlpoint of a three-point slider out to the transformation box and then right-click hold to modify the slider in both ways at once It also works the other way around by dragging the box and then the middle anchor point |
@Pennek Going to need a video showing what you mean for the first reported case of this. I have no idea how to reproduce. |
I also can't reproduce your multi-mouse-button example. Does this still occur on the latest release? As an update, I have been able to reproduce something similar without the case you mention in either of your reproductions. It looks to involve the logic flow when the type of curve changes as a result of exceeding the gamefield bounding box ( |
Further investigation shows that we aren't reverting the path control point I think this is where we need to rewrite the "attempt mutation" operation to be more resilient... |
Looks like I found another way to place zero-length slider by dragging slider end across different bpm. This attempt can also cause crash when attempt to drag the end node. osu._8J9CLgbXBf.mp4After further testing I think the bpm thing probably unnecessary but no idea. This requires to move the mouse by a very small distance. osu._kXAd3wIbAZ.mp4database.log Version: 2022.1208.0 |
I recently found a way to create a zero length slider with the use of distance snap, although this is not very consistent and I was only able to reproduce it on several maps, only under specific conditions. Steps used to reproduce:
video example My video example here includes this set: https://osu.ppy.sh/beatmapsets/1139462#osu/2380150 If I export the result for compatibility and look at the .osu file, the slider is represented by this line: The "valid spot in a timeline" conditions are unknown to me. From my testing, even editing the objects before the red (1) circle changed the ability to reproduce this issue. 2024.221.0-lazer |
Sliders and spinners can be modified to have zero length. Sliders by using transformation tools, and spinners by dragging in the timeline. It looks like spinners can also be dragged into negative values (as seen on the video where only the number is left)
video: https://youtu.be/ypFaliLLgi8
osu!lazer version: 2020.1121.0
The text was updated successfully, but these errors were encountered: