Commit Graph

2565 Commits

Author SHA1 Message Date
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
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
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
Dean Herbert 9840a07eaf
Fix osu!mania hold notes playing a sound at their tail in the editor
Closes #29584.
2024-08-27 14:06:02 +09:00
Dean Herbert 48cfd77ee8
`Component` -> `Lookup` 2024-08-23 14:48:50 +09:00
Dean Herbert 46d55d5e61
Remove remaining early `base` lookup calls which were missed 2024-08-22 20:13:28 +09:00
Dean Herbert 1435fe24ae
Remove requirement of `base` calls to ensure user skin container layouts are retrieved 2024-08-22 19:14:30 +09:00
Dean Herbert b57b8168a6
Rename `Target` lookup to `Component` 2024-08-22 19:00:28 +09:00
Dean Herbert 9a21174582
Move `GlobalSkinnableContainers` to global scope 2024-08-22 18:46:07 +09:00
Dean Herbert 36b4013fa6
Rename `GameplaySkinComponentLookup` -> `SkinComponentLookup` 2024-08-22 18:46:03 +09:00
Dean Herbert f37cab0c6e
Rename `SkinComponentsContainerLookup` to `GlobalSkinnableContainerLookup` 2024-08-22 18:39:36 +09:00
Salman Ahmed 4d74625bc7 Fix mania combo counter positioning break on centre anchor 2024-08-20 12:39:51 +09:00
Dean Herbert 5710f0f302
Merge pull request #26254 from frenzibyte/mania-combo-counter
Add argon/classic osu!mania combo counter
2024-08-15 17:56:28 +09:00
Salman Ahmed 7427237873 Try make code look better 2024-08-15 17:03:08 +09:00
Salman Ahmed 358572ebb3 Update code order to match everything else 2024-08-15 16:57:29 +09:00
Salman Ahmed a421231aad Fix beatmap skin on mania breaking HUD apart 2024-08-15 16:55:05 +09:00
Salman Ahmed 66adddbfb8 Actually bring back position-flipping logic and disable "closest" anchor 2024-08-15 15:50:32 +09:00
Salman Ahmed 3a4546d62d Remove `x` symbol from argon mania combo counter 2024-08-15 15:08:35 +09:00
Salman Ahmed ff1ab2bb0e Remove position-flipping logic from mania combo counters for now
We need a general method to do this amicably, such as an HUD target that flips the position of its children when the direction is flipped. Something to consider later.
2024-08-15 15:02:18 +09:00
Dean Herbert 7c142bcedf
Fix incorrect anchor handling in `ArgonManiaComboCounter` 2024-08-14 15:12:23 +09:00
Dean Herbert e465049050
Merge branch 'master' into mania-combo-counter 2024-08-14 15:12:00 +09:00
Dean Herbert 2221c4891f
Remove legacy non-pooled pathway to `DrawableJudgement` 2024-08-13 21:03:00 +09:00
Dean Herbert 4f37643780
Revert "Make `ManiaAction` start at `1`"
This reverts commit 952a73b005.
2024-08-13 16:38:56 +09:00
Dean Herbert 952a73b005
Make `ManiaAction` start at `1` 2024-08-13 15:51:33 +09:00
Dan Balasescu 12a1889fac
Use key offsets instead of cast 2024-08-13 14:03:26 +09:00
Dean Herbert 161734af95
Simplify argon mania combo counter implementation by sharing with base counter 2024-08-09 15:46:57 +09:00
Dean Herbert 3f20f05801
Remove unnecessary `UsesFixedAnchor` specifications 2024-08-09 15:39:01 +09:00
Dean Herbert 7666e8b932
Remove `SupportsClosestAnchor` for the time being
This may have had a good reason to be added, but I can't find that
reason, so let's keep things simple for the time being.
2024-08-09 15:30:21 +09:00
Dean Herbert 80c814008f
Update in line with new changes 2024-08-09 14:55:01 +09:00
Dean Herbert e645651ef4
Merge branch 'master' into mania-combo-counter 2024-08-09 00:19:17 +09:00
clayton 5ad255ecbe
Remove special actions from `Stage` constructor 2024-08-07 14:36:04 -07:00
clayton e7f9bba9b5
Fix replay frames and auto generator 2024-08-07 14:36:04 -07:00
clayton 606b0556d5
Fix key binding generators 2024-08-07 14:36:03 -07:00
clayton 85805bffde
Remove `Special#` values from `ManiaAction` and remove enum offset 2024-08-07 14:36:03 -07:00
Givikap120 174f4d3ab7 fixed CI 2024-08-05 17:02:37 +03:00
Givikap120 e6fc4f6766 merged multipliers 2024-08-05 16:33:42 +03:00
Dean Herbert f500abd4f7 Make "Hold Off" and "No Release" mod incompatible 2024-07-19 14:08:39 +03:00
Nathan Du 00ed7a7a2f Fix hold note light lingering with No Release
Turns out endHold() is not called in the Tail.IsHit branch of the
hold notes' CheckForResult method.
2024-07-18 16:08:30 +08:00
Dan Balasescu 00cab0ec0a
Merge pull request #28809 from bdach/mania-timeline-zooms-composer
Match mania editor playfield time range with timeline zoom
2024-07-11 15:41:26 +09:00
Bartłomiej Dach 92dc125d39
Match mania editor playfield time range with timeline zoom 2024-07-10 17:36:39 +02:00
Bartłomiej Dach fa749d317e
Enable NRT on `ManiaHitObjectComposer` 2024-07-10 15:12:03 +02:00
Bartłomiej Dach c8a64c5950
Remove setup screen controls that do nothing useful
Before I go with a hammer to redesign these, I want to remove stuff that
does nothing first.

Hard-breaks API to allow rulesets to specify an enumerable of custom
sections rather than two specific weird ones.

For specific rulesets:

- osu!:
  - Stack leniency slider merged into difficulty section.
- osu!taiko:
  - Approach rate and circle size sliders removed.
  - Colours section removed.
- osu!catch:
  - No functional changes.
- osu!mania:
  - Special style toggle merged into difficulty section.
  - Colours section removed.
2024-07-10 14:53:16 +02:00