1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 12:27:26 +08:00
Commit Graph

41511 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Bartłomiej Dach
975bacaeb7
Add back blank line to fix code quality inspection 2023-12-20 19:07:26 +01:00
Bartłomiej Dach
a763ad8473
Add remarks to Is{Hit,Miss}() to explain their simultaneous existence 2023-12-20 19:07:18 +01:00
rushiiMachine
ebbc8333e8
Prevent ExportReplay being spammed on fail by being held down
This was already handled in ReplayDownloadButton (98efff0bd6/osu.Game/Screens/Ranking/ReplayDownloadButton.cs (L114-L115)) but seemingly missed for SaveFailedScoreButton
2023-12-20 08:41:16 -08:00
Dean Herbert
eb8fb8092d
Attempt to standardise miss handling logic 2023-12-21 00:59:35 +09:00
Bartłomiej Dach
9515f7dbfa
Bump score version in order to recompute legacy scores 2023-12-20 16:01:59 +01:00
Bartłomiej Dach
8c06d3873d
Merge branch 'master' into mania-scorev2-values 2023-12-20 15:54:31 +01:00
Bartłomiej Dach
77d8bbf152
Merge pull request #25949 from peppy/fix-song-select-extra-selections
Fix beatmap updates causing one extra carousel selection
2023-12-20 15:30:38 +01:00
Bartłomiej Dach
83e885192b
Merge pull request #25931 from peppy/fix-thread-safety
Fix thread safety of `OnlineMetadataClient.UserStates`
2023-12-20 12:55:31 +01:00
Dean Herbert
d1ba2a4a64
Use orange for non-combo-breaking miss 2023-12-20 20:45:27 +09:00
Dean Herbert
d2716d8557
Improve animation for legacy skins 2023-12-20 20:34:05 +09:00
Bartłomiej Dach
6bddc56851
Merge branch 'master' into fix-song-select-extra-selections 2023-12-20 12:23:55 +01:00
Dean Herbert
9b383e3276
Add support for showing tick misses 2023-12-20 20:23:19 +09:00
Bartłomiej Dach
22513e0070
Merge pull request #25943 from peppy/fix-song-select-sound-at-gameplay
Fix song select running updates when screen is not active
2023-12-20 12:20:06 +01:00
Dan Balasescu
38d6b7f45b
Update total score conversion 2023-12-20 20:03:13 +09:00
Dean Herbert
5284b95bb8
Schedule even more 2023-12-20 19:42:05 +09:00
Dean Herbert
7fa4dcf0fb
Fix selection retention logic copy paste failure 2023-12-20 19:27:57 +09:00
Dean Herbert
e003462f7d
Fix beatmap updates causing one extra carousel selection 2023-12-20 19:15:02 +09:00
Dan Balasescu
72274041eb
Merge pull request #25876 from bdach/fix-standardised-score-conversion
Fix osu! standardised score conversion sometimes exceeding bounds
2023-12-20 18:54:33 +09:00
Dean Herbert
64f62e7d90
Fix song select running updates when screen is not active
Who would have guessed that `Schedule` calls were there for a reason!

I've tidied things up. Most of the changes I've made here are not
required – the schedule is the main thing here. The reason the sound was
playing is because one-too-many schedules was removed causing beatmap
updates to update carousel specifics while still at the player loader
screen.

Note that the selection sound still plays on returning to song select,
but this is not a regression. I'm looking at fixing this in a separate
PR because I'm in a good place as far as understanding the logic right
now and it would be a waste to leave it broken.

