1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 05:32:54 +08:00
Commit Graph

544 Commits

Author SHA1 Message Date
Dan Balasescu
4e3b994142
Relocate HitResult numeric score to ScoreProcessor 2023-12-21 14:52:31 +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
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
Dan Balasescu
987fe9322e
Merge pull request #24166 from Zyfarok/scorev3
Modify osu! standardised scoring to introduce a combo exponent
2023-12-12 17:38:44 +09:00
Dean Herbert
3553717cc6
Fix results screen not including slider end misses in tick count 2023-11-29 21:28:25 +09:00
Bartłomiej Dach
ca37e1afc2
Merge branch 'master' into scorev3 2023-11-24 10:37:10 +09:00
Bartłomiej Dach
e28e0ef1cc
Fix classic scoring overflowing in osu! ruleset due to integer multiplication overflow
Closes https://github.com/ppy/osu/issues/25545.
2023-11-23 08:16:25 +09:00
Zyf
cadd9b4ace Merge remote-tracking branch 'upstream/master' into scorev3 2023-11-19 23:53:05 +01:00
Dean Herbert
c1c8e2968f
Move operation to after user population 2023-10-30 15:46:09 +09:00
Dean Herbert
96dd7b3333
Update the last played date of a beatmap when importing a replay by the local user 2023-10-30 15:44:16 +09:00
Bartłomiej Dach
96d784e06b
Delete ScoreInfo.HasReplay as no longer needed 2023-10-27 12:39:54 +02:00
Bartłomiej Dach
526ee6e140
Remove IScoreInfo : IHasNamedFiles inheritance 2023-10-26 14:58:33 +02:00
Bartłomiej Dach
fb2293821a
Allow watching replay from multi/playlist results screens 2023-10-16 11:20:02 +02:00
Bartłomiej Dach
b144cfd55c
Add LegacyOnlineID handling to places that definitely need it
Mostly places that can interact with imported replays.

There are other places that use the online ID as a sort tiebreaker, or
to check presence of a score on results screens, but they should
probably still continue to only use `OnlineID`, since all scores with a
legacy online ID should have an online ID, but the converse is not
generally true.
2023-10-16 11:20:02 +02:00
Bartłomiej Dach
c53f4c144c
Encode/decode new OnlineID into/from LegacyReplaySoloScoreInfo 2023-10-16 11:20:02 +02:00
Bartłomiej Dach
fa519984df
Move legacy online ID encode/decode to legacy property 2023-10-16 11:20:02 +02:00
Bartłomiej Dach
c1a817fec6
Add LegacyOnlineID with backwards migration 2023-10-16 11:20:02 +02:00
Dean Herbert
5bb73632c4
Show maximum bonus statistics on results screen
Addresses https://github.com/ppy/osu/discussions/25088.
2023-10-12 14:55:16 +09:00
Bartłomiej Dach
24956588e9
Fix score importer looking up guest user by username online 2023-10-10 09:28:01 +02:00
Dan Balasescu
b9ab4a2b7c Update score conversion to consider legacy multiplier 2023-10-02 16:56:15 +09:00
Dean Herbert
d5472d3524
Merge pull request #24957 from bdach/solo-score-info-get-display-score
Add `GetDisplayScore()` extension for `SoloScoreInfo`
2023-09-29 13:09:16 +09:00
Dan Balasescu
db9113b38e
Merge pull request #24924 from bdach/update-classic-scoring
Update classic scoring formula to closer match stable score V1
2023-09-28 20:19:23 +09:00
Bartłomiej Dach
fc4390884f
Add GetDisplayScore() extension for SoloScoreInfo
To be used server-side for ppy/osu-queue-score-statistics#134.
2023-09-28 12:43:05 +02:00
Bartłomiej Dach
0769d0f49f
Merge branch 'master' into fix-batch-import-score-missing-notifications 2023-09-27 17:06:47 +02:00
Dean Herbert
2481c0b64b Don't show replay import "missing beatmap" notifications during stable import
Closes https://github.com/ppy/osu/issues/24926.
2023-09-27 17:04:43 +09:00
Dean Herbert
3708e79577 Adjust logging to still expose the underlying exception 2023-09-27 16:55:03 +09:00
Dean Herbert
d1d82d2b49 Improve notification display when score import fails 2023-09-26 15:00:56 +09:00
Bartłomiej Dach
57c00e728b
Update classic scoring algorithm to closer match stable score V1 2023-09-25 19:16:18 +02:00
Dean Herbert
f726c38215 Pass ArchiveReader instead of Stream to simplify resolution code 2023-09-19 17:49:15 +09:00
Dean Herbert
0593c76c57 Fix log output using incorrect name 2023-09-19 17:34:24 +09:00
Bartłomiej Dach
59b9a636d3
Fix grammar in comment 2023-09-18 10:46:14 +02:00
cdwcgt
f68a12003a
check beatmap hash before try to import 2023-09-04 17:37:31 +09:00
cdwcgt
58844092d6
post a notification instead a screen 2023-09-04 16:17:21 +09:00
cdwcgt
dfecddbf5d
Merge branch 'master' into missing-beatmap 2023-09-04 12:41:23 +09:00
Dean Herbert
5dee43815c Bump version to allow migration to re-run 2023-08-22 16:13:01 +09:00
Dean Herbert
b3e7416972 Rename new flag and update xmldoc to match 2023-08-21 19:36:22 +09:00
Dean Herbert
662073c472
Fix some incorrect comments / test step descriptions
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-21 19:35:04 +09:00
cdwcgt
09047538c7
remove all memory stream dispose 2023-08-04 20:02:22 +09:00
cdwcgt
0e7e36f114
don't passing stream by exception 2023-08-02 22:04:29 +09:00
cdwcgt
6637a5e7bc
ensure Performer not null 2023-08-02 18:53:27 +09:00
cdwcgt
4c43c92329
ensure dispose stream 2023-08-02 17:58:17 +09:00
cdwcgt
eef63b41da
fetch missing beatmap when import score with missing beatmap 2023-08-02 17:58:05 +09:00
Dean Herbert
30baac0f3d Avoid reprocessing scores which already failed an upgrade previously
Closes https://github.com/ppy/osu/issues/24301.
2023-07-26 16:22:10 +09:00
Dean Herbert
c1ba8fe175 Rename BackgroundBeatmapProcessor to BackgroundDataStoreProcessor 2023-07-26 16:22:10 +09:00
Dean Herbert
eb81eac635 Flag decoded scores more correctly 2023-07-15 12:19:18 +09:00
Dean Herbert
d72765b6f8
Merge pull request #24114 from peppy/editor-save-local-score-management
Ensure scores always have the correct linked `BeatmapInfo`
2023-07-07 15:40:54 +09:00
Bartłomiej Dach
ae2896ba7e
Sprinkle some more null-forgiving operators 2023-07-06 22:08:48 +02:00
Dean Herbert
a98a36872e Bring realm library up-to-date 2023-07-06 13:37:43 +09:00
Dean Herbert
9ff6b3fcd3 Merge branch 'master' into editor-save-local-score-management 2023-07-06 12:28:44 +09:00
Dean Herbert
00c68cad53 Fix new scoring related properties not storing to realm due to internal spec 2023-07-05 19:47:44 +09:00