1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 01:27:29 +08:00
Commit Graph

39951 Commits

Author SHA1 Message Date
Bartłomiej Dach
eddb879973
Merge pull request #24722 from peppy/beatmap-status-pill-animation
Add animation support for beatmap status pills
2023-09-06 09:59:21 +02:00
Bartłomiej Dach
b5e812eb3e
Merge pull request #24723 from bdach/beatmap-carousel-split-missing-status
Fix status on carousel beatmap set not showing in split difficulty mode
2023-09-06 09:35:38 +02:00
Bartłomiej Dach
63e92f8fab
Fix status on carousel beatmap set not showing in split difficulty mode 2023-09-06 08:25:19 +02:00
Dean Herbert
dded7fe6ca
Merge branch 'master' into beatmap-options-popover 2023-09-06 15:16:34 +09:00
Dean Herbert
1ca713f649
Merge pull request #22116 from mk56-spn/beatmap_wedge_clean_ii
New beatmap information wedge design implementation
2023-09-06 15:10:29 +09:00
Dean Herbert
034c887dcb Add animation support for beatmap status pills
To be used in conjunction with https://github.com/ppy/osu/pull/22116
2023-09-06 15:04:25 +09:00
Joseph Madamba
73604d171a
Make "general" a common string 2023-09-05 23:00:07 -07:00
Joseph Madamba
701e24e8d3
Move hide button to end and make it work 2023-09-05 18:50:31 -07:00
Joseph Madamba
6d2e57b73e
Add localisation support to beatmap options popover 2023-09-05 18:43:42 -07:00
Joseph Madamba
69fa8747f0
Explicitly add beatmapinfo param to edit call 2023-09-05 18:35:35 -07:00
Joseph Madamba
9565039192
Hide beatmap options popover when beatmap changes 2023-09-05 18:24:54 -07:00
Joseph Madamba
9f10082ffc
Revert param removal of delete beatmap and clear scores methods 2023-09-05 18:24:53 -07:00
Joseph Madamba
8e8fae0fba
Fix left padding adding shear width 2023-09-05 15:21:23 -07:00
Joseph Madamba
3f92dae55c
Move star rating display and status pill out of reloadable content 2023-09-05 15:20:20 -07:00
Joseph Madamba
676240928e
Move actual star updating to star rating display 2023-09-05 14:57:55 -07:00
Joseph Madamba
5becac6431
Make beatmap non-nullable
Doesn't seem like it'll be null after first set: 5454d1caa1/osu.Game/OsuGameBase.cs (L363)
2023-09-05 14:43:43 -07:00
Joseph Madamba
b63c1e4257
Remove mods dependency
BPM is not in the wedge anymore.
2023-09-05 12:14:17 -07:00
Joseph Madamba
6e6dd86a51
Remove buffered container comment
While it is true that there is a transparency overlap, it is only seen when entering/exiting song select. And there are other components game-wide that exhibit the same issue when transparency changes. Should be reconsidered another time.
2023-09-05 11:10:06 -07:00
Dean Herbert
96f12cfbaa Update GetTexture signature rather than creating new overload 2023-09-05 18:01:19 +09:00
Bartłomiej Dach
691c08ebde
Update spectator server development endpoint URLs
With the way `dev.ppy.sh` was previously configured, the `osu-web`
`/multiplayer` routes and `osu-server-spectator` `/multiplayer` routes
would conflict with each other, with the `osu-server-spectator` route
taking precedence. This would mean that some `osu-web` pages would just
straight up not be available on dev.

