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

42730 Commits

Author SHA1 Message Date
Andrei Zavatski
060b01eee8 Make CreateJudgement public again and add remarks 2024-02-16 20:24:02 +03:00
Andrei Zavatski
dd32c0a226 Merge branch 'master' into judgements-rework 2024-02-16 20:08:57 +03:00
Bartłomiej Dach
1049be7d72
Add extended xmldoc to DisconnectRequested()
Just expounds on what the previous commit message said.
2024-02-16 13:09:36 +01:00
Bartłomiej Dach
b4aa247032
Do not attempt to stop watching user presence when requested to disconnect
First of all, this sort of cleanup isn't really the client's
responsibility, and secondly, at the point the client received this
request to disconnect, *none of its requests will be honored anymore*
(currently the only scenario of this if another client has connected
- the server-side concurrency filter will reject this request).

When disconnection is requested, the only valid thing to do with respect
to talking to the server is to stop doing it.

This will be moved server-side in a follow-up change, although I'm not
even strictly sure that's required - I'd like to think signalr would
know to clean up a disconnecting client from all groups they were in.
2024-02-16 13:08:39 +01:00
Bartłomiej Dach
9fa60b169e
Actually disconnect from metadata hub when requested to
Nothing in this override, on in the base implementation, would actually
attempt to disconnect.
2024-02-16 12:58:50 +01:00
Bartłomiej Dach
171270d99c
Fix missing RPC method mapping
Thanks, signalr.
2024-02-16 12:58:13 +01:00
Dan Balasescu
0fff9d4937
Add non-whitespace search term for mods 2024-02-16 19:17:41 +09:00
Salman Ahmed
583e71634f Always bring master/music volume to 50% 2024-02-16 11:20:07 +03:00
Salman Ahmed
952c5b0d18 Use Precision.AlmostBigger 2024-02-16 11:13:41 +03:00
Salman Ahmed
9f53185fa9 Revert changes to muted notification action 2024-02-16 10:47:56 +03:00
Salman Ahmed
df40f55c07
Merge branch 'master' into mute_detection 2024-02-16 01:35:02 +03:00
Salman Ahmed
7530b1f362 Adjust comment again 2024-02-16 01:31:52 +03:00
Salman Ahmed
5431781f80 Bring back target volume to 50% 2024-02-16 01:23:26 +03:00
Salman Ahmed
d81b148b09 Remove mention of decibel units in comment
Decibels are irrelevant in the volume bindables, as mentioned in PR already.
2024-02-16 01:23:18 +03:00
Salman Ahmed
a9eac5924d Remove seemingly unnecessary float casts 2024-02-16 01:18:13 +03:00
Dean Herbert
c1d9f53ab4
Merge pull request #27068 from smoogipoo/mania-hd-fi-progression
Add progressive coverage for mania's Hidden and FadeIn mods
2024-02-16 01:00:53 +08:00
Dean Herbert
e91d38872d
Update framework 2024-02-15 18:28:59 +08:00
Bartłomiej Dach
898d5ce88b
Show selected submission failure messages even in solo
Previously, if a `SubmittingPlayer` instance deemed it okay to proceed
with gameplay despite submission failure, it would silently log all
errors and proceed, but the score would still not be submitted. This
feels a bit anti-user in the cases wherein something is genuinely wrong
with either the client or web, so things like token verification
failures or API failures are now shown as notifications to give the user
an indication that something went wrong at all.

Selected cases (non-user-playable mod, logged out, beatmap is not
online) are still logged silently because those are either known and
expected, or someone is messing with things.
2024-02-15 10:55:08 +01:00
Bartłomiej Dach
95e745c6fb
Use better messaging for selected submission failure reasons
These have been cropping up rather often lately, mostly courtesy of
linux users, but not only:

	https://github.com/ppy/osu/issues/26840
	https://github.com/ppy/osu/issues/27008
	https://github.com/ppy/osu/discussions/26962

so this is a proposal for slightly improved messaging for such cases to
hopefully get users on the right track.

The original error is still logged to network log, so there's no
information loss.
2024-02-15 10:51:27 +01:00
Bartłomiej Dach
e10c4c7079
Merge pull request #27176 from peppy/document-classic-mod-no-rank
Add inline documentation as to why classic mod is not ranked
2024-02-15 09:22:05 +01:00
Dean Herbert
409dfd33e7
Merge pull request #27178 from Joehuu/truncate-osu-dropdown-items
Truncate long dropdown menu item text and show tooltip
2024-02-15 16:11:36 +08:00
Joseph Madamba
3d08bc5605 Truncate long dropdown menu item text and show tooltip 2024-02-14 23:01:51 -08:00
Dean Herbert
9e9297bfb3
Add inline documentation as to why classic mod is not ranked
See https://github.com/ppy/osu/pull/27149#issuecomment-1939509941.
2024-02-15 13:22:54 +08:00
Dean Herbert
728f65b6d3
Merge pull request #27173 from EVAST9919/song-select-sort
Reduce allocations during aggregate beatmap sorts in song-select screen
2024-02-15 12:50:16 +08:00
Joseph Madamba
a03835bf1c Improve comments 2024-02-14 20:13:27 -08:00
Dean Herbert
674ee91bb5
Define aggregate max delegates as static to further reduce allocations 2024-02-15 11:40:50 +08:00
Dean Herbert
80abf6aab3
Avoid some further enumerator allocations 2024-02-15 09:45:24 +08:00
Andrei Zavatski
6e1b4152c0 Redice allocations during aggregate beatmap sort 2024-02-15 00:01:55 +03:00
Dean Herbert
59efd22ba2
Merge branch 'master' into score-statistics-updates-working-2 2024-02-15 02:55:12 +08:00
Dean Herbert
9ec79755fb
Standardise font specs 2024-02-15 02:54:28 +08:00
Dean Herbert
c175e03600
Inline rolling duration variable 2024-02-15 02:53:38 +08:00
Bartłomiej Dach
c588b81cee
Merge pull request #27163 from frenzibyte/ignore-soft-deleted-beatmaps-in-notification
Ignore soft-deleted beatmaps when trying to present from notification
2024-02-14 18:07:59 +01:00
Bartłomiej Dach
aae431e8f6
Cancel rolling properly 2024-02-14 16:48:31 +01:00
Bartłomiej Dach
53884f61c3
Apply suggested changes 2024-02-14 16:41:41 +01:00
Bartłomiej Dach
ae9a2661ac
Sprinkle some raw string prefixes 2024-02-14 16:20:47 +01:00
Bartłomiej Dach
414066fd34
Inline problematic function (and rename things to make more sense) 2024-02-14 16:07:42 +01:00
Bartłomiej Dach
a8ae0a032f
Simplify parsing 2024-02-14 15:58:38 +01:00
Dean Herbert
3da1d05d98
Merge branch 'master' into ignore-soft-deleted-beatmaps-in-notification 2024-02-14 22:56:47 +08:00
Bartłomiej Dach
c24328dda3
Abandon date filter if no meaningful time bound found during parsing 2024-02-14 15:56:32 +01:00
Bartłomiej Dach
f0f37df67f
Revert unnecessary change 2024-02-14 15:37:02 +01:00
Bartłomiej Dach
1113355753
Merge branch 'master' into add-last-played-filter 2024-02-14 15:36:19 +01:00
Bartłomiej Dach
2c0a5b7ef5
Fix missing tiny droplet not triggering fail with perfect on
Stable does this:

    46cd3a10af/osu!/GameplayElements/HitObjectManagerFruits.cs#L98-L102

I'd rather not say what I think about it doing that, since it's likely
to be unpublishable, but to approximate that, just make it so that
only the "default fail condition" is beholden to the weird ebbs
and flows of what the ruleset wants. This appears to fix the problem
case and I'm hoping it doesn't break something else but I'm like 50/50
on it happening anyway at this point. Just gotta add tests add nauseam.
2024-02-14 14:21:48 +01:00
Bartłomiej Dach
68247fa022
Fix typo in json property name
Would cause the mapper badge to never actually be shown in the real
world.
2024-02-14 13:21:37 +01:00
Bartłomiej Dach
8312f92b4e
Use better value for alignment 2024-02-14 12:24:28 +01:00
Bartłomiej Dach
153024e61b
Increase transition durations slightly
Maybe slightly better readability. Dunno.
2024-02-14 10:16:10 +01:00
Bartłomiej Dach
6baa099906
Fix broken delay 2024-02-14 10:12:01 +01:00
Salman Ahmed
4d3b605e04 Add support for displaying "mapper" badges in comments 2024-02-14 04:17:55 +03:00
Salman Ahmed
72c6134dbf Include commentable object metadata in comments 2024-02-14 04:16:36 +03:00
Salman Ahmed
c4e358044a Add API models for comment page metadata 2024-02-14 04:16:36 +03:00
Salman Ahmed
5267e0abf7 Move comment author line to separate component 2024-02-14 04:16:36 +03:00
Salman Ahmed
35649d137c Ignore soft-deleted beatmaps when trying to present from notification 2024-02-14 02:04:20 +03:00
Bartłomiej Dach
eae43f5fd9
Consume SoloStatisticsWatcher updates in toolbar button 2024-02-13 14:28:24 +01:00
Bartłomiej Dach
14052ae1cc
Implement transient stats display on user toolbar button 2024-02-13 14:28:24 +01:00
Bartłomiej Dach
21b9fb95e2
Move SoloStatisticsWatcher to OsuGame
Doesn't feel like it needs to be in base, and it being in base was
causing problems elsewhere before.
2024-02-13 14:28:24 +01:00
Bartłomiej Dach
da4ebd0681
Refactor SoloStatisticsWatcher to no longer require explicit subscription callbacks 2024-02-13 13:49:01 +01:00
Bartłomiej Dach
16d893d40c
Fix draining processor failing gameplay on bonus misses and ignore hits 2024-02-13 13:06:19 +01:00
Dean Herbert
f7a223f328
Merge pull request #27053 from frenzibyte/unranked-pp-placeholder
Add support for displaying "unranked PP" placeholder
2024-02-13 18:59:55 +08:00
Dan Balasescu
833997bf1d
Merge pull request #27143 from bdach/more-stringent-metadata-checks
Use more stringent checks when applying online metadata
2024-02-13 17:10:52 +09:00
Salman Ahmed
2d65dfbf09 Fix Rider EAP whoopsie 2024-02-12 22:10:36 +03:00
Salman Ahmed
4f0f07d55a Remove placeholder classes and inline everything 2024-02-12 21:30:10 +03:00
Bartłomiej Dach
5d81d83fb2
Merge branch 'master' into alias-author-creator 2024-02-12 18:02:42 +01:00
cdwcgt
1944a12634
allow ModMuted to ranked when setting adjusted 2024-02-12 21:18:31 +09:00
Bartłomiej Dach
138fea8c38
Only apply set-level metadata after all difficulties have been processed 2024-02-12 12:08:51 +01:00
Bartłomiej Dach
87702b3312
Only check online matching when determining whether to save online metadata
After https://github.com/ppy/osu/pull/23362 I'm not sure the
`LocallyModified` check is doing anything useful. It was confusing me
really hard when trying to parse this logic, and it can misbehave (as
`None` will also pass the check).
2024-02-12 12:07:20 +01:00
Bartłomiej Dach
4f0ae4197a
Refuse to apply online metadata in the most dodgy scenarios 2024-02-12 11:43:41 +01:00
Salman Ahmed
2ae616a88e Combine other cases of displaying dash in scores PP 2024-02-12 12:29:33 +03:00
Stoppedpuma
ca0819cf7a Alias "mapper" as well 2024-02-11 20:28:16 +01:00
Andrei Zavatski
5e692345de Don't convert pixel data to array 2024-02-11 17:44:54 +03:00
Dean Herbert
1df38b54a1
Merge branch 'master' into refactor-metadata-lookup-sources 2024-02-11 20:10:41 +08:00
Dean Herbert
7dba21fdac
Move init method to bottom of file 2024-02-11 20:05:58 +08:00
tsunyoku
901b82384d replace linq usage in Previous and Next with more direct computation 2024-02-10 15:42:55 +00:00
Dean Herbert
32bfd875d9
Merge pull request #26930 from Susko3/suggest-update-only-if-available
Suggest to update only if the latest release is available for the current platform
2024-02-10 22:08:56 +08:00
Bartłomiej Dach
4a516cbccd
Merge pull request #27077 from peppy/log-fire-and-forget-better
Improve exception logging of unobserved exceptions via `FireAndForget`
2024-02-10 13:43:50 +01:00
Bartłomiej Dach
c3f0d3ad5c
Merge branch 'master' into match-profile-icons 2024-02-10 13:08:42 +01:00
Dan Balasescu
bfeb90c1b6
Add additional gameplay metadata to room score request 2024-02-10 17:20:17 +09:00
Stoppedpuma
7c04e8bfba Alias author to creator
Allows "author" to show the results of "creator"
2024-02-10 07:48:24 +01:00
Dean Herbert
01501f3b82
Merge branch 'master' into refactor-metadata-lookup-sources 2024-02-10 14:43:51 +08:00
Joseph Madamba
7b0b39dbaa Fix total play time tooltip area including label 2024-02-09 16:06:16 -08:00
Joseph Madamba
ffd0d9bb39 Add highest rank tooltip to global rank display 2024-02-09 16:06:16 -08:00
Joseph Madamba
ae89b89928 Centralise global rank display logic to new class 2024-02-09 16:06:16 -08:00
Joseph Madamba
8d1d65a469 Add ContentTooltipText to ProfileValueDisplay 2024-02-09 16:06:16 -08:00
Joseph Madamba
c9c39ecb2f Add RankHighest to APIUser 2024-02-09 16:06:16 -08:00
Joseph Madamba
ed2362b63d Fix icon family and weight not transferring to text conversion 2024-02-09 14:31:38 -08:00
Joseph Madamba
666c57da50 Fix profile current location and interests icons not matching web 2024-02-09 14:31:37 -08:00
Andrei Zavatski
c500264306 Cache created judgement in HitObject 2024-02-09 23:20:31 +03:00
Berkan Diler
6adf0ac01e Use new LINQ Order() instead of OrderBy() when possible 2024-02-08 18:01:00 +01:00
Susko3
7864810fc9 Merge branch 'master' into windows-file-uri-association 2024-02-07 23:10:13 +01:00
Dan Balasescu
dcb195f3c8
Add delayed resume for taiko/catch/mania 2024-02-08 02:16:08 +09:00
Dan Balasescu
7f3646f2d1
Merge pull request #27069 from bdach/populate-legacy-total-score-when-converting
Populate `TotalScoreInfo` when converting `SoloScoreInfo` to `ScoreInfo`
2024-02-08 01:33:31 +09:00
Dean Herbert
0d7e82ab8d
Improve exception logging of unobserved exceptions via FireAndForget
Coming from https://github.com/ppy/osu/issues/27076, where the log
output makes finding where the exception arrived for nigh impossible.
2024-02-08 00:25:11 +08:00
Bartłomiej Dach
706a16677c
Use localised string 2024-02-07 13:38:05 +01:00
Bartłomiej Dach
3f51148719
Update resources 2024-02-07 13:37:37 +01:00
Bartłomiej Dach
f22828bc50
Flip ifs to reduce nesting 2024-02-07 13:36:46 +01:00
Bartłomiej Dach
9a3c947319
Remove unnecessary #nullable disable 2024-02-07 13:35:12 +01:00
Dean Herbert
b0bd1a80cf
Merge branch 'master' into hide-ruleset-selector-kudosu 2024-02-07 16:52:05 +08:00
Dean Herbert
b68a1699d4
Merge pull request #27067 from bdach/exponential-backoff
Use staggered exponential backoff when retrying in `PersistentEndpointClientConnector`
2024-02-07 16:51:49 +08:00
Dean Herbert
21e5ae5ba9
Minor adjustments 2024-02-07 16:46:59 +08:00
Joseph Madamba
8f59cb7659 Hide ruleset selector when on kudosu ranking 2024-02-06 13:18:22 -08:00
Dan Balasescu
44b1515cc5
Remove LangVersion redefintions 2024-02-07 03:28:40 +09:00
Andrei Zavatski
ff7cd67909 Move all the circles into their own container 2024-02-06 21:14:36 +03:00
Andrei Zavatski
f03c4a0961 Merge branch 'master' into results-clean 2024-02-06 21:09:23 +03:00
Bartłomiej Dach
9314de640f
Populate TotalScoreInfo when converting SoloScoreInfo to ScoreInfo
For use in https://github.com/ppy/osu-tools/pull/195.
2024-02-06 18:30:48 +01:00
Dean Herbert
e055d61e50
Merge pull request #27059 from bdach/grayscale
Convert selected legacy skin sprites to grayscale
2024-02-06 22:59:39 +08:00
Dan Balasescu
5bc7befbd4
Add progressive cover to mania HD and FI mods 2024-02-06 23:47:20 +09:00
Bartłomiej Dach
6ffe8e1713
Use staggered exponential backoff when retrying in PersistentEndpointClientConnector
There are suspicions that the straight 5s retry could have caused a
situation a few days ago for `osu-server-spectator` wherein it was
getting hammered by constant retry requests. This should make that
a little less likely to happen.

Numbers chosen are arbitrary, but mostly follow stable's bancho retry
intervals because why not. Stable also skips the exponential backoff in
case of errors it considers transient, but I decided not to bother for
now.

Starts off from 3 seconds, then ramps up to up to 2 minutes. Added
stagger factor is 25% of duration, either direction. The stagger factor
helps given that if spectator server is dead, each client has three
separate connections to it which it will retry on (one to each hub).
2024-02-06 15:40:30 +01:00
Bartłomiej Dach
c21af1bf3d
Use more explicit match
`taiko-bar-right-glow` is a prefix of `taiko-bar-right`...
2024-02-06 14:53:01 +01:00
Dean Herbert
d784934bce
Merge pull request #26935 from bdach/new-mods-for-pp
Allow a few new mods and mod settings for pp
2024-02-06 20:54:20 +08:00
Bartłomiej Dach
8df593a8e6
Allow pp for No Scope
Deemed as not affecting difficulty or pp in
https://github.com/ppy/osu/pull/26935#issuecomment-1925644008,
so can be treated pretty much as nomod.
2024-02-06 13:04:19 +01:00
Bartłomiej Dach
27b97a3c4d
Convert selected legacy skin sprites to grayscale
Matching stable.

Closes https://github.com/ppy/osu/issues/9858.

