1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-18 11:02:57 +08:00
Commit Graph

2606 Commits

Author SHA1 Message Date
Bartłomiej Dach
1057aa867f
Merge pull request #30984 from smoogipoo/fix-mania-spinner-conversion
Fix "spinner" conversion for mania-specific beatmaps
2024-12-19 15:30:10 +01:00
Dan Balasescu
d597232c2a
Fix incorrect lastPattern value
In particular, mania-specific beatmaps that normally go via the
"passthrough" generator should not adjust the stored pattern value.

The "spinner" generator, which was previously intended to be used for
non-mania-specific beatmaps, is now valid even for mania-specific
beatmaps, and uses this value.

In other words, another way of writing this would be:
```csharp
if (conversion is SpinnerPatternGenerator || conversion is
PassThroughPatternGenerator) ? lastPattern : newPattern;
```
2024-12-13 16:08:12 +09:00
Dan Balasescu
ec8b320e21
Handle non-legacy types
Also used in some tests (e.g. beatmaps containing `HitCircle`s).
2024-12-06 17:47:49 +09:00
Dan Balasescu
e703d9e814
NRT refactorings + rename generators to match usage
In particular, "EndTimeObject" is no longer correct - it's strictly used
for spinners and not holds.
2024-12-06 17:16:04 +09:00
Dan Balasescu
1bbf32d567
Add some explanatory comments
In particular, the spinner one is the most relevant to this batch of
changes.
2024-12-06 16:40:29 +09:00
Dan Balasescu
e8728abc00
Rename LegacyPatternGenerator to stop naming conflicts 2024-12-06 16:40:29 +09:00
Dan Balasescu
e65f8ba7a0
Simplify implementation 2024-12-06 16:40:29 +09:00
Dan Balasescu
8e1bd98386
Split out + rename PassThroughPatternGenerator
Better symbolises the intent of this generator which is to convert
hitobjects in their most simple forms - anything with an end time
converts to a hold or otherwise converts to a normal note.
2024-12-06 16:40:29 +09:00
Dan Balasescu
8b456e1379
Always convert mania spinners
A big part of these changes is refactoring, which is somewhat necessary
because it was previously implemented as two separate pathways which
in-fact need to be joined at the hip when handling spinners.

I've chosen to use `IHasLegacyHitObjectType` here because there's no
other flag that allows us to tell `ConvertHold` apart from
`ConvertSpinner`.
2024-12-06 16:40:28 +09:00
Huo Yaoyuan
d92ea910cf Merge branch 'master' into netcore-analyzer 2024-12-05 17:18:56 +08:00
Dean Herbert
5b2558cec2
Merge pull request #28473 from bdach/beatmap-info-purge
Move unnecessary properties from `BeatmapInfo` / realm to `IBeatmap`
2024-12-02 16:19:12 +09:00
Huo Yaoyuan
fa3c95c296 Merge branch 'master' 2024-11-30 01:07:08 +08:00
Huo Yaoyuan
fced254594 Enable selected rules for usage 2024-11-28 22:33:03 +08:00
Bartłomiej Dach
98a156ae2d
Merge pull request #30874 from peppy/chat-order
Sort public chat channels alphabetically, private channels based on recent messages
2024-11-28 12:46:14 +01:00
Bartłomiej Dach
cf905d0f5c
Merge branch 'master' into beatmap-info-purge 2024-11-26 10:21:16 +01:00
Dean Herbert
c844d65a81
Use TryGetValue wherever possible
Rider says so.
2024-11-22 19:11:16 +09:00
Dean Herbert
086a34f5c0
Merge branch 'master' into beatmap-info-purge 2024-11-22 18:47:32 +09:00
Dean Herbert
29757ffdf2
Allow setting osu!mania scroll speed to single decimal precision
Addresses https://github.com/ppy/osu/discussions/30663.
2024-11-22 17:36:28 +09:00
Dean Herbert
6a0ac4c29e
Merge pull request #29640 from smoogipoo/mania-imperfect-ss
Make mania award SS even if there are GREAT judgements
2024-11-22 14:42:32 +09:00
Bartłomiej Dach
15a8cfe685
Fix mania notes disappearing on seek to their end time 2024-11-18 14:37:09 +01:00
Bartłomiej Dach
4ae13cfd60
Remove unused resolved property 2024-11-15 10:58:06 +01:00
Bartłomiej Dach
e5480f8346
Adjust appearance of placement blueprints to be closer to previous 2024-11-15 10:37:56 +01:00
Bartłomiej Dach
0c4c9bd237
Fix incorrect selection hold note blueprint display when upscroll active 2024-11-15 10:27:07 +01:00
Bartłomiej Dach
4c147327df
Fix code quality 2024-11-15 10:19:34 +01:00
Bartłomiej Dach
33b2197e5e
Merge branch 'master' into improve-mania-selection-blueprints 2024-11-15 10:19:08 +01:00
Dean Herbert
54ca705680
Merge branch 'master' into hs-toggle2 2024-11-13 19:15:00 +09:00
Dan Balasescu
60d45d44bb
Merge pull request #30536 from stanriders/add-diffcalc-helpers
Add `DifficultyCalculationUtils`
2024-11-13 17:49:40 +09:00
Bartłomiej Dach
8458756402
Adjust appearance a third time 2024-11-12 14:26:13 +01:00
Salman Alshamrani
3268008d21 Fix stage line alignment in mania not matching stable 2024-11-12 04:07:27 -05:00
StanR
78c97d2cd7 Add DifficultyCalculationUtils 2024-11-07 20:36:00 +05:00
Bartłomiej Dach
dba065302d
Adjust appearance once more 2024-11-07 13:41:41 +01:00
Bartłomiej Dach
e058f98bad
Remove unused field 2024-11-07 09:36:28 +01:00
Bartłomiej Dach
98ae45d763
Adjust appearance further in response to feedback 2024-11-07 09:18:57 +01:00
Bartłomiej Dach
aede94a3f3
Use box variant of selection always 2024-11-07 08:41:38 +01:00
Bartłomiej Dach
dfda5e1b66
Improve visual appearance of mania selection blueprints 2024-11-05 15:25:29 +01:00
Bartłomiej Dach
f2afec23f9
Merge branch 'master' into hs-toggle2 2024-11-01 18:44:33 +01:00
Bartłomiej Dach
59655a1830
Fix flip operations sometimes not preserving selection
Closes https://github.com/ppy/osu/issues/30250.
2024-10-14 14:50:01 +02:00
Bartłomiej Dach
1af464d5ae
Bump difficulty calculator versions
In order for the new star difficulty to be shown to users on the next
release.

