1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-18 03:52:54 +08:00
Commit Graph

15190 Commits

Author SHA1 Message Date
Joseph Madamba
334f5fda2d Remove direct margin set in popover that was causing positioning offset 2024-07-27 19:02:57 -07:00
Joseph Madamba
04b15d0d38 Remove unnecessary ReceivePositionalInputAt
Results is not even using the new footer.
2024-07-27 19:02:43 -07:00
Joseph Madamba
b4ca07300a Use same size button for everything 2024-07-27 18:43:54 -07:00
Joseph Madamba
b5ff2dab43 Move some properties/bindables around 2024-07-27 18:42:49 -07:00
Joseph Madamba
aed2b3c7c6 Inherit GrayButton instead
Also fixes hover highlight.
2024-07-27 18:42:49 -07:00
Joseph Madamba
d55e861b90 Fix daily challenge background clipping when settings/notifications is opened 2024-07-26 16:55:15 -07:00
Dean Herbert
9323f89357
Fix "Beatmap not downloaded" tooltip hint not showing in daily challenge 2024-07-27 02:06:56 +09:00
Dean Herbert
0421e1e9d0
Reduce number spacing a bit more 2024-07-26 23:21:44 +09:00
Dean Herbert
96049807c4
Adjust weight and text in event feed output
Just some minor adjustments.
2024-07-26 23:20:32 +09:00
Dean Herbert
4fa6a19409
Merge pull request #29108 from bdach/daily-challenge/better-breakdown
Improve score breakdown on daily challenge
2024-07-26 23:12:04 +09:00
Dean Herbert
47eca0eb37
Merge pull request #29101 from bdach/daily-challenge/fix-preview-track
Fix preview tracks not stopping playback when suspending/exiting daily challenge screen
2024-07-26 21:52:26 +09:00
Dean Herbert
6f7d05d5a0
Merge pull request #29104 from bdach/daily-challenge/fix-no-audio-adjustments
Fix daily challenge screen not applying track adjustments from mods
2024-07-26 21:51:58 +09:00
Bartłomiej Dach
0996f9b0b5
Fix code quality 2024-07-26 14:45:39 +02:00
Dean Herbert
1607075e0c
Merge pull request #29099 from bdach/daily-challenge/totals-display
Implement component for displaying running totals in daily challenge
2024-07-26 21:44:58 +09:00
Dean Herbert
a870722ea6
Adjust easings and reduce character spacing slightly 2024-07-26 21:43:23 +09:00
Bartłomiej Dach
fc0ade2c61
Highlight where local user's best is on the breakdown 2024-07-26 14:32:01 +02:00
Bartłomiej Dach
2caaebb670
Add tooltip with counts to daily challenge score breakdown chart 2024-07-26 13:47:41 +02:00
Dean Herbert
19affa7062
Rename new property to match true usage (per item)
Also document a bit more.
2024-07-26 20:45:13 +09:00
Bartłomiej Dach
2e37f3b5de
Hook up score totals display to daily challenge screen 2024-07-26 12:34:23 +02:00
Bartłomiej Dach
1abcf16231
Fix daily challenge screen not applying track adjustments from mods
Closes https://github.com/ppy/osu/issues/29093.
2024-07-26 11:50:43 +02:00
Bartłomiej Dach
f9cfc7d96c
Fix preview tracks not stopping playback when suspending/exiting daily challenge screen
Closes https://github.com/ppy/osu/issues/29083.
2024-07-26 10:53:12 +02:00
Cameron Brown
17f00ec0a6 Bind the mod select overlay's Beatmap to OsuScreen.Beatmap in constructor
Suggested by @bdach!
2024-07-26 18:29:50 +10:00
Cameron Brown
a8851950bc Update the beatmap of Daily Challenge's mods overlay when beatmap is set - #29094 2024-07-26 18:10:11 +10:00
Bartłomiej Dach
174dc91f4b
Implement component for displaying running totals in daily challenge
Total pass count and cumulative total score, to be more precise.
2024-07-26 09:51:39 +02:00
Bartłomiej Dach
e489ae8f72
Merge pull request #29055 from peppy/event-feed-improvements
Improve daily challenge event feed
2024-07-26 08:37:47 +02:00
Bartłomiej Dach
09a1fd2cd1
Merge pull request #29057 from frenzibyte/daily-challenge-replay-download-button
Fix daily challenge not showing a replay button in results screen
2024-07-26 08:03:17 +02:00
Bartłomiej Dach
c17cabd981
Adjust alpha for rows for better visibility 2024-07-26 07:44:02 +02:00
Salman Ahmed
c558dfdf13 Reset download state when score is changed 2024-07-26 05:11:54 +03:00
Dean Herbert
c90e04092a
Merge pull request #29068 from bdach/results-statistics-toggle-crash
Fix crash when toggling extended statistics visibility during results load
2024-07-25 22:49:41 +09:00
Bartłomiej Dach
8dbd4d70ff
Fix crash when toggling extended statistics visibility during results load
Closes https://github.com/ppy/osu/issues/29066.