Closes https://github.com/ppy/osu/issues/25875.
2023-12-20 17:31:09 +09:00
Dean Herbert
831c273b45
Merge pull request #25887 from smoogipoo/restore-taiko-accuracy
Restore taiko accuracy to ScoreV2 values
2023-12-20 17:29:40 +09:00
Dan Balasescu
188c463c9c
Merge pull request #25934 from peppy/adjust-classic-mod-multiplier
Adjust "classic" mod multiplier to 0.96x
2023-12-20 17:11:09 +09:00
Bartłomiej Dach
9a5027e556
Merge pull request #25900 from peppy/editor-from-any-carousel
Allow choosing "Edit" from any beatmap carousel item
2023-12-20 08:35:42 +01:00
Dean Herbert
98efff0bd6
Merge pull request #25917 from rushiiMachine/remove-relax-mod-exclusions
Allow failing with "relax" and "autopilot" mods
2023-12-20 15:48:21 +09:00
Dean Herbert
14d2d0d215
Remove ModBlockFail
Was only being used by `NoFail` now.
2023-12-20 14:50:45 +09:00
Dan Balasescu
3818977a36
Merge pull request #25898 from peppy/song-select-stats
Update song select to always show difficulty stats
2023-12-20 14:39:35 +09:00
Dean Herbert
d7603e8021
Adjust "classic" mod multiplier to 0.96x
Following discussions on discord, this seems like the most agreed upon
value. Increasing this is important so that imported legacy scores don't
lose too much value.
2023-12-20 14:33:14 +09:00
Dean Herbert
856c59f7f7
Fix thread safety of OnlineMetadataClient.UserStates
Closes https://github.com/ppy/osu-framework/issues/6081.
2023-12-20 14:15:00 +09:00
Dean Herbert
85e5d74a16
Apply proposed changes 2023-12-20 12:42:06 +09:00
rushiiMachine
1b004dbebc
Allow Relax to fail and remove failable mod exclusions
Allows the Relax mod to fail, and remove NF/PF/SD mod exclusion

ref: https://github.com/ppy/osu/discussions/13229
2023-12-19 12:33:00 -08:00
OliBomby
c167f10ad5 fix crash from dragging near zero-length repeating object in timeline 2023-12-19 21:20:45 +01:00
OliBomby
ec578e1d9f fix near-zero length sliders n stuff being placeable 2023-12-19 21:20:21 +01:00
Bartłomiej Dach
1ebb6262fd
Merge pull request #25895 from peppy/fix-beatmap-statsitics-reprocessing
Fix some beatmaps being reprocessed each startup
2023-12-19 18:05:40 +01:00
Bartłomiej Dach
322cfaae1d
Merge branch 'master' into fix-standardised-score-conversion 2023-12-19 17:41:38 +01:00
Bartłomiej Dach
3f41c20ac6
Use safer fix for now 2023-12-19 17:25:15 +01:00
Bartłomiej Dach
64b0534fb8
Merge pull request #25857 from peppy/fix-mod-settings-keyboard-adjust
Fix mod search textbox having focus while settings are visible
2023-12-19 15:44:17 +01:00
Bartłomiej Dach
e306cc35ba
Merge branch 'master' into fix-song-select-realm-refresh-performance 2023-12-19 14:14:46 +01:00
Dean Herbert
bbfdd6892d
Allow choosing "Edit" from any beatmap carousel item 2023-12-19 19:58:49 +09:00
Dean Herbert
c556475c2c
Revert to using a more manual approach to holding focus 2023-12-19 19:46:30 +09:00
Dean Herbert
502e3edac3
Add missing invalidation call 2023-12-19 19:39:48 +09:00
Dean Herbert
2c5ca9c1c8
Change default song select tab display to local leaderboard 2023-12-19 19:31:05 +09:00
Dean Herbert
3b848e8503
Tidy up visual look 2023-12-19 19:28:02 +09:00
Dean Herbert
07bb0805e9
Move advanced stats to a more permanent location on song select 2023-12-19 19:10:43 +09:00
Dean Herbert
0a64d631e2
Add support for dual-column advanced stats 2023-12-19 19:09:47 +09:00
Dean Herbert
f09c6b8c1b
Change default values of new object counts to -1 to identify non-processed values 2023-12-19 18:20:02 +09:00
Dean Herbert
8f5d21dc70
Actually fix realm selection retention regression 2023-12-19 18:10:55 +09:00
Dean Herbert
7e9c1b2acb
Use sender's realm (because we can) 2023-12-19 17:27:52 +09:00
Bartłomiej Dach
7c05d66bd7
Add more detail to exception 2023-12-19 08:57:18 +01:00
Bartłomiej Dach
ddb67c87a8
Roll back incorrect change in ShouldMigrateToNewStandardised() 2023-12-19 08:13:02 +01:00
Dean Herbert
44efa2c540
Fix incorrect ordering of items at song select when certain sort modes are used 2023-12-19 15:09:03 +09:00
Dan Balasescu
c1b55c7fac
Add ScoreProcessor methods to override numeric result 2023-12-19 13:50:31 +09:00
Bartłomiej Dach
9c8df4e6d1
Run score conversion for previously-imported scores 2023-12-18 22:27:51 +01:00
Bartłomiej Dach
017003deea
Fix osu! standardised score conversion sometimes exceeding bounds
Co-authored-by: Zyf <zyfarok@gmail.com>

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