To counteract this, the `osu-server-spectator` routes are now exposed
under `https://dev.ppy.sh/signalr/`. This PR updates the client-side
configuration to use these new routes.
2023-09-05 10:30:12 +02:00
Dean Herbert
4cd4eb3b0a Move "general" to top for key binding compatibility 2023-09-05 16:46:49 +09:00
Dean Herbert
84d8d33ad7 Add headers and generally improve the UI of the popover 2023-09-05 16:44:55 +09:00
Dean Herbert
4ff3630484 Add a slight delay before hiding the popover to better visualise button click 2023-09-05 16:14:01 +09:00
Dean Herbert
a8c9c2bf17 Remove buffered container (doesn't seem like it's doing anything anymore) 2023-09-05 15:59:00 +09:00
Dean Herbert
1215ad7ace Update framework 2023-09-05 15:40:00 +09:00
Joseph Madamba
98d027d207
Fix star counter animating weird and delayed 2023-09-04 21:39:41 -07:00
Joseph Madamba
9accd0ded2
Fix star rating rolling counter regression 2023-09-04 21:21:56 -07:00
Joseph Madamba
82fb9dc2ef
Simplify text initialization 2023-09-04 12:59:21 -07:00
Joseph Madamba
e70510ef19
Move drawable and binding logic to standard places 2023-09-04 12:56:20 -07:00
Joseph Madamba
2df2002735
Move negative corner radius margin to constructor 2023-09-04 12:42:01 -07:00
Joseph Madamba
e8a793425b
Use right padding instead of negative x offset 2023-09-04 12:38:40 -07:00
Joseph Madamba
bf71099e57
Fix truncating sprite text usage 2023-09-04 12:04:20 -07:00
Joseph Madamba
2fbd67cf26
Merge branch 'master' into beatmap_wedge_clean_ii 2023-09-04 11:24:20 -07:00
Joseph Madamba
f616648730 Remove icon blending 2023-09-04 09:40:35 -07:00
cdwcgt
fd1fce486a
ensure dispose realmSubscription 2023-09-05 00:21:08 +09:00
cdwcgt
87aa191c12
use realm Subscription instead of Beatmap Download Tracker 2023-09-04 17:53:31 +09:00
cdwcgt
f68a12003a
check beatmap hash before try to import 2023-09-04 17:37:31 +09:00
Bartłomiej Dach
a200d043be
Merge pull request #24698 from Wleter/skin-editor-closest-anchor
Fix closest anchor for rotated/flipped selections in skin editor
2023-09-04 10:29:05 +02:00
cdwcgt
164f61f590
clean up 2023-09-04 17:14:04 +09:00
cdwcgt
3decadaf51
use realm query 2023-09-04 17:13:46 +09:00
Joseph Madamba
6c0bd13308
Add xmldoc to newly exposed methods 2023-09-04 00:53:14 -07:00
Joseph Madamba
5abf271b56
Implement beatmap options popover 2023-09-04 00:53:09 -07:00
cdwcgt
58844092d6
post a notification instead a screen 2023-09-04 16:17:21 +09:00
Hồ Nguyên Minh
d5a89c4c45 Fix formatting 2023-09-04 13:32:42 +07:00
Hồ Nguyên Minh
b17a55d6a8 Add length check for slider velocity 2023-09-04 10:43:05 +07:00
cdwcgt
dfecddbf5d
Merge branch 'master' into missing-beatmap 2023-09-04 12:41:23 +09:00
Givikap120
8281ed5173 Fixed "no animations" issue 2023-09-03 14:51:53 +03:00
Givikap120
0797926448 Update VerticalAttributeDisplay.cs 2023-09-03 12:19:03 +03:00
Magnus-Cosmos
40dbf098d2
Use existing localisation for "view profile" 2023-09-02 22:51:08 -04:00
Magnus-Cosmos
d674856e29
Use existing localisations in BeatmapInfoWedge 2023-09-02 22:49:29 -04:00
Salman Ahmed
6674c70280 Add support for limiting skin texture/animation dimensions 2023-09-03 02:21:47 +03:00
Givikap120
5e5fe84a88 Update AdvancedStats.cs 2023-09-03 02:19:02 +03:00
Givikap120
0779cd8f4f minor design fixes 2023-09-03 02:17:04 +03:00
Givikap120
2e2d4d0d60 Merge branch 'map_info_on_mod_settings' of https://github.com/Givikap120/osu into map_info_on_mod_settings 2023-09-03 02:09:18 +03:00
Givikap120
b0398b6259 functionality is done 2023-09-03 02:09:01 +03:00
Bartłomiej Dach
76954f6e91
Merge branch 'master' into skin-editor-selection-negative-scaling 2023-09-01 21:30:24 +02:00
Wleter
fc4069f794 let SelectionBox perform flip with scale handles 2023-09-01 13:01:51 +02:00
Dean Herbert
37c2b330a2 Move toggle implementation to work on all scrolling rulesets automatically 2023-09-01 19:53:10 +09:00
Dean Herbert
6ce251fbb5 Expose base VisualisationMethod so we don't need to new it locally per ruleset 2023-09-01 19:17:53 +09:00
Dean Herbert
0f5eff1230 Merge branch 'master' into mania-edit-disable-sv 2023-09-01 19:08:48 +09:00
Wleter
47160f7744 make getClosestAnchor work with rotated drawable 2023-08-31 20:24:26 +02:00
Dean Herbert
038e618af0 Merge branch 'master' into switch-to-new-score-download-endpoint 2023-08-31 00:15:57 +09:00
Wleter
f277909470 maintain rotated selection's centre position 2023-08-30 09:16:16 +02:00
Dean Herbert
96a5443813
Merge branch 'master' into carousel-difficulty-split 2023-08-30 14:24:30 +09:00
Dean Herbert
cbd4b91feb
Merge pull request #24678 from Nabile-Rahmani/bot-scores
Fix and use score user's IsBot property in results screen animation
2023-08-30 14:00:35 +09:00
Nabile Rahmani
270e2a6600
Update osu.Game/Rulesets/Mods/ModExtensions.cs
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-29 23:59:08 +02:00
Nabile Rahmani
b658b0e346 Fix and use score user's IsBot property in results screen animation
While a mod-created replay did flag itself as performed by a bot, the extension method converting it into a Score did not copy all the generated properties.

As noted, it might be preferable for ModCreatedUser to inherit APIUser and forward it as-is to the Score instance.

Related to PR #24675
2023-08-29 23:28:50 +02:00
Wleter
ce1bc71567 formatting 2023-08-29 18:41:56 +02:00
Wleter
586ce6e8d3 fix multiple selected 2023-08-29 17:47:42 +02:00
Wleter
14ee0ee395
Merge branch 'ppy:master' into skin-editor-selection-negative-scaling 2023-08-29 17:30:55 +02:00
Wleter
d56ab0fe9a change names 2023-08-29 17:25:52 +02:00
Wleter
3c575516ab add correct scaling for 90 degrees rotation 2023-08-29 17:06:23 +02:00
Bartłomiej Dach
d07530b241
Mark "Score V2" mod as not user-playable
The mod generally will only be present on scores imported from stable.
As such, it's probably ok to mark it as such.

The primary reason for this change is to address #24436 (Score V2 being
visible on beatmap overlay leaderboard mod selector).

There is one possibly-unintended consequence of this change, namely that
the results screen uses `UserPlayable` to determine as to whether
animations should be played back, with the intention of turning off the
animation playback for autoplay scores specifically. Therefore, turning
off this flag will mean that the results screen animations will not play
out for Score V2 scores - but I tend to consider this as either largely
unimportant, or something that should be fixed in some other way
(possibly by checking against the autoplay mod directly).

Other usages of `UserPlayable` are either innocuous, or straight-up good
safeties going forward in the context of Score V2 (guards against
selection in mod select overlays, against score submission with
the mod).
2023-08-29 11:52:11 +02:00
Givikap120
f8adc911cd
Merge branch 'ppy:master' into map_info_on_mod_settings 2023-08-28 23:17:04 +03:00
Givikap120
50235cc245 somewhat working prototype 2023-08-28 23:16:33 +03:00
Wleter
07e126241d working negative scaling 2023-08-28 16:41:55 +02:00
Bartłomiej Dach
99d5ff9efb
Switch download requests to new API endpoint
This API endpoint is intended for usage with the entire `solo_scores`
machinery and ID schema, rather than the legacy `*_scores_high` ID
schema. It also supports automagically falling back to downloading
legacy replays if a stable-imported score is requested for download
(internally this happens via `legacy_score_id` in the `data` json).