I would have liked to apply this in the taiko transformer itself, but
the limited accessibility of texture uploads, and as such the raw image
data, sort of prevents that...
2024-02-06 12:33:37 +01:00
Dan Balasescu
c18cd65081
Merge pull request #26694 from chandler14362/hit-object-result-allocations
Avoid closure allocations when applying hit object results
2024-02-06 17:49:26 +09:00
Bartłomiej Dach
86e1e57fab
Merge pull request #27054 from Loreos7/update-related-notifications-localisation
Localise update-related process strings
2024-02-06 09:07:58 +01:00
Dan Balasescu
ca36919f10
Merge pull request #26863 from EVAST9919/scrolling-alloc
Further reduce allocation overhead in `ScrollingHitObjectContainer`
2024-02-06 15:57:31 +09:00
Andrei Zavatski
fc4234214e Merge branch 'master' into results-clean 2024-02-06 08:03:10 +03:00
Salman Ahmed
b78c6ed673 Update design of "unprocessed PP" placeholder to match web 2024-02-05 23:29:24 +03:00
Salman Ahmed
6b7ffc240b Support displaying "unranked PP" placeholder 2024-02-05 23:29:24 +03:00
Salman Ahmed
4be4ed7ab2 Add "ranked" attribute to scores 2024-02-05 23:29:24 +03:00
Bartłomiej Dach
938bbe38b7
Merge pull request #27033 from frenzibyte/fix-rooms-container-something
Fix selected room bindable being set to null regardless of the removed room
2024-02-05 21:04:34 +01:00
Bartłomiej Dach
07c257f387
Merge pull request #26942 from Loreos7/import-from-stable-localisation
Localise remaining strings on import screen of the first-run setup
2024-02-05 20:01:47 +01:00
Bartłomiej Dach
aff7e1fb8c
Merge pull request #27015 from Loreos7/settings-remaining-strings-localisation
Localise remaining strings in settings section
2024-02-05 20:00:42 +01:00
Bartłomiej Dach
f65449375e
Merge branch 'master' into scrolling-alloc 2024-02-05 19:59:47 +01:00
Bartłomiej Dach
951b69d0d5
Merge branch 'master' into fix-rooms-container-something 2024-02-05 19:56:54 +01:00
Bartłomiej Dach
4b5348bbbf
Merge branch 'master' into ur-alloc 2024-02-05 19:14:08 +01:00
Bartłomiej Dach
7b03bebd5f
Move algorithm description to remarks section of xmldoc 2024-02-05 18:57:57 +01:00
Bartłomiej Dach
a5aeb2ff9e
Use better variable names
It's not the 1970s. We can spare a few extra letters.
2024-02-05 18:56:20 +01:00
Bartłomiej Dach
c12a7b3edf
Merge branch 'master' into fix-rooms-container-something 2024-02-05 18:51:46 +01:00
Bartłomiej Dach
1582536f04
Merge pull request #26924 from EVAST9919/user-card-containers
Rework `UserPanel`s to reduce container nesting
2024-02-05 18:46:42 +01:00
Bartłomiej Dach
462a1c5186
Merge pull request #27021 from frenzibyte/fix-rooms-container-performance
Fix multiplayer/playlists lounge screen disposing rooms synchronously
2024-02-05 18:33:13 +01:00
Bartłomiej Dach
26e4b0bacb
Merge branch 'master' into settings-remaining-strings-localisation 2024-02-05 18:07:03 +01:00
Bartłomiej Dach
87381334ff
Use more proper method of formatting 2024-02-05 18:06:51 +01:00
Bartłomiej Dach
2932184d24
Rename localisable string 2024-02-05 18:05:21 +01:00
Dean Herbert
48d42ca7d3
Update framework 2024-02-05 23:58:10 +08:00
Salman Ahmed
7914236516 Add explanatory note 2024-02-05 18:51:30 +03:00
Loreos7
8e82327509 one more dot 2024-02-05 18:45:32 +03:00
Loreos7
4449ccd1d3 bring back missing dot 2024-02-05 18:44:18 +03:00
Salman Ahmed
858f2fc749 Use Clear to trigger async disposal 2024-02-05 18:39:04 +03:00
Bartłomiej Dach
23694c2067
Merge branch 'master' into import-from-stable-localisation 2024-02-05 16:32:12 +01:00
Bartłomiej Dach
148e01327b
Split copy info text into two rather than parameterise
I have very low hopes translators would be able to correctly navigate
this otherwise (especially in languages with different word order).
2024-02-05 16:30:04 +01:00
Bartłomiej Dach
fa894bda05
Fix broken spacing 2024-02-05 16:25:44 +01:00
Bartłomiej Dach
9e1a24fdef
Remove pointless enum 2024-02-05 16:20:50 +01:00
Bartłomiej Dach
e4ef2bdeb9
Merge pull request #26734 from Joehuu/fix-edit-mod-preset-button-flow
Fix edit mod preset popover buttons overflowing on some languages
2024-02-05 16:10:37 +01:00
Bartłomiej Dach
3e29a9c334
Merge pull request #26877 from smoogipoo/adjust-default-minresult
Adjust default min result of `SliderTailHit`, remove override
2024-02-05 14:15:38 +01:00
Dean Herbert
cc5e1e0af3
Merge pull request #26957 from smoogipoo/net8
Update to .NET 8 + C# 12
2024-02-05 20:59:31 +08:00
Susko3
01efd1b353 Move WindowsAssociationManager to osu.Desktop 2024-02-05 13:44:12 +01:00
Bartłomiej Dach
39fe078984
Merge branch 'master' into hit-object-result-allocations 2024-02-05 13:24:10 +01:00
Bartłomiej Dach
2976f225e0
Improve xmldoc of state param 2024-02-05 13:22:58 +01:00
Bartłomiej Dach
efe6bb25b1
Refactor result application around again to remove requirement for fields
Co-authored-by: Dean Herbert <pe@ppy.sh>
2024-02-05 13:21:01 +01:00
Bartłomiej Dach
ad69259eb8
Merge branch 'master' into fix-results-f-rank 2024-02-05 13:05:37 +01:00
Salman Ahmed
44a594ba05 Simplify playback logic 2024-02-05 01:03:04 +03:00
Salman Ahmed
6f9ee3f526 Fix selected room bindable being set to null regardless of the removed room 2024-02-05 00:37:33 +03:00
Salman Ahmed
9923c1b6e6 Fix multiplayer/playlists lounge screen disposing rooms synchronously 2024-02-04 17:25:58 +03:00
Bartłomiej Dach
83df6297d2
Merge branch 'master' into new-mods-for-pp 2024-02-04 12:20:31 +01:00
Dean Herbert
c64d414d1b
Merge pull request #26934 from bdach/which-mods-for-pp
Display which mods grant pp
2024-02-04 19:15:11 +08:00
Andrei Zavatski
4e5c9ddbfe Rename notch const to spacing 2024-02-04 03:02:39 +03:00
Andrei Zavatski
397def9ceb Move layout specification outside the GradedCircles class 2024-02-04 02:58:15 +03:00
Andrei Zavatski
7b2adc857a Merge branch 'master' into results-clean 2024-02-04 02:41:12 +03:00
Susko3
cdcf5bddda Uninstall associations when uninstalling from squirrel 2024-02-03 17:56:14 +01:00
Andrei Zavatski
e2e3c61c9c Use AliveEntries where we don't need startTime order 2024-02-03 19:54:08 +03:00
Andrei Zavatski
4aa27482a9 Use SlimReadOnlyDictionaryWrapper for AliveEntries 2024-02-03 19:54:08 +03:00
Susko3
03578821c0 Associate on startup 2024-02-03 17:04:06 +01:00
Susko3
498d93be61 Add way to associate with files and URIs on Windows 2024-02-03 16:59:48 +01:00
Loreos7
24e5c7ed42 fix formatting 2024-02-03 02:02:21 +03:00
Andrei Zavatski
57bc5ee04f Improve readability 2024-02-03 00:19:04 +03:00
Loreos7
4d324a3057 localise remaining parts of the game settings 2024-02-03 00:08:36 +03:00
Andrei Zavatski
dde7e068a4 Incorporate new unstable rate algo 2024-02-02 22:46:52 +03:00
Mike Will
9a5348598a Replace aggregate rounding method with a float cast 2024-02-02 14:22:24 -05:00
Mike Will
2ab967f783 Increase precision of aggregate volume rounding
It should be large enough to account for true accuracy
but small enough to disregard any hair-thin inaccuracy found
at the very end of the float value.
2024-02-02 13:27:26 -05:00
Bartłomiej Dach
8454f7a991
Merge branch 'master' into net8 2024-02-02 16:27:32 +01:00
Dan Balasescu
50f9c61029
Fix multiplayer tests 2024-02-02 22:34:48 +09:00
Dan Balasescu
8e8ba9e77f
Fix more CI inspections 2024-02-02 21:36:41 +09:00
Loreos7
20504c55ef localise storage error popup dialog 2024-02-02 15:32:55 +03:00
Dan Balasescu
c8b4ff2b47
Fix compile error (reserved name) 2024-02-02 21:28:51 +09:00
Dan Balasescu
6e4d52863c
Upgrade to .NET 8 SDK 2024-02-02 21:28:51 +09:00
Dan Balasescu
20ae88b0a0
Revert unnecessary changes 2024-02-02 21:05:50 +09:00
Dan Balasescu
b44f77cee1
Update R# + fix inspections 2024-02-02 21:00:28 +09:00
Mike Will
29a2890582 fix code quality error #2 2024-02-02 03:47:19 -05:00
Dan Balasescu
8c107b4925
Merge pull request #26950 from bdach/2fa-in-registration
Add 2FA verification screen to registration flow
2024-02-02 17:30:20 +09:00
Mike Will
c60e110976 Try to fix code quality issues raised by workflow 2024-02-02 03:09:19 -05:00
Mike Will
f4a2d5f3f4 Round off inaccuracies in the aggregate volume before evaluating 2024-02-02 02:41:58 -05:00
Mike Will
3122211268 Change silence threshold and target restore volume level 2024-02-02 02:12:46 -05:00
Dan Balasescu
108375975d
Merge pull request #26940 from EVAST9919/playfield-mods-alloc
Reduce allocation overhead in `Playfield`
2024-02-02 15:45:46 +09:00
Bartłomiej Dach
a00cf87925
Add 2FA verification screen to registration flow 2024-02-02 07:25:04 +01:00
Bartłomiej Dach
45f60b035e
Enable NRT in AccountCreationOverlay 2024-02-02 07:24:32 +01:00
Bartłomiej Dach
93d34e4115
Enable NRT in ScreenWarning 2024-02-02 07:24:32 +01:00
Bartłomiej Dach
b58ac7950b
Make game dependency in ScreenEntry optional to unbreak tests 2024-02-02 07:24:32 +01:00
Bartłomiej Dach
bb6387bea0
Enable NRT in ScreenEntry 2024-02-02 07:24:32 +01:00
Mike Will
dfd966e039 Improve silence detection in MutedNotification
Instead of checking the master and music volumes separately to
see if they're <= 1%, check the aggregate of the two volumes to
see if it's <= -60 dB.

When muted notification is activated, restore the aggregate volume
level to -30 dB.
2024-02-02 00:48:42 -05:00
Bartłomiej Dach
2ff46daf5e
Also change icon and tooltip text when pending 2FA 2024-02-02 06:40:56 +01:00
Andrei Zavatski
53c5483eba Reduce allocation in Playfield 2024-02-02 04:53:48 +03:00
Loreos7
8dce158a13 localise update-related strings 2024-02-02 04:49:22 +03:00
Loreos7
7884e5808a localise remaining strings 2024-02-02 04:47:13 +03:00
Salman Ahmed
0502997ae9 Stop blocking player loader when hovering over osu! logo 2024-02-02 01:26:04 +03:00
Salman Ahmed
4dbcb41dd1 Remove unused parameter 2024-02-02 00:44:51 +03:00
Bartłomiej Dach
ea76f7a5d8
Allow pp for Double/Half Time's "adjust pitch" setting 2024-02-01 22:33:49 +01:00
Bartłomiej Dach
96f66aaa2e
Allow pp for Accuracy Challenge
Addresses https://github.com/ppy/osu/discussions/26919.
2024-02-01 22:30:26 +01:00
Bartłomiej Dach
c114fd8f89
Allow pp for Sudden Death and Perfect regardless of "restart on fail" setting
Closes https://github.com/ppy/osu/issues/26844.
2024-02-01 22:28:49 +01:00
Bartłomiej Dach
865f4d76ff
Add unranked indicator to song select footer too 2024-02-01 21:51:41 +01:00
Bartłomiej Dach
f87ab19731
Apply NRT to FooterButtonMods 2024-02-01 21:32:38 +01:00
Bartłomiej Dach
966093f7ce
Transform score multiplier display to also show ranked state 2024-02-01 21:32:37 +01:00
Susko3
f92751a7d2 Don't suggest an update on mobile if it isn't available 2024-02-01 18:56:38 +01:00
Susko3
b9d750cfee Convert to try-get and don't fall back to release URL 2024-02-01 18:55:34 +01:00
Susko3
b0095ee548 Apply NRT 2024-02-01 18:38:18 +01:00
Andrei Zavatski
66350fd148 Refactor UserRankPanel layout 2024-02-01 16:33:54 +03:00
Andrei Zavatski
2bd9dcf646 Rework UserGridPanel to reduce containers nesting 2024-02-01 16:22:07 +03:00
Salman Ahmed
5bbaeb6836 Play legacy applause sound only when rank is B or higher 2024-02-01 16:08:36 +03:00
syscats
0407b5d84a
use ordinal sorting on each method 2024-02-01 14:03:59 +01:00
Salman Ahmed
35c3f5e250 Merge branch 'master' into fix-results-f-rank 2024-02-01 15:29:07 +03:00
Dean Herbert
bf3746daa8
Show login overlay at main menu when 2FA is required 2024-02-01 21:10:53 +09:00
Dean Herbert
563f4a26b1
Show "failing" icon on user panel when 2FA prompt is present
This gives the user a chance to know it's required.
2024-02-01 21:10:37 +09:00
syscats
7165511754 Use ordinal sorting for artist string comparison 2024-01-31 15:49:31 +01:00
Bartłomiej Dach
f89923aeae
Annotate mods that give pp 2024-01-31 14:59:35 +01:00
Dan Balasescu
0642d74014
Expose as ReadOnlyDictionary 2024-01-31 22:52:57 +09:00
Bartłomiej Dach
e71c95f1fe
Reintroduce IMod.Ranked
What goes around, comes around.
2024-01-31 14:48:35 +01:00
Dean Herbert
4248593289
Fix menu banner not updating as often as we want it to 2024-01-31 22:44:24 +09:00
Dean Herbert
56700d672b
Merge pull request #26837 from bdach/2fa-not-verifying-via-link
Fix 2FA verification via link not working correctly
2024-01-31 19:15:33 +09:00
Bartłomiej Dach
e7cfbd3c56
Merge pull request #26876 from peppy/slider-miss-last-longer
Adjust slider tick / end misses to show slightly longer
2024-01-31 10:43:58 +01:00
Dean Herbert
19fe3a15f3
Merge branch 'master' into 2fa-not-verifying-via-link 2024-01-31 18:32:55 +09:00
Dean Herbert
edab05672b
Merge pull request #26834 from bdach/2fa-cancel-crash
Fix crash when logging out during 2FA email verification
2024-01-31 18:32:33 +09:00
Dan Balasescu
0642a0ee11
Adjust default min result of SliderTailHit, remove override 2024-01-31 18:01:29 +09:00
Dean Herbert
fbc923b47e
Revert "Merge pull request #26870 from smoogipoo/adjust-default-minresult"
This reverts commit 1acff746ee, reversing
changes made to 696ecda398.
2024-01-31 17:51:38 +09:00
Dean Herbert
1acff746ee
Merge pull request #26870 from smoogipoo/adjust-default-minresult
Adjust default min result of SliderTailHit, remove override
2024-01-31 17:49:58 +09:00
Dean Herbert
ebf637bd3c
Adjust slider tick / end misses to show slightly longer 2024-01-31 17:41:26 +09:00
Dean Herbert
a7f9f50ce5
Show a better message when score submission fails due to system clock being set wrong 2024-01-31 16:52:50 +09:00
Dean Herbert
3f527081bd
Update framework 2024-01-31 16:12:46 +09:00
Dan Balasescu
9b1bbe5f48
Adjust default min result of SliderTailHit, remove override 2024-01-31 16:12:05 +09:00
Andrei Zavatski
6b1de5446a Reduce allocaations in ScrollingHitObjectContainer 2024-01-31 07:54:28 +03:00
Andrei Zavatski
3aefc91967 Make AliveDrawableMap public 2024-01-31 07:54:07 +03:00
Bartłomiej Dach
c5e118bd10
Revert "Move fade more local to avoid fading twice"
This reverts commit d0421fe206
and fixes https://github.com/ppy/osu/issues/26801.

https://github.com/ppy/osu/pull/26703#discussion_r1469409667
was correct in saying that the early fade-out needs to be restored, and
that's because of the early-return. Legacy judgements that are the
temporary displayed judgement from new piece should also receive the
fade-out, and d0421fe206 broke that.
2024-01-30 22:16:46 +01:00
Bartłomiej Dach
4126dcbe28
Fix 2FA verification via link not working correctly
Closes https://github.com/ppy/osu/issues/26835.

I must have not re-tested this correctly after all the refactors...

Basically the issue is that the websocket connection would only come
online when the API state changed to full `Online`. In particular
the connector would not attempt to connect when the API state was
`RequiresSecondFactorAuth`, giving the link-based flow no chance to
actually work.

The change in `WebSocketNotificationsClientConnector` is relevant in
that queueing requests does nothing before the API state changes to full
`Online`. It also cleans up things a bit code-wise so... win?