catch's difficulty calculator version is not bumped because the only
catch change pending deploy is https://github.com/ppy/osu/pull/28353 and
that affects performance points only.
2024-10-07 15:38:41 +02:00
Bartłomiej Dach
7816c41b94
Only transfer difficulty slider values on commit
Closes https://github.com/ppy/osu/issues/30112.
2024-10-04 14:08:46 +02:00
Bartłomiej Dach
99eb26b7d5
Redo the layout of sections based on discord feedback
See
https://discord.com/channels/188630481301012481/188630652340404224/1291358770064130140
and everything after.
2024-10-03 13:53:21 +02:00
Bartłomiej Dach
b15608343b
Replace setup screen controls with new "form" controls 2024-10-03 11:49:03 +02:00
Dean Herbert
d9de2ad97b
Merge pull request #29899 from bdach/mania-selection-dropped
Ensure selection is preserved when moving selection between columns
2024-09-27 18:11:23 +09:00
Dean Herbert
ce41dc4629
Use bindable flow for zoom handling 2024-09-27 17:13:26 +09:00
OliBomby
e3b4483872 Refactor PlacementBlueprint to not be hitobject specific 2024-09-24 20:31:00 +02:00
Bartłomiej Dach
20b1d76269
Ensure selection is preserved when moving selection between columns
Closes https://github.com/ppy/osu/issues/29793.

I believe that the sequence of events that makes this happens is as
follows:

- User selects a range of objects. Some of those objects are off-screen,
  and thus would be presumed to be not alive - except the blueprint
  container forces them to remain alive, because they're part of the
  selection.

- User moves the selection to another column, which is implemented by
  temporarily removing the objects from the playfield, changing their
  column, and re-adding them.

  This sort of pattern is supposed to kick off the
  `HitObjectUsageTransferred` flow in `HitObjectUsageEventBuffer` - and
  it does... for objects that are *currently visible on screen* and thus
  would be alive regardless of `SetKeepAlive()`. However, this does not
  hold for objects that are off-screen - nothing ensures they are kept
  alive again after re-adding, and thus they inadvertently become dead.

- Thus, this doesn't kick off the `BlueprintContainer` flows associated
  with transferring objects to another column, and instead fires the
  removal flows, which ensure that the off-screen objects that were
  being moved are instead deselected.

I tried a few other options but found no better resolution than this -
calling `SetKeepAlive()` directly would require making it public, which
seems like a bad idea. There's really no good way to generically handle
this either, because it is the ruleset that decides that its way of
implementing this operation will be a removal and re-add of objects,
so...
2024-09-17 13:18:18 +02:00
Dean Herbert
58fe502af4
Merge branch 'master' into beatmap-info-purge 2024-09-15 04:53:35 +09:00
Dan Balasescu
c7a2e79b6e
Merge branch 'master' into pp_refactoring_merge_multipliers 2024-09-12 16:22:55 +09:00
Bartłomiej Dach
d8a745ec04
Decouple legacy mania combo counter from abstract eldritch entity 2024-09-11 11:44:57 +02:00
Dan Balasescu
7f41d5f4e7
Remove mouse input from mania touch controls 2024-08-30 16:32:15 +09:00
Dan Balasescu
d59d5685d0
Make mania award SS even if there are GREAT judgements 2024-08-29 20:21:59 +09:00