This change will allow replays to be downloaded, but it will still not
yield 100% correct behaviour, as there is further work to be done in
that respect. The download tracker is expecting score hashes to arrive
from web to verify the integrity of the incoming download, but the API
does not expose such a facility right now; we will have to decide as to
whether we want to add one web-side, or whether we want to disable the
checking client-side.
2023-08-28 13:50:52 +02:00
Bartłomiej Dach
97d1c6e9fc
Merge branch 'master' into carousel-difficulty-split 2023-08-28 11:07:43 +02:00
Bartłomiej Dach
b9795eb3d4
Fix changes to beatmap sets being undone on switching sort mode 2023-08-28 11:02:22 +02:00
Bartłomiej Dach
80ec18d117
Fix incorrect selection restore code in split case
The fallback to "any of the added sets" needs to be applied after
they've all been added, rather than with every added one. Otherwise, in
flows that expect a particular difficulty to be selected in the end
(such as exiting from editor) would end up switching away from the
edited beatmap.
2023-08-28 10:06:26 +02:00
Bartłomiej Dach
0af6cc1394
Fix online ID not being propagated in split difficulty mode
Would result in failures to re-download the beatmap in update flows, for
instance.
2023-08-28 10:05:59 +02:00
Givikap120
8a1fc7c340 Basic stuff (not working for now) 2023-08-26 01:20:41 +03:00
Dean Herbert
10b1450138 Rename remove method to better explain return type being IEnumerable 2023-08-25 18:10:54 +09:00
Dean Herbert
bf0f4fddad Localise non-overridden samples 2023-08-25 01:08:22 +09:00
Dean Herbert
35cdd6d866 Use string.Empty 2023-08-25 01:07:07 +09:00
Dean Herbert
89eeff515b Reduce complexity of selection restore 2023-08-25 00:52:54 +09:00
Dean Herbert
9e94f38091 Fix typo in local variable 2023-08-24 18:33:15 +09:00
Dean Herbert
081fb308e1 Merge branch 'master' into new-overlay-sfx 2023-08-24 18:29:00 +09:00
Jamie Taylor
f4415a5bab
Add more detail to comment 2023-08-24 18:20:36 +09:00
Jamie Taylor
7ef5a71e91
Move PopIn/PopOut sample playback from WaveOverlayContainer to WaveContainer (so Multiplayer/Lounge plays the samples) 2023-08-24 18:13:23 +09:00
Jamie Taylor
2e27a476bb
Re-enable sample playback for PasswordEntryPopover and remove sampleJoin playback instead 2023-08-24 18:04:47 +09:00
Dean Herbert
a8e4237e34 Enable sentry "global mode" as per recommendation
Sentry documentation suggests this should be on for a client-facing app.

We haven't run into issues without it until now, but might as well set it correctly?
2023-08-24 03:23:18 +09:00
Dean Herbert
72d2715222 Show mod settings as "on" or "off" rather than "True" or "False" 2023-08-23 20:21:43 +09:00
Dean Herbert
d6aded3ac3 Update framework 2023-08-23 20:11:55 +09:00
Dean Herbert
91c2cadb47 Add missing colon in mod settings tooltip 2023-08-23 19:13:32 +09:00
Dean Herbert
018be4c20f Fix selection not being retained when switching between split mode 2023-08-22 18:49:02 +09:00
Dean Herbert
ecbf0f138e Fix incorrect handling when new beatmaps arrive 2023-08-22 18:48:07 +09:00
Dean Herbert
2b1c6ae612 Ensure ID is maintained in temporary BeatmapSetInfos 2023-08-22 18:48:07 +09:00
Dean Herbert
290d18ad69 Split out difficulties in beatmap carousel in a bit of a hacky way
Seems like the simplest path forward for now, without a full rewrite.
2023-08-22 18:47:41 +09:00
Bartłomiej Dach
8cd9f0822a
Merge branch 'master' into judge-fix 2023-08-22 09:44:58 +02:00
Bartłomiej Dach
5be5335784
Reword comment to be better 2023-08-22 09:37:54 +02:00
Bartłomiej Dach
142abe1fd0
Make highlight messages important in order to trigger window flash 2023-08-22 09:01:32 +02:00
Bartłomiej Dach
aa29e00578
Remove FlashTaskbar and use IsImportant directly instead 2023-08-22 08:58:48 +02:00
Bartłomiej Dach
be1a712f33
Make OsuGame dependency nullable 2023-08-22 08:54:41 +02:00
Bartłomiej Dach
71b5be2568
Merge branch 'master' into ux/notifications/flash-on-message 2023-08-22 08:20:08 +02:00
Dean Herbert
f09b818418 Update resources 2023-08-22 13:17:12 +09:00
Dan Balasescu
e8337c592a Update framework and apply changes to support masking SSBO 2023-08-22 12:50:13 +09:00
Dean Herbert
2937dcef1a
Merge pull request #24610 from bdach/remove-global-action-container-hack
Remove global action container input queue workaround
2023-08-22 12:44:26 +09:00
tsrk
96c58c86ea
refactor: make flashing available in Notifications
This will be used in `NotificationOverlay` when a `Notification` is posted.
2023-08-21 23:36:54 +02:00
Wleter
9f4f81c150 accumulating negative scaling 2023-08-21 19:36:11 +02:00
Bartłomiej Dach
5454d1caa1
Remove global action container input queue workaround
As described in #24248, the workaround employed by
`GlobalActionContainer`, wherein it tried to handle actions with
priority before its children by being placed in front of the children
and not _actually containing_ said children, is blocking the resolution
of some rather major input handling issues that allow key releases to be
received by deparented drawables.