And yes, this means that the _other_ `PersistentEndpointClientConnector`
implementations (i.e. SignalR connectors) will also come online earlier
after this. Based on previous discussions
(https://github.com/ppy/osu/pull/25480#discussion_r1395566545) I think
this is fine, but if it is _not_ fine, then it can be fixed by exposing
a virtual that lets a connector to decide when to come alive, I guess.
2024-01-30 21:49:06 +01:00
Bartłomiej Dach
000ddc14ac
Fix broken locking in OAuth
Closes https://github.com/ppy/osu/issues/26824... I think?

Can be reproduced via something like

diff --git a/osu.Game/Online/API/OAuth.cs b/osu.Game/Online/API/OAuth.cs
index 485274f349..e6e93ab4c7 100644
--- a/osu.Game/Online/API/OAuth.cs
+++ b/osu.Game/Online/API/OAuth.cs
@@ -151,6 +151,11 @@ internal string RequestAccessToken()
         {
             if (!ensureAccessToken()) return null;

+            for (int i = 0; i < 10000; ++i)
+            {
+                _ = Token.Value.AccessToken;
+            }
+
             return Token.Value.AccessToken;
         }

The cause is `SecondFactorAuthForm` calling `Logout()`, which calls
`OAuth.Clear()`, _while_ the `APIAccess` connect loop is checking if
`authentication.HasValidAccessToken` is true, which happens to
internally check `Token.Value.AccessToken`, which the clearing of
tokens can brutally interrupt.
2024-01-30 21:05:23 +01:00
Dean Herbert
d895a91cd5
Update endpoints to final production endpoints 2024-01-30 18:40:17 +09:00
Dean Herbert
99f4b2c113
Merge pull request #26788 from EVAST9919/scrolling-alloc
Reduce allocation overhead in `ScrollingHitObjectContainer`
2024-01-30 14:06:27 +09:00
Andrei Zavatski
87f853fcd2 Reduce overhead in ScrollingHitObjectContainer 2024-01-30 00:59:31 +03:00
Bartłomiej Dach
6888cda02c
Make LegacyScoreDecoder.PopulateMaximumStatistics() public
For `osu-tools` consumption.
2024-01-29 21:42:38 +01:00
Dean Herbert
b3919bff56
Merge pull request #26780 from bdach/fix-websocket-very-bad-not-good
Fix incorrect handling of `StartChatRequest` in websocket chat client
2024-01-30 05:11:55 +09:00
Bartłomiej Dach
1fbc92ca7e
Merge branch 'master' into fix-song-select-osu-logo-position 2024-01-29 20:11:52 +01:00
Bartłomiej Dach
acc2614090
Apply alternative solution
Fixes the logo flying out of the wrong corner when transitioning from
song select to gameplay.

Co-authored-by: Dean Herbert <pe@ppy.sh>
2024-01-29 20:07:27 +01:00
Bartłomiej Dach
996ae0ecc1
Fix incorrect handling of StartChatRequest in websocket chat client
Fixes this happening on staging:

	[network] 2024-01-29 17:48:24 [verbose]: WebSocketNotificationsClientConnector connected!
	[network] 2024-01-29 17:48:24 [verbose]: WebSocketNotificationsClientConnector connect attempt failed: Can't use WaitSafely from inside an async operation.

I'm not sure how I ever allowed that `.WaitSafely()` to be there. It
did feel rather dangerous but then I must have forgotten and never
noticed it failing. Which is weird because you'd think that would be
caught by testing that chat isn't working but I'm pretty sure that I
tested that chat *was* indeed working.

Anyway now that entire flow is replaced by something that should
hopefully be somewhat more sane? It has a whole retry flow with logging
now which should be more robust than what was there previously (failing
to start to listen to chat events killing the entire websocket
connection for very little good reason).
2024-01-29 19:22:40 +01:00
Dean Herbert
16c06169ed
Update framework 2024-01-30 01:06:32 +09:00
Bartłomiej Dach
2667cb8b36
Merge pull request #26703 from peppy/smaller-slider-misses
Adjust slider tick / end defaults again
2024-01-29 13:51:07 +01:00
Dean Herbert
f2546d72c2
Fix osu! logo being mispositioned in song select on very wide resolutions 2024-01-29 20:45:51 +09:00
Dean Herbert
811b31386b
Merge pull request #26616 from peppy/dont-round-sv 2024-01-29 20:42:38 +09:00
Dean Herbert
f1c1d9cb14
Merge pull request #26772 from peppy/update-framework
Update framework
2024-01-29 20:15:01 +09:00
Bartłomiej Dach
11ec8a1cad
Merge branch 'master' into dont-round-sv 2024-01-29 11:52:46 +01:00
Bartłomiej Dach
8a11ff1227
Apply local precision workaround to editor effect section 2024-01-29 11:52:38 +01:00
Dean Herbert
a1fe5eedd5
Merge pull request #26751 from frenzibyte/fix-multiplayer-fail-freezing-score
Fix score processor no longer applying results when failing in multiplayer match
2024-01-29 19:51:31 +09:00
Dean Herbert
1efdf2ae25
Update framework 2024-01-29 19:45:56 +09:00
Dean Herbert
8341da7586
Revert "Remove dead code" (mostly)
This reverts commit 6070eac6ee.
2024-01-29 19:43:40 +09:00
Dean Herbert
dc28a6b873
Update resources 2024-01-29 19:33:13 +09:00
Dean Herbert
cbbe2f9dc0
Merge pull request #25480 from peppy/2fa
Add two factor authentication flow
2024-01-29 19:14:55 +09:00
Dean Herbert
540ff0da5b
Add loading layer when requesting a code reissue 2024-01-29 17:54:34 +09:00
Bartłomiej Dach
4c5dacd559
Merge pull request #26770 from peppy/fucking-hitobject-references
Fix `OsuPlayfield` being retained indefinitely after gameplay
2024-01-29 09:40:56 +01:00
Dean Herbert
6a469f2cb6
Use switch instead of if-else 2024-01-29 17:18:17 +09:00
Bartłomiej Dach
96811a8874
Fix APIAccess spamming requests while waiting for second factor 2024-01-29 09:14:30 +01:00
Bartłomiej Dach
363fd1d54f
Remove no longer relevant changes 2024-01-29 09:05:03 +01:00
Dean Herbert
4a2602a775
Merge branch 'master' into 2fa 2024-01-29 16:57:29 +09:00
Dean Herbert
48fc0545c2
Merge pull request #26724 from bdach/decouple-notification-websocket-from-chat
Decouple notifications websocket handling from chat operations
2024-01-29 16:57:13 +09:00
Dean Herbert
ef94eff574
Rename PollingChatClientConnector to better describe usage 2024-01-29 16:56:28 +09:00
Dean Herbert
fb24c66342
Mark ResultsScreen.Score as nullable
Is nullable in playlist results at very least.
2024-01-29 16:43:26 +09:00
Dean Herbert
760368709a
Mark some delegates as static because we can 2024-01-29 16:16:28 +09:00
Dean Herbert
eb90ee5415
Add safety in ResultsScreen.Exit to ensure HitEvents are not holding references
This is a catch-all safety disconnecting `ScoreInfo` from `HitObject`s.
2024-01-29 16:16:17 +09:00
Dean Herbert
76832a1495
Remove ScorePerformanceCache
This class was only used in two places, both on the results screen, but
was holding references to `OsuPlayfield` game-wide (due to unrelated
issues, but still).

Because I can't really think of future use cases for this, and running
the calculation twice at results screen isn't a huge overhead, let's
just do that for now to keep things simple.
2024-01-29 15:28:20 +09:00
Dean Herbert
de32e7815b
Clean up DrawableHitObject events on Dispose
This is just general safeties to avoid cases where
components don't correctly unbind events.
2024-01-29 15:28:20 +09:00
Andrei Zavatski
0c0ba7abef Adjust values to visually match previous 2024-01-29 06:28:38 +03:00
Andrei Zavatski
3987faa21c Rework GradedCircles to not use BufferedContainer 2024-01-29 06:13:52 +03:00
Andrei Zavatski
809ca81b9c Add TestSceneGradedCircles 2024-01-29 05:29:29 +03:00
Andrei Zavatski
9c411ad48d Simplify notch math 2024-01-29 05:19:28 +03:00
Andrei Zavatski
5783838b07 Move graded circles into a separate class 2024-01-29 05:14:24 +03:00
Andrei Zavatski
32b0e0b738 Remove RankNotch 2024-01-29 05:05:18 +03:00
Andrei Zavatski
5d456c8d68 Rework drawing of graded circles 2024-01-29 04:55:21 +03:00
Dean Herbert
462dab3c90
Remove unnecessary bindable 2024-01-29 02:13:39 +09:00
Dean Herbert
f4dd84fa77
Fix various inconsistencies and document better 2024-01-29 02:10:33 +09:00
Dean Herbert
23f12e1ea3
Should not be a container 2024-01-29 01:50:27 +09:00
Andrei Zavatski
b48f99ba4b Stop using SliderBar as a base 2024-01-28 18:06:09 +03:00
Andrei Zavatski
ed9e0fe1db Merge branch 'master' into progress-bar-improvements 2024-01-28 17:59:29 +03:00
Salman Ahmed
64b61108ad Move solution to multiplayer flow instead 2024-01-28 00:42:04 +03:00
Salman Ahmed
5f68999893 Fix TestSceneFailJudgement asserts no longer being correct 2024-01-27 23:23:32 +03:00
Salman Ahmed
a25be9927d Fix score processor no longer applying results when failing in multiplayer match 2024-01-27 23:23:10 +03:00
Salman Ahmed
ea641bb8d2 Rename GameplayState.HasFailed to properly clarify its meaning 2024-01-27 23:23:10 +03:00
Andrei Zavatski
9d73d0e04d Clamp logo triangles along both axes 2024-01-27 19:06:04 +03:00
Salman Ahmed
b25f4455d5
Merge branch 'master' into fix-edit-mod-preset-button-flow 2024-01-27 18:01:16 +03:00
Dean Herbert
4c34d2e352
Update framework 2024-01-27 20:21:27 +09:00
Dean Herbert
3cad5fe292
Merge pull request #26704 from peppy/new-logo
Update logo
2024-01-27 19:34:22 +09:00
Andrei Zavatski
3387565ba9 Fix song progress value may go beyond 1 2024-01-27 03:11:12 +03:00
Andrei Zavatski
567d2bedbf Refactor ArgonSongProgress for same CurrentTime meaning 2024-01-27 03:03:01 +03:00
Joseph Madamba
bb6c7a0a82 Fix edit mod preset popover buttons overflowing on some languages 2024-01-26 15:26:22 -08:00
Salman Ahmed
d25262944e Force results screen to play default D rank applause sound on fail (regardless of skin) 2024-01-27 01:46:43 +03:00
Salman Ahmed
47f0b86018 Fix results screen showing other rank badges on F rank 2024-01-27 01:46:12 +03:00
Dean Herbert
9dc2a1d6f8
Update resources 2024-01-27 01:02:16 +09:00
Bartłomiej Dach
b39b112548
Merge branch 'decouple-notification-websocket-from-chat' into 2fa 2024-01-26 11:21:33 +01:00
Bartłomiej Dach
243c2bc9b4
Make sure the polling connector actually auto-starts itself 2024-01-26 11:21:23 +01:00
Bartłomiej Dach
a2e69d37e8
Add basic testing of failure flow 2024-01-26 11:17:32 +01:00
Dean Herbert
cf97cb1e0c
Merge branch 'master' into dont-round-sv 2024-01-26 19:16:58 +09:00
Bartłomiej Dach
04cae874b0
Handle forced logouts due to password change too 2024-01-26 10:53:27 +01:00
Dean Herbert
347e88f597
Add note about using static callback 2024-01-26 16:21:48 +09:00
Dean Herbert
45f2980dc0
Fix potential editor data loss if exiting while a textbox is focused 2024-01-26 13:59:32 +09:00
Dean Herbert
6e3eb674f6
Move cast to local function and make direct cast 2024-01-26 12:55:36 +09:00
Andrei Zavatski
9b5b313193 Move common logic into own SongProgressBar class 2024-01-26 05:03:40 +03:00
Andrei Zavatski
d2af05b30e Remove useless bindable from ArgonSongProgressBar 2024-01-26 04:09:00 +03:00
Andrei Zavatski
542f571dee Remove LINQ cast in HUDOverlay 2024-01-26 01:03:22 +03:00
Chandler Stowell
93bd3ce5ae update DrawableHitCircle.ApplyResult to pass this to its callback 2024-01-25 11:25:41 -05:00
Dean Herbert
14067c2e57
Remove unused using statements 2024-01-26 00:39:29 +09:00
Bartłomiej Dach
3d3506b906
Merge branch 'decouple-notification-websocket-from-chat' into 2fa 2024-01-25 14:51:42 +01:00
Bartłomiej Dach
c463aa5ba1
xmldoc everything 2024-01-25 14:47:29 +01:00
Bartłomiej Dach
de52f0a80c
Decouple notifications websocket handling from chat operations
This is a prerequisite for https://github.com/ppy/osu/pull/25480.

The `WebSocketNotificationsClient` was tightly coupled to chat specifics
making it difficult to use in the second factor verification flow.
This commit's goal is to separate the websocket connection and message
handling concerns from specific chat logic concerns.
2024-01-25 14:47:29 +01:00
Dean Herbert
6a338ce555
Adjust spawn ratio up slightly 2024-01-25 21:59:38 +09:00
Dean Herbert
3f9c2b41f7
Adjust BeatSyncContainer's early animate offset based on source's rate 2024-01-25 21:40:37 +09:00
Dean Herbert
d66a2c452f
Merge branch 'master' into multiplayer-difficulty-tooltip 2024-01-25 21:18:16 +09:00
Dean Herbert
50300adef8
Tidy things up 2024-01-25 21:17:56 +09:00
Dean Herbert
aeac0a2a9d
Nullability 2024-01-25 21:16:12 +09:00
Dean Herbert
3c18efed05
Remove transparency 2024-01-25 21:13:47 +09:00
Dean Herbert
64ba95bbd6
Remove pointless comments 2024-01-25 21:13:47 +09:00
Dean Herbert
baaf33d995
Merge pull request #26689 from myQwil/divisor_cycle
Prevent custom divisor ranges from halting divisor preset cycling
2024-01-25 20:46:16 +09:00
Dean Herbert
4a629fbc79
Update logo to new version 2024-01-25 20:37:50 +09:00
Dean Herbert
56a9b059e9
Add back ScaleAdjust to triangles 2024-01-25 20:37:50 +09:00
Dean Herbert
107b37494e
Update triangles skin judgment display 2024-01-25 19:31:57 +09:00
Dean Herbert
d0421fe206
Move fade more local to avoid fading twice 2024-01-25 19:31:57 +09:00
Dean Herbert
6070eac6ee
Remove dead code 2024-01-25 19:31:57 +09:00
Dean Herbert
dda96d7106
Rename JudgementPiece to TextJudgementPiece 2024-01-25 19:31:57 +09:00
Dean Herbert
8aea6e07c3
Change slider end miss colour to gray 2024-01-25 19:31:57 +09:00
Mike Will
a264ac9f38 Change name and description of force parameter in SetArbitraryDivisor 2024-01-25 05:12:54 -05:00
Nguyên Minh Hồ
d5b70ed09a Move CanRotatePlayfieldOrigin bindable to generic rotation handler 2024-01-25 16:58:44 +07:00
Nguyên Minh Hồ
2fa52de87a Fix formatting 2024-01-25 16:29:44 +07:00
Bartłomiej Dach
088397b0c3
Merge pull request #26699 from peppy/fix-log-save-failure
Add retry loop to avoid log export failing occasionally on windows
2024-01-25 09:51:14 +01:00
Bartłomiej Dach
3e13fb87f2
Merge pull request #26700 from peppy/accuracy-circle-crash
Fix crash at results screen when hidden is enabled and S rank becomes A due to miss
2024-01-25 09:32:47 +01:00
Nguyên Minh Hồ
94ada87cba Un-hardcode tooltip from EditorRadioButton and add disabled tooltip for rotation popover 2024-01-25 14:32:48 +07:00
Nguyên Minh Hồ
500bed0121 Split editor toolbox radio button disabling logic from EditorRadioButton, then add disabling logic for rotate popover 2024-01-25 14:24:35 +07:00
Dean Herbert
cc341b4119
Adjust beatmap carousel padding to avoid scrollbar disappearing underneath logo 2024-01-25 15:21:19 +09:00
Dean Herbert
45b4edcd23
Merge pull request #26697 from LeNitrous/add/scaled-screenshot
Crop screenshots to scaling container
2024-01-25 15:03:56 +09:00
Dean Herbert
37e370e654
Fix crash at results screen when hidden is enabled and S rank becomes A due to miss
Closes https://github.com/ppy/osu/issues/26692.
2024-01-25 15:02:44 +09:00
Dean Herbert
69e822f3c5
Refactor crop logic slightly 2024-01-25 14:30:26 +09:00
Dean Herbert
85927e0682
Move configuration retrieval to non-bindable inline for readability 2024-01-25 14:22:27 +09:00
Dean Herbert
0cbba7e011
Apply NRT to ScreenshotManager 2024-01-25 14:18:20 +09:00
Nguyên Minh Hồ
e1f8bc9692 Rename CanRotate property of SelectionRotationHandler to a more descriptive name 2024-01-25 12:10:50 +07:00
Dean Herbert
d2990170d0
Add retry loop to avoid log export failing occasionally on windows
Closes https://github.com/ppy/osu/issues/26693.
2024-01-25 13:53:36 +09:00
Nitrous
b20051fd55
offset crop rectangle to scaling container 2024-01-25 10:35:41 +08:00
Nitrous
30e335233d
Crop screenshot image to scaling container. 2024-01-25 09:27:10 +08:00
Andrei Zavatski
7811968582 Fix ArgonScoreCounter is still using localisation 2024-01-25 03:28:02 +03:00
Mike Will
9e1c242713 Prevent custom divisor ranges from halting preset cycling
A custom divisor like 24 or 32 will result in a range containing
many divisors that are already in the `Common` and `Triplets` presets.
When this happens, it can become impossible to cycle between presets,
because the preset can only be changed if the new divisor isn't already
contained within the current preset's range.
2024-01-24 18:31:39 -05:00
Andrei Zavatski
67010fcd03 Reduce allocation overhead in ScoreCounter 2024-01-24 23:45:07 +03:00
Bartłomiej Dach
e3eb7a8b42
Support verification via clicking link from e-mail 2024-01-24 21:35:58 +01:00
Bartłomiej Dach
62a0c236bc
Split out raw websocket logic from conjoined notifications client contrivance 2024-01-24 21:35:30 +01:00
Bartłomiej Dach
602c3bc2d9
Hook up reissue request 2024-01-24 21:35:21 +01:00
Bartłomiej Dach
445a7450e0
Implement verification from within client 2024-01-24 21:35:20 +01:00
Chandler Stowell
d2775680e6 use stack to pass action state when applying hit results
this removes closure allocations
2024-01-24 13:13:45 -05:00
Bartłomiej Dach
ddc2bbeb9b
Add session_verified attribute to /me response 2024-01-24 14:24:33 +01:00
Bartłomiej Dach
7b47215657
Split /me request from /users requests
Them being together always bothered me and led to the abject failure
that is `APIUser` and its sprawl. Now that I'm about to add a flag that
is unique to `/me` for verification purposes, I'm not repeating the
errors of the past by adding yet another flag to `APIUser` that is never
present outside of a single usage context.
2024-01-24 14:22:57 +01:00
Bartłomiej Dach
7c140408ea
Add request structures for verification endpoints 2024-01-24 13:53:40 +01:00
Dean Herbert
b272d34960
Merge pull request #26630 from peppy/s-rank-change
Change S rank to require no miss
2024-01-24 13:27:40 +09:00
Bartłomiej Dach
5d26afc531
Fix OsuGameTestScene not clearing second auth factor 2024-01-23 17:00:16 +01:00
Bartłomiej Dach
2cfaa1c103
Merge branch 'master' into 2fa 2024-01-23 16:51:23 +01:00
Bartłomiej Dach
871683a3dc
Merge pull request #26674 from peppy/use-better-enumerator
Reduce enumerator overhead in `GameplayLeaderboard`
2024-01-23 16:31:17 +01:00
Bartłomiej Dach
0486c77a74
Merge pull request #26680 from peppy/fix-now-playing-centering
Fix now playing beatmap backgrounds not being correctly centred
2024-01-23 16:17:34 +01:00
Bartłomiej Dach
6c169e3156
Do not reprocess ranks for custom rulesets
Chances are that because we've broken rank API, it would utterly fail
for all custom rulesets anyhow.
2024-01-23 12:59:36 +01:00
Bartłomiej Dach
cb87d6ce50
Move transferal of LegacyTotalScore back to original spot
This subtle detail was messing with server-side score import flows.
Server-side, legacy total score will *already* be in `LegacyTotalScore`
from the start, and `TotalScore` will be zero until recomputed via
`StandardisedScoreMigrationTools.UpdateFromLegacy()` - so in that
context, attempting to move it across is incorrect.
2024-01-23 12:42:57 +01:00
Dean Herbert
0cf90677e6
Apply more correct visual offset adjustment
Co-authored-by: Walavouchey <36758269+Walavouchey@users.noreply.github.com>
2024-01-23 19:16:55 +09:00
Dean Herbert
c8cd7ebe6c
Fix now playing beatmap backgrounds not being correctly centred
https://github.com/ppy/osu/discussions/26679
2024-01-23 17:30:00 +09:00
Andrei Zavatski
da992ccc55 Implement per-axis triangles clamping 2024-01-23 04:54:27 +03:00
Bartłomiej Dach
4d253ebf3c
Remove redundant assertion
It does look pretty dumb to be checking if something is `null` *after
calling an instance method on it*...
2024-01-22 22:01:03 +01:00
Bartłomiej Dach
fdd499a485
Fix rank background processing not working (and not bumping score version) 2024-01-22 21:34:28 +01:00
Dean Herbert
02bb506cce
Avoid using .Children for enumeration in other locations 2024-01-23 05:32:11 +09:00
Dean Herbert
069af13aaf
Reduce enumerator overhead in GameplayLeaderboard 2024-01-23 05:31:53 +09:00
Bartłomiej Dach
24be6d92ce
Expand xmldoc 2024-01-22 21:13:59 +01:00
Bartłomiej Dach
cdd6e71d01
Remove legacy computation of accuracy & ranks 2024-01-22 20:52:54 +01:00
Bartłomiej Dach
217cbf684b
Remove superfluous recomputation of accuracy 2024-01-22 20:52:54 +01:00
Bartłomiej Dach
db4849442e
Unify legacy total score / accuracy / rank recomputation flows 2024-01-22 20:52:51 +01:00
Bartłomiej Dach
2958631c5d
Use lazer accuracy & rank implementations across the board 2024-01-22 20:30:16 +01:00
Bartłomiej Dach
aa8eee0796
Move maximum statistics population to LegacyScoreDecoder 2024-01-22 20:01:24 +01:00
Bartłomiej Dach
45dc9de1e0
Remove remnant of old implementation of showing "A due to misses" 2024-01-22 19:58:11 +01:00
Bartłomiej Dach
cb8ec48717
Make RankFromScore()'s dictionary param readonly
Just to make sure nobody tries any "funny" business.
2024-01-22 19:56:30 +01:00
Bartłomiej Dach
5bae9074aa
Merge branch 'master' into s-rank-change 2024-01-22 19:54:53 +01:00
Bartłomiej Dach
4cd1573a4c
Merge pull request #26612 from peppy/fix-back-sample-playback
Fix back sound being too loud when exiting many screens
2024-01-22 16:18:32 +01:00
Bartłomiej Dach
3cf83e7106
Merge pull request #26667 from peppy/fix-star-fountains
Fix star fountains sometimes resetting visually
2024-01-22 16:13:55 +01:00
Bartłomiej Dach
43fa89ebcd
Merge branch 'master' into fix-back-sample-playback 2024-01-22 15:36:32 +01:00
Bartłomiej Dach
9aa7c7f591
Revert incorrect removal of exitConfirmed flag
Removing it meant that it was _literally impossible_ to exit
multiplayer.
2024-01-22 15:35:03 +01:00
Bartłomiej Dach
b85a861175
Merge pull request #26668 from peppy/adjust-tick-end-misses
Adjust slider tick / end miss animations to be less busy
2024-01-22 15:03:33 +01:00
Bartłomiej Dach
49c117793c
Merge pull request #26609 from peppy/fix-per-ruleset-hud-positioning
Fix gameplay elements not correctly offsetting to avoid per-ruleset skin layout
2024-01-22 15:00:03 +01:00
smallketchup82
2305a53a02 Remove max combo reading & remove unnecessary commas 2024-01-22 08:59:37 -05:00
Bartłomiej Dach
95435ecd13
Merge pull request #26591 from peppy/offset-awareness
Show offset explanation tooltip on settings offset adjust slider bar
2024-01-22 14:59:31 +01:00
Bartłomiej Dach
17d05b0fdf
Fix non-miss drawable judgements fading out instantly on triangles skin
`else if` proves to be insidious once again.
2024-01-22 14:23:46 +01:00
Bartłomiej Dach
b8dd78eec8
Merge branch 'master' into fix-per-ruleset-hud-positioning 2024-01-22 13:55:56 +01:00
Dean Herbert
15df6b1da1
Revert keyboard seek speed change 2024-01-22 21:47:38 +09:00
Bartłomiej Dach
99d3fcc326
Fix crash if ruleset components container is not present 2024-01-22 13:45:55 +01:00
Dean Herbert
83f9118b22
Adjust results screen to handle S->A rank adjustment when misses are present 2024-01-22 21:43:32 +09:00
Dean Herbert
644e7d6fe6
Add migration 2024-01-22 21:43:32 +09:00
Dean Herbert
4eba3b5d70
Move BackgroundDataStoreProcessor to better namespace 2024-01-22 21:43:32 +09:00
Dean Herbert
c8521b49cd
Change S rank to require no miss 2024-01-22 21:43:32 +09:00
Bartłomiej Dach
7f31070b87
Merge pull request #26648 from peppy/fix-followpoint-pooling
Fix `FollowPointConnection` pool filling up when follow points are hidden
2024-01-22 13:31:43 +01:00
Bartłomiej Dach
0d6c681275
Merge pull request #26649 from peppy/fix-more-allocations
Remove `FillFlow` overhead of argon counters
2024-01-22 12:57:16 +01:00
Bartłomiej Dach
c8053a8077
Merge pull request #26600 from peppy/frame-stable-catchup-zoom
Change frame stable catch-up method to allow for much faster sync
2024-01-22 11:29:15 +01:00
Bartłomiej Dach
b7f0102461
Merge pull request #26662 from peppy/fix-player-crash
Fix potential null reference in player screen transition handling
2024-01-22 11:07:16 +01:00
Dean Herbert
47e9846315
Adjust slider tick / end miss animations to be less busy 2024-01-22 18:48:48 +09:00
Bartłomiej Dach
77ef12ebb0
Merge branch 'master' into frame-stable-catchup-zoom 2024-01-22 10:37:06 +01:00
Bartłomiej Dach
daa9279a23
Merge pull request #26607 from peppy/replay-seek-single-frame
Add ability to step forward/backwards single frames when watching replays
2024-01-22 10:36:13 +01:00
Dean Herbert
319af2d0c6
Merge branch 'master' into fix-storyboard-sprites-3 2024-01-22 18:03:24 +09:00
Dean Herbert
cd551b1abd
Fix star fountains sometimes resetting visually
Addresses https://github.com/ppy/osu/discussions/26622.
2024-01-22 18:01:21 +09:00
Dean Herbert
993e733fce
Merge pull request #26598 from frenzibyte/fix-storyboard-sprites-2
Remove handling for non-legacy texture lookup paths in `LegacySkin`
2024-01-22 17:50:55 +09:00
Bartłomiej Dach
1ac682e2c9
Merge branch 'master' into replay-seek-single-frame 2024-01-22 09:36:15 +01:00
Bartłomiej Dach
af5e6700af
Merge pull request #26606 from peppy/frame-stable-update-while-paused
Allow seeking while paused
2024-01-22 09:35:52 +01:00
Dean Herbert
3dd18c777a
Remove a couple more overrides 2024-01-22 17:00:35 +09:00
Dean Herbert
f6fa965252
Merge pull request #26661 from frenzibyte/fix-mouse-blueprint
Fix blueprint container not handling right clicks correctly while moving a blueprint
2024-01-22 16:53:54 +09:00
Bartłomiej Dach
cd9cb7d6c8
Merge branch 'master' into frame-stable-update-while-paused 2024-01-22 08:52:15 +01:00
Bartłomiej Dach
493d495992
Merge pull request #26605 from peppy/simplify-gameplay-pause
Simplify gameplay pause sequence
2024-01-22 08:49:08 +01:00
Dean Herbert
62965549e7
Merge pull request #26660 from EVAST9919/carousel-alloc
Reduce allocation overhead in `BeatmapCarousel`
2024-01-22 16:47:28 +09:00
Dean Herbert
3e5fe66e58
Fix potential null reference in player screen transition handling
See https://github.com/ppy/osu/actions/runs/7607677219/job/20715418536?pr=26660.
2024-01-22 16:37:56 +09:00
Dean Herbert
1f0ad5cff2
Apply same fix in more places 2024-01-22 15:56:16 +09:00
Dean Herbert
74f05a5c4b
Use container itself rather than ScrollContent 2024-01-22 15:54:24 +09:00
Salman Ahmed
2bd9cd5d34 Fix blueprint container not handling right clicks correctly while moveing an element 2024-01-22 04:39:08 +03:00
Andrei Zavatski
cec4f670d1 Reduce allocation overhead in BeatmapCarousel 2024-01-22 03:12:23 +03:00
Dean Herbert
3b7a47aded
Merge branch 'master' into update-framework 2024-01-21 13:49:44 +09:00
Dean Herbert
02369139b3
Remove FillFlow overhead of argon counters 2024-01-21 13:22:58 +09:00
Andrei Zavatski
1393f52b2b Rename Masking to ClampToDrawable 2024-01-21 05:20:42 +03:00
Dean Herbert
a69fd8198d
Update framework and other nuget packages
- Moq held back because dicks
- NUnit held back because large API changes (trivial but effort)
- SignalR held back due to api deprecations
2024-01-21 11:00:53 +09:00
Andrei Zavatski
e003ecb593 Change default masking value to true 2024-01-21 04:57:48 +03:00
Dean Herbert
2dedead1d1
Allow debug instances to coexist alongside release instances 2024-01-21 10:56:55 +09:00
Dean Herbert
1999e772f6
Fix FollowPointConnection pool filling up when follow points are hidden
Closes https://github.com/ppy/osu/issues/26642.

I think this applied to all pooling cases here.
2024-01-21 10:31:27 +09:00
Andrei Zavatski
6ba3546be5 Enable masking in RoundedButton 2024-01-21 02:28:14 +03:00
Andrei Zavatski
60f7b4ea2f Enable masking in DrawableRank 2024-01-21 02:25:29 +03:00
Andrei Zavatski
421ae73715 Enable masking in DrawableCarouselBeatmap 2024-01-21 02:21:09 +03:00
Andrei Zavatski
087d0f03a4 Enable masking in toolbar 2024-01-21 02:15:48 +03:00
Andrei Zavatski
a3703d657a Enable masking in popup dialog 2024-01-21 02:12:49 +03:00
Andrei Zavatski
3ad3b052df Enable masking is osu logo 2024-01-21 02:10:36 +03:00
OliBomby
78e87d379b fix divide by zero 2024-01-20 16:53:11 +01:00
OliBomby
2f924b3368 fix skewed single axis scale 2024-01-20 16:33:03 +01:00
OliBomby
5f40d3aed9 rename variable 2024-01-20 16:29:26 +01:00
OliBomby
a155b315bf Fix negative width or height skin drawables 2024-01-20 16:10:17 +01:00
OliBomby
ac76af5cc8 fix skin scale coordinate system 2024-01-20 15:43:47 +01:00
OliBomby
9b9485f656 fix adjust axes detection 2024-01-20 15:39:38 +01:00
OliBomby
1596776a81 fix imports 2024-01-20 15:15:49 +01:00
OliBomby
0fc448f4f3 fix adjusting scale from anchor 2024-01-20 15:12:48 +01:00
OliBomby
6a4129dad8 fix aspect ratio transform 2024-01-20 15:11:35 +01:00
OliBomby
fcaa5ec20e remove debug logs 2024-01-20 13:26:08 +01:00
OliBomby
6a57be0a50 clean up code and fix flipping 2024-01-20 13:04:05 +01:00
Andrei Zavatski
45effdb6df Remove local vertex batching from triangles backgrounds 2024-01-20 08:41:34 +03:00
OliBomby
ed430a3df4 refactor skin editor scale 2024-01-20 02:49:56 +01:00
OliBomby
a4f771ec08 refactor CanScale properties 2024-01-20 01:13:01 +01:00
OliBomby
26c0d1077a Refactor scale handling in editor to facilitate reuse 2024-01-20 00:22:53 +01:00
Joseph Madamba
3eeefd5b7e Fix changelog stream user count only accounting for latest build 2024-01-18 16:15:52 -08:00
Dean Herbert
0383bdf6a1
Add bindings for stepping backward/forward 2024-01-18 20:38:25 +09:00
Dean Herbert
c50534c819
Move seek/step logic into ReplayPlayer 2024-01-18 20:38:15 +09:00
Salman Ahmed
b97c3ac9ee Fix revert-to-default button appearing on disabled settings regardless of value 2024-01-18 14:24:49 +03:00
Dean Herbert
8c4af58109
Keep replay controls expanded by default 2024-01-18 20:13:32 +09:00
Dean Herbert
60e972cd15
Add ability to step forward/backwards single frames 2024-01-18 20:13:32 +09:00
Dean Herbert
dafff26d0e
Tidy up implementation of PlaybackSettings 2024-01-18 20:13:32 +09:00
Dean Herbert
e73910571f
Allow FrameStabilityContainer to continue updating while paused during replay playback 2024-01-18 20:13:28 +09:00
Dean Herbert
2afa4c7e1c
Remove redundant RequiresChildrenUpdate usage
We are already manually calling `base.UpdateSubTree` when we need to.
Changing this flag is doing nothing and just adds to the complexity of
the implementation.
2024-01-18 20:13:28 +09:00
Andrei Zavatski
4532a409d2
Fix ConstrainedIconContainer always using masking 2024-01-18 20:13:27 +09:00
Dean Herbert
c4e9bcd140
Remove test guarantee of audio time not advancing 2024-01-18 20:06:53 +09:00
Dean Herbert
82e7643df5
Update IPC usages
Of note, I've disabled IPC on visual test runners as we generally don't
use IPC in these cases. Having it set means that the game will not open
while visual tests are open, which has been a complaint from devs in the
past.
2024-01-18 19:45:36 +09:00
Bartłomiej Dach
2be989b9f5
Merge pull request #26542 from peppy/non-touch-fade-button
Fade hold-for-menu button out completely on non-touch devices
2024-01-18 11:27:50 +01:00
Dean Herbert
c9945b41c1
Remove rounding of slider velocity (when applied as scroll speed)
This affects both osu!taiko and osu!mania.

Closes https://github.com/ppy/osu/issues/25862.
2024-01-18 18:37:44 +09:00
smallketchup82
5c70c786b4 Fix extended tooltip content still being shown despite ShowExtendedTooltip being false 2024-01-18 03:18:44 -05:00
Dean Herbert
fd9c7184e4
Only play back sample once when traversing up multiple screens in stack 2024-01-18 16:31:33 +09:00
Dean Herbert
ef0b5c9406
Stop playing back samples for nested screens in multiplayer
I'd argue this sounds better.
2024-01-18 16:31:20 +09:00
Dean Herbert
a756942f4d
Merge branch 'master' into fix-storyboard-sprites-2 2024-01-18 16:07:02 +09:00
Dean Herbert
ee3de9c522
Fix gameplay elements not correcly offsetting to avoid per-ruleset skin layout
Closes https://github.com/ppy/osu/issues/26601.
2024-01-18 15:44:27 +09:00
Dean Herbert
8ab8c90e33
Remove "pause rate adjust" flow 2024-01-18 14:21:02 +09:00
Dean Herbert
799c74cfe5
Simplify gameplay pause sequence 2024-01-18 14:17:19 +09:00
Dean Herbert
c362a93a36
Change frame stable catch-up method to allow for much faster sync 2024-01-18 14:01:37 +09:00
Andrei Zavatski
42e4c933d3 Fix ConstrainedIconContainer always using masking 2024-01-18 04:06:02 +03:00
smallketchup82
060ea1d4fd Switch from using a constructor argument to using a public field for ShowExtendedTooltip 2024-01-17 14:04:13 -05:00
smallketchup82
9a6541356e Refactor the extended tooltip variables to be more descriptive 2024-01-17 13:31:23 -05:00
Salman Ahmed
06da7f74de
Merge branch 'master' into fix-storyboard-sprites-2 2024-01-17 18:43:25 +03:00
Dean Herbert
e260e75fac
Merge pull request #26594 from frenzibyte/fix-storyboard-sprites-1
Change legacy beatmap skins to not handle `@2x` textures (to match stable)
2024-01-18 00:40:29 +09:00
Salman Ahmed
5597b48882 Fix storyboard animations stripping path directory on skin lookup 2024-01-17 18:39:48 +03:00
smallketchup82
b6422bc8bd Apply suggested changes
- Change difficultyicon mods parameter docstring to be more professional
- Add a parameter for controlling whether the difficulty statistics show or not. Defaults to false
- Round the BPM in the tooltip to make sure it displays correctly
2024-01-17 09:07:17 -05:00
Bartłomiej Dach
b718897b30
Merge pull request #26593 from peppy/rolling-counter-unstick
Change rolling counters to use quicker easing types
2024-01-17 14:37:52 +01:00
Salman Ahmed
e54d20ea93 Remove ancient osu-resources lookup path from legacy skin textures 2024-01-17 16:33:14 +03:00
Bartłomiej Dach
d335c01553
Merge pull request #26589 from peppy/key-binding-overlay-ordering
Change key overlay to use the ordering provided by rulesets
2024-01-17 13:37:26 +01:00
Dean Herbert
6a8a45bb13
Merge pull request #26585 from frenzibyte/fix-editor-ux
Fix timing point changes not applying after selecting another one
2024-01-17 19:53:35 +09:00
Bartłomiej Dach
5cb17bcacf
Merge pull request #26502 from frenzibyte/prevent-submission-with-invalid-mods
Add guard against submitting score with invalid mod instances
2024-01-17 11:39:32 +01:00
Dean Herbert
0ddd89a5b8
Merge pull request #26579 from bdach/accuracy-rank-lazer-score-reimport
Fix incorrect accuracy and rank population when decoding lazer replays
2024-01-17 19:33:26 +09:00
Salman Ahmed
98c65f36c9 Disable high resolution texture lookup for legacy beatmap skins to match stable 2024-01-17 12:56:29 +03:00
Salman Ahmed
5ad2918a75 Allow disabling high resolution texture lookups in LegacySkin 2024-01-17 12:56:29 +03:00
Dean Herbert
456a8e6e82
Merge pull request #26549 from bdach/hit-error-meter-pooling-bad
Fix `ColourHitErrorMeter` not loading pooled drawables ahead of time
2024-01-17 18:43:47 +09:00
Dean Herbert
a66ddc7813
Change rolling counters to use quicker easing types 2024-01-17 18:18:53 +09:00
Dean Herbert
cc7be137bc
Show tooltip on global offset adjust slider bar 2024-01-17 17:57:49 +09:00
Dean Herbert
123e36a999
Change display text for beatmap audio offset adjust to make more sense 2024-01-17 17:51:46 +09:00
Dean Herbert
45e52854ca
Change key overlay to use the ordering provided by rulesets
osu!mania already goes out of its way to order things correctly.
Arguably, osu!taiko just did it wrong.
2024-01-17 17:37:38 +09:00
Dean Herbert
ee18123fc2
Merge pull request #26340 from stanriders/user-rank-card
Add user card with global/country ranks to login overlay
2024-01-17 17:22:33 +09:00
Dean Herbert
c1c2e61723
Merge pull request #26446 from LeNitrous/add/replay-playback-controls
Add replay playback controls
2024-01-17 17:06:15 +09:00
Dean Herbert
353df2f312
Fix one more incorrect bindable flow and simplify string setters 2024-01-17 17:00:56 +09:00
Dean Herbert
66c7a29e79
Add comment about messy methods 2024-01-17 16:57:22 +09:00
Dean Herbert
fe06402951
Fix incorrect bindable usage 2024-01-17 16:50:48 +09:00
Dean Herbert
e97b31d82e
Fix test failures 2024-01-17 16:40:45 +09:00
Dean Herbert
e7732caaf7
Make PlayerSettingsOverlay's api more stringent 2024-01-17 15:13:59 +09:00
Dean Herbert
2788bd912e
Add tooltips and localisation 2024-01-17 15:12:33 +09:00
Dean Herbert
e53989faeb
Change replay playback adjustment to skew frequency, not tempo 2024-01-17 15:02:42 +09:00
Dean Herbert
042e852a3e
Adjust playback speed range to allow slower minimum speed 2024-01-17 15:02:42 +09:00
Dean Herbert
42f64c2c44
Move load procedure to async method and simplify code 2024-01-17 15:02:42 +09:00
Salman Ahmed
23e5167cb5
Merge branch 'master' into drag-volume-controls 2024-01-17 08:37:34 +03:00
Salman Ahmed
1790a5df03 Remove redundant value to appease CI 2024-01-17 08:29:55 +03:00
Salman Ahmed
46429c5074 Schedule control point switch for settings modifications to apply first 2024-01-17 08:15:01 +03:00
Dean Herbert
9cde04c30c
Change drag adjustments to be linear (and account for partial deltas) 2024-01-17 14:12:12 +09:00
Dean Herbert
68fb1b8663
Merge pull request #26573 from EVAST9919/leaderboard-glow-remove
Fix multiple issues with `GlowingSpriteText`
2024-01-17 13:17:03 +09:00
Bartłomiej Dach
17b9d842ab
Fix incorrect accuracy and rank population when decoding lazer replays
Closes https://github.com/ppy/osu/issues/24061.

The gist of this change is that if the `LegacyReplaySoloScoreInfo`
bolt-on is present in the replay, then it can (and is) used to recompute
the accuracy, and rank is computed based on that.

This was the missing part of
https://github.com/ppy/osu/issues/24061#issuecomment-1888438151.
The accuracy would change on import before that because the encode
process is _lossy_ if the `LegacyReplaySoloScoreInfo` bolt-on is not
used, as the legacy format only has 6 fields for encoding judgement
counts, and some judgements that affect accuracy in lazer do not fit
into that.

Note that this _only_ fixes _relatively_ new lazer scores looking wrong
after reimport.

- Very old lazer scores, i.e. ones that don't have the
  `LegacyReplaySoloScoreInfo` bolt-on, obviously can't use it
  to repopulate. There's really not much good that can be done there,
  so the stable pathways are used as a fallback that always works.

- For stable replays, `ScoreImporter` recalculates the accuracy of
  the score _again_ in

  15a5fd7e4c/osu.Game/Scoring/ScoreImporter.cs (L106-L110)

  as `StandardisedScoreMigrationTools.UpdateFromLegacy()` recomputes
  _both_ total score and accuracy.

  This makes a _semblance_ of sense as it attempts to make the accuracy
  of stable and lazer replays comparable. In most cases it also won't
  matter, as the only ruleset where accuracy changed between the legacy
  implementation and current lazer accuracy is mania.

  But it is also an inaccurate process (as, again, some of the required
  data is not in the replay, namely judgement counts of ticks
  and so on).

  For whatever's worth, a similar thing happens server-side in

  106c2948db/osu.Server.Queues.ScoreStatisticsProcessor/Commands/Queue/BatchInserter.cs (L319)

- However, _ranks_ of stable scores will still use the local stable
  reimplementation of ranks, i.e. a 1-miss stable score in osu! ruleset
  will be an A rather than an S. See importer:

  106c2948db/osu.Server.Queues.ScoreStatisticsProcessor/Commands/Queue/BatchInserter.cs (L237)

  (it's the same method which is renamed
  to `PopulateLegacyAccuracyAndRank()` in this commit).

  That is all a bit of a mess honestly, but I'm not sure where to even
  begin there...
2024-01-16 22:38:53 +01:00
Bartłomiej Dach
a9d086c119
Fix touch device not always activating when it should
See https://github.com/ppy/osu/discussions/26574
2024-01-16 17:12:40 +01:00
Andrei Zavatski
dfdf700560 Don't use glowing text in ScoreComponentLabel 2024-01-16 17:43:17 +03:00
Andrei Zavatski
7920e93fa9 Rework GlowingSpriteText 2024-01-16 17:43:16 +03:00
Salman Ahmed
90da39c65d Fix helper method returning incorrect result 2024-01-16 14:27:30 +03:00
Bartłomiej Dach
c27f01dc14
Merge pull request #26565 from peppy/fix-leaderboard-display
Fix some elements not showing on leaderboard scores when almost off-screen
2024-01-16 11:30:52 +01:00
Bartłomiej Dach
cde0c0b2ee
Merge pull request #26561 from peppy/fix-catch-banana-health-bar
Fix argon health bar showing "miss" bar for bananas
2024-01-16 11:04:38 +01:00
Bartłomiej Dach
a3b7943e7d
Merge pull request #26560 from peppy/fix-skin-loss
Fix skin potentially being lost when opening and closing skin editor rapidly
2024-01-16 10:16:30 +01:00
Bartłomiej Dach
805a9b56ec
Merge pull request #26557 from peppy/fix-silver-s-ss
Fix silver S/SS not being awarded correctly
2024-01-16 10:03:20 +01:00
Dean Herbert
ee26329353
Fix some elements not showing on leaderboard scores when almost off-screen 2024-01-16 16:44:50 +09:00
Dean Herbert
cdc6621f33
Allow adjusting volume controls via a drag 2024-01-16 16:37:05 +09:00
Dean Herbert
2be8d66d4c
Fix argon health bar showing "miss" bar for bananas 2024-01-16 15:52:18 +09:00
Dean Herbert
57a6025a2c
Add helper method to bypass judgement woes 2024-01-16 15:52:05 +09:00
Dean Herbert
cd02d00c03
Fix skin potentially being lost when opening and closing skin editor rapidly 2024-01-16 15:23:07 +09:00
Dean Herbert
451ba1c861
Ensure PresentGameplay doesn't get stuck in loop if no beatmaps available 2024-01-16 15:13:08 +09:00
Dean Herbert
34905b2052
Apply NRT to new classes 2024-01-16 14:17:21 +09:00
Dean Herbert
e75f113a06
Update resources 2024-01-16 14:14:04 +09:00
Dean Herbert
1fd85b79db
Merge branch 'master' into argon-health-rework 2024-01-16 13:35:29 +09:00
Dean Herbert
902a5436f3
Fix silver S/SS not being awarded correctly 2024-01-16 13:21:15 +09:00
Bartłomiej Dach
97e08f5071
Fix ColourHitErrorMeter not loading pooled drawables ahead of time 2024-01-15 21:40:07 +01:00
Bartłomiej Dach
40f612435d
Merge pull request #26178 from felipemarins/mod-search-text-box-select-all
Make mod search box text be selected when a new mod is selected/deselected
2024-01-15 20:08:02 +01:00
Bartłomiej Dach
744cb8e10c
Merge pull request #26538 from peppy/save-multiplayer-filter-mode
Remember multiplayer room filter mode
2024-01-15 19:53:50 +01:00
Bartłomiej Dach
a41108057f
Merge pull request #26287 from wooster0/no-scores-yet
Don't leave scores screen empty if no scores are present yet
2024-01-15 19:49:20 +01:00
Bartłomiej Dach
c5a276a7de
Merge pull request #26543 from peppy/offset-toast-limit
Only display offset toast when in local gameplay
2024-01-15 19:19:21 +01:00
Bartłomiej Dach
4d39c91972
Merge pull request #26449 from peppy/playlist-room-buttons
Allow interacting with playlist item buttons when not selected
2024-01-15 19:12:01 +01:00
Bartłomiej Dach
c46615839d
Only select all text in mod search text box if enter press selected anything 2024-01-15 19:09:50 +01:00
Andrei Zavatski
8661edfc2f Organize consts better 2024-01-15 21:07:12 +03:00
Bartłomiej Dach
9d2c82452c
Revert "simplify the code even more"
This reverts commit 9bc9db9138.
2024-01-15 18:47:49 +01:00
Andrei Zavatski
c406135487 Merge branch 'master' into argon-health-rework 2024-01-15 20:40:19 +03:00
Bartłomiej Dach
64e94a8b6c
Merge pull request #26544 from peppy/fix-background-dim-failure
Fix background dim occasionally getting in a bad state when exiting gameplay
2024-01-15 15:16:37 +01:00
Bartłomiej Dach
c5351bd14d
Fix back-to-front set 2024-01-15 14:20:07 +01:00
Bartłomiej Dach
664035c796
Merge pull request #26546 from peppy/judgement-pooler
Fix judgement pooling not working correctly in osu!taiko and osu!mania
2024-01-15 14:02:52 +01:00
Bartłomiej Dach
d206acac63
Merge pull request #26540 from peppy/fix-double-counters
De-dupe displayed hits in judgement counter
2024-01-15 14:02:11 +01:00
Bartłomiej Dach
fe8540b441
Merge pull request #26541 from peppy/fix-collection-dropdown-crash
Fix collection dropdown crashing when all collections are deleted at once
2024-01-15 13:28:00 +01:00
Bartłomiej Dach
cd9b6656ba
Merge pull request #26536 from peppy/cache-fonts
Fix gameplay counter textures not being cached ahead of time
2024-01-15 13:11:40 +01:00
Salman Ahmed
d346dd0650 Fix TestModReinstantiation failing due to custom mod being used 2024-01-15 15:01:13 +03:00
Salman Ahmed
1d7b63e204 Move checking logic inside ModUtils and somewhat optimise 2024-01-15 14:58:59 +03:00
wooster0
9bc9db9138 simplify the code even more 2024-01-15 20:58:43 +09:00
Dean Herbert
6b844ed8b6
Split out judgement pooling concepts from OsuPlayfield for reuse 2024-01-15 20:50:09 +09:00
Bartłomiej Dach
6dee2860d2
Merge branch 'master' into fix-multiplayer-mods-cheesing 2024-01-15 12:19:29 +01:00
StanR
e3989c854d Change LoginPanel to use LocalUser.Status for the dropdown 2024-01-15 16:57:22 +06:00
StanR
b86c883a5d Merge branch 'master' into user-rank-card 2024-01-15 16:37:48 +06:00
Bartłomiej Dach
9da3aeb28b
Merge pull request #26492 from frenzibyte/fix-system-mods-selected-on-free-mods-overlay
Fix touch device mod getting selected as a free mod in playlists
2024-01-15 11:29:37 +01:00
Dean Herbert
8e32780888
Fix background dim occasionally getting in a bad state when exiting gameplay 2024-01-15 19:21:19 +09:00
Dean Herbert
a3b63391fa
Merge pull request #26356 from stanriders/global-user-statistics
Add `Statistics` bindable to `IAPIProvider` and update it from `SoloStatisticsWatcher`
2024-01-15 18:43:35 +09:00
Dean Herbert
0aa8a20d57
Fix regression in interaction when panels are not selectable 2024-01-15 18:34:32 +09:00
Dean Herbert
2a2a4c416e
Only display offset toast when in local gameplay 2024-01-15 18:17:49 +09:00
Dean Herbert
52f8348ee3
Fade hold-for-menu button out completely on non-touch devices 2024-01-15 17:55:37 +09:00
Dean Herbert
0a522d260b
Fix collection dropdown crashing when all collections are deleted at once 2024-01-15 17:10:30 +09:00
Dean Herbert
e6453853c2
De-dupe displayed hits in judgement counter 2024-01-15 16:02:59 +09:00
Felipe Marins
d8962ddff8 Select all when pressing enter instead of every mod selection change 2024-01-15 03:22:52 -03:00
Dean Herbert
6940579b9e
Remember multiplayer room filter mode
As proposed in https://github.com/ppy/osu/discussions/26218.
2024-01-15 14:30:34 +09:00
Dean Herbert
a6c309b61a
Add more keywords 2024-01-15 14:12:39 +09:00
Dean Herbert
cd20561843
Adjust text slightly 2024-01-15 14:12:10 +09:00
Dean Herbert
093001438c
Merge branch 'master' into add-minimise-on-focus-loss-setting 2024-01-15 14:05:25 +09:00
Dean Herbert
0b5cc8fb10
Fix gameplay counter textures not being cached ahead of time
Part of https://github.com/ppy/osu/issues/26535.
2024-01-15 14:01:21 +09:00
smallketchup82
d2efa2e56a peppy said he prefers the version without pipes so ill remove the pipes 2024-01-14 15:47:50 -05:00
Susko3
47b385c552 Move toolbar button padding to a const 2024-01-14 21:13:00 +01:00
Susko3
724b4c9507 Expand click target of toolbar buttons and clock 2024-01-14 21:09:49 +01:00
Bartłomiej Dach
e3ffea1b12
Merge pull request #26528 from peppy/update-framework
Update framework
2024-01-14 15:18:14 +01:00
Dean Herbert
4c6c849d26
Merge pull request #26522 from bdach/slider-tick-display
Show "slider end" statistic next to slider ticks on results screen (and use correct colour)
2024-01-14 23:17:40 +09:00
Dean Herbert
a8b301c618
Merge pull request #26526 from bdach/fix-date-display-failing
Fix date failing to display on leaderboard for some scores with weird datetimes
2024-01-14 22:56:32 +09:00
Salman Ahmed
13060c8698
Merge branch 'master' into slider-tick-display 2024-01-14 16:35:34 +03:00
Dean Herbert
fb4f8d0834
Update framework 2024-01-14 22:31:48 +09:00
Bartłomiej Dach
baf3867e17
Fix date failing to display on leaderboard for some scores with weird datetimes
Addresses https://github.com/ppy/osu/discussions/26517.

The score reported has a datetime of 0001/1/1 05:00:00 AM.

Bit of a dodge fix but maybe fine?
2024-01-14 13:52:39 +01:00
Bartłomiej Dach
1cd7656f33
Reorder hit results so that SliderTailHit is next to SmallTickHit
This addresses https://github.com/ppy/osu/discussions/26507.
2024-01-14 09:33:04 +01:00
Bartłomiej Dach
eecd868d66
Use darker blue for SliderTailHit result 2024-01-14 09:24:50 +01:00
Bartłomiej Dach
b7d74fda88
Revert "Keep editor in frame stable mode when possible" 2024-01-14 09:10:39 +01:00
Dean Herbert
68496f7a0e
Fix scores not showing up on leaderboards during gameplay 2024-01-14 15:13:20 +09:00
Salman Ahmed
0c02062780 Add guard against starting gameplay with invalid mod instances
Move guard to `Player` instead
2024-01-13 16:25:02 +03:00
Salman Ahmed
c514550dfa Fix multiplayer potentially selecting mods of wrong ruleset when starting match 2024-01-13 11:17:08 +03:00
Salman Ahmed
aebf246f62 Change select all mod buttons to check ValidForSelection instead of directly checking system mods 2024-01-13 09:43:50 +03:00
Salman Ahmed
c476843a83 Mark system mods as invalid for selection in mod select overlay 2024-01-13 09:43:20 +03:00
Dean Herbert
3d3f58c252
Merge pull request #26486 from peppy/update-framework
Update framework
2024-01-13 15:19:49 +09:00
Dean Herbert
0934cff501
Workaround implementation oversight
See https://github.com/ppy/osu-framework/pull/6130.
2024-01-13 15:19:02 +09:00
Dean Herbert
98fe9f32d8
Merge pull request #26484 from bdach/only-validate-playback-rate-when-submitting
Only validate playback rate when in submission context
2024-01-13 12:10:55 +09:00
Dean Herbert
58ade18c06
Update framework 2024-01-13 04:53:26 +09:00
Bartłomiej Dach
6572fa4378
Only validate playback rate when in submission context
Temporary workaround for https://github.com/ppy/osu/issues/26404.

It appears that some audio files do not behave well with BASS, leading
BASS to report a contradictory state of affairs (i.e. a track that is
in playing state but also not progressing). This appears to be related
to seeking specifically, therefore only enable the validation of
playback rate in the most sensitive contexts, namely when any sort of
score submission is involved.
2024-01-12 14:59:15 +01:00
Dean Herbert
02975b9498
Merge pull request #26471 from bdach/fix-incorrect-difficulty-peppy-stars
Fix incorrect score conversion on selected beatmaps due to incorrect `difficultyPeppyStars` rounding
2024-01-12 22:34:54 +09:00
Andrei Zavatski
c1e4e51a5f Add comment explaining negative container padding 2024-01-12 15:34:07 +03:00
Andrei Zavatski
8d4ba6d466 Remove PathPadding property 2024-01-12 15:30:19 +03:00
Bartłomiej Dach
593ca9f84f
Merge pull request #26468 from frenzibyte/fix-skin-parsing
Fix mania skin array decoder not handling malformed entries rigorously
2024-01-12 12:52:02 +01:00
Nitrous
ccbba8a00b
Avoid NRE due to a beatmap loading with no hit objects. 2024-01-12 17:19:59 +08:00
Nitrous
c545a9c242
remove extra new line 2024-01-12 15:13:38 +08:00
Nitrous
c404628113
move creation of PlaybackSettings to ReplayPlayer 2024-01-12 15:12:02 +08:00
Andrei Zavatski
e861661037 Remove invalidations in update
oops
2024-01-12 03:03:41 +03:00
Andrei Zavatski
101a26a53e Update start and end progress in one go 2024-01-12 02:54:07 +03:00
Andrei Zavatski
bbb36da323 Don't pass start and end progress to the background 2024-01-11 18:58:40 +03:00
Andrei Zavatski
d75bf55c58 CI fixes 2024-01-11 18:28:00 +03:00
Andrei Zavatski
f1db7db259 Implement ArgonHealthDisplayBar 2024-01-11 17:52:34 +03:00
Andrei Zavatski
90ab306a96 Implement ArgonHealthDisplayBackground 2024-01-11 17:52:33 +03:00
Bartłomiej Dach
b65d3baa8a
Merge branch 'master' into health-less-value-changed 2024-01-11 10:33:08 +01:00
Bartłomiej Dach
7c9adc7ad3
Fix incorrect score conversion on selected beatmaps due to incorrect difficultyPeppyStars rounding
Fixes issue that occurs on *about* 246 beatmaps and was first described
by me on discord:

    https://discord.com/channels/188630481301012481/188630652340404224/1154367700378865715

and then rediscovered again during work on
https://github.com/ppy/osu/pull/26405:

    https://gist.github.com/bdach/414d5289f65b0399fa8f9732245a4f7c#venenog-on-ultmate-end-by-blacky-overdose-631

It so happens that in stable, due to .NET Framework internals, float
math would be performed using x87 registers and opcodes.
.NET (Core) however uses SSE instructions on 32- and 64-bit words.
x87 registers are _80 bits_ wide. Which is notably wider than _both_
float and double. Therefore, on a significant number of beatmaps,
the rounding would not produce correct values due to insufficient
precision.

See following gist for corroboration of the above:

    https://gist.github.com/bdach/dcde58d5a3607b0408faa3aa2b67bf10

Thus, to crudely - but, seemingly accurately, after checking across
all ranked maps - emulate this, use `decimal`, which is slow, but has
bigger precision than `double`. The single known exception beatmap
in whose case this results in an incorrect result is

    https://osu.ppy.sh/beatmapsets/1156087#osu/2625853

which is considered an "acceptable casualty" of sorts.

Doing this requires some fooling of the compiler / runtime (see second
inline comment in new method). To corroborate that this is required,
you can try the following code snippet:

    Console.WriteLine(string.Join(' ', BitConverter.GetBytes(1.3f).Select(x => x.ToString("X2"))));
    Console.WriteLine(string.Join(' ', BitConverter.GetBytes(1.3).Select(x => x.ToString("X2"))));
    Console.WriteLine();

    decimal d1 = (decimal)1.3f;
    decimal d2 = (decimal)1.3;
    decimal d3 = (decimal)(double)1.3f;

    Console.WriteLine(string.Join(' ', decimal.GetBits(d1).SelectMany(BitConverter.GetBytes).Select(x => x.ToString("X2"))));
    Console.WriteLine(string.Join(' ', decimal.GetBits(d2).SelectMany(BitConverter.GetBytes).Select(x => x.ToString("X2"))));
    Console.WriteLine(string.Join(' ', decimal.GetBits(d3).SelectMany(BitConverter.GetBytes).Select(x => x.ToString("X2"))));

which will print

    66 66 A6 3F
    CD CC CC CC CC CC F4 3F

    0D 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00
    0D 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00
    8C 5D 89 FB 3B 76 00 00 00 00 00 00 00 00 0E 00

Note that despite `d1` being converted from a less-precise floating-
-point value than `d2`, it still is represented 100% accurately as
a decimal number.

After applying this change, recomputation of legacy scoring attributes
for *all* rulesets will be required.
2024-01-10 19:30:18 +01:00
Dean Herbert
5d6f767dbd
Reduce excessive Color4 allocations during path colour updates 2024-01-11 00:31:39 +09:00
Salman Ahmed
7ca4d85441 Remove unnecessary AllowThousands flag
The flag is there to match `float.Parse` behaviour, but it's too illogical and unnecessary to have it.
2024-01-10 17:48:48 +03:00
Salman Ahmed
698ae66a49 Fix mania skin array decoder not handling malformed entries rigorously 2024-01-10 17:41:58 +03:00
Dean Herbert
49d13cda6b
Fix failing test by setting health on source of truth 2024-01-10 23:09:43 +09:00
Dean Herbert
91677158a0
Update framework 2024-01-10 22:33:00 +09:00
Dean Herbert
f912a1ba31
Merge branch 'master' into health-less-value-changed 2024-01-10 18:03:34 +09:00
Dean Herbert
a4c9e9f84d
Merge pull request #26405 from bdach/catch-scoring
Adjust catch scoring to match stable score V2
2024-01-10 01:28:56 +09:00
Bartłomiej Dach
8e133ed3ab
Merge pull request #26422 from peppy/allocs-off-the-charts
Preliminary fixes for off-the-charts allocations
2024-01-09 16:06:24 +01:00
Bartłomiej Dach
00a4c055b3
Merge branch 'master' into catch-scoring 2024-01-09 15:49:37 +01:00
Dean Herbert
eec9b6806a
Merge pull request #26434 from bdach/mania-conversion-accuracy
Fix mania score conversion using score V1 accuracy
2024-01-09 23:48:07 +09:00
Nitrous
484e9e8ee6
Fix binding order of IsPaused bindable and disable playback controls in spectator mode. 2024-01-09 22:09:20 +08:00
Bartłomiej Dach
a25223597b
Merge pull request #26456 from peppy/fix-missing-validation
Fix `SettingsToolboxGroup` allocating excessively due to missing cache validation
2024-01-09 14:36:14 +01:00
Bartłomiej Dach
8110c995dd
Merge branch 'master' into allocs-off-the-charts 2024-01-09 14:11:00 +01:00
Bartłomiej Dach
92ba770314
Fix missing wireframe behind percent sign on accuracy counter 2024-01-09 14:00:58 +01:00
Bartłomiej Dach
77bf6e3244
Fix missing wireframe behind "x" sign on combo counter display 2024-01-09 13:59:27 +01:00
Bartłomiej Dach
393d101bc2
Merge branch 'master' into realm-cleanup-overheads-fix 2024-01-09 13:35:22 +01:00
wooster0
8ad697ff4c apply some suggestions/corrections 2024-01-09 21:28:46 +09:00
Dean Herbert
4110adc4c0
Fix missing wireframe on argon combo counter 2024-01-09 20:16:28 +09:00
Bartłomiej Dach
a8a70be04a
Reference property via nameof rather than hardcoding 2024-01-09 11:49:42 +01:00
Dean Herbert
8324b75fa4
Merge pull request #26437 from bdach/song-select-logo-crash
Fix crash when clicking osu! logo in song select immediately after exiting
2024-01-09 19:40:19 +09:00
Bartłomiej Dach
cac0b0de6d
Remove unused using directive 2024-01-09 11:38:01 +01:00
Bartłomiej Dach
66b3945cd6
Move current screen check to better place 2024-01-09 10:44:30 +01:00
Dean Herbert
6ac1c799bd
Fix SettingsToolboxGroup allocating excessively due to missing cache validation 2024-01-09 18:34:20 +09:00
Dean Herbert
9c7e555237
Fix initial animation not playing correctly 2024-01-09 18:27:37 +09:00
Dean Herbert
80892f3167
Fix misses not displaying properly 2024-01-09 18:18:11 +09:00
Dean Herbert
b6505ba063
Reduce colour tween overhead and mark other calls of concern 2024-01-09 18:16:54 +09:00
Dean Herbert
12a59eb34c
Remove vertex update overheads 2024-01-09 17:35:01 +09:00
Nitrous
c081ca2145
Make field to a local. 2024-01-09 16:30:48 +08:00
Dean Herbert
b3533d270c
Remove delegate overhead of HealthBarValue/GlowBarValue 2024-01-09 17:20:49 +09:00
Nitrous
63961ea276
use RepeatingButtonBehavior for seek buttons 2024-01-09 16:08:29 +08:00
Dean Herbert
d83b8dbdaf
Refactor ArgonHealthDisplay to user interpolation and less bindable events 2024-01-09 16:50:27 +09:00
Dean Herbert
1837b31f9b
Remove usage of HealthDisplay.BindValueChanged
Health updates very often when using HP drain. Let's avoid bindable overheads.
2024-01-09 16:38:05 +09:00
Nitrous
bdecac6d79
Inverse check. 2024-01-09 15:19:54 +08:00
Nitrous
99c7685495
use GameplayClock.IsPaused bindable instead of polling in Update 2024-01-09 15:18:21 +08:00
Dean Herbert
19d1fff536
Use native query to avoid huge overheads when cleaning up realm files 2024-01-09 15:37:29 +09:00
Dean Herbert
f376bb5ec7
Merge pull request #26441 from Joehuu/fix-wiki-main-page-layout
Fix wiki main page not displaying custom layout
2024-01-09 14:51:49 +09:00
Dean Herbert
1f6e1cbe56
Allow interacting with playlist item buttons when not selected 2024-01-09 14:45:21 +09:00
Dean Herbert
765d41faa9
Change second occurrence of debug.assert with early return for fallback safety 2024-01-09 14:07:48 +09:00
Dean Herbert
3f5899dae0
Fix incorrect implementation of wireframe digits 2024-01-09 14:07:48 +09:00
Nitrous
afa808695b
Make resolved properties nullable. 2024-01-09 12:48:11 +08:00
Dean Herbert
6f8a3e15d8
Merge pull request #26382 from peppy/editor-more-frame-stable
Keep editor in frame stable mode when possible
2024-01-09 13:25:03 +09:00
Nitrous
2e041823a1
Perform null check on gameplay state. 2024-01-09 12:24:09 +08:00
Nitrous
bb2b7d3c31
Add playback controls. 2024-01-09 12:23:01 +08:00
Dean Herbert
743411d7c6
Merge pull request #26440 from bdach/incorrect-combo-proportion
Fix score conversion incorrectly assuming zero combo score in certain cases
2024-01-09 13:21:30 +09:00
Dean Herbert
3cdc3b5786
Merge branch 'master' into fix-wiki-main-page-layout 2024-01-09 13:14:36 +09:00
Dean Herbert
172fe53099
Use better method of ignore case comparison 2024-01-09 13:13:32 +09:00
Dean Herbert
06447e95aa
Merge pull request #26439 from bdach/do-not-attempt-score-upgrade-for-custom-rulesets
Do not attempt to recalculate non-legacy scores or scores set on custom rulesets
2024-01-09 13:08:31 +09:00
Joseph Madamba
d6ba7a9c6e Centralise INDEX_PATH to WikiOverlay 2024-01-08 14:28:16 -08:00
Joseph Madamba
58619f1684 Fix wiki main page not displaying custom layout 2024-01-08 14:16:05 -08:00
Bartłomiej Dach
4f7dcb3a50
Do not attempt to recalculate non-legacy scores or scores set on custom rulesets
Addresses discussions such as https://github.com/ppy/osu/discussions/26407
or https://github.com/ppy/osu/discussions/25914 wherein:

- the game would attempt to convert scores for custom rulesets, which
  makes no sense, especially so when they're not there,

- the game would also "recalculate" lazer scores, but that was never the
  intention or was never supported; the game would just increment the
  score version on those but still include them in the converted tally.
2024-01-08 22:47:13 +01:00
Bartłomiej Dach
aa83b84bb2
Fix Cinema mod being compatible with mods that can force failure
Addresses
https://github.com/ppy/osu/pull/26080#issuecomment-1868833214.
2024-01-08 22:34:41 +01:00
Bartłomiej Dach
67df7b33fb
Add failing test coverage for not attempting to upgrade custom ruleset scores 2024-01-08 22:10:08 +01:00
Bartłomiej Dach
58db39ec32
Fix crash when clicking osu! logo in song select immediately after exiting
Closes https://github.com/ppy/osu/issues/26415.

The crash report with incomplete log was backwards, the exit comes
first. Sentry events and the reproducing test in
8a87301c55 confirm this.
2024-01-08 21:37:25 +01:00
Bartłomiej Dach
c4ac53002c
Remove loop in combo score loss estimation calculation 2024-01-08 19:49:22 +01:00
Bartłomiej Dach
70ba5dd0d3
Merge pull request #26385 from peppy/carousel-thing
Fix beatmap carousel not preloading panels when off-screen
2024-01-08 19:37:34 +01:00
Dean Herbert
51bd32bf7e
Restore comment regarding usage of MinBy 2024-01-09 01:08:47 +09:00
Dean Herbert
e77d203a24
Refactor delayed load logic to hopefully read better 2024-01-09 01:08:17 +09:00
Bartłomiej Dach
8c82bb006c
Fix mania score conversion using score V1 accuracy
Partially addresses https://github.com/ppy/osu/discussions/26416

As pointed out in the discussion thread above, the total score
conversion process for mania was using accuracy directly from the
replay. In mania accuracy is calculated differently in score V1 than in
score V2, which meant that scores coming from stable were treated more
favourably (due to weighting GREAT and PERFECT equally).

To fix, recompute accuracy locally and use that for the accuracy
portion.

Note that this will still not be (and cannot be made) 100% accurate, as
in stable score V2, as well as in lazer, hold notes are *two*
judgements, not one as in stable score V1, meaning that full and correct
score statistics are not available without playing back the replay.

The effects of the change can be previewed on the following spreadsheet:

https://docs.google.com/spreadsheets/d/1wxD4UwLjwcr7n9y5Yq7EN0lgiLBN93kpd4gBnAlG-E0/edit#gid=1711190356

Top 5 changed scores with replays:

| score                                                                                                                            | master  | this PR | replay  |
| :------------------------------------------------------------------------------------------------------------------------------- | ------: | ------: | ------: |
| [Outlasted on Uwa!! So Holiday by toby fox [[4K] easy] (0.71\*)](https://osu.ppy.sh/scores/mania/460404716)                      | 935,917 | 927,269 | 920,579 |
| [ag0 on Emotional Uplifting Orchestral by bradbreeck [[4K] Rocket's Normal] (0.76\*)](https://osu.ppy.sh/scores/mania/453133066) | 921,636 | 913,535 | 875,549 |
| [rlarkgus on Zen Zen Zense by Gom (HoneyWorks) [[5K] Normal] (1.68\*)](https://osu.ppy.sh/scores/mania/458368312)                | 934,340 | 926,787 | 918,855 |
| [YuJJun on Harumachi Clover by R3 Music Box [4K Catastrophe] (1.80\*)](https://osu.ppy.sh/scores/mania/548215786)                | 918,606 | 911,111 | 885,454 |
| [Fritte on 45-byou by respon feat. Hatsune Miku & Megpoid [[5K] Normal] (1.52\*)](https://osu.ppy.sh/scores/mania/516079410)     | 900,024 | 892,569 | 907,456 |
2024-01-08 16:38:43 +01:00
Bartłomiej Dach
5337d999b5
Merge branch 'master' into disable-intro-track-pause 2024-01-08 12:54:37 +01:00
Bartłomiej Dach
b6ce57b777
Use override that was intended to steer global track control rather than local sets 2024-01-08 12:54:16 +01:00
Bartłomiej Dach
50eba9ebdb
Reduce code duplication in test 2024-01-08 12:52:14 +01:00
Bartłomiej Dach
3e9d222d67
Merge pull request #26409 from peppy/overall-ranking-overlap
Fix overall ranking text overlapping at some aspect ratios
2024-01-08 12:29:42 +01:00
Bartłomiej Dach
7b663a27bd
Fix score conversion incorrectly assuming zero combo score in certain cases 2024-01-08 10:47:22 +01:00
Dean Herbert
dc31c66f62
Return null on font lookup failure instead of asserting
Fallback weirdness.
2024-01-07 20:41:58 +09:00
Dean Herbert
16ea7f9b77
Avoid completely unnecessary string allocations in ArgonCounterTextComponent 2024-01-07 14:31:22 +09:00
Dean Herbert
9d9e6fcfdb
Remove LINQ calls in hot paths 2024-01-07 14:31:22 +09:00
Dean Herbert
b809d4c068
Remove delegate overhead from argon health display's animation updates 2024-01-07 14:31:22 +09:00
Dean Herbert
d3710f0bfd
Remove scores from song select leaderboard when leaving the screen 2024-01-06 20:53:20 +09:00
Dean Herbert
14a43375a7
Fix overall ranking text overlapping at some aspect ratios
Can't confirm on the actual ranking screen due to stuff not working.

Maybe it'll work tomorrow.

Closes https://github.com/ppy/osu/issues/26341.
2024-01-06 20:25:07 +09:00
Bartłomiej Dach
ea7078fab5
Implement approximate score conversion algorithm matching score V2 2024-01-05 20:46:11 +01:00
Bartłomiej Dach
8295ad1feb
Change catch scoring to match score V2 2024-01-05 20:46:11 +01:00
Zachary
091241634c Make IntroScreen set AllowTrackControl to false instead 2024-01-05 23:55:17 +10:00
Dean Herbert
fbc40ffc65
Merge pull request #26381 from Joehuu/flash-ongoing-operations-dialog
Flash blocking ongoing operations dialog when trying to force quit
2024-01-05 18:34:06 +09:00
Dean Herbert
e9289cfbe7
Reduce precision of audio balance adjustments during slider sliding 2024-01-05 02:26:30 +09:00
Dean Herbert
5b55ca6692
Cache legacy skin character glyph lookups to reduce string allocations 2024-01-05 02:26:30 +09:00
Dean Herbert
91bb3f6c57
Cache argon character glyph lookups to reduce string allocations 2024-01-05 01:24:00 +09:00
Zachary
9b734bac25 Allow track control after intro screen finishes. 2024-01-05 01:14:34 +10:00
Dean Herbert
35b9940c4e
Merge pull request #26140 from CaffeeLake/multiplier1x
Fix mod score multiplier rounding to 1.00x with specific mod combinations
2024-01-04 19:26:49 +09:00
Dean Herbert
81c6fd5589
Load items closer to the centre of the screen as a priority 2024-01-04 19:25:12 +09:00
Dean Herbert
adac3b65ce
Fix beatmap carousel not preloading panels when off-screen 2024-01-04 19:25:12 +09:00
Dean Herbert
b12011d501
Avoid rank updates after failing 2024-01-04 17:13:24 +09:00
Dean Herbert
a4dee1a01a
Don't unset Disabled on rank (never actually disabled?) 2024-01-04 17:13:24 +09:00
Dean Herbert
705f25e4b9
Make ScoreProcessor.Rank read-only 2024-01-04 17:13:24 +09:00
Dean Herbert
0bbc27e380
Add a gameplay configuration flag to disable fail animation 2024-01-04 17:13:24 +09:00
Dean Herbert
f0aeeeea96
...in a safer way 2024-01-04 17:13:21 +09:00
Dean Herbert
df99a37254
Fix another realm null inspection 2024-01-04 17:11:40 +09:00
Dean Herbert
0f11743fff
Merge pull request #26379 from wooster0/chat
Make chat command names case-insensitive
2024-01-04 16:17:42 +09:00
Dean Herbert
65c29b4f09
Make editor remain frame stable during normal playback 2024-01-04 15:47:16 +09:00
Joseph Madamba
ea714c86d4 Fix potential null reference with flash sample when exiting rapidly
Fixes `TestForceExitWithOperationInProgress()`.
2024-01-03 22:30:46 -08:00
Joseph Madamba
cd9bf0c753 Flash blocking ongoing operations dialog when trying to force quit 2024-01-03 22:30:46 -08:00
wooster0
cf5f0a2bdc Make chat commands case-insensitive
Would be nice if I accidentally have caps lock enabled and write "/HELP" it still works.
2024-01-04 15:06:10 +09:00
wooster0
659118c043 Fix wiki link path inconsistencies
If I access https://osu.ppy.sh/wiki/en/MAIN_PAGE or use any other
capitalization my browser always redirects me to
https://osu.ppy.sh/wiki/en/Main_page so I think Main_page is the
correct capitalization.

This might slightly reduce loading time? No idea though. Probably
negligible if so.
2024-01-04 12:20:51 +09:00
wooster0
2c64db0628 Use already existing message placeholder + localized string 2024-01-04 12:15:48 +09:00
CaffeeLake
c7b0a7ff69
Merge branch 'master' into multiplier1x 2024-01-04 05:04:23 +09:00
StanR
e240443c46 Update LocalUser statistics, add test 2024-01-03 18:15:32 +06:00
StanR
7262fef67f Add comments 2024-01-03 17:39:48 +06:00
CaffeeLake
8482d731c3
Merge branch 'master' into multiplier1x 2024-01-03 20:24:45 +09:00
Bartłomiej Dach
04147eb689
Fix lack of correct default value spec 2024-01-03 11:46:28 +01:00
StanR
d34f30f6ad Add Statistics bindable to IAPIProvider and update it from SoloStatisticsWatcher 2024-01-03 14:37:57 +06:00
StanR
3df7430d2e Bind UserRankPanel values to Statistics bindable in APIAccess 2024-01-03 14:32:32 +06:00
Bartłomiej Dach
e686a6a1dd
Fix player submission test intermittent failures due to audio playback discrepancy logic kicking in
See https://github.com/ppy/osu/actions/runs/7384457927/job/20087439457#step:5:133.
2024-01-03 09:17:01 +01:00
Dean Herbert
bdfaa4b583
Fix crash when dragging rotation control in editor with both mouse buttons
Closes https://github.com/ppy/osu/issues/26325.
2024-01-03 13:34:50 +09:00
Dean Herbert
18820e60b3
Merge pull request #26337 from bdach/persist-user-status-to-config
Store user online state in config for next launch
2024-01-03 13:21:31 +09:00
Dean Herbert
e4ba7b81b0
Merge pull request #26343 from adryzz/fix-discord-multiplayer-presence
update the current activity when the multiplayer room updates
2024-01-03 13:10:56 +09:00
Dean Herbert
4e7b1e1190
Merge pull request #26333 from bdach/retry-perfect-unobserved-error
Fix possible double score submission when auto-retrying via perfect mod
2024-01-03 13:02:38 +09:00
CaffeeLake
79ef032182
Merge branch 'master' into multiplier1x 2024-01-03 07:40:02 +09:00
StanR
c4be6fa974 Fix code quality, add new cards to the test scene 2024-01-03 00:37:24 +06:00
Lena
17656e9b9c
update the current activity when the multiplayer room updates 2024-01-02 18:38:25 +01:00
Dean Herbert
16c7c14602
Merge pull request #26332 from bdach/more-score-conversion-fail
Fix standardised score conversion failing for some taiko scores due to overestimating accuracy portion
2024-01-03 01:48:28 +09:00
StanR
5eaf5fca2a Add user card with global/country ranks for login overlay 2024-01-02 20:33:36 +06:00
Bartłomiej Dach
09b2a4e3b4
Fix users blipping online briefly before their online status is known 2024-01-02 14:07:59 +01:00
Bartłomiej Dach
d4e917448d
Fix login panel dropdown forcing user online
It was sort of assuming that the user can't be anything but online when
opening, thus forcing the status to online via the immediately-run value
change callback.
2024-01-02 14:07:04 +01:00
Bartłomiej Dach
f9f03ebc0f
Store user online state in config for next launch
Closes remainder of https://github.com/ppy/osu/issues/12635.
2024-01-02 14:04:40 +01:00
Dean Herbert
05d9aeefbc
Merge pull request #26248 from smoogipoo/slider-tail-judgement
Increase slider tails' worth to 150 points (up from 30)
2024-01-02 20:50:34 +09:00
Bartłomiej Dach
3c5e9ac9a9
Fix possible double score submission when auto-retrying via perfect mod
Closes https://github.com/ppy/osu/issues/26035.

`submitOnFailOrQuit()`, as the name suggests, can be called both when
the player has failed, or when the player screen is being exited from.
Notably, when perfect mod with auto-retry is active, the two happen
almost simultaneously.

This double call exposes a data race in `submitScore()` concerning the
handling of `scoreSubmissionSource`. The race could be experimentally
confirmed by applying the following patch:

diff --git a/osu.Game/Screens/Play/SubmittingPlayer.cs b/osu.Game/Screens/Play/SubmittingPlayer.cs
index 83adf1f960..76dd29bbdb 100644
--- a/osu.Game/Screens/Play/SubmittingPlayer.cs
+++ b/osu.Game/Screens/Play/SubmittingPlayer.cs
@@ -228,6 +228,7 @@ private Task submitScore(Score score)
                 return Task.CompletedTask;
             }

+            Logger.Log($"{nameof(scoreSubmissionSource)} is {(scoreSubmissionSource == null ? "null" : "not null")}");
             if (scoreSubmissionSource != null)
                 return scoreSubmissionSource.Task;

@@ -237,6 +238,7 @@ private Task submitScore(Score score)

             Logger.Log($"Beginning score submission (token:{token.Value})...");

+            Logger.Log($"creating new {nameof(scoreSubmissionSource)}");
             scoreSubmissionSource = new TaskCompletionSource<bool>();
             var request = CreateSubmissionRequest(score, token.Value);

which would result in the following log output:

	[runtime] 2024-01-02 09:54:13 [verbose]: scoreSubmissionSource is null
	[runtime] 2024-01-02 09:54:13 [verbose]: scoreSubmissionSource is null
	[runtime] 2024-01-02 09:54:13 [verbose]: Beginning score submission (token:36780)...
	[runtime] 2024-01-02 09:54:13 [verbose]: creating new scoreSubmissionSource
	[runtime] 2024-01-02 09:54:13 [verbose]: Beginning score submission (token:36780)...
	[runtime] 2024-01-02 09:54:13 [verbose]: creating new scoreSubmissionSource
	[network] 2024-01-02 09:54:13 [verbose]: Performing request osu.Game.Online.Solo.SubmitSoloScoreRequest
	[network] 2024-01-02 09:54:14 [verbose]: Request to https://dev.ppy.sh/api/v2/beatmaps/869310/solo/scores/36780 successfully completed!
	[network] 2024-01-02 09:54:14 [verbose]: SubmitSoloScoreRequest finished with response size of 639 bytes
	[network] 2024-01-02 09:54:14 [verbose]: Performing request osu.Game.Online.Solo.SubmitSoloScoreRequest
	[runtime] 2024-01-02 09:54:14 [verbose]: Score submission completed! (token:36780 id:20247)
	[network] 2024-01-02 09:54:14 [verbose]: Request to https://dev.ppy.sh/api/v2/beatmaps/869310/solo/scores/36780 successfully completed!
	[network] 2024-01-02 09:54:14 [verbose]: SubmitSoloScoreRequest finished with response size of 639 bytes
	[runtime] 2024-01-02 09:54:14 [error]: An unhandled error has occurred.
	[runtime] 2024-01-02 09:54:14 [error]: System.InvalidOperationException: An attempt was made to transition a task to a final state when it had already completed.
	[runtime] 2024-01-02 09:54:14 [error]: at osu.Game.Screens.Play.SubmittingPlayer.<>c__DisplayClass30_0.<submitScore>b__0(MultiplayerScore s) in /home/dachb/Documents/opensource/osu/osu.Game/Screens/Play/SubmittingPlayer.cs:line 250

The intention of the submission logic was to only ever create one
`scoreSubmissionSource`, and then reuse this one if a redundant
submission request was made. However, because of the temporal proximity
of fail and quit in this particular case, combined with the fact that
the calls to `submitScore()` are taking place on TPL threads, means that
there is a read-write data race on `scoreSubmissionSource`, wherein the
source can be actually created twice.

This leads to two concurrent score submission requests, which, upon
completion, attempt to transition only _the second_
`scoreSubmissionSource` to a final state (this is because the API
success/failure request callbacks capture `this`, i.e. the entire
`SubmittingPlayer` instance, rather than the `scoreSubmissionSource`
reference specifically).

To fix, ensure correct synchronisation on the read-write critical
section, which should prevent the `scoreSubmissionSource` from being
created multiple times.
2024-01-02 10:55:52 +01:00
Bartłomiej Dach
b0cfea4916
Fix standardised score conversion failing for some taiko scores due to overestimating accuracy portion
Standardised score conversion would return a negative total score for
https://osu.ppy.sh/scores/taiko/182230346.

The underlying reason for this is that the estimation of the accuracy
portion for a score can be above the actual accuracy portion in the
taiko ruleset.

When calculating the maximum accuracy portion achievable,
`TaikoLegacyScoreSimulator` will include the extra 300 points from
a double hit on a strong hit, per strong hit. However, this double hit
is not factored into accuracy.

Both of the aforementioned facts mean that in taiko

	maximumLegacyAccuracyScore * score.Accuracy

- which normally in other rulesets can be used pretty reliably as the
exact number of points gained from the accuracy portion - is an
estimate in the case of taiko, and an _upper_ estimate at that,
because it implicitly assumes that the user has also hit
`score.Accuracy` percent of all double hits possible in the beatmap. If
this assumption is not upheld, then the user will have earned _less_
points than that from the accuracy portion, which means that the combo
proportion estimate will go below zero.

It is possible that this has happened on other scores before, but did
not result in the total score going negative as the accuracy portion
gained would have counteracted the effect of that due to being larger in
magnitude than the score loss incurred from the negative combo
portion. In the case of the score in question this was not the case due
to very low accuracy _and_ very low max combo.
2024-01-02 10:11:49 +01:00
Dean Herbert
94531807e4
Make slider ends show on results screen again 2024-01-02 17:01:32 +09:00
iilwy
fbedcb29e4
Merge branch 'master' into fix-precision 2024-01-01 10:42:15 -06:00
CaffeeLake
ad4b5f6ded Fix: floating point errors
Signed-off-by: CaffeeLake <PascalCoffeeLake@gmail.com>
2024-01-01 08:32:21 +09:00
Salman Ahmed
34acb435b8
Merge branch 'master' into multiplier1x 2023-12-31 16:48:00 +03:00
wooster0
0c85fd496f Don't leave scores screen empty if no scores are present yet
Addresses https://github.com/ppy/osu/discussions/23787

I originally wanted to set `allowShowingResults` to false if there are
no results but because this involves an API request to fetch the scores
that would mean all the scores would have to be fetched all at once so
that it knows whether to hide or show the "View results" button on a
beatmap.
Because that would slow things down and be very inefficient, this still
allows the user to view the scores screen but if there aren't any
scores, it shows a text, which I think is at least for now better than
nothing.

As for the testing of this, I wasn't sure how to not generate scores
only for one specific test so I opted into not using `SetUpSteps` and
doing it that way.
2023-12-31 22:42:32 +09:00
Dean Herbert
e10733834b
Merge pull request #26201 from iminlikewithyou/menu-button-tweaks
Adjust menu buttons
2023-12-31 16:58:55 +09:00
Dean Herbert
68b1455257
Merge pull request #26267 from frenzibyte/fix-audio-offset-adjust-control
Fix suggested value in audio offset adjust control being opposite in signs
2023-12-31 16:32:13 +09:00
iminlikewithyou
5ae5d7f92d change floor to round 2023-12-30 23:59:47 -06:00
Salman Ahmed
4dc11c4c48 Update existing code to use helper method 2023-12-31 05:18:07 +03:00
Salman Ahmed
7cfb786b1a Add helper method for properly formatting score multiplier in ModUtils 2023-12-31 05:17:34 +03:00
Gabriel Del Nero
922b6ccb83
Use FontAwesome solid heart icon instead of OsuIcon's 2023-12-31 00:36:55 +01:00
iminlikewithyou
45f6c78314 Merge branch 'master' of https://github.com/ppy/osu into menu-button-tweaks 2023-12-30 12:58:10 -06:00
iminlikewithyou
452f201f06 use margins isntead of moving the position of the sprite 2023-12-30 12:56:38 -06:00
Salman Ahmed
e6fe631625 Fix suggested value in audio offset adjust control being opposite in signs 2023-12-30 21:34:37 +03:00
Salman Ahmed
cc89390ea8 Expose SuggestedOffset bindable for testing purposes 2023-12-30 21:33:03 +03:00
CaffeeLake
bca0600482 Use 0.99x or 1.01x
Signed-off-by: CaffeeLake <PascalCoffeeLake@gmail.com>
2023-12-31 00:47:09 +09:00
Dan Balasescu
807443b648
Add HitResult.SliderTailHit 2023-12-30 10:38:47 +09:00
Salman Ahmed
e469e06271 Refactor CatchLegacySkinTransformer logic and remove HiddenByRulesetImplementation entirely 2023-12-30 03:55:45 +03:00
Salman Ahmed
eedb436389 Move combo counter to ruleset-specific HUD components target 2023-12-30 03:47:52 +03:00
Dean Herbert
0fa4cd5dfe
Merge pull request #26225 from peppy/new-menu-tips
Add some new menu tips (and reword some others)
2023-12-29 22:27:47 +09:00
Dean Herbert
61c46b78bd
Update MenuTip.cs
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2023-12-29 22:24:16 +09:00
Dean Herbert
9f0fe6c6ca
Fix common typos
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-12-29 22:20:29 +09:00
Dean Herbert
d00b7c9cdf
Add some new menu tips (and reword some others) 2023-12-29 22:14:51 +09:00
Bartłomiej Dach
f80f6a8c5b
Merge pull request #26207 from frenzibyte/fix-dropdown-colour
Fix dropdown colour not updating correctly on enabled state changes
2023-12-29 14:07:09 +01:00
Bartłomiej Dach
17753b8235
Remove opaque background from toolbar user button
Would close https://github.com/ppy/osu/issues/26223, and generally seems
more consistent with the rest of toolbar anyhow?
2023-12-29 13:49:11 +01:00
Dean Herbert
490c584982
Merge pull request #26222 from bdach/i-cannot-into-offsets
Fix global audio offset suggestion feature not taking previous offset value into account
2023-12-29 21:14:52 +09:00
Dean Herbert
2b81f4f557
Merge pull request #26221 from bdach/system-title-only-on-top-level-menu
Do not display system title in inital menu state
2023-12-29 21:13:40 +09:00
Bartłomiej Dach
cdcb3ef4aa
Fix global audio offset suggestion feature not taking previous offset value into account
See https://osu.ppy.sh/comments/2989193 etc.
2023-12-29 12:20:58 +01:00
Dan Balasescu
9548818a1b
Merge pull request #26220 from bdach/no-version-manager-on-deployed-builds
Do not show main menu version display on deployed builds
2023-12-29 19:54:30 +09:00
Bartłomiej Dach
db78d73fa5
Do not display system title in inital menu state
Addresses https://github.com/ppy/osu/discussions/26199.
2023-12-29 11:50:30 +01:00
Bartłomiej Dach
25fa76a1b2
Do not show main menu version display on deployed builds
See https://discord.com/channels/188630481301012481/188630652340404224/1190028102525530202.
2023-12-29 11:14:28 +01:00
Bartłomiej Dach
99cddb6317
Use alternative workaround 2023-12-29 11:07:45 +01:00
Bartłomiej Dach
cd1f6b46c4
Fix crash after changing audio track in editor
Closes https://github.com/ppy/osu/issues/26213.

Reproduction scenario: switch audio track in editor after timeline
loads.

Happens because `beatmap.Value.Track.Length` is 0 immediately after a
track switch, until BASS computes the actual track length on the audio
thread.

Yes this is a hack. No I have no better immediate ideas how to address
this otherwise.
2023-12-29 10:37:36 +01:00
Dan Balasescu
a6313c4ee8
Expose Mod.UsesDefaultConfiguration 2023-12-29 17:16:16 +09:00
Salman Ahmed
c147ec0a98 Update dropdown disabled state to match with other components 2023-12-29 05:31:13 +03:00
Salman Ahmed
150bf67064 Fix dropdown colour not updating correctly on enabled state changes 2023-12-29 05:30:50 +03:00
Nitrous
c68a850325
Make menu tip about mod select more up to date. 2023-12-29 08:51:54 +08:00
iminlikewithyou
51d26d2d71 make the hover scale bigger
as a consequence, the rotation needs to be tweaked to be lower
2023-12-28 17:20:44 -06:00
iminlikewithyou
f1f1221e0e move text left to be visually centered in the skewed rectangle 2023-12-28 17:18:41 -06:00
iminlikewithyou
4760c6aaee move icon upwards to be visually centered 2023-12-28 17:17:24 -06:00
iminlikewithyou
637119f7d4 increase the base size of button icons 2023-12-28 17:15:23 -06:00
Bartłomiej Dach
7a10e132ea
Fix crash when retrieval of system title image fails
Closes https://github.com/ppy/osu/issues/26194.
2023-12-28 20:39:13 +01:00
Dean Herbert
8e3fe090f3
Merge pull request #26169 from bdach/universal-offset-from-session-plays
Implement automatic suggestion of global audio offset based on last plays
2023-12-28 22:57:30 +09:00
Dean Herbert
1de3e3771f
Merge pull request #26187 from peppy/dialog-overlay-design-update
Update popup dialog design
2023-12-28 22:39:42 +09:00
Bartłomiej Dach
93c7ebdae3
Remove unused using 2023-12-28 14:30:11 +01:00
Bartłomiej Dach
6d124513e7
Fix test failures due to player bailing early after failing to load beatmap 2023-12-28 14:15:15 +01:00
Bartłomiej Dach
619b0cc69b
Fix code quality inspection 2023-12-28 14:12:28 +01:00
Bartłomiej Dach
6718de01ec
Suggest audio adjust after one play 2023-12-28 14:11:08 +01:00
Bartłomiej Dach
e6f1d7db44
Move SessionAverageHitErrorTracker to more general namespace 2023-12-28 14:10:03 +01:00
Bartłomiej Dach
24a80da83f
Merge branch 'master' into universal-offset-from-session-plays 2023-12-28 14:07:46 +01:00
Bartłomiej Dach
e0279920b6
Merge pull request #26189 from peppy/fix-escape-key-spectator-fail
Fix using "Back" binding at spectator fail screen not working
2023-12-28 13:23:38 +01:00
Dean Herbert
f8347288c1
Add padding around text in dialogs 2023-12-28 20:29:56 +09:00
Bartłomiej Dach
a9c7131d47
Merge pull request #26184 from peppy/spectate-from-context-menu
Allow entering spectator mode from context menu on user panels
2023-12-28 12:24:29 +01:00
Dean Herbert
e1a376c0a7
Fix using "Back" binding at spectator fail screen not working 2023-12-28 20:14:18 +09:00
Bartłomiej Dach
0fc86a07cb
Merge pull request #26177 from peppy/fix-leaderboard-tab-ordering
Fix song select leaderboard tab ordering not matching stable
2023-12-28 12:02:46 +01:00
Dean Herbert
91af94086c
Remove offset wizard button for now 2023-12-28 20:02:08 +09:00
Dean Herbert
b7f3c83514
Expose the ability to update global offset from the player loader screen 2023-12-28 20:01:34 +09:00
Dean Herbert
28e220ca50
Update popup dialog design
Had to be done. I hated the old ones so much.

As usual, disclaimer that this is an iterative design and will probably
be replaced in the future.
2023-12-28 19:04:35 +09:00
Dean Herbert
22eced3300
Show local user in online users 2023-12-28 17:40:07 +09:00
Dean Herbert
2ec9343868
Add the ability to spectate a user by right clicking their user panel 2023-12-28 17:35:10 +09:00
Dean Herbert
bd0e2b4dde
Remove disclaimer screen completely 2023-12-28 17:21:29 +09:00
Dean Herbert
7dc50b9baf
Don't dismiss on hover, and allow dismissing via click 2023-12-28 17:20:01 +09:00
Dean Herbert
1f2339244e
Add supporter display to main menu 2023-12-28 17:20:01 +09:00
Dean Herbert
b19f72481b
Fade out quickly on game exit sequence 2023-12-28 17:19:41 +09:00
Dean Herbert
0ad6ac8b2a
Remove unused variable 2023-12-28 16:48:17 +09:00
Dean Herbert
932d03a4f8
Make toggle more immediately hide/show tips 2023-12-28 16:21:19 +09:00
Dean Herbert
222459d921
Add background and improve layout 2023-12-28 16:16:27 +09:00
Dean Herbert
a1867afbb4
Move menu tips to main menu
In preparation for removing the disclaimer screen.
2023-12-28 16:06:08 +09:00
rushiiMachine
75b9d0fe66
Make flashlight scale with playfield
When the playfield is shrunk with mods such as BarrelRoll, flashlight does not account for this, making it significantly easier to play. This makes it scale along with the playfield.
2023-12-27 23:02:45 -08:00
Dean Herbert
be3fc45da5
Merge branch 'master' into system-title-basic 2023-12-28 15:19:33 +09:00
Dean Herbert
6684987289
Reduce refresh interval slightly 2023-12-28 15:19:09 +09:00
Dean Herbert
0ea62d0c5d
Add initial additive blending on fade in 2023-12-28 15:16:42 +09:00
Dean Herbert
972234b1e5
Move re-schedule inside continuation 2023-12-28 15:12:44 +09:00
Dean Herbert
481a251786
Use HandleLink to allow potentially opening wiki or otherwise 2023-12-28 15:11:02 +09:00
Dean Herbert
289e0f00f9
Add flash on click 2023-12-28 15:10:47 +09:00
Dean Herbert
c70e7d340d
Adjust animation and add delay to URL open 2023-12-28 15:10:47 +09:00
Dean Herbert
93a8afe96e
Add very simple cache-busting (30 minutes) 2023-12-28 14:40:10 +09:00
Dean Herbert
ffc8778d67
Fix song select leaderboard tab ordering not matching stable 2023-12-28 14:13:35 +09:00
Dean Herbert
f8d6b8e347
Adjust toolbar animations / layering to feel better 2023-12-28 14:10:52 +09:00
Felipe Marins
dce9204731 Select search box text on ModSelectOverlay when mod selection changes 2023-12-28 00:10:44 -03:00
Felipe Marins
cbfcda7929 Expose SelectAll() method on ShearedSearchTextBox 2023-12-28 00:10:01 -03:00
Bartłomiej Dach
ef39759813
More code quality inspections 2023-12-28 00:18:20 +01:00
Bartłomiej Dach
10106e20c7
Merge pull request #26162 from Gabixel/alternate-daycore-with-classic-hotkey
Cycle between Daycore and Half Time mod when using classic hotkeys style
2023-12-28 00:16:51 +01:00
rushiiMachine
0c8b551c66
SkinEditor lifetime fix & show gameplay
If the SkinEditor was created already but not finished initializing, wait for it to initialize before handling a screen change, which could possibly null the skin editor. Additionally, in the case the skin editor is already loaded but hidden, make sure to show gameplay.
2023-12-27 14:49:42 -08:00
Bartłomiej Dach
ac449131ed
CodeFileSanity does not like records in standalone files 2023-12-27 23:47:37 +01:00
Bartłomiej Dach
a3f720bc62
Retrieve system title from online source 2023-12-27 23:37:39 +01:00
Bartłomiej Dach
d9299a8a55
Implement visual appearance of "system title" message in main menu 2023-12-27 23:07:17 +01:00
Bartłomiej Dach
160342ceed
Implement automatic suggestion of audio offset based on last plays 2023-12-27 21:14:37 +01:00
Bartłomiej Dach
f51b5f5487
Add components to track average hit errors across session 2023-12-27 20:44:59 +01:00
Dean Herbert
cf5e3e8863
Breathe some colour and life into the toolbar 2023-12-28 04:12:55 +09:00
Dean Herbert
92c4c20a51
Adjust paddings and fills of toolbar buttons 2023-12-28 03:43:38 +09:00
Dean Herbert
70aa067eb1
Adjust gradient visibility and transition 2023-12-28 03:23:04 +09:00
Bartłomiej Dach
1b7af989ec
Migrate BeatmapOffsetControl to use session static directly 2023-12-27 19:19:27 +01:00
Bartłomiej Dach
d4423d4933
Store last set score to a SessionStatic 2023-12-27 19:13:42 +01:00
Dean Herbert
1f55ef211e
Rearrange buttons 2023-12-28 03:11:27 +09:00
Dean Herbert
5f7f1f771d
Reword tooltip text for dashboard 2023-12-28 03:09:20 +09:00
Dean Herbert
655528a537
Update resources 2023-12-28 03:04:13 +09:00
Bartłomiej Dach
89e2b6358a
Remove hexacons 2023-12-27 17:42:18 +01:00
Bartłomiej Dach
53766285ce
Remove remaining hexacons usages 2023-12-27 17:42:18 +01:00
Bartłomiej Dach
288ac930e4
Use new icons in editor
Some that exist on figma are purposefully not used due to an editorial
request from @peppy.
2023-12-27 17:42:18 +01:00
Bartłomiej Dach
2857322a8b
Use new icons in settings 2023-12-27 17:42:18 +01:00
Bartłomiej Dach
c45477bd1f
Use new icons in main menu wherever feasible 2023-12-27 17:42:18 +01:00
Bartłomiej Dach
28d9145a4c
Add more spacing to toolbar icons 2023-12-27 17:42:18 +01:00
Bartłomiej Dach
69baabee62
Replace hexacons in toolbar with new icons 2023-12-27 17:42:18 +01:00
Bartłomiej Dach
45143a6c17
Implement new icon store 2023-12-27 17:42:17 +01:00
Susko3
a6bed04e50 Update confine mode settings checkbox to match the new ConfineMouseTracker logic
Not too happy with the duplicated logic, but settings can't depend on `ConfineMouseTracker`
for testability reasons.
2023-12-27 16:54:01 +01:00
Susko3
0fde9cd6ae Override confine mouse mode only when clicking outside the window would minimise it 2023-12-27 16:50:25 +01:00
Susko3
c9de6a383d Add settings checkbox for MinimiseOnFocusLossInFullscreen
Shown only on desktop platforms in fullscreen.
"alt-tab" keyword also matches "alt" and "tab".
2023-12-27 16:21:54 +01:00
Gabriel
28a552f7b9
Merge branch 'ppy:master' into alternate-daycore-with-classic-hotkey 2023-12-27 15:12:13 +01:00
Bartłomiej Dach
13333f7575
Make room for OsuIcon to accept new icons 2023-12-27 15:04:28 +01:00
Gabriel Del Nero
14b37db3dd
Make ModDaycore sequential for ModHalfTime 2023-12-27 14:35:19 +01:00
Dean Herbert
1233533fb9
Update framework 2023-12-27 22:14:15 +09:00
Bartłomiej Dach
e9f350e763
Merge pull request #26147 from peppy/settings-expanded
Always show settings section text on buttons
2023-12-27 09:17:56 +01:00
Dean Herbert
768e10d55f
Adjust NotificationOverlay fades to match 2023-12-27 13:50:47 +09:00
Dean Herbert
81ba46216f
Speed up fades in transition to avoid ugliness 2023-12-27 13:49:00 +09:00
Dean Herbert
901674a130
Move back button inside sidebar to fix weird animation 2023-12-27 13:39:13 +09:00
Dean Herbert
8cd240fbec
Reduce size and fix alignment of back button 2023-12-27 13:20:19 +09:00
rushiiMachine
85a768d0c8
Don't reuse results delay const 2023-12-26 12:46:50 -08:00
rushiiMachine
1d4db3b7a9
Fix SkinEditorOverlay freezing when ReplayPlayer screen exits early
Originally when popping in, the ReplayPlayer was loaded first (if previous screen was MainMenu), and afterwards the SkinEditor component was loaded asynchronously. However, if the ReplayPlayer screen exits quickly (like in the event the beatmap has no objects), the skin editor component has not finished initializing (this is before it was even added to the component tree, so it's still not marked `Visible`), then the screen exiting will cause `OsuGame` to call SetTarget(newScreen) -> setTarget(...) which sees that the cached `skinEditor` is not visible yet, and hides/nulls the field. This is the point where LoadComponentAsync(editor, ...) finishes, and the callback sees that the cached skinEditor field is now different (null) than the one that was loaded, and never adds it to the component tree. This occurrence is unhandled and as such the SkinEditorOverlay never hides itself, consuming all input infinitely.

This PR changes the loading to start loading the ReplayPlayer *after* the SkinEditor has been loaded and added to the component tree.
Additionally, this lowers the exit delay for ReplayPlayer and changes the "no hit objects" notification to not be an error since it's a controlled exit.
2023-12-26 12:22:00 -08:00
Bartłomiej Dach
af47f9fd70
Fix sidebar button text becoming masked away during fadeout 2023-12-26 20:24:43 +01:00
Bartłomiej Dach
c107bfcd31
Fix TestSceneSideOverlays test failure 2023-12-26 20:09:34 +01:00
Bartłomiej Dach
668ce937a8
Merge pull request #26138 from peppy/fix-audio-rate-playback-not-fail
Bail from score submission if audio playback rate is too far from reality
2023-12-26 19:13:46 +01:00
Dean Herbert
5d0b524794
Adjust back button to match style better 2023-12-27 02:54:24 +09:00
Dean Herbert
8e13f65c5d
Adjust hover effect slightly 2023-12-27 02:46:21 +09:00
Dean Herbert
5b1deb7c4b
Give buttons a touch of padding to make click effect feel better 2023-12-27 02:40:50 +09:00
Dean Herbert
5de8307918
Reduce width of sidebar buttons 2023-12-27 02:38:23 +09:00
Dean Herbert
9a1a97180d
Change settings overlay to always show expanded buttons 2023-12-27 02:33:17 +09:00
Dean Herbert
58476d5429
Allow ExpandingContainer to not auto expand on hover 2023-12-27 02:33:02 +09:00
Dean Herbert
c55458e49c
Remove pointless intermediary class 2023-12-27 02:32:47 +09:00
Dean Herbert
d70fddb6fd
Fix elapsed time being counted twice on first frame 2023-12-27 00:11:22 +09:00
Dean Herbert
03e2463b06
Add test coverage and refactor to better handle equality edge case 2023-12-26 21:21:08 +09:00
Dean Herbert
1f2f749db6
Fix selection not being retained in control point list when undoing / redoing 2023-12-26 21:04:42 +09:00
Dean Herbert
f2c0e7cf2e
Fix editor's control point list refreshing multiple times for a single change 2023-12-26 21:04:42 +09:00
Bartłomiej Dach
b1a26acdd0
Merge pull request #26136 from peppy/add-waveform-visual-offset
Add visual offset to better align editor waveforms with expectations
2023-12-26 12:57:13 +01:00
Nathan
6269c79c17
Merge branch 'master' into fix-rewind-backtracking 2023-12-26 03:10:00 -08:00
Dean Herbert
92f7a42fd7
Merge pull request #26131 from smoogipoo/fix-mania-scroll-difference
Make mania scroll speed independent of hit position
2023-12-26 19:27:43 +09:00
Dean Herbert
225528d519
Bail from score submission if audio playback rate is too far from reality
Closes https://github.com/ppy/osu/issues/23149.
2023-12-26 19:20:58 +09:00
Dean Herbert
f9e47242db
Add visual offset to better align editor waveforms with expectations 2023-12-26 17:44:49 +09:00
Dan Balasescu
2ec6aa7fbb
Make mania scroll speed independent of hit position 2023-12-26 12:46:21 +09:00
Dean Herbert
b18b5b9977
Add inline note about deadlock 2023-12-26 12:06:56 +09:00
Nathan Tran
060bf8beff Fix rewind backtracking 2023-12-25 15:27:32 -08:00
Bartłomiej Dach
f84b07e71a
Do not attempt to stop preview tracks when arriving from a "track completed" sync
This fixes an issue identified with the WASAPI implementation in
https://github.com/ppy/osu-framework/pull/6088. It has no real effect
on current `master`, but fixes a deadlock that occurs with the
aforementioned framework branch when one lets a preview track play out
to the end - at this point all audio will stop and an attempt to perform
any synchronous BASS operation (playing another track, seeking) will
result in a deadlock.

It isn't terribly clear as to why this is happening precisely, but
there does not appear to be any need to stop and seek at that point,
so this feels like a decent workaround even if the actual issue is
upstream (and will unblock pushing out WASAPI support to users).
2023-12-25 19:01:06 +01:00
Bartłomiej Dach
4fa35d709c
Update resources 2023-12-25 14:56:40 +01:00
Bartłomiej Dach
3748541569
Merge branch 'master' into add-slider-tick-end-miss-sprites 2023-12-25 14:55:09 +01:00
Bartłomiej Dach
8142a7cb7e
Remove incorrect spec 2023-12-25 14:00:32 +01:00
Dean Herbert
8e6ea2dd9b
Update argon and triangles to match display style 2023-12-25 17:37:28 +09:00
Dean Herbert
b1d994b6ff
Add classic skin sprites for slider tick and slider end misses 2023-12-25 17:17:23 +09:00
Dean Herbert
ee00f7ea1f
Merge pull request #26086 from peppy/fix-toolbar-button-lag
Use a realm subscription to avoid overhead when hovering a toolbar button
2023-12-24 04:01:04 +09:00
Bartłomiej Dach
a0915a0dd1
Merge pull request #26076 from peppy/gameplay-offset-adjust
Add control to allow changing offset from gameplay
2023-12-23 19:41:57 +01:00
Bartłomiej Dach
68430d6ecd
Fix toolbar keybinding hint not clearing after unbinding the keybinding 2023-12-23 19:39:17 +01:00
Dean Herbert
5b03dc8d0b
Use a realm subscription to avoid overhead when hovering a toolbar button
Addresses https://github.com/ppy/osu/discussions/26018.
2023-12-24 03:20:42 +09:00
Dean Herbert
686b2a4394
Disable positional interaction for now 2023-12-24 03:00:51 +09:00
Dean Herbert
72bec527fd
Add conditions to match stable offset adjust limitations 2023-12-24 02:36:27 +09:00
Dean Herbert
92b490f2e7
Don't bother with alt support for now 2023-12-24 01:59:48 +09:00
Dean Herbert
d72ec81684
Merge pull request #26083 from smoogipoo/try-improve-hp-drain
Replace recently-added HP drain density calculation with combo-end bonus
2023-12-24 01:30:49 +09:00
Dan Balasescu
ee0bd69e24
Merge pull request #26072 from peppy/fix-migration-hard-crash
Fix hard crash when attempting to change folder location during a large import
2023-12-24 00:09:13 +09:00
Dan Balasescu
0db2668026
Merge pull request #26069 from peppy/fix-legacy-version-checks
Change legacy version checks to account for users specifying incorrect versions
2023-12-24 00:07:01 +09:00
Dan Balasescu
807ea8a9a0
Merge pull request #26082 from bdach/relax-legacy-score-conversion
Fix standardised score conversion failing for scores set with 0.0x mod mutliplier
2023-12-24 00:04:10 +09:00
Bartłomiej Dach
fde0276db3
Merge pull request #26077 from peppy/profile-cover-pixel-fix
Fix user profile cover showing 1px line when contracted
2023-12-23 15:49:03 +01:00
Bartłomiej Dach
a011a1ebb8
Merge pull request #26080 from peppy/cinema-no-fail
Change "cinema" mod to never fail
2023-12-23 15:48:42 +01:00
Dan Balasescu
d1000b2e6c
remove HP density 2023-12-23 23:36:15 +09:00
Bartłomiej Dach
0cbf594a8c
Make cinema mod incompatible with no fail 2023-12-23 15:10:31 +01:00
Bartłomiej Dach
3a2ed3677b
Fix standardised score conversion failing for scores set with 0.0x mod mutliplier
Closes https://github.com/ppy/osu/issues/26073.
2023-12-23 13:28:39 +01:00
Dean Herbert
644c981673
Fix "spectate" button not always being clickable in online users list 2023-12-23 21:21:34 +09:00
Dean Herbert
15a9740eb6
Change "cinema" mod to never fail
Addresses https://github.com/ppy/osu/discussions/26032.
2023-12-23 21:12:47 +09:00
Bartłomiej Dach
007ea51e20
Add extra safety against returning negative total score in conversion operation 2023-12-23 13:07:29 +01:00
Dean Herbert
a2e5f62478
Fix user profile cover showing 1px line when contracted
Addresses https://github.com/ppy/osu/discussions/26068.
2023-12-23 21:07:17 +09:00
Dean Herbert
6f11885d4b
Add control to allow changing offset from gameplay 2023-12-23 20:51:30 +09:00
Dean Herbert
7e9522a722
Allow external use of offset text explanation 2023-12-23 20:46:12 +09:00
Dean Herbert
27a9dcc5a1
Add basic hotkey offset adjust support (via existing offset control) 2023-12-23 19:55:05 +09:00
Dean Herbert
8349cb7bbe
Fix hard crash when attempting to change folder location during a large import
Closes https://github.com/ppy/osu/issues/26067.
2023-12-23 17:03:58 +09:00
Dean Herbert
c5893f245c
Change legacy version checks to account for users specifying incorrect versions 2023-12-23 14:03:45 +09:00
smallketchup82
f7c1e66165 Make the difficulty stats change based on the currently applied mods 2023-12-22 17:28:02 -05:00
Simon G
3487b5865e
Merge branch 'ppy:master' into adjust_beatmap_length_according_to_rate 2023-12-22 18:08:35 +01:00
Dean Herbert
21e9e103fd
Merge pull request #26039 from smoogipoo/hp-drain-density
Add basic density consideration to HP drain
2023-12-23 01:04:53 +09:00
Dean Herbert
7e09164d70
Merge pull request #26036 from smoogipoo/fix-perfect-mod-special-judgements
Fix perfect mod not failing with special judgements
2023-12-22 18:22:28 +09:00
Dan Balasescu
a0185508b7
Add basic consideration of density for HP drain 2023-12-22 18:08:26 +09:00
Dan Balasescu
5703546d71
Revert change to ModSuddenDeath 2023-12-22 16:43:17 +09:00
Dan Balasescu
88a5ba8167
Add mania/osu sudden death mod tests 2023-12-22 16:43:09 +09:00
Dan Balasescu
ea778c6e0a
Fix perfect/sudden death not working on slider tails 2023-12-22 14:02:25 +09:00
Dan Balasescu
9c35e25036
Add failing tests 2023-12-22 13:58:12 +09:00
smallketchup82
3b58f6a7e7 Implement difficulty statistics 2023-12-21 21:07:12 -05:00
Simon G
b31b9e96d0
adjust beatmap length and drain based on rate changing mods 2023-12-22 03:04:48 +01:00
Bartłomiej Dach
a7326e3891
Merge pull request #26004 from DanielPower/25049-fix-skin-element-bounding-box
Fix scale of skin element bounding box
2023-12-21 18:14:24 +01:00
Dean Herbert
716d866178
Merge pull request #25998 from peppy/add-score-version
Add versioning of local scores
2023-12-21 23:58:23 +09:00
Bartłomiej Dach
b4e71a0787
Fix slider tick / end misses displaying with full size on legacy skins with animated misses
Resolves https://github.com/ppy/osu/issues/25987.

Structure is a bit clumsy but I'm not sure how to do better...
2023-12-21 13:58:12 +01:00
Daniel Power
d4731e0830 Fix scale of skin element bounding box 2023-12-21 08:56:39 -03:30
Bartłomiej Dach
fbf19ea598
Merge branch 'master' into add-score-version 2023-12-21 13:06:53 +01:00
Bartłomiej Dach
2baf579f7c
Serialise and deserialise ClientVersion to replays 2023-12-21 12:58:08 +01:00
Bartłomiej Dach
81bbdccee7
Rename ScoreInfo.{ -> Client}Version 2023-12-21 12:56:43 +01:00
Dean Herbert
a4baa0a716
Add versioning of local scores
For any potential future usage
2023-12-21 18:37:15 +09:00
Dan Balasescu
c3c1752a5a
Reconvert all legacy scores 2023-12-21 15:32:34 +09:00
Dan Balasescu
eb072a1d24
Add accuracy conversion, fix usages 2023-12-21 15:09:56 +09:00
Dan Balasescu
6b4b2a57fc
Expose only as one method 2023-12-21 14:58:23 +09:00
Dan Balasescu
4e3b994142
Relocate HitResult numeric score to ScoreProcessor 2023-12-21 14:52:31 +09:00
Bartłomiej Dach
b7cca788b5
Merge pull request #25964 from rushiiMachine/fix-export-replay-spam
Fix save & export failed replay hotkeys handling repeated keypresses
2023-12-20 21:07:36 +01:00
Bartłomiej Dach
53cca61e61
Merge pull request #25951 from peppy/show-tick-results
Show slider tick / slider end misses with a visible judgement
2023-12-20 20:44:04 +01:00