Initially I fixed this at where the assert is right now:

	9790c5a574/osu.Game/Screens/Ranking/ResultsScreen.cs (L333)

but because of the weird way that visible state management is done in
this screen that made it possible for the extended statistics to be
visible *behind* the score panels, without the score panels making way
for it. So this is in a way safer, because it prevents the visibility
state of the extended statistics from changing in the first place if
there is no score selected (yet).

This can be also seen in playlists, at least.
2024-07-25 11:45:17 +02:00
Bartłomiej Dach
8d89557ab8
Fix not being able to send chat reports on daily challenge screen
Something something some people cannot be trusted with a textbox.
2024-07-25 11:11:54 +02:00
Salman Ahmed
615f07d54c Fix results screen fetching more scores twice 2024-07-25 09:16:09 +03:00
Salman Ahmed
9d5fbb8b4f Fix target score selection abruptly discarded after opening results screen 2024-07-25 09:01:43 +03:00
Dean Herbert
f1dda4ab1e
Fix too many event rows displaying after spending a long time in gameplay/results 2024-07-25 14:31:22 +09:00
Dean Herbert
c90d345ff9
Scroll content forever rather than aggressively fading 2024-07-25 14:31:21 +09:00
Salman Ahmed
dad8e28446 Fix replay download button not added when no score is selected initially 2024-07-25 07:40:17 +03:00
Dean Herbert
aac98ab6b2
Debounce leaderboard refetches to stop excessive operations after returning from gameplay 2024-07-25 12:58:35 +09:00
Dean Herbert
9ec687caab
Avoid reloading the daily challenge leaderboard when already requested 2024-07-25 12:55:45 +09:00
Dean Herbert
4983e5f33e
Merge pull request #29039 from bdach/multiple-selection-sample-popover
Make sample popover change properties of all samples in multiple selection
2024-07-24 22:49:20 +09:00
Bartłomiej Dach
1ed7e4b075
Make sample popover change properties of all samples in multiple selection
Closes https://github.com/ppy/osu/issues/28916.

The previous behaviour *may* have been intended, but it was honestly
quite baffling. This seems like a saner variant.
2024-07-24 12:15:12 +02:00
Dean Herbert
6e4625609d
Merge pull request #29036 from bdach/hardcode-positions-for-leaderboard
Fill daily challenge top 50 position numbers client-side
2024-07-24 17:49:51 +09:00
Bartłomiej Dach
788b70469d
Exit daily challenge screen when going offline
This sort of thing is bound to happen when rewriting screens from
scratch without invoking abstract eldritch entities sometimes. Damned if
you do, damned if you don't...
2024-07-24 09:15:32 +02:00
Bartłomiej Dach
bf4bf4d39e
Fill daily challenge top 50 position numbers client-side
Only doing this client-side, because doing this server-side is
expensive:

	https://github.com/ppy/osu-web/pull/11354#discussion_r1689224285
2024-07-24 08:57:11 +02:00
Dean Herbert
aded31bd07
Merge pull request #29021 from bdach/editor-breaks-respect-time-preempt
Respect pre-empt time when auto-generating breaks
2024-07-24 15:21:12 +09:00
Dean Herbert
aed7ba9508
Change order of application to avoid bias to side with more room to drag
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2024-07-23 20:56:21 +09:00
Bartłomiej Dach
c3062f96ee
Fix autogenerated breaks not invalidating on change to pre-empt time 2024-07-23 13:38:50 +02:00
Bartłomiej Dach
088e8ad0a2
Respect pre-empt time when auto-generating breaks
Closes https://github.com/ppy/osu/issues/28703.
2024-07-23 13:30:13 +02:00
Dean Herbert
cc4ed0ff3f
Use non-screen-space coordinates and add time-based drag ramping for better control 2024-07-23 18:59:22 +09:00
Bartłomiej Dach
38fc6f70f6
Add tolerance when drag-scrolling editor timeline
Closes https://github.com/ppy/osu/issues/28983.

While the direct cause of this is most likely mouse confine in
full-screen, it shouldn't/can't really be disabled just for this,
and I also get this on linux in *windowed* mode.