To resolve, migrate `GlobalActionContainer` to use `Prioritised`, which
can be done without regressing certain mouse button flows after
ppy/osu-framework#5966.
2023-08-21 17:54:08 +02:00
Bartłomiej Dach
273dcf9150
Also update the reference to added flag in schema change breakdown 2023-08-21 17:44:35 +02:00
Bartłomiej Dach
99c862f894
Merge branch 'master' into fix-score-import-fail-fail-fail 2023-08-21 17:28:10 +02:00
Bartłomiej Dach
8533cba0bf
Fix mismatching schema version in comment 2023-08-21 17:27:05 +02:00
Bartłomiej Dach
aa5680a8aa
Merge pull request #24527 from Pasi4K5/fix-slider-reversing
Fix sliders being reversed incorrectly in the editor
2023-08-21 17:12:00 +02:00
Bartłomiej Dach
6cd48e9db5
Merge pull request #24604 from peppy/fix-star-fountain-directions
Fix star fountain directions not matching stable
2023-08-21 17:00:51 +02:00
tsrk
bdac052631
refactor(MessageNotifier): apply changes required by framework 2023-08-21 15:29:41 +02:00
OliBomby
e283aa2843 Update inline comments 2023-08-21 13:09:31 +02:00
OliBomby
5bc11ed358 Revert "Ensure invariant of monotone time"
This reverts commit 5d1ccc2601.
2023-08-21 13:02:23 +02:00
OliBomby
c7b1c75379 Revert "Fix typo"
This reverts commit 90f2acaf0a.
2023-08-21 13:00:01 +02:00
Dean Herbert
b3e7416972 Rename new flag and update xmldoc to match 2023-08-21 19:36:22 +09:00
Dean Herbert
662073c472
Fix some incorrect comments / test step descriptions
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-21 19:35:04 +09:00
Dean Herbert
db893f3dc7 Merge branch 'master' into fix-score-import-fail-fail-fail 2023-08-21 19:34:12 +09:00
Dean Herbert
5f040a991b Fix potential crash when loading menu items due to cross-thread ops 2023-08-21 19:05:20 +09:00
Dean Herbert
e7d61e0002 Fix star fountain directions not matching stable 2023-08-21 17:59:24 +09:00
Dean Herbert
4915b2563c
Merge pull request #24366 from Joehuu/supporter-playlist-duration
Always show supporter-only playlist durations
2023-08-21 17:46:26 +09:00
Bartłomiej Dach
1d657a8844
Merge branch 'master' into fix-slider-reversing 2023-08-21 09:29:46 +02:00
Bartłomiej Dach
90bef267c8
Merge pull request #24581 from OliBomby/fix-segment-ends
Fix `SliderPath.GetSegmentEnds`
2023-08-21 09:29:13 +02:00
Bartłomiej Dach
dd1ac461db
Reformat xmldoc 2023-08-21 08:29:51 +02:00
Bartłomiej Dach
c27f06c0a7
Merge branch 'master' into formats-nrt 2023-08-21 08:17:34 +02:00
Bartłomiej Dach
de9a4448fc
Merge branch 'master' into fix-export-slider 2023-08-21 07:28:16 +02:00
Bartłomiej Dach
a942b6ff74
Replace inline comment with actual explanation of what's happening 2023-08-21 07:27:02 +02:00
Wleter
d2798c7a1c don't allow negative scaling 2023-08-20 17:55:19 +02:00
OliBomby
56b1062c2f expand xmldoc 2023-08-19 19:39:29 +02:00
Dean Herbert
8120c3f87a
Merge branch 'master' into precise-rotation-2 2023-08-19 23:25:42 +09:00
Bartłomiej Dach
0a55830c16
Add braces for clarification
I like no-braces for single-line ifs as much as anyone, but with inline
comments involved it gets rather dicey.
2023-08-19 14:34:20 +02:00
tsrk
548e6dc23b
feat(MessageNotifier): flash window on PM or mention 2023-08-19 03:04:09 +02:00
Pasi4K5
44a85139e4 Update Reverse() based on the changes in #24581 2023-08-19 02:40:18 +02:00
Pasi4K5
47d787b359 Merge remote-tracking branch 'OliBomby/fix-segment-ends' into fix-slider-reversing 2023-08-19 02:38:34 +02:00
Pasi4K5
0e691d5935 Revert changes in SliderPath 2023-08-19 00:16:05 +02:00
OliBomby
ff07fbae15 fix GetSegmentEnds 2023-08-18 12:20:40 +02:00
Dan Balasescu
a2fd7707a1 Allow toggling SVs in the editor 2023-08-18 18:55:24 +09:00
Dean Herbert
cbee7c7146
Merge branch 'master' into import-stable-date-added 2023-08-18 18:01:06 +09:00
Dean Herbert
5e0b89a1a8 Rename GetPath to GetFullPath to better match expectations 2023-08-18 17:56:43 +09:00
Dean Herbert
864f1bdb3e Move population of import time to the Populate method
Feels like a better place to be doing this. I think we want to keep any
kind of potentially expensive work in the `Populate` method.
2023-08-18 17:56:11 +09:00
Dean Herbert
eb2460d180 Remove dead metadata transfer code 2023-08-18 17:40:00 +09:00
Dean Herbert
9023059bc0 Convert to switch statement 2023-08-18 17:27:09 +09:00
Dean Herbert
75750957c7 Add note about why pop in samples are disabled for PasswordEntryPopover 2023-08-18 17:11:30 +09:00
Dean Herbert
fc2fac577f Inverse and xmldoc ShearedToggleButton sample allowance bool 2023-08-18 17:05:25 +09:00
Pasi4K5
3481c41a22 Fix segmentEnds being calculated incorrectly 2023-08-18 04:34:10 +02:00
OliBomby
360f9750e1 Allow selecting empty control point groups 2023-08-17 16:30:18 +02:00
Dean Herbert
c811546868 Update resources 2023-08-17 21:09:50 +09:00
Jamie Taylor
d10d7b6ea4
Change some component samples to go better with overlay pop-in samples 2023-08-17 18:36:37 +09:00
Jamie Taylor
3d7ba0e18c
Add pop-in/pop-out sfx to more overlays 2023-08-17 18:36:37 +09:00
Jamie Taylor
04a1f6a508
Add panning to certain overlay pop-in/pop-outs 2023-08-17 18:36:37 +09:00
Jamie Taylor
b15a54c914
Use new overlay pop-in/pop-out samples 2023-08-17 18:36:36 +09:00
Dean Herbert
e2cb0d7afb Update framework 2023-08-17 17:59:22 +09:00
Dean Herbert
a78c03bd5b Merge branch 'master' into precise-rotation-2 2023-08-17 17:59:13 +09:00
cdwcgt
0db82e5286
beatmapSetInfo never be null 2023-08-17 17:27:50 +09:00
cdwcgt
61a1460f09
remove useless Using 2023-08-17 17:27:14 +09:00
cdwcgt
3a3951ebf4
remove useless api resolved 2023-08-17 17:26:00 +09:00
Krzysztof Gutkowski
59abb59ee8 Set correct date added value when importing stable beatmapsets 2023-08-17 00:49:48 +02:00
OliBomby
8686b6b1e6 fix The last slider point has effect on previous inherited 2023-08-16 16:44:08 +02:00
Dean Herbert
59a31cc868
Merge pull request #24431 from bdach/slider-with-textbox-instantaneous
Add instantaneous mode to `SliderWithTextBoxInput`
2023-08-16 20:10:52 +09:00
Bartłomiej Dach
ed84be2f26
Merge pull request #24566 from peppy/multiplayer-spectator-score-diff
Add score difference display to multiplayer spectator
2023-08-16 12:57:17 +02:00
Dean Herbert
49fc9655d2 Apply NRT to osu.Game.Betamaps.Formats namespace 2023-08-16 19:37:24 +09:00
Bartłomiej Dach
f9ca7f3e0e
Merge pull request #24564 from peppy/multi-spectator-test-improvements
Add various testing improvements to various tournament components
2023-08-16 12:29:36 +02:00
Bartłomiej Dach
19f892687a
Add precise rotation control to osu! editor 2023-08-16 11:37:52 +02:00
Bartłomiej Dach
bdf87e43db
Merge branch 'master' into slider-with-textbox-instantaneous 2023-08-16 10:48:45 +02:00
Bartłomiej Dach
35af15f491
Merge branch 'master' into multi-spectator-fix-startup-delay 2023-08-16 10:34:20 +02:00
Dean Herbert
8b9759c569 Apply nullability to MatchScoreDisplay 2023-08-16 17:26:10 +09:00
Dean Herbert
ab826c35b7 Add score diff display to multiplayer spectator
Basically pulling changes over from the tournament client implementation
2023-08-16 17:26:10 +09:00
Dean Herbert
56eb44d15b Change TestSpectatorClient to provide some better fake data for score / acc 2023-08-16 17:14:42 +09:00
Bartłomiej Dach
add1ef77d0
Fix typo in comment 2023-08-16 10:07:12 +02:00
Bartłomiej Dach
4f47b196c1
Merge branch 'master' into fix-unsafe-realm-access 2023-08-16 09:59:17 +02:00
Bartłomiej Dach
d70a9a5bc4
Fill out xmldoc and adjust inline commentary 2023-08-16 09:40:46 +02:00
Dean Herbert
bb98f10ff6 Use CurrentTime instead of StartTime for hotfix seek (and update comment) 2023-08-16 16:38:49 +09:00
Dean Herbert
184eabb902 Merge branch 'master' into multi-spectator-fix-startup-delay 2023-08-16 16:27:49 +09:00
Dean Herbert
caf0fd0742 Refactor migration to read the same as previous one 2023-08-16 16:21:42 +09:00
Dean Herbert
68db112882 Re-date migration 2023-08-16 16:20:17 +09:00
Dean Herbert
c885b71f3a Add leaderboard toggle as tracked setting to give better use visibility 2023-08-16 16:17:56 +09:00
Dean Herbert
31c2b7f925 Merge branch 'master' into leaderboard-toggle 2023-08-16 15:49:55 +09:00
Dean Herbert
6e11162ab1 Add helper method for safer realm Find<T> 2023-08-16 15:37:09 +09:00
Bartłomiej Dach
88295a49aa
Fix invalid reference in xmldoc 2023-08-16 07:38:31 +02:00
Bartłomiej Dach
6c4c76350f
Remove unused using directive 2023-08-16 07:36:56 +02:00
Dean Herbert
531794b26b Fix ModelManager not correctly re-retrieving realm objects before performing operations
Falls into the age-old trap of attempting to retrieve an item from realm
without first ensuring that realm is in an up-to-date state.

