1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-12 23:12:59 +08:00
Commit Graph

2631 Commits

Author SHA1 Message Date
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
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
d707e29ff7
Merge branch 'master' into beatmap-info-purge 2024-07-23 12:09:32 +09: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
Salman Ahmed
371ca4cc4b Remove unnecessary null-conditional operators 2024-07-04 05:43:43 +03:00
Dean Herbert
5350945340
Update HasFlag usages 2024-07-03 00:19:04 +09:00
Nathan Du
1eb10e029c Rewrite no release mod
Per the request of spaceman_atlas, the No Release mod is rewritten to
avoid modifications to DrawableHoldNoteTail. The approach is based
on that of the Strict Tracking mod for the osu!(standard) ruleset,
injecting the mod behavior by replacing the normal hold note with
the mod's variant. The variant inherits most bevaior from the normal
hold note, but when creating nested hitobjects, it creates its own
hold note tail variant instead, which in turn is used to instantiate
the mod's variant of DrawableHoldNoteTail with a new behavior.

The time a judgement is awarded is changed from the end of its
Perfect window to the time of the tail itself.
2024-07-01 20:29:30 +08:00
Nathan Du
960d552dc1 Initial implemention of the No Release mod
This commit adds a new osu!mania mod No Release that relaxes tail
judgements. The current implementation automatically awards Perfect
(or Meh if the hold note is broken midway) for a hold note tail at
the end of its Perfect window, as long as it is held by then.

Tests are pending for the next commit.
2024-06-28 22:21:08 +08:00
Bartłomiej Dach
1eac0c622a
Fix legacy skin hold note bodies not appearing when scrolling upwards
- Closes https://github.com/ppy/osu/issues/28567.
- Regressed in https://github.com/ppy/osu/pull/28466.

Bit of a facepalm moment innit...
2024-06-25 10:35:36 +02:00
Dean Herbert
e6187ebec0
Fix nullability insepction 2024-06-18 15:13:52 +08:00
Bartłomiej Dach
366ba26cb6
Adjust calls to DrawableExtensions.With<T>() 2024-06-18 07:41:20 +02:00
Bartłomiej Dach
fdb63bd7cd
Merge pull request #28466 from smoogipoo/fix-long-hold-length
Fix missing texture on extremely long hold notes
2024-06-13 09:13:03 +02:00
Dan Balasescu
1ff20cc13d
Fix missing texture on extremely long hold notes 2024-06-13 15:19:41 +09:00
Bartłomiej Dach
feadf7a56e
Allow modifying hold note start/end time via mania composer playfield 2024-06-12 15:30:27 +02:00
Bartłomiej Dach
011c2e3651
Move SpecialStyle out of BeatmapInfo 2024-06-12 13:12:30 +02:00
Dean Herbert
2a8bd8d968
Fix failing tests due to missing DI pieces 2024-06-12 11:23:56 +08:00
Bartłomiej Dach
da53a11d3c
Attempt full editor reload on key count change 2024-06-11 11:31:49 +02:00
Bartłomiej Dach
10af642342
Split mania difficulty section implementation off completely from base
- "Circle size" / key count needs completely different handling.
- Approach rate does not exist in mania.
2024-06-11 11:30:20 +02:00
Bartłomiej Dach
629e7652c0
Implement flip operations in mania editor 2024-06-07 09:01:41 +02:00
Bartłomiej Dach
bf0040447c
Fix legacy mania note body animation not resetting sometimes
Hopefully closes https://github.com/ppy/osu/issues/28284.

As far as I can tell this is a somewhat difficult one to reproduce
because it relies on a specific set of circumstances (at least the
reproduction case that I found does). The reset to frame 0 would
previously be called explicitly when `isHitting` changed:

    182ca145c7/osu.Game.Rulesets.Mania/Skinning/Legacy/LegacyBodyPiece.cs (L144)

However, it can be the case that `bodyAnimation` is not loaded at the
point of this call. This is significant because
`SkinnableTextureAnimation` contains this logic:

    182ca145c7/osu.Game/Skinning/LegacySkinExtensions.cs (L192-L211)

which cannot be moved any earlier (because any earlier the `Clock` may
no longer be correct), and also causes the animation to be seeked
forward while it is stopped.

I can't figure out a decent way to layer this otherwise (by scheduling
or whatever), so this commit is just applying the nuclear option of just
seeking back to frame 0 on every update frame in which the body piece is
not being hit.
2024-05-28 15:29:15 +02:00
Bartłomiej Dach
97de73b99c
Do not change mania column width on mobile platforms
- Closes https://github.com/ppy/osu/issues/25852
- Reverts https://github.com/ppy/osu/pull/25336 /
  https://github.com/ppy/osu/pull/25777

With the columns not being directly touchable anymore after
https://github.com/ppy/osu/pull/28173 I see very little point to this
continuing to exist.
2024-05-16 08:21:52 +02:00
Bartłomiej Dach
3d190f7e88
Remove redundant cast 2024-05-14 18:41:15 +02:00
Dean Herbert
f781dc3300
Remove touch mod addition to mania
Feels a bit pointless? I dunno.
2024-05-14 22:38:31 +08:00
Dean Herbert
5c9a90cb40
Tidy class and change to be a VisibilityContainer similar to taiko implementation 2024-05-14 22:34:05 +08:00
Dean Herbert
390557634a
Rename touch area class to match existing usage (see taiko) 2024-05-14 22:34:05 +08:00
Dean Herbert
12e98fe55d
Move out of playfield so touch overlay is not affected by playfield position 2024-05-14 22:34:05 +08:00
Dan Balasescu
a761a7bced
Hook up touch device mod 2024-05-14 19:14:58 +08:00
Dan Balasescu
e3f2e1ba08
Add opacity setting 2024-05-14 19:14:50 +08:00
Dan Balasescu
39337f5189
Hook up input manager 2024-05-14 19:14:50 +08:00
Dan Balasescu
ef40197713
Add mania touch overlay
Adjust default anchor/origin
2024-05-14 19:14:50 +08:00
Dan Balasescu
4f6777a0a1
Remove existing per-column touch input 2024-05-14 19:10:14 +08:00
Dan Balasescu
362a7b2c77
Remove unused members from GameplaySkinComponentLookup 2024-04-19 18:03:13 +09:00
Dan Balasescu
343b3ba0e6
Don't re-filter unless mods may change the filter 2024-04-15 21:07:36 +09:00
Dan Balasescu
8e0ca11d1c
Fully qualify LegacyBeatmapConversionDifficultyInfo 2024-04-01 17:02:32 +09:00
Dan Balasescu
9fd6449fd8
Add mods to FilterCriteria, pass to ruleset method 2024-03-28 23:03:26 +09:00
Dan Balasescu
c08a4898b2
Refactor score simulator to use GetColumnCount() 2024-03-28 22:58:39 +09:00
Dan Balasescu
ce21235db4
Remove unused OriginalTargetColumns 2024-03-28 22:51:13 +09:00
Dan Balasescu
10edb54614
Add ability to query key count with mods 2024-03-28 22:51:12 +09:00
Dan Balasescu
64399e9dd9
Refactor pattern generation to not require ManiaBeatmap 2024-03-28 22:32:27 +09:00