Users reported that some stable scores would convert to large negative
total scores in lazer after the introduction of combo exponent. Those
large negative total scores were actually mangled NaNs.

The root cause of this was the following calculation going below zero
unexpectedly:

	8e8d9b2cd9/osu.Game/Database/StandardisedScoreMigrationTools.cs (L323)

which then propagates negative numbers onward until

	8e8d9b2cd9/osu.Game/Database/StandardisedScoreMigrationTools.cs (L337)

which yields a NaN due to attempting to take the square root of a
negative number.

To fix, clamp `comboPortionInScoreV1` to sane limits: to
`comboPortionFromLongestComboInScoreV1` from below, and to
`maximumAchievableComboPortionInScoreV1` from above. This is a less
direct fix than perhaps imagined, but it seems like a better one as it
will also affect the calculation of both the lower and the upper
estimate of the score.
2023-12-18 22:05:19 +01:00
Susko3
cc800a18b2 Fix opening log files from notification not presenting the correct file 2023-12-18 21:11:00 +01:00
Bartłomiej Dach
8e8d9b2cd9
Merge pull request #25832 from peppy/more-background-processing-progress-notifications
Show more comprehensive background processing progress notifications
2023-12-18 20:05:47 +01:00
Bartłomiej Dach
b8bcf7a097
Merge pull request #25856 from peppy/fix-keybaord-adjust-nc-dc
Fix keyboard precision of nightcore/daycore adjustments being incorrect
2023-12-18 19:54:17 +01:00
Dean Herbert
9594ae7802
Update framework 2023-12-19 03:22:22 +09:00
Dean Herbert
51f4c7254c
Fix mod search textbox having focus while settings are visible
Stopped arrow key adjust on slider bars from working.

Also just felt wrong that you could type into an off-screen textbox.
2023-12-19 01:32:34 +09:00
Dean Herbert
374425ea75
Fix keyboard precision of nightcore/daycore adjustments being incorrect
Closes https://github.com/ppy/osu/issues/25854.
2023-12-19 01:07:33 +09:00
Dean Herbert
c466775f78
Merge pull request #25821 from bdach/fix-collection-dropdown-crash
Fix collections dropdown crashing during storage migration
2023-12-19 01:01:23 +09:00
Dean Herbert
c88c25e77f
Merge pull request #25848 from 65-7a/dropdown-search-padding
Fix padding on dropdown search bar
2023-12-19 00:36:14 +09:00
Dean Herbert
9aaaa12809
Don't show progress notifications when there are too few items to be worthwhile 2023-12-19 00:01:09 +09:00
Dean Herbert
d81cabc063
Revert "Improve performance of attemptSelection using new cached count and LastSelected"
This reverts commit 25df42630e.
2023-12-18 22:46:02 +09:00
Dean Herbert
25e3a8e82e
Fix a few of silly issues 2023-12-18 22:45:58 +09:00
65-7a
17f1f8bb43 Fix padding on dropdown search bar 2023-12-19 00:28:23 +11:00
Bartłomiej Dach
eeeb5aa3d4
Fix crash when creating collections named "All beatmaps" or "Manage collections..."
Closes https://github.com/ppy/osu/issues/25834

