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
662e9eab8c
Don't force exit to main menu when presenting scores from within online screens
...
Struck me as weird when reviewing https://github.com/ppy/osu/pull/29057 .
Like sure, that PR adds the replay button, but it's a bit terrible that
clicking the button quits the daily challenge screen and you're back at
main menu when done watching...?
Also extended to cover playlists and multiplayer, which have the same
issue.
2024-07-26 08:17:39 +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
Dean Herbert
6cc3e8aab8
Merge pull request #29067 from bdach/report-daily-challenge
...
Fix not being able to send chat reports on daily challenge screen
2024-07-25 22:33:41 +09:00
Bartłomiej Dach
3bb30d7ff9
Fix several missing properties on MultiplayerScore
...
You wouldn't think this would be an actual thing that can happen to us,
but it is. The most important one by far is `MaximumStatistics`; that
is the root cause behind why stuff like spinner ticks or slider tails
wasn't showing.
On a better day we should probably do cleanup to unify these models
better, but today is not that day.
2024-07-25 13:15:45 +02: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
Salman Ahmed
6645dac71d
Fix dragging number boxes overwritten by select-all-on-focus feature
2024-07-24 23:19:04 +03: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
c3dae81935
Only add legacy key overlay to osu! and catch HUD layers
2024-07-24 15:41:20 +02:00
Bartłomiej Dach
26395bd443
Adjust animations further to match stable
2024-07-24 15:26:27 +02:00
Bartłomiej Dach
3c28c116ca
Simplify input overlay text colour decode (and fix incorrect default)
2024-07-24 14:53:01 +02:00
Bartłomiej Dach
087dd759be
Adjust layout to ballpark-match stable
...
I dunno what the wiki is claiming with the "24px" figure or why
but I'm not playing conversion games either. Dimensions ballparked
via screenshots captured at x768 resolution.
Also removes a weird homebrew method to keep the text upright.
There is one canonical way to do this, namely
`UprightAspectMaintainingContainer`. And the other key counters
were already using it.
2024-07-24 14:52:56 +02: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
normalid
fede6b3657
Fix indent problems
2024-07-24 13:09:21 +08:00
normalid
b24be96d04
Fix code quality
2024-07-24 12:57:30 +08:00
normalid
56143de2c6
Update offset factor
2024-07-24 12:39:36 +08:00
normalid
e2beacb3dd
Remove logging
2024-07-24 12:31:01 +08:00
normalid
395f8424b5
Match the stable animation
2024-07-24 12:30:08 +08:00
normalid
c52a993607
Support custom input overlay color
2024-07-23 23:35:25 +08:00
normalid
c7b110a471
* Fix the default position
...
* Make the font match stable style
2024-07-23 22:11:28 +08:00
normalid
989ac56cbb
Fix the return button being squshed
2024-07-23 21:12:55 +08:00
normalid
9fe369b7f4
Replace SkinnableSprite
with Sprite
2024-07-23 21:08:08 +08:00
normalid
a015fde014
Change the default height to match the stable
2024-07-23 20:53:06 +08:00
normalid
dce894108a
Remove unused blending mode
2024-07-23 20:50:08 +08:00
normalid
f7dc0b65da
Clean up the code
2024-07-23 20:47:49 +08:00
normalid
5dcc8b7a8f
Make the text are always horizontal
2024-07-23 19:56:43 +08: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
normalid
777a0deb0f
Update the offset formula
2024-07-23 19:45:53 +08: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
normalid
ad1a86ebdc
Implement the overlay
2024-07-23 19:05:14 +08: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
57fa502786
Fix editor UI dimming when hovering over expanded part of toolboxes
...
Closes https://github.com/ppy/osu/issues/28969 .
2024-07-22 11:57:46 +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
Bartłomiej Dach
088b8aff11
Merge pull request #28881 from smoogipoo/fix-judgement-cut
...
Fix judgement animation getting cut early
2024-07-22 09:24:57 +02:00
Dean Herbert
401c0fe2bf
Merge branch 'master' into fix-pause-input-handling
2024-07-20 15:23:34 +09:00
Dean Herbert
d914b990f3
Update framework
2024-07-20 14:08:00 +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
Dean Herbert
fb5a1ecb4e
Merge pull request #28944 from bdach/mania-crash
...
Fix crash when adding mania notes right after changing timing point
2024-07-19 16:58:54 +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
Dan Balasescu
30b5825549
Merge pull request #28942 from bdach/aaaaaaaaaaaaaaaaaaaaaaaa
...
Fix skipping to next track not working
2024-07-19 15:23:24 +09:00
Bartłomiej Dach
9fe6354afc
Fix backwards conditional
2024-07-19 07:32:36 +02:00
Bartłomiej Dach
a06bcd74c7
Merge branch 'master' into fix-beatmap-atttributes-display
2024-07-19 07:04:01 +02:00
Salman Ahmed
2ad8eeb918
Fix beatmap attributes display in mod select recreating star difficulty bindable every setting change
2024-07-19 03:25:26 +03:00
Salman Ahmed
a570949459
Fix selection box initialy visible despite no items selected
2024-07-19 03:00:44 +03:00
Dan Balasescu
a7e110f669
Don't rely on single-use properties
2024-07-18 19:07:02 +09:00
Dean Herbert
70985d3b22
Remove margin completely
2024-07-18 19:01:52 +09:00
Dean Herbert
c9517aeebf
Fix tab extension dropdown having dead non-clickable hover area
...
Closes https://github.com/ppy/osu/issues/28899 .
2024-07-18 18:37:07 +09:00
Salman Ahmed
5317086171
Split content recreation methods
2024-07-18 00:26:37 +03:00
Salman Ahmed
d61a72b8fb
Explicitly define Hue
rather than implicitly provide it by enum value
2024-07-18 00:26:24 +03:00
Salman Ahmed
4eb4d35e2f
Make UpdateColours
method protected
2024-07-18 00:26:24 +03:00
Salman Ahmed
102da0f98c
Remove incorrect [CanBeNull]
attribute
2024-07-17 23:58:38 +03:00
Dean Herbert
99c5025de8
Merge pull request #28892 from bdach/better-client-identifier
...
Send client-generated session GUID for identification purposes
2024-07-18 01:07:40 +09:00
Bartłomiej Dach
2a601ce961
Also send version hash header under more accepted convention of name
2024-07-17 16:21:46 +02:00
Bartłomiej Dach
3006bae0d8
Send client-generated session GUID for identification purposes
...
This is the first half of a change that *may* fix
https://github.com/ppy/osu/issues/26338 (it definitely fixes *one case*
where the issue happens, but I'm not sure if it will cover all of them).
As described in the issue thread, using the `jti` claim from the JWT
used for authorisation seemed like a decent idea. However, upon closer
inspection the scheme falls over badly in a specific scenario where:
1. A client instance connects to spectator server using JWT A.
2. At some point, JWT A expires, and is silently rotated by the game in
exchange for JWT B.
The spectator server knows nothing of this, and continues to only
track JWT A, including the old `jti` claim in said JWT.
3. At some later point, the client's connection to one of the spectator
server hubs drops out. A reconnection is automatically attempted,
*but* it is attempted using JWT B.
The spectator server was not aware of JWT B until now, and said JWT
has a different `jti` claim than the old one, so to the spectator
server, it looks like a completely different client connecting, which
boots the user out of their account.
This PR adds a per-session GUID which is sent in a HTTP header on every
connection attempt to spectator server. This GUID will be used instead
of the `jti` claim in JWTs as a persistent identifier of a single user's
single lazer session, which bypasses the failure scenario described
above.
I don't think any stronger primitive than this is required. As far as I
can tell this is as strong a protection as the JWT was (which is to say,
not *very* strong), and doing this removes a lot of weird complexity
that would be otherwise incurred by attempting to have client ferry all
of its newly issued JWTs to the server so that it can be aware of them.
2024-07-17 15:56:41 +02:00
Dean Herbert
d32fef8aee
Merge pull request #28891 from frenzibyte/fix-storyboard-positioning
...
Fix storyboard sprites leaving gaps on edges when "beatmap skins" is enabled
2024-07-17 22:56:27 +09:00
Salman Ahmed
c4141fff07
Fix storyboard sprites leaving gaps on edges when resolving from an atlas
2024-07-17 14:47:17 +03:00
Bartłomiej Dach
e4ff6b5c8b
Add flags allowing excluding protected beatmaps from consideration in music controller
...
This means that the protected beatmap can not be skipped forward/back
to.
Incidentally closes https://github.com/ppy/osu/issues/23199 .
2024-07-17 12:46:24 +02:00
Bartłomiej Dach
1ffc34b651
Do not show protected beatmaps in playlist overlay
...
Secondary fix to https://github.com/ppy/osu/issues/28880 .
2024-07-17 11:46:59 +02: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
7ba1f142e5
Fix rank upgrade path upgrading scores that failed background reprocessing earlier
2024-07-16 14:04:51 +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
063377f47c
Update framework
2024-07-16 17:45:25 +09:00
Dan Balasescu
bd4f3e28d9
Fix judgement animation getting cut early
2024-07-16 17:32:59 +09:00
Dan Balasescu
58ffbd9e1e
Merge pull request #28874 from peppy/fix-editor-toolbox-padding
...
Fix editor toolboxes being incorrectly chopped
2024-07-16 10:37: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
6cdcd6136d
Fix editor toolboxes being incorrectly chopped
2024-07-15 21:02:54 +09:00
Salman Ahmed
adb803c7a9
Force recreating sections container when loading new user to avoid weird UX when scrolled away
2024-07-14 15:19:37 +03:00
Salman Ahmed
43d08f702a
Or just use Colour4
where we have that fixed
2024-07-13 18:45:50 +03:00
Salman Ahmed
b12790c684
Fix hue number 360 giving off a gray colour scheme
...
They say it's not a bug, it's a feature...I dunno maybe later.
2024-07-13 18:29:06 +03:00
Dean Herbert
c854dfd6fb
Merge pull request #28832 from nekodex/ui-sfx-tweaks
...
UI SFX Tweaks/Updates
2024-07-13 23:24:06 +09:00
Dean Herbert
9ed97d03a8
Update resources
2024-07-13 20:22:52 +09:00
Salman Ahmed
b292bf3832
Support using custom hue in user profile overlay
2024-07-13 11:58:54 +03:00
Salman Ahmed
933626a64b
Support using custom hue in OverlayColourProvider
2024-07-13 11:58:54 +03:00
Salman Ahmed
3eaac11b44
Add profile hue attribute to API model
2024-07-13 11:26:45 +03: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
9a1939a922
Move logoContainer
local again
2024-07-12 22:01:20 +09:00
Dean Herbert
e8f7213b3b
Move logo depth to a forward passing
2024-07-12 22:01:20 +09:00
Jamie Taylor
320df7da2b
Use separate samples for scrolling to top and scrolling to previous
2024-07-12 21:01:19 +09:00
Jamie Taylor
ad2b354d9c
Update sample looping behaviour to better suit new sample
2024-07-12 21:01:19 +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
Bartłomiej Dach
452fbed681
Merge pull request #28808 from frenzibyte/fix-all-notifications
...
Fix confirm exit dialog potentially showing incorrect number of ongoing operations
2024-07-12 10:56:29 +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
e6b7d2530e
Change red shade for timing control points
2024-07-12 13:39:40 +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
Salman Ahmed
7a5624fd0e
Add screen footer to ScreenTestScene
2024-07-11 15:30:07 +03:00
Salman Ahmed
669e945fc3
Fix ModSelectOverlay
not hiding without a footer
2024-07-11 14:56:17 +03:00
Salman Ahmed
bd44c17079
Enable NRT in VolumeOverlay
2024-07-11 14:29:56 +03:00
Salman Ahmed
3190f8bb7e
Remove key arrow handling in VolumeOverlay
2024-07-11 14:29:33 +03:00
Salman Ahmed
7b541d378c
Revert some changes
...
I can see `IsDisplayingToast` being removed and `IsPresent` becoming `=> Notifications.Any()` but I'll just leave this for another day.
2024-07-11 14:23:11 +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
Dean Herbert
b1dd2ead30
Merge pull request #28818 from peppy/configure-a-wait-what-the-foo-bar
...
Fix incorrect continuation in `ImportAsUpdate` causing UI blockage
2024-07-11 15:54:42 +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
Bartłomiej Dach
bfe34c9671
Merge branch 'master' into fix-all-notifications
2024-07-11 08:35:57 +02: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
2eb6cf57af
Fix incorrect continuation in ImportAsUpdate
causing UI blockage
2024-07-11 13:42:24 +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
846fd73ac9
Fix notification toast tray potentially hiding some notifications
2024-07-10 16:15:02 +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
Salman Ahmed
94f51c92e0
Select all text when focusing a number box
2024-07-10 15:16:10 +03:00
Bartłomiej Dach
d879527329
Merge pull request #28803 from peppy/fix-break-overlay-visuals
...
Fix break overlay progress bar becoming a pancake near end of break
2024-07-10 13:31:09 +02:00
Bartłomiej Dach
d9e285395d
Merge pull request #28802 from peppy/fix-download-progress-bar-visuals
...
Fix beatmap card progress bar becoming pancake when starting
2024-07-10 13:25:02 +02: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
6cee0210c3
Fix(?) xmldoc
2024-07-10 19:22:49 +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
Dean Herbert
2ba1ebe410
Fix beatmap card progress bar becoming pancake when starting
2024-07-10 19:19:49 +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
704e7e843f
More xmldoc across new methods and classes
2024-07-10 18:34:48 +09: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
Dean Herbert
4e1240c349
Migrate ShearedOverlayContainer
to NRT
2024-07-10 13:54:27 +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
Bartłomiej Dach
13c8370823
Merge pull request #28786 from Joehuu/sort-direction-caret-transition
...
Add caret transition to beatmap listing sort tab items
2024-07-09 10:52:11 +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
877ade3053
Merge pull request #28787 from peppy/adjust-editor-fades
...
Adjust editor transparent tweens to be less "flashy"
2024-07-09 10:08:14 +02: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
ee9e329db3
Inhibit original callback from firing when sending initial changeset
2024-07-09 16:05:58 +09:00
Dean Herbert
2423bbb776
Ensure realm subscriptions always fire initial callback with null ChangeSet
...
We expect this to be the case, but it turns out that it [may be
coalesced](https://www.mongodb.com/docs/realm-sdks/dotnet/latest/reference/Realms.IRealmCollection-1.html#Realms_IRealmCollection_1_SubscribeForNotifications_Realms_NotificationCallbackDelegate__0__Realms_KeyPathsCollection_ ):
> Notifications are delivered via the standard event loop, and so can't
> be delivered while the event loop is blocked by other activity. When
> notifications can't be delivered instantly, multiple notifications may
> be coalesced into a single notification. This can include the
> notification with the initial collection.
Rather than struggle with handling this locally every time, let's fix
the callback at our end to ensure we receive the initial null case.
I've raised concern for the API being a bit silly with realm
(https://github.com/realm/realm-dotnet/issues/3641 ).
2024-07-09 15:47:43 +09:00
Joseph Madamba
cd968d4185
Add caret transition to beatmap sort tab items
2024-07-08 16:46:35 -07: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
Bartłomiej Dach
0d22c9a9c6
Pass comparer in all usages for consistency
2024-07-08 15:58:21 +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
c0a1696538
Merge pull request #28762 from frenzibyte/change-chevron-display
...
Change display of "expanded" chevrons in many UI components to use scale instead of rotation
2024-07-08 20:05:59 +09: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
Dean Herbert
910153c2e0
Fix sizing / padding of collection dropdown header
2024-07-08 19:32:28 +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
Dan Balasescu
44ebec07bb
Merge pull request #28767 from bdach/editor-test-play-ur-counter-crash
...
Fix editor player crashing with UR counter present in skin
2024-07-08 19:13:19 +09:00
Salman Ahmed
2fcc61edfa
Merge branch 'master' into audio-ducking-fx
2024-07-08 12:50:46 +03:00
Bartłomiej Dach
14a93bfc1a
Merge pull request #28553 from frenzibyte/mod-select-customisation-panel
...
Detach mod customisation area from the footer and replace with an overlay panel display
2024-07-08 11:26:21 +02:00
Salman Ahmed
784a9ae743
Merge branch 'master' into audio-ducking-fx
2024-07-08 12:26:10 +03: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
Joseph Madamba
73d164e0d0
Add chevron transition to CommentRepliesButton
2024-07-08 00:32:54 -07:00
Dean Herbert
03bd6069d8
Add slight animation when revert to default button is displayed
...
This also fixes the transforms running too often (could make the initial
transform take longer than expected if adjusting a slider bar, for
instance).
2024-07-08 15:50:27 +09:00
Joseph Madamba
9532146978
Fix content overflowing to border
...
The +2 for the top isn't really needed for the original purpose as content fades out now, but visually, having the header and content spacing looks more correct.
2024-07-07 23:12:20 -07:00
Salman Ahmed
7dc901df11
Do not be lenient on nullability of dropdown
2024-07-08 08:54:05 +03:00
Salman Ahmed
58e236a247
Add transition to dropdown chevrons
2024-07-08 08:48:52 +03:00
Salman Ahmed
4c2ae07eba
Use scale instead of rotation in ChevronButton
(used in top-right of comments section)
2024-07-08 08:48:07 +03:00
Salman Ahmed
dc630ddc9d
Use scale instead of rotation in news month sidebar
2024-07-08 08:45:44 +03:00
Salman Ahmed
be039b85ad
Use scale instead of rotation in profile cover toggle button
2024-07-08 08:32:29 +03:00
Salman Ahmed
5223e0aeae
Use scale instead of rotation for overlay scroll button
2024-07-08 08:31:33 +03:00
Salman Ahmed
22f2f83695
Rescale chevron up and down instead
2024-07-08 08:07:57 +03:00
Salman Ahmed
a0ffe9bcbc
Remove unnecessary HandlePositionalInput
override
2024-07-08 07:58:40 +03:00
Salman Ahmed
0c5a1410d3
Add fade transition to content during open/close
2024-07-08 07:54:37 +03:00
Dean Herbert
3650f3c479
Allow multiple ducks with same parameters
2024-07-08 13:52:40 +09:00
Dean Herbert
0067450b22
Change volume parameter to double
2024-07-08 13:47:57 +09:00
Dean Herbert
5907e0d1eb
Make DuckDuration
non-zero by default
2024-07-05 18:39:13 +09:00
Dean Herbert
7efb4ce30a
Fix multiple disposals resulting in assert being hit
2024-07-05 18:39:12 +09:00
Dean Herbert
717f7ba9f0
Better support multiple concurrent ducking operations
2024-07-05 18:12:40 +09: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
Bartłomiej Dach
6907d3d3b5
Merge branch 'master' into nodesample-inherit
2024-07-05 08:12:47 +02:00
Bartłomiej Dach
ab8623ec48
Merge pull request #28727 from OliBomby/inherit-addition
...
Allow inheriting addition bank from previous hitobject when using auto bank assignment
2024-07-05 08:12:30 +02:00
Dean Herbert
20ba6ca867
Add mention of return type for Duck
method
2024-07-05 15:11:11 +09:00
Dean Herbert
554740af10
Adjust ducking API to use a parameters record
2024-07-05 15:04:40 +09:00