In checking other apps, adding some tolerance to this sort of
drag-scroll behaviour seems like a sane UX improvement anyways.
2024-07-23 11:10:18 +02:00
Bartłomiej Dach
dd8be62d07
Merge pull request #28849 from frenzibyte/custom-profile-colour
Add custom hue support to user profile overlay
2024-07-22 09:41:32 +02:00
Layendan
6a4872faa8 Remove nullable disable 2024-07-21 23:56:47 -07:00
Layendan
6bb562db14
Fix collection popover 2024-07-22 12:22:52 +09:00
Layendan
e4cccb5e31
Fix lint errors 2024-07-22 12:22:52 +09:00
Layendan
a575566638
Add tests 2024-07-22 12:22:51 +09:00
Layendan
c16b7c5c70
Update favorite button 2024-07-22 12:22:51 +09:00
Layendan
3296beb003
Added collection button to result screen 2024-07-22 12:22:50 +09:00
Salman Ahmed
818b60a3d8 Fix pause overlay hiding input from ruleset input manager
If a key is pressed while the pause overlay is visible, the ruleset input manager will not see it, therefore if the user resumes while the key is held then releases the key, the ruleset input manager will not receive the key up event.
2024-07-19 18:48:35 +03:00
Salman Ahmed
d7651ef387 Add extensive test cases for correct input handling while paused in osu! & non-osu! 2024-07-19 18:48:35 +03:00
Bartłomiej Dach
27000aa8ed
Merge branch 'master' into editor-blah 2024-07-19 13:42:40 +02:00
Dan Balasescu
ad564f31cb
Merge pull request #28947 from peppy/fix-playlist-item-panel
Fix various visuals of playlist beatmap panels
2024-07-19 20:12:40 +09:00
Dean Herbert
c2cc85e6f0
Use purple again for kiai time specifically 2024-07-19 19:59:38 +09:00
Dean Herbert
c4de2bbb60
Ignore "too many ticks" in timeline (triggers in normal cases) 2024-07-19 19:57:47 +09:00
Dean Herbert
5ee645ac8f
Increase opacity of control points slightly 2024-07-19 19:50:21 +09:00
Dean Herbert
d9297438ba
Merge pull request #28900 from smoogipoo/fix-more-tests
Fix more test failures
2024-07-19 19:38:52 +09:00
Dean Herbert
f11f01f9b7
Fix various visuals of playlist beatmap panels
Supersedes https://github.com/ppy/osu/pull/28907.

- Fix border being fat
- Fix thumbnail not masking correctly
- Fix background layer not being correctly fit to the panel
- Dim the main background on hover
- Minor tweaks to dimming
2024-07-19 19:26:04 +09:00
Dan Balasescu
5af39aad00
Add beatmap name to log string
Makes it easy to compare this line versus the one in
OsuGame.PresentBeatmap(). At the moment it's just GUID which is... not
useful!
2024-07-19 19:02:41 +09:00
Dean Herbert
0f29ed618a
Don't attempt to clear the carousel during realm blocking operation 2024-07-19 17:39:47 +09:00
Dean Herbert
0560214d5b
Fix beatmap carousel performance regression with large databases 2024-07-19 17:39:47 +09:00
Bartłomiej Dach
4dd225fdc8
Fix compose blueprint container not unsubscribing from event
Closes https://github.com/ppy/osu/issues/28938.

This is related to reloading the composer on timing point changes in
scrolling rulesets. The lack of unsubscription from this would cause
blueprints to be created for disposed composers via the
`hitObjectAdded()` flow.

The following line looks as if a sync load should be forced on a newly
created placement blueprint:

    da4d37c4ad/osu.Game/Screens/Edit/Compose/Components/ComposeBlueprintContainer.cs (L364)

however, it is not the case if the parent
(`placementBlueprintContainer`) is disposed, which it would be in this
case. Therefore, the blueprint stays `NotLoaded` rather than `Ready`,
therefore it never receives its DI dependencies, therefore it dies on
an `EditorBeatmap` nullref.
2024-07-19 08:32:36 +02:00
Salman Ahmed
a570949459 Fix selection box initialy visible despite no items selected 2024-07-19 03:00:44 +03:00
Salman Ahmed
d61a72b8fb Explicitly define Hue rather than implicitly provide it by enum value 2024-07-18 00:26:24 +03:00
Layendan
0bc14ba646 Add favourite button to results screen 2024-07-17 12:45:20 -07:00
Bartłomiej Dach
4c1f902969
Do not allow working beatmap to switch to protected beatmap in song select
Principal fix to https://github.com/ppy/osu/issues/28880.
2024-07-17 11:46:19 +02:00
Bartłomiej Dach
ad2db3f853
Merge pull request #28882 from peppy/update-framework
Update framework
2024-07-16 12:28:51 +02:00
Dean Herbert
f1325386f0
Fix summary timeline timing points having x position applied twice 2024-07-16 18:32:54 +09:00
Dean Herbert
4ad7d900c1
Fix incorrect editor screen padding 2024-07-16 18:20:33 +09:00
Dean Herbert
1083e71ce6
Fix potential crash when exiting daily challenge screen
Without the schedule this will potentially run after disposal of the
local drawable hierarchy.