The name fallback that was there previously since
https://github.com/ppy/osu/pull/11892 was half broken. This way should
be a lot less prone to failure.
2023-12-18 12:52:39 +01:00
Dean Herbert
25df42630e
Improve performance of attemptSelection using new cached count and LastSelected 2023-12-18 20:47:08 +09:00
Dean Herbert
5755fa214a
Cache non-filtered beatmap counts to massively improve count performance 2023-12-18 20:44:08 +09:00
Dean Herbert
034c5cd654
Debounce count updates for good measure 2023-12-18 20:43:23 +09:00
Dean Herbert
6fa1f5ef9b
Simplify invalidation logic
The only case where this was checking is guaranteed by realm to only be called once.
2023-12-18 20:31:02 +09:00
Dean Herbert
87b7699fcc
Avoid calling invalidation logic per beatmap set updated
Realm will batch the updates. We don't want to do expensive operations per set when we don't need to.
2023-12-18 20:31:02 +09:00
Dean Herbert
32cc3f9ef7
Combine multiple similar invalidation logic into single event 2023-12-18 20:31:02 +09:00
Dean Herbert
03ac2c3094
Remove some excessive logging 2023-12-18 19:20:57 +09:00
Dean Herbert
62444c3d04
Fix song select's carousel scroll position getting reset on background processing
This only happened for users using absolute right-click scroll.
2023-12-18 19:17:59 +09:00
Dean Herbert
e3251b40b3
Fix progress notifications queueing up infinite text changes when not visible 2023-12-18 19:00:44 +09:00
Dean Herbert
5ab3815123
Add logging of progress every so often 2023-12-18 18:45:49 +09:00
Dean Herbert
bfa90e9dcb
Also populate ObjectCounts when running a full beatmap process
Saves running things twice on an old install
2023-12-18 18:41:41 +09:00
Dean Herbert
e7d1cf7868
Add progress notifications for background tasks which don't already have them 2023-12-18 18:41:41 +09:00
Dean Herbert
7462a9f4ab
Add helper method to handle progress notifications for background jobs 2023-12-18 18:41:41 +09:00
Bartłomiej Dach
ef230884a8
Fix collections dropdown crashing during storage migration
Closes https://github.com/ppy/osu/issues/25815.

`CollectionDropdown.collectionsChanged()` was assuming that if it
received `null` changes, then it must mean that the change subscription
is being initialised and the `filters` list will not contain any items.

However, that is not the only circumstance wherein a realm subscription
can fire with `null` changes; that can also happen after the main realm
instance gets recycled via the notification registration flow:

	2f28a92f0a/osu.Game/Database/RealmAccess.cs (L545-L549)

	2f28a92f0a/osu.Game/Database/RealmAccess.cs (L1228-L1251)

Therefore, to fix the crash, just ensure that the list is cleared every
time.
2023-12-18 09:11:00 +01:00
Dan Balasescu
4b9aefa6f2
Change osu ruleset to use new HP algorithm by default 2023-12-17 19:33:04 +09:00
Dan Balasescu
d7aca2f641
Add IApplicableHealthProcessor 2023-12-17 19:27:03 +09:00
Bartłomiej Dach
285284eb34
Merge branch 'master' into more-import-lenience 2023-12-15 16:02:44 +01:00
Bartłomiej Dach
91f4123aa7
Fix first run locator stable locator directory desyncing between display & popover 2023-12-15 16:00:34 +01:00
Bartłomiej Dach
b384c9f938
Extract common method for determining stable import usability of directory 2023-12-15 15:42:19 +01:00
Dean Herbert
94f63d6044
Update resources 2023-12-15 19:18:53 +09:00
Dean Herbert
4ad312ef5b
Update xmldoc for LegacyComboIncrease 2023-12-15 19:12:45 +09:00
Dan Balasescu
9e3b1dbb59
Fix CI inspection 2023-12-15 17:41:22 +09:00
Bartłomiej Dach
49f2adde25
Merge pull request #25774 from peppy/fix-star-rating-wobble
Fix star rating display changing width depending on number displayed
2023-12-15 09:33:51 +01:00
Bartłomiej Dach
b3c6e80f5c
Merge pull request #25770 from peppy/show-back-button-spectator
Show back button when spectating
2023-12-15 09:08:24 +01:00