Consider this scenario:

- Editor is entered from main menu, causing it to create a new beatmap
  from its async `load()` method.
- Editor opens correctly, then main thread performs a file operations on
  the same beatmap.
- Main thread is potentially not refreshed yet, and will result in `null`
  instance when performing the re-fetch in `performFileOperation`.

I've fixed this by using the safe implementation inside `RealmLive<T>`.
Feels like we want this is one place which is always used as the correct
method.

On a quick search, there are 10-20 other usages of `Realm.Find<T>` which
could also have similar issues, but it'll be a bit of a pain to go
through and fix each of these. In 99.9% of cases, the accesses are on
instances which couldn't have just been created (or the usage of
recently-imported/created is blocked by realm subscription flows, ie.
baetmap import) so I'm not touching them for now.

Something to keep in mind when working with realm going forward though.
2023-08-16 14:23:32 +09:00
Dean Herbert
5bd7370439 Add log output when editor is creating a fresh beatmap 2023-08-16 14:23:17 +09:00
Dean Herbert
502844a858 Add ability to construct RealmLive from ID 2023-08-16 14:23:01 +09:00
Dean Herbert
6001f7e5c7 Rename "dummy" local user to something more descriptive
This created weird cases in logs which are very hard to understand. The
one which really got me was this:

```
[runtime] 2023-08-13 07:48:27 [verbose]: Invalidating working beatmap cache for unknown artist - unknown title (Dummy)
```

