ppy / osu

rhythm is just a *click* away!
https://osu.ppy.sh
MIT License
14.66k stars 2.16k forks source link

Editor should implicitly mark spinners (or allow them to be marked) as new combo #24156

Open NiceAesth opened 1 year ago

NiceAesth commented 1 year ago

Type

Game behaviour

Bug description

In order to reproduce:

  1. Edit a beatmap
  2. Place a spinner
  3. Add a new combo to the spinner
  4. Save
  5. Edit map again

The spinner will no longer have a new combo

Screenshots or videos

https://github.com/ppy/osu/assets/8437201/2a5c8f1a-7f14-4e60-9a77-5fd42669e5e0

Version

2023.621.0

Logs

input.log legacy-ipc.log network.log performance.log performance-draw.log performance-update.log runtime.log updater.log database.log

bdach commented 1 year ago

It's probably this:

https://github.com/ppy/osu/blob/214908514f02053f2b53383665a9fdedf186d1a7/osu.Game/Rulesets/Objects/Legacy/Osu/ConvertHitObjectParser.cs#L63-L66

Not sure how feasible this is to fix. New combo on a spinner has basically no meaning anyway.

Skubers commented 1 year ago

Yeah, on stable spinners get New Combo'd automatically and cannot be unNewCombo'd so I'd assume it should be similar in lazer

peppy commented 12 months ago

Note that we may not go forward with this behaviour given the future of spinners (they may exist in a combo). But we will revisit the behaviour.

Digitalfear117 commented 2 months ago

Just made a map in lazer, exported it in legacy .osz format, and then opened it up in stable. AiMod complains that the spinners must have a new combo. Maybe spinners should get new combos when exporting for .osz compatibility? However, now that pp has been turned on I'm not sure if this is has the possibility of changing anymore.

image

smoogipoo commented 2 months ago

I don't think that this is important to fix primarily because both games handle spinners and their combo external to that flag. Handling this in lazer means that we'd need some way to signal "this hitobject always has a new combo" which sort of short-circuits a bunch of logic that gets ugly to handle.

For example - do you expect the NewCombo button to light up as soon as you click the spinner button? Do you expect it to dim when you click off the spinner button? Both sound logical to me but that means there needs to be some sort of intermediate state that tells the button that the user hasn't actually clicked it. That's just one of the issues that comes up but there are a myriad of others.

Also, we've long had this idea that spinners may become smaller gameplay components at some point in the future. If that happens then osu!stable's AiMod wouldn't be able to handle it anyway.