Closes https://github.com/ppy/osu/issues/28875.
2024-07-16 03:02:04 +09:00
Dean Herbert
eb3f480a2a
Merge pull request #28683 from frenzibyte/footer-v2-integration
Replace local footer in existing sheared overlays (e.g. mod select & first-run setup) with `ScreenFooter`
2024-07-12 22:45:06 +09:00
Dean Herbert
e8f7213b3b
Move logo depth to a forward passing 2024-07-12 22:01:20 +09:00
Bartłomiej Dach
217b01d303
Apply tooltip to bookmark pieces too
Bookmarks don't show on real beatmaps, but they do show in test scenes
(namely `TestSceneEditorSummaryTimeline`).

Also does some more changes to adjust the markers to the latest updates
to other markers.
2024-07-12 11:12:20 +02:00
Dean Herbert
2453e2fd00
Fix nullability issue 2024-07-12 18:11:23 +09:00
Bartłomiej Dach
5e00995948
Merge branch 'master' into tooltips 2024-07-12 11:01:03 +02:00
Bartłomiej Dach
518dc17518
Merge pull request #28788 from bdach/timeline-redesign
Redesign editor timelines to address most frequent user complaints
2024-07-12 10:58:59 +02:00
Dean Herbert
4be5d056c5
Reduce opacity of centre marker slightly 2024-07-12 17:23:48 +09:00
Dean Herbert
d2cb07b157
Add a bit more padding between node overlays and hitobjects in timeline 2024-07-12 17:22:36 +09:00
Dean Herbert
2454722601
Add tooltips to summary timeline display 2024-07-12 16:39:41 +09:00
Dean Herbert
275e7aa451
Adjust timeline centre marker visuals and bring in front of ticks 2024-07-12 16:37:03 +09:00
Dean Herbert
ca2fc72959
Adjust timeline centre marker visuals and bring in front of ticks 2024-07-12 16:29:40 +09:00
Dean Herbert
f65ab6736d
Adjust breaks in timeline to be centered with waveform / hitobjects 2024-07-12 15:45:58 +09:00
Dean Herbert
2ad2ae0c16
Add slight offset for timeline BPM display to avoid overlaps 2024-07-12 14:34:01 +09:00
Dean Herbert
9a7a0cdb34
Adjust timeline ticks to add a bit more body back 2024-07-12 14:29:18 +09:00
Dean Herbert
685b19a571
Adjust various visuals of summary timeline in a hope for user acceptance
.. with a somewhat appealing design.
2024-07-12 13:57:42 +09:00
Dean Herbert
fb4f620c90
Add back BPM and adjust sizing of bottom bar a bit more 2024-07-12 12:34:43 +09:00
Salman Ahmed
d4a4a059d4 Fix footer content not accessible by overlay when overriden by a subclass 2024-07-11 15:31:02 +03:00
Bartłomiej Dach
ccc4d288b2
Merge pull request #28821 from peppy/fix-editor-dim
Fix editor UI transparency being incorrectly opaque when hovering slider control points
2024-07-11 12:05:10 +02:00
Dean Herbert
95464ebf36
Merge branch 'master' into timeline-redesign 2024-07-11 18:38:17 +09:00
Bartłomiej Dach
6801ccbbc5
Fix editor UI remaining transparent when switching away from compose tab
Could still happen if using the keyboard F-key shortcuts. In that case
the composer becomes non-present, so its `Update()` can't really do
anything.
2024-07-11 11:23:09 +02:00
Bartłomiej Dach
f1fa34e5d5
Merge pull request #28800 from peppy/file-mounting-v3
Add ability to edit beatmap content externally
2024-07-11 10:47:36 +02:00
Dean Herbert
c139478aa2
Merge pull request #28805 from frenzibyte/select-all-on-focus
Select all text when focusing sample bank/volume textboxes in editor (and number boxes in general)
2024-07-11 17:33:30 +09:00
Dean Herbert
7b0c1e3498
Also apply to timing textboxes 2024-07-11 16:54:27 +09:00
Bartłomiej Dach
cc0d7e9981
Add error logging on failure to begin/end external edit 2024-07-11 09:54:12 +02:00
Bartłomiej Dach
ac467cf73a
Set locally modified state for all externally modified beatmap(sets) that could not be mapped to online 2024-07-11 09:44:33 +02:00
Dean Herbert
fe421edd8f
Fix editor UI transparency being incorrectly opaque when hovering slider control points
As mentioned at
https://github.com/ppy/osu/pull/28787#issuecomment-2221150025.
2024-07-11 16:41:21 +09:00
Dean Herbert
b5bb94e4ec
Merge branch 'master' into file-mounting-v3 2024-07-11 15:54:54 +09: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
Dean Herbert
bdbdc3592e
Move full export async flow inside screen and add error handling 2024-07-11 14:27:12 +09:00
Dean Herbert
599a765fd1
Add confirmation before saving for external edit 2024-07-11 12:20:33 +09:00
Dean Herbert
cd6b0e875a
Simplify save dialogs 2024-07-11 12:15:17 +09:00
Dean Herbert
b0d6c8ca6d
Abort operation on save failure 2024-07-11 11:42:06 +09:00
Bartłomiej Dach
4901fece26
Merge branch 'master' into fix-dialog-overflow 2024-07-10 18:20:18 +02:00
Bartłomiej Dach
55b4dd9b99
Adjust punctuation 2024-07-10 18:17:10 +02:00
Bartłomiej Dach
92dc125d39
Match mania editor playfield time range with timeline zoom 2024-07-10 17:36:39 +02:00
Dean Herbert
b58ba5f5f1
Just give in to silly code quality inspection 2024-07-10 23:02:19 +09:00
Salman Ahmed
bb9a2b705e Remove unnecessary math min 2024-07-10 16:29:28 +03:00
Salman Ahmed
7d667ac46b Fix confirm exit dialog overflowing from too many ongoing operations 2024-07-10 16:06:53 +03: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
ce93455aa8 Extend behaviour to sample edit popover 2024-07-10 15:16:10 +03:00
Dean Herbert
b6741ee4ea
Fix back-to-front exit blocking conditionals 2024-07-10 20:00:34 +09:00
Dean Herbert
75344f9c5c
Fix break overlay progress bar becoming a pancake near end of break 2024-07-10 19:28:37 +09:00
Dean Herbert
1381b3c0c5
Merge pull request #28801 from bdach/break-generation-caching
Improve performance of automatic break regeneration
2024-07-10 19:21:16 +09:00
Bartłomiej Dach
b881c25b17
Pool summary timeline break visualisations to reduce allocations 2024-07-10 11:42:28 +02:00
Bartłomiej Dach
343090e3b1
Do not regenerate breaks unless meaningful change to object start/end times is detected
Tangentially found when profiling https://github.com/ppy/osu/pull/28792.