Which looks like a dummy working beatmap was invalidated, but it turns
out that's just the local user which was populated when creating a new
local beatmap.
2023-08-16 13:52:27 +09:00
Pasi4K5
58bffa13cd Fix possible IndexOutOfRangeException 2023-08-16 01:19:41 +02:00
Pasi4K5
e7e0c49f42 Replace .Distinct() with truncateEndingDuplicates() 2023-08-16 01:14:25 +02:00
Pasi4K5
6346872c39 Improve code readability and add assertion to test scene 2023-08-15 23:27:12 +02:00
Dean Herbert
e8bde6504a Fix score being cloned in async method causing random crashes
Closes https://github.com/ppy/osu/issues/24445.
2023-08-15 16:08:13 +09:00
Dean Herbert
526a145b93
Merge pull request #24546 from peppy/update-framework
Update framework
2023-08-15 15:34:56 +09:00
Bartłomiej Dach
ab1d523528
Fix kiai stars flickering on and off during gameplay
Closes #24503.

The problematic reset of `lastParticleAdded` has been moved to a place
that should hopefully (a) not cause such problems and (b) be much more
explicit about what's happening.
2023-08-15 07:44:05 +02:00
Dean Herbert
8c14ff674e Update framework 2023-08-15 14:33:21 +09:00
Pasi4K5
449bee98cc Code cleanup 2023-08-14 21:56:08 +02:00
Pasi4K5
19c8b74a47 Remove unnecessary circle arc approximation 2023-08-14 21:09:58 +02:00
Bartłomiej Dach
9e7cc05138
Merge branch 'master' into remove-fps-fade-in-out 2023-08-14 18:46:30 +02:00
Dan Balasescu
90d7e46e20 Fix incorrect truncation to int 2023-08-15 00:58:13 +09:00
Dean Herbert
34c761946c Don't completely fade FPS counter out when running at full FPS
I've heard multiple times from uses that this is distracting or
confusing.
2023-08-14 23:55:57 +09:00
Pasi4K5
55ac942e7a Fix IndexOutOfRangeException when trying to reverse a zero-length slider 2023-08-14 14:09:08 +02:00
Pasi4K5
f42b3603b3 Fix linear sliders sometimes being reversed incorrectly
Extract control point reversing to separate method
2023-08-14 14:08:02 +02:00
Dan Balasescu
d1a4a46fd3 Temporarily allow new difficulty attributes to not exist 2023-08-14 16:59:01 +09:00
cdwcgt
e7b34cd4da
declare BeatmapSet is not null 2023-08-14 03:43:16 +09:00
Pasi4K5
8912a0e91e Fix sliders being reversed incorrectly in the editor. 2023-08-12 20:30:48 +02:00
QuantumSno
a0543d97bd
Merge branch 'master' into leaderboard-toggle 2023-08-12 11:21:02 -04:00
Dean Herbert
0eaa383120 Update framework 2023-08-12 17:54:05 +09:00
Bartłomiej Dach
253392409e
Fix LegacyBeatmapExporter not converting beatmap between decode and re-encode 2023-08-12 00:50:31 +02:00
Bartłomiej Dach
37361cd683
Repurpose Flat{File -> }WorkingBeatmap 2023-08-12 00:49:42 +02:00
OliBomby
90f2acaf0a Fix typo 2023-08-11 23:50:00 +02:00
OliBomby
5d1ccc2601 Ensure invariant of monotone time 2023-08-11 23:39:28 +02:00
OliBomby
d2f5e696e7 Fix DrawableHitObject state not synchronizing with hitobject edits 2023-08-11 22:34:04 +02:00
Dean Herbert
896cbb0ba0 Update framework 2023-08-11 21:34:59 +09:00
Bartłomiej Dach
2b738edb93
Reword / fix comments 2023-08-10 22:55:02 +02:00
Bartłomiej Dach
1b3806539a
Merge branch 'master' into leaderboard-toggle 2023-08-10 22:50:55 +02:00
QuantumSno
5d6ebb4df9 Removed comments organizing GlobalActionContainer.cs, since they were incorrectly grouping actions 2023-08-10 10:18:15 -04:00
QuantumSno
71c42167e7 Updated wording on realm comments 2023-08-10 10:17:12 -04:00
Bartłomiej Dach
2698ec9206
Merge branch 'master' into block-exit-if-save-failed 2023-08-08 23:41:03 +02:00
Bartłomiej Dach
500a1363ec
Merge branch 'master' into fix-break-info-decimal-separator 2023-08-08 22:49:00 +02:00
Joseph Madamba
49f5d6813e
Block beatmap editor from testing/exiting/exporting when saving fails 2023-08-04 22:08:25 -07:00
cdwcgt
09047538c7
remove all memory stream dispose 2023-08-04 20:02:22 +09:00
cdwcgt
7989286528
scoreStream never been null 2023-08-04 20:02:03 +09:00
Joseph Madamba
d179fe3d96
Add support for changelog entries with url attached 2023-08-03 23:24:37 -07:00
Bartłomiej Dach
785d2ed9b1
Merge branch 'master' into multi-spectator-better-start-time 2023-08-03 22:07:47 +02:00
Bartłomiej Dach
52b1073d93
Fix playfield skin layer not rotating correctly with barrel roll mod 2023-08-03 21:08:00 +02:00
Bartłomiej Dach
dde03b7d46
Merge branch 'master' into playfield-skin-layer 2023-08-03 20:42:15 +02:00
Dean Herbert
d39ef48b71 Return null intead of FileNotFoundException on missing file in ZipArchiveReader 2023-08-03 09:01:11 +09:00
Dean Herbert
71f6e5731d
Fix potential null reference if no frames found
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-03 08:58:19 +09:00
Dean Herbert
f38b21110f
Add missing parenthesis to comment
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-03 08:57:43 +09:00
Bartłomiej Dach
f48b1ebdbf
Merge branch 'master' into fix-transparent-player-background 2023-08-03 00:41:42 +02:00
Joseph Madamba
aab462fd95
Fix valueText being replaced even if current is not binding to anything 2023-08-02 09:40:22 -07:00
cdwcgt
0e7e36f114
don't passing stream by exception 2023-08-02 22:04:29 +09:00
Dean Herbert
87fee001c7 Fix multiplayer spectator potentially taking too long to start
When watching from the middle of gameplay, due to a series of failures,
`SpectatorClock` would not get seeked to the current time, causing all
clients to look like they were out of sync.

This is a hotfix for the issue. A better fix will require framework
changes or considerable restructuring.

I'd recommend testing this works in practice and agreeing that while it
is a hack, it's likely not going to cause issues and is something we
want to see fixed sooner rather than later.
2023-08-02 19:05:43 +09:00
cdwcgt
6637a5e7bc
ensure Performer not null 2023-08-02 18:53:27 +09:00
Dean Herbert
75c1d5ad7f Add lenience to FramedBeatmapClock workaround 2023-08-02 18:49:24 +09:00
Dean Herbert
14d87e49c7 Improve choice of where to start playback of multiplayer spectator 2023-08-02 18:46:35 +09:00
cdwcgt
1bdd054bd6
extract method 2023-08-02 18:16:39 +09:00
cdwcgt
4c43c92329
ensure dispose stream 2023-08-02 17:58:17 +09:00
cdwcgt
c07a1ec91e
retrun DefaultBeatmap when beatmapset already delete pending
reimplement https://github.com/ppy/osu/pull/22741
2023-08-02 17:58:17 +09:00
cdwcgt
eef63b41da
fetch missing beatmap when import score with missing beatmap 2023-08-02 17:58:05 +09:00
Dean Herbert
0e510088f9 Ensure background of gameplay is black when storyboard is overriding background display 2023-08-02 15:50:15 +09:00
Dean Herbert
a618ed140e Move StoryboardReplacesBackground bindable more local to usage 2023-08-02 15:29:18 +09:00
QuantumSno
5443f89dca Assuming its still set to tab, removes binding for toggle chat so itll be set to the new default 2023-08-01 16:58:52 -04:00
QuantumSno
426bc52fd5 Updated schema_version number and added braces around some migration cases to help with re-using variable names 2023-08-01 14:27:37 -04:00
Bartłomiej Dach
5b6c3321cf
Merge branch 'master' into multi-spectator-flow-fixes 2023-08-01 19:03:48 +02:00
Bartłomiej Dach
a75f42f5a9
Merge branch 'master' into multi-spectator-extended-results 2023-08-01 18:25:41 +02:00
Bartłomiej Dach
d65f08a048
Merge pull request #24427 from peppy/fix-skin-editor-crash-multi-spectator
Fix game crashing when entering skin editor in multiplayer spectator
2023-08-01 18:25:11 +02:00
Bartłomiej Dach
f7d5ac9f92
Privatise setter 2023-08-01 18:09:48 +02:00
QuantumSno
054ca5e59c
Merge branch 'master' into leaderboard-toggle 2023-08-01 10:06:03 -04:00
Dean Herbert
70bd1d3cf4 Fix centred player not animating correctly 2023-08-01 20:18:21 +09:00
Dean Herbert
df504e1fc2 Show extended statistics in multiplayer spectator automatically 2023-08-01 20:02:36 +09:00
Dean Herbert
fe47dc291b Fix onLoadRequested getting early-exited too early in spectator scenarios
In some scenarios, multiplayer spectator would not tick over to the next
beatmap.

Here's an example:

- Room has two items queued
- Local user starts download of both
- First beatmap starts and download is complete
- First beatmap ends (spectating is active)
- Second beatmap starts but download is not complete

In this scenario, the local client will get stuck at the spectator
screen due to the `onLoadRequested`-invoked screen change being early
exited.

It would require manual recovery (clicking back button) to return to a
sane state.
2023-08-01 19:22:41 +09:00
Dean Herbert
9fe9ea2c90 Fix potential crash on multiple StartGameplay calls in multiplayer spectator 2023-08-01 19:22:41 +09:00
Bartłomiej Dach
4fb0ff8800
Implement instantaneous SliderWithTextBoxInput mode 2023-08-01 01:02:16 +02:00
Bartłomiej Dach
ca81f23356
Add test covering non-instantaneous behaviour 2023-08-01 01:01:37 +02:00
Bartłomiej Dach
2e2b0c4e41
Move SliderWithTextBoxInput to more general namespace 2023-08-01 01:01:36 +02:00
Dean Herbert
d78cc60851 Update framework 2023-08-01 07:12:40 +09:00
Dean Herbert
a3afb198a1
Merge pull request #24341 from bdach/selection-operations-refactor
Refactor rotation handling in editor to facilitate reuse
2023-07-31 17:18:05 +09:00
Dean Herbert
72005bef7c Fix skin editor crashing if the same component is provided twice 2023-07-31 15:10:58 +09:00
Bartłomiej Dach
ebe5dd2ac9
Interface with SelectionRotationHandler via DI rather than explicit passing 2023-07-30 20:21:41 +02:00
Bartłomiej Dach
262f25dce8
Make SelectionRotationHandler a Component 2023-07-30 20:18:33 +02:00
Bartłomiej Dach
821cd08f34
Merge branch 'master' into selection-operations-refactor 2023-07-30 19:29:06 +02:00
Bartłomiej Dach
7763f3dd40
Fix osu! logo suddenly disappearing during rapid exit 2023-07-30 19:05:37 +02:00
Bartłomiej Dach
d3435483eb
Fix multiplayer match screen being exited from when not current
This was supposed to be fixed by #24255, but has popped up as a
regression on Sentry since:

	https://sentry.ppy.sh/organizations/ppy/issues/22749/?project=2&referrer=regression_activity-email