For reproduction, import https://osu.ppy.sh/beatmapsets/972#osu/9007,
move any object on the playfield, and observe a half-second freeze
when ending the drag.
2024-07-10 11:42:25 +02:00
Dean Herbert
aa16c72e06
Add test coverage of external editing 2024-07-10 18:34:47 +09:00
Dean Herbert
3beca64cc5
Attempt to stay on correct difficulty 2024-07-10 18:34:46 +09:00
Dean Herbert
27ab54882b
Add loading segments and tidy things up 2024-07-10 18:34:46 +09:00
Dean Herbert
74aa05fa6e
Improve UX and styling of external edit screen 2024-07-10 18:34:45 +09:00
Dean Herbert
118162c631
Add sub screen to limit user interactions 2024-07-10 18:34:45 +09:00
Dean Herbert
d3c66e2404
Add basic flow for mounting beatmaps for external editing 2024-07-10 18:29:51 +09:00
Salman Ahmed
337f05f9a4 Fix loading (but not showing) a sheared overlay hiding displayed footer content
Identified by tests. See https://github.com/ppy/osu/actions/runs/9869382635/job/27253010485 & https://github.com/ppy/osu/actions/runs/9869382635/job/27253009622.

This change also prevents the initial `PopOut` call in overlays from calling `clearActiveOverlayContainer`, since it's not in the update thread and it's never meant to be called at that point anyway (it's supposed to be accompanied by a previous `PopIn` call adding the footer content).
2024-07-10 11:56:35 +03:00
Salman Ahmed
002679ebb0 Ask for VisibilityContainer explicitly 2024-07-10 11:14:22 +03:00
Bartłomiej Dach
95783bd6c2
Merge pull request #28789 from peppy/fix-deletes-reappearing
Fix deleted beatmap sets potentially reappearing due to pending update requests
2024-07-10 09:14:10 +02:00
Dean Herbert
9a88281ab0
Merge branch 'master' into footer-v2-integration 2024-07-10 15:33:05 +09:00
Dean Herbert
4fe3f39d22
Merge pull request #28682 from frenzibyte/footer-v2-overlay-content
Add implementation for `ScreenFooter` to house footer content of sheared overlays
2024-07-10 15:08:00 +09:00
Dean Herbert
cd9973b6f9
Merge pull request #28740 from bdach/daily-challenge/better-results
Improve results displays in daily challenge screen
2024-07-10 14:17:21 +09:00
Dean Herbert
f281019358
Rename method to match provided argument 2024-07-10 14:00:15 +09:00
Joseph Madamba
8c81ba3357 Fix preview track persisting to play after leaving multi/playlists room 2024-07-09 14:36:24 -07:00
Dean Herbert
123d3d2ff8
Add similar special case for insert after removal 2024-07-09 20:44:55 +09:00
Dean Herbert
0e2e44a2f5
Add failing test case showing editor save then delete failure 2024-07-09 20:41:22 +09:00
Salman Ahmed
ed1f3a1eb4 Merge branch 'master' into footer-v2-integration 2024-07-09 13:48:40 +03:00
Salman Ahmed
b17af86491 Merge branch 'master' into footer-v2-overlay-content 2024-07-09 13:41:44 +03:00
Bartłomiej Dach
ca4c0aa7e2
Remove unused using 2024-07-09 10:57:21 +02:00
Dean Herbert
920c0e4d25
Fix deleted beatmap sets potentially reappearing due to pending update requests 2024-07-09 17:08:26 +09:00
Dean Herbert
63b4327978
Ensure beatmap set is always detached when updating
Slight performance improvement by doing the detach as early as possible.
2024-07-09 17:08:25 +09:00
Bartłomiej Dach
5d5dd0de00
Redesign bottom timeline pieces to match stable better 2024-07-09 09:25:22 +02:00
Bartłomiej Dach
29b8948609
Slim down bottom timeline
This removes the BPM display, which is commonly cited to have
no functional purpose by users, and reduces the height of the bottom bar
in exchange for more space for the playfield.
2024-07-09 09:25:22 +02:00
Bartłomiej Dach
50818da166
Ensure timeline ticks aren't hidden by other pieces
Addresses https://github.com/ppy/osu/issues/28667.
2024-07-09 09:25:22 +02:00
Dean Herbert
aadcc5384d
Adjust editor transparent tweens to be less "flashy"
Touched on in https://github.com/ppy/osu/discussions/28581.

After a bit more usage of the editor I do agree with this and think that
making the fades a bit more gentle helps a lot.
2024-07-09 16:16:19 +09:00
Dean Herbert
c100d1ab65
Merge pull request #28769 from peppy/carousel-realm-simplification
Simplify realm model tracking in `BeatmapCarousel` (and fix hard delete handling)
2024-07-09 01:40:10 +09:00
Dan Balasescu
9c2a0576fb
Merge pull request #28776 from bdach/fix-composer-disappearing
Fix composer disappearing when undoing change to control points
2024-07-09 00:54:38 +09:00
Dean Herbert
9a61adc4bc
Ensure other lists are cleared when realm is reset 2024-07-08 23:59:20 +09:00
Bartłomiej Dach
275b959c02
Fix composer disappearing when undoing change to control points
As mentioned in https://github.com/ppy/osu/issues/28752.
Regressed in https://github.com/ppy/osu/pull/28444.
2024-07-08 16:28:54 +02:00
Bartłomiej Dach
877b5768fc
Merge branch 'master' into sorted-breaks 2024-07-08 15:59:32 +02:00
Salman Ahmed
b33e54d064 Enforce IBeatmap.Breaks to be sorted chronologically 2024-07-08 16:06:38 +03:00
Bartłomiej Dach
2cad8d3684
Merge branch 'master' into time-accurate 2024-07-08 14:19:57 +02:00
Bartłomiej Dach
d5158d1035
Fix incorrect changes around success callback refactor 2024-07-08 13:36:30 +02:00
OliBomby
2822ba2377 Fix CurrentTimeAccurate being inaccurate if seeking smoothly in the same frame and a transform is already active 2024-07-08 13:30:11 +02:00
Bartłomiej Dach
0fe2c45e1d
Fix editor playback control not removing correct adjustment
Closes https://github.com/ppy/osu/issues/28768.

great job past me 🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦
2024-07-08 13:21:42 +02:00
Dean Herbert
8f271170e9
Coalesce beatmap updates 2024-07-08 20:05:18 +09:00
Dean Herbert
1095137a5b
Simplify tracking of hidden beatmaps
Handling a few extra events is preferrable to keeping a second realm
subscription live.
2024-07-08 20:05:18 +09:00
Dean Herbert
151c448535
Simplify tracking of beatmap sets in BeatmapCarousel 2024-07-08 20:05:18 +09:00
Dan Balasescu
b2bdb67a3e
Merge pull request #28765 from bdach/editor-menu-max-height
Fix editor menus overflowing off screen
2024-07-08 19:13:30 +09:00
Bartłomiej Dach
db7774485a
Fix editor player crashing with UR counter present in skin
Closes https://github.com/ppy/osu/issues/28764.
2024-07-08 11:14:32 +02:00
Bartłomiej Dach
2ceedb0f93
Fix editor menus overflowing off screen
Closes https://github.com/ppy/osu/issues/28750.

Yes this is not the perfect change to fix this (which would probably be
some framework change to take bounds of the parenting input manager into
account). I really do not want to go there and would like to just fix
this locally and move on. Due to the game-wide scaling container this
sorta works for any resolution anyhow.
2024-07-08 11:05:39 +02:00
Bartłomiej Dach
4c59ec1d94
Fix incorrect ternary state computation for bank toggles
Closes https://github.com/ppy/osu/issues/28741.

Regressed in a7b066f3ee.

The intent of the original change there was to ensure that addition
banks being set will put the ternary state toggles in indeterminate
state (to at least provide a visual indication that the selection does
not use a single bank). This would previously not be the case due to
the use of `.All()` in the original condition (a single object/node
was considered to have a bank enabled if and only if *all* samples
within it used it). However the attempt to fix that via switching
to `Any()` was not correct.

The logic used in the offending commit operates on extracted `Samples`
and `NodeSamples` from the selection, and would consider the ternary
toggle:

- fully off if none of the samples/node samples contained a sample with
  the given bank,
- indeterminate if the some of the samples/node samples contained a
  sample with the given bank,
- fully on if at least one sample from every samples/node samples
  contained a sample with the given bank.

This is a *two-tiered* process, as in first a *binary* on/off state is
extracted from each object's samples/node samples, and *then* a ternary
state is extracted from all objects/nodes. This is insufficient to
express the *desired* behaviour, which is that the toggle should be:

- fully off if *none of the individual samples in the selection* use
  the given bank,
- indeterminate if *at least one individual sample in the selection*
  uses the given bank,
- fully on if *all individual samples in the selection* use the given
  bank.

The second wording is flattened, and no longer tries to consider "nodes"
or "objects", it just looks at all of the samples in the selection
without concern as to whether they're from separate objects/nodes
or not.

To explain why this discrepancy caused the bug, consider a single object
with a `soft` normal bank and `drum` addition bank. Selecting the object
would cause a ternary button state update; as per the incorrect logic,
there were two samples on the object and each had its own separate
banks, so two ternary toggles would have their state set to `True`
(rather than the correct `Indeterminate`), thus triggering a bindable
feedback loop that would cause one of these banks to win and actually
overwrite the other.

Note that the addition indeterminate state computation *still* needs
to do the two-tiered process, because there it actually makes sense (for
a selection to have an addition fully on rather than indeterminate,
*every* object/node *must* contain that addition).
2024-07-05 09:27:21 +02:00
Dean Herbert
f0ad7a97cb
Merge branch 'master' into daily-challenge/better-results 2024-07-04 23:56:09 +09:00
Dean Herbert
aa72c09c3a
Merge pull request #28659 from bdach/daily-challenge/integration
Use room watching functionality to receive realtime daily challenge updates
2024-07-04 23:55:46 +09:00
Bartłomiej Dach
5fa586848d
Replace old bad daily challenge leaderboard with new implementation
- Actually shows scores rather than playlist aggregates (which are
  useful... in playlists, where there is more than one item)
- Actually allows scores to be shown by clicking on them
- Doesn't completely break down visually on smaller window sizes

The general appearance is not as polished as the old one in details but
I wanted something quick that we can get out by next weekend.

Also includes the naive method of refetching scores once a new top 50
score is detected. I can add a stagger if required.
2024-07-04 13:52:08 +02:00
Bartłomiej Dach
8e8909c999
Adjust daily challenge screen background colour 2024-07-04 13:49:33 +02:00
Bartłomiej Dach
b29e535ca5
Add results screen for displaying arbitrary daily challenge scores
At this point its primary usage is the daily challenge event feed, but
the leaderboard will be using this too shortly.

Because the playlists results screen that exists in `master` is
hard-coupled to showing the *local user's* best result on a given
playlist by way of hard-coupling itself to the relevant API request,
allowing show of *arbitrary* score by ID requires a whole bunch of
subclassery as things stand. Oh well.

Class naming is... best effort, due to the above.
2024-07-04 13:45:24 +02:00
Salman Ahmed
207ee8a2ee Fix editor not updating ruleset when switching difficulty 2024-07-04 14:06:36 +03:00
Dean Herbert
a4c575f77a
Merge pull request #28521 from bdach/tempo-adjust-editor
Change editor speed adjustment back to adjusting tempo
2024-07-04 16:42:55 +09:00
Dean Herbert
3f138489a1
Merge pull request #28509 from bdach/slider-anchor-type-switching
Add ability to cycle slider control point types via keyboard
2024-07-04 16:11:37 +09:00
Dean Herbert
73d71d3d77
Merge pull request #28705 from bdach/editor-test-play
Reimplement missing gameplay test hotkeys from stable
2024-07-04 13:44:25 +09:00
Dean Herbert
88375694a3
Merge branch 'master' into slider-anchor-type-switching 2024-07-03 22:36:57 +09:00
Bartłomiej Dach
e73faaefd2
Merge branch 'master' into editor-test-play 2024-07-03 13:54:47 +02:00
Dean Herbert
56cdd83451
Adjust padding and round corners of hover layer 2024-07-03 20:42:34 +09:00
Dean Herbert
5f56ed6872
Merge branch 'master' into navigate-to-timestamp 2024-07-03 20:42:32 +09:00
Bartłomiej Dach
17ce9cd162
Merge branch 'master' into grids-2 2024-07-03 10:57:05 +02:00
Dean Herbert
824a00b018
Merge pull request #28707 from bdach/remove-breaks
Add option to remove breaks via timeline context menu
2024-07-03 16:29:25 +09:00
Dean Herbert
abfcac7466
Fix nullability 2024-07-03 15:31:46 +09:00
Dean Herbert
b6dc483fc1
Add missing change handler to ensure undo/redo works for break removal 2024-07-03 14:23:31 +09:00
Salman Ahmed
cb350470e5
Merge branch 'master' into update-framework-has-flag 2024-07-03 07:06:13 +03:00
Dean Herbert
5350945340
Update HasFlag usages 2024-07-03 00:19:04 +09:00
Bartłomiej Dach
a7b066f3ee
Include node samples when changing additions and banks 2024-07-02 16:22:15 +02:00
Bartłomiej Dach
9414aec8bf
Add capability to remove breaks via context menu 2024-07-02 14:55:04 +02:00
Bartłomiej Dach
d85c467856
Implement quick exit hotkeys for editor test play 2024-07-02 14:34:36 +02:00
Bartłomiej Dach
e28befb98d
Implement quick pause toggle for editor test play 2024-07-02 14:34:35 +02:00
Bartłomiej Dach
1e4db77925
Implement autoplay toggle for editor test play
Contains some hacks to fix weird behaviours like rewinding to the start
on enabling autoplay, or gameplay cursor hiding.
2024-07-02 14:34:31 +02:00
Dan Balasescu
31edca866c
Remove unused code 2024-07-02 12:21:24 +09:00
Dan Balasescu
04da1209f7
Revert "Change breaks list to IReadOnlyList"
This reverts commit 2c3b411bb5.
2024-07-02 12:16:11 +09:00
Dean Herbert
2c3b411bb5
Change breaks list to IReadOnlyList 2024-07-02 11:59:24 +09:00
Dean Herbert
005af280f2
Isolate bindable breaks list to EditorBeatmap 2024-07-02 11:31:55 +09:00
Dan Balasescu
f942595829
Fix ManiaModInvert permanently messing up the beatmap 2024-07-01 15:02:00 +09:00
Dean Herbert
9aec1de4c2
Merge branch 'master' into daily-challenge/integration 2024-07-01 10:37:33 +09:00
Dean Herbert
8bb51d5a4f
Fix summary timeline not correctly updating after changes to breaks
Closes https://github.com/ppy/osu/issues/28678.

Oops.
2024-06-30 20:32:16 +09:00
Salman Ahmed
58c7d1e772 Bind game-wide mods bindable to mod select overlay in new song select screen 2024-06-30 06:50:36 +03:00
Salman Ahmed
48bf3f1385 Migrate mod select overlay footer content 2024-06-30 06:50:36 +03:00
Salman Ahmed
467d7c4f54 Refactor game-wide layout order of footer to fix depth issues with overlays and improve UX
With this new order, the logo can be easily moved to display in front of the footer in `SongSelectV2` without breaking experience when footer-based overlays are present. Such overlays (i.e. mod select overlay) will also be dimmed alongside the current screen when a game-wide overlay is open (e.g. settings).
2024-06-30 06:50:36 +03:00
Salman Ahmed
900d15e777 Add test coverage 2024-06-30 06:50:22 +03:00
Salman Ahmed
56d1255f8a Fix footer button transforms getting interrupted by consecutive method calls 2024-06-30 06:15:54 +03:00