On a fifteen-minute check I cannot figure out how to reproduce, so
rather than spending further brain cycles on this, just apply the same
explicit guard that like fifteen other places do.
2023-07-30 15:50:10 +02:00
Bartłomiej Dach
1f7f336fd5
Merge branch 'master' into fix-replay-export-queued-op 2023-07-30 14:58:14 +02:00
Bartłomiej Dach
1981e49a40
Fix nullability inspection 2023-07-30 14:28:16 +02:00
Bartłomiej Dach
b51e577239
Merge pull request #24418 from peppy/now-playing-async-fix
Fix now playing overlay background occasionally showing incorrect background
2023-07-30 14:05:49 +02:00
Bartłomiej Dach
898913f32a
Merge pull request #24415 from peppy/multi-spectator-improvements
General visual improvements to mutliplayer spectatator screen
2023-07-30 12:43:26 +02:00
Bartłomiej Dach
e208f38bcb
Merge pull request #24361 from peppy/fix-editor-global-music-hotkey-conflicts
Disallow interacting with the global track state in `Player` and `Editor`
2023-07-30 12:28:53 +02:00
Dean Herbert
6d5b3617b3 Remove pending export operation if active score is changed 2023-07-30 16:41:45 +09:00
Dean Herbert
35ec55c1f6 Don't queue export replay operations if button is disabled 2023-07-30 16:41:33 +09:00
Dean Herbert
de61b74e91 Add proper cancellation and out-of-order blocking logic to NowPlayingOverlay's background carousel 2023-07-30 16:21:35 +09:00
Dean Herbert
07d224ecb6 Apply NRT to NowPlayingOverlay 2023-07-30 16:17:04 +09:00
Dean Herbert
4f83c8661a Remove unnecessary async fetch of beatmap in NowPlayingOverlay
No idea if this was historically required for some reason, but it's
definitely not required now.
2023-07-30 16:16:25 +09:00
Dean Herbert
45ceaba00d Disable multiplayer spectator zoom when there's only one player's screen visible 2023-07-30 14:40:58 +09:00
Dean Herbert
7138291636 Adjust xmldoc to explicitly metnion it only affects end user control 2023-07-30 13:52:58 +09:00
Dean Herbert
945d89e955 Move disables to loading screens for better coverage of edge cases 2023-07-30 13:45:42 +09:00
Joseph Madamba
4ddf05602f Update BreakInfoLine to formatting standards 2023-07-29 11:05:15 -07:00
Joseph Madamba
6ebfafa9c3 Remove unnecessary text comparison 2023-07-29 11:02:04 -07:00
Joseph Madamba
740898dffb Remove unnecessary prefix parameter 2023-07-29 10:40:18 -07:00
Joseph Madamba
9d928c0225 Apply NRT to BreakInfoLine 2023-07-29 10:39:50 -07:00
Dean Herbert
75625f089e Hide toolbar when entering multiplayer spectator 2023-07-30 02:29:14 +09:00
Dean Herbert
38244c081f Further refactorings along with shadow implementation 2023-07-30 02:29:14 +09:00
Dean Herbert
84bc14c1dd Improve animation and sizing of maximised screen display 2023-07-30 02:29:14 +09:00
Dean Herbert
1826819663 Move Facade to nested class 2023-07-30 02:29:14 +09:00
Dean Herbert
5fa0a21b56 Add corner radius around player areas 2023-07-30 02:29:14 +09:00
QuantumSno
65b4ae506e Moved enum to bottom of enumeration table 2023-07-29 13:18:47 -04:00
Bartłomiej Dach
579b0bc570
Merge branch 'master' into fix-autoplay-mod-revert 2023-07-29 16:12:11 +02:00
Joseph Madamba
a3301dc7ff Fix accuracy break info decimal separator being incorrect in certain languages 2023-07-28 23:26:07 -07:00
Bartłomiej Dach
1fd4a6dc96
Fix tests crashing due to HUDOverlay not finding DrawableRuleset in Update() 2023-07-29 01:07:49 +02:00
Bartłomiej Dach
4db203ecc3
Merge branch 'master' into playfield-skin-layer 2023-07-29 00:01:06 +02:00
Bartłomiej Dach
c6f0cf50ca
Use better safety in rectangular grid
- Checking `DrawSize != Vector2.Zero` is too specific. It could also
  crash on zero-height-but-non-zero-width, or
  zero-width-but-non-zero-height.

- Take the `gridCache.Validate()` call out of the zero checks, because
  even if the width or height are zero, not generating anything is valid
  and there is no reason to validate every frame until `gridCache` gets
  invalidated again.
2023-07-28 22:57:02 +02:00
Bartłomiej Dach
0c10d875ce
Merge branch 'master' into ladder-grid-expand 2023-07-28 22:51:33 +02:00
Bartłomiej Dach
caad931a16
Move comment to more fitting place 2023-07-28 22:10:10 +02:00
Bartłomiej Dach
6d018c08af
Rename Apply{Vertical -> Horizontal}Centering to match common understanding 2023-07-28 22:09:28 +02:00
QuantumSno
a4065486c1 bound bind during gameplay 2023-07-28 14:39:41 -04:00
QuantumSno
26c128a093 added keybind and localization string 2023-07-28 14:39:30 -04:00
Dean Herbert
c9155f85ab Fix playfield not taking up full width correclty when not vertically centered 2023-07-28 16:40:14 +09:00
Dean Herbert
d26164e9fe Merge branch 'master' into fix-taiko-alignment 2023-07-28 16:32:37 +09:00