1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-18 03:05:10 +08:00
Commit Graph

173 Commits

Author SHA1 Message Date
Liam DeVoe
04ef04b902 only ignore the first negative frame among the first 3 replay frames 2023-07-27 21:12:08 -04:00
Liam DeVoe
7d174dd8bb dont count any of first three frames towards time deficit 2023-07-27 17:20:54 -04:00
Liam DeVoe
a93561cab0 remove resolved comment 2023-07-27 02:12:43 -04:00
Liam DeVoe
217b07810f don't skip the negative break frame
investigation reveals this frame is played back by stable
2023-07-27 02:12:21 -04:00
Dean Herbert
eb81eac635 Flag decoded scores more correctly 2023-07-15 12:19:18 +09:00
Liam DeVoe
cc6646c82b properly handle negative frame before a break
this was causing replay data before the skip to be...skipped.
2023-07-06 17:13:33 -04:00
Liam DeVoe
00250972c3 skip frames after a negative frame until the negative time is "paid back" 2023-07-06 02:31:12 -04:00
Dean Herbert
9ff6b3fcd3 Merge branch 'master' into editor-save-local-score-management 2023-07-06 12:28:44 +09:00
Dean Herbert
a0c3fa9c13 Move preconditions to realm migration step to simplify marker version logic 2023-07-04 17:53:53 +09:00
Dean Herbert
d74b1e148d Make ScoreInfo.BeatmapInfo nullable 2023-07-04 14:50:34 +09:00
Dan Balasescu
6822871dab Move population of LegacyTotalScore to ScoreImporter 2023-06-29 17:21:24 +09:00
Dan Balasescu
1ca4e39fc3 Allow legacy scores to be displayed in "classic" scoring mode 2023-06-28 16:30:50 +09:00
Dan Balasescu
09bc8e45de Refactoring 2023-06-28 16:14:32 +09:00
Dan Balasescu
e291dff5ad Fix imported scores not getting LegacyTotalScore 2023-06-28 14:50:16 +09:00
Dan Balasescu
8e79510793 Add migration for total score conversion 2023-06-26 21:53:21 +09:00
Bartłomiej Dach
66ef199fa4
Revert nullability enable in Score (and related changes)
Causes several knock-on inspections in `OsuGame` et al. Probably best
addressed in a separate pass, because treatment is mixed at best (some
places nullcheck, some expect non-null).
2023-06-24 15:35:07 +02:00
Dean Herbert
df5b389629 Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
Dean Herbert
0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Bartłomiej Dach
52412c673d
Bump replay version in encoder after Score V2 changes
One release too late, but this may help in the future if we need to
discern replays set with Score V2 from older lazer replays.
2023-06-09 14:49:49 +02:00
Dan Balasescu
76df11c398 Don't scale stable scores with the classic scoring mode 2023-06-08 21:38:10 +09:00
Dan Balasescu
facf7de053 Parse ScoreInfo.IsLegacyScore from replays 2023-06-08 21:38:10 +09:00
Dean Herbert
4e0f40bee5 Split out multiplier retrieval into a function and use a default multiplier for all rulesets 2023-05-30 14:20:26 +09:00
Dan Balasescu
510b8e4c78 Remove ScoreManager.Mode, handle per-use 2023-05-18 20:08:49 +09:00
Cootz
54f864463c
Merge branch 'master' into BitmapUpdatesOnScore 2023-03-16 13:54:47 +03:00
Dean Herbert
cb9b14b30f Revert "Merge pull request #22741 from cdwcgt/do-not-fetch-deletePending"
This reverts commit 15c44a2817, reversing
changes made to de2ab05e78.
2023-03-16 19:48:36 +09:00
Cootz
556964eae0
Merge branch 'master' into BitmapUpdatesOnScore 2023-03-16 12:16:42 +03:00
cdwcgt
a705698ab6 beatmapset that already deletePending should not be fetched 2023-02-26 21:13:05 +09:00
PC
7e127dafe2 Update reference 2023-02-07 11:52:47 +03:00
Cootz
b00848e742 Fix realm error. Apply OriginalBeatmapHash on import 2023-02-06 13:58:41 +03:00
Salman Ahmed
e6479b73de Remove one more unused using directive 2023-01-09 23:43:35 +03:00
Salman Ahmed
f216d7264b Improve missing beatmap failure logging on score import 2023-01-09 23:06:59 +03:00
Dan Balasescu
fb85eaee95 Add description for lazer score version 30000001 2022-12-14 18:30:33 +09:00
Dan Balasescu
ad7554cc7d Allow keeping stream open after encoding scores 2022-12-13 16:15:14 +09:00
Dean Herbert
0372e38f57 Add nullability assertion to appease CI 2022-12-11 13:00:12 +09:00
Dan Balasescu
e00c075482 Fix incorrectly modified first lazer version 2022-12-08 11:30:18 +09:00
Dan Balasescu
df181acffe Append lazer score data to .osr files 2022-12-07 12:12:32 +09:00
Dan Balasescu
7c0e99c5a8 Decode Geki/Katu from legacy taiko scores into LargeBonus 2022-09-07 00:12:34 +09:00
andy840119
8c2f4b48fc Use debug.assert for better readable. 2022-07-03 19:27:56 +08:00
andy840119
0a1543c6e8 Use AsNonNull() instead. 2022-07-02 19:48:32 +08:00
andy840119
c6d0f0f81b pretend that the beatmap property will not be null.
Not really throw exception will be the better way?
2022-07-02 13:20:46 +08:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert
a7554dcdf7 Use a constant for the early version timing offset 2022-03-24 16:43:41 +09:00
Dean Herbert
a7d5f2281c Apply beatmap offsets to legacy replay frame handling 2022-03-24 16:16:40 +09:00
Bartłomiej Dach
36263b4dbf
Replace remaining manual online ID check with extension method 2022-03-03 23:09:56 +01:00
Dean Herbert
eb75a29b20 Use constant for maximum legacy ruleset id 2022-03-01 12:07:03 +09:00
Dean Herbert
52e50db6b9 Enable nullable for LegacyScoreEncoder 2022-02-28 18:42:23 +09:00
Dean Herbert
723e96309a Only convert non-legacy frames (and throw on conversion failure) 2022-02-28 18:42:23 +09:00
Dean Herbert
2e96f74c94 Allow LegacyScoreEncoder to be used without a beatmap if frames are already legacy frames 2022-02-28 18:42:23 +09:00
Dean Herbert
5288eedd31 Update all usages of RulesetID and Ruleset.ID to use Ruleset.OnlineID 2022-01-27 15:38:03 +09:00
Dean Herbert
2b8706b6ce Detach and reattach scores to make work 2022-01-12 17:00:16 +09:00
Dean Herbert
53792811b2 more fixes (almost compiles, except ruleset and manager) 2022-01-12 16:57:27 +09:00
Dean Herbert
aac2aa341c Update some more incorrect types for primary key access/set 2022-01-12 16:57:27 +09:00
Dean Herbert
c5e401d678 Update usages to consume IRulesetStore 2022-01-12 16:57:27 +09:00
Dean Herbert
dbb08f7d46 Use OnlineID for set operations 2021-12-10 16:11:48 +09:00
Dean Herbert
bf1418bafc Use OnlineID instead of legacy IDs for equality and lookups 2021-12-10 16:11:48 +09:00
Bartłomiej Dach
f051720fa1
Fix score encoder being dependent on current culture
As it turns out, on some cultures, the "negative integer" sign is not
encoded using the U+002D HYPHEN-MINUS codepoint. For instance, Swedish
uses U+2212 MINUS SIGN instead. This was confusing the legacy decoder,
since it is correctly depending on the serialisation being
culture-independent.

To fix, ensure that the special "end replay" frame, as well as the
replay MD5 hash, are generated in a culture-invariant manner.

Thankfully the replay MD5 hash is currently being discarded in
`LegacyScoreDecoder`, so it changing in future scores should not have
any negative effect on lazer operation.
2021-12-04 17:13:43 +01:00
Dean Herbert
bbd3ea5b77 Update all actual usages of RulesetInfo.ID to use OnlineID instead 2021-11-24 15:50:26 +09:00
Dan Balasescu
9182eab486 Rename method + xmldoc 2021-11-17 20:45:48 +09:00
Dan Balasescu
08f129b4c8 Expose LegacyScoreDecoder.CalculateAccuracy() 2021-11-17 20:09:30 +09:00
Dean Herbert
0ecf5f201c Rename User to APIUser and move to correct namespace 2021-11-07 11:26:01 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Dean Herbert
853cf6feaa Rename last remaining BeatmapInfo Beatmap usage 2021-10-04 17:35:53 +09:00
Dean Herbert
cf633973a9 Refactor exposed mod retrieval methods for better safety 2021-09-10 11:09:13 +09:00
Dean Herbert
2edb851008 Add ability to lookup mod from a type specification 2021-09-09 16:50:59 +09:00
Dean Herbert
4ee7721c51 Extract first version out to constant 2021-06-08 18:38:47 +09:00
Dean Herbert
061e3d7f26 Move legacy ScoreInfo to be completely based on presence of classic mod 2021-06-08 18:00:09 +09:00
Dean Herbert
4d9fffc01b Update score encoder version to be higher than any existing stable version 2021-06-08 17:59:43 +09:00
PercyDan54
e716162ac2
Fix formatting 2021-04-29 17:19:25 +08:00
PercyDan54
4fe1497f63
Add comment & remove lastF 2021-04-28 20:39:06 +08:00
PercyDan54
126056c436
Fix precision loss on exporting legacy replays 2021-04-28 19:27:18 +08:00
smoogipoo
213ac88a8b Fix exported scores not being compatible with osu-stable 2021-04-26 20:52:20 +09:00
smoogipoo
f439c1afbc Make osu/taiko/catch use Ok+Great 2020-09-29 17:16:55 +09:00
Bartłomiej Dach
af59e2c179 Use extension methods instead of reading directly 2020-08-27 18:18:32 +02:00
Bartłomiej Dach
fc51e9d81a Fix some legacy mania replays crashing on import 2020-08-27 18:16:20 +02:00
smoogipoo
e91e4a73af Fix catch crashing when finishing maps 2020-05-07 12:22:07 +09:00
smoogipoo
ae210d567d Add temporary solution for tick hit/miss count 2020-04-16 18:16:08 +09:00
Dean Herbert
9602ab17b0 Fix replay imports failing for certain mod combinations 2020-03-31 17:13:42 +09:00
Dean Herbert
f75c082601 Fix osu!mania replays recording incorrectly when key mod applied 2020-03-27 15:50:11 +09:00
Dean Herbert
8a2aac5f83 Rename conversion methods for clarity 2020-03-25 20:21:34 +09:00
Dean Herbert
2feb66d423 Correctly handle missing positional data 2020-03-24 15:43:34 +09:00
Dean Herbert
02a3c7c025 Fix incorrect ruleset being recorded to file 2020-03-24 15:43:22 +09:00
Dean Herbert
022465f546 Add encoding and import support 2020-03-24 14:51:52 +09:00
Dean Herbert
546772192c Add helper method to convert to legacy mods enums 2020-03-24 13:07:51 +09:00
Dean Herbert
e5f4d8686e Rename decoder 2020-03-24 13:07:50 +09:00
Dean Herbert
d03723303d
Fix typo in comment 2020-01-30 16:29:15 +09:00
Dean Herbert
7b4a658264 Fix negative replay frames being played back incorrectly 2020-01-30 14:54:57 +09:00
Dean Herbert
1ce6a5ceb3 Rename class 2019-12-03 15:38:57 +09:00
Dean Herbert
f0d49d0cdf Decouple APILegacyScoreInfo from ScoreInfo 2019-12-03 15:31:11 +09:00
smoogipoo
dfc0928ebe Fix scores importing with deleted beatmap sets 2019-09-20 19:39:21 +09:00
Dean Herbert
624e5644a4 Change osu!catch key trigger to occur on frame before positional change 2019-09-13 23:06:35 +09:00
Dean Herbert
acdfeef1dc Improve how osu!catch stores and replays key actions 2019-09-12 18:33:46 +09:00
Dean Herbert
ac01e9fbeb Fix legacy scores with no online ID being imported with a non-null ID 2019-07-29 18:36:07 +09:00
Arphox
07e17518e9 Fix all "Maintainability" CodeFactor issues 2019-06-11 10:28:16 +02:00
smoogipoo
d7c09e7dbd Merge remote-tracking branch 'origin/master' into fix-new-inspections
# Conflicts:
#	osu.Game.Rulesets.Catch/Judgements/CatchDropletJudgement.cs
#	osu.Game.Rulesets.Catch/Judgements/CatchJudgement.cs
#	osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
#	osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs
#	osu.Game.Rulesets.Osu/UI/Cursor/CursorTrail.cs
#	osu.Game.Tests/Visual/SongSelect/TestCaseBeatmapScoresContainer.cs
#	osu.Game/Graphics/OsuFont.cs
#	osu.Game/Online/API/Requests/Responses/APILegacyScoreInfo.cs
#	osu.Game/Overlays/Profile/Header/BadgeContainer.cs
#	osu.Game/Overlays/Profile/ProfileHeader.cs
#	osu.Game/Screens/Select/PlaySongSelect.cs
#	osu.Game/Skinning/LegacySkinDecoder.cs
2019-05-07 13:20:17 +09:00
Dean Herbert
2060bad3bc Try applying minimal inspection fixes for latest Rider EAP 2019-04-01 13:28:14 +09:00
Dean Herbert
c39c37a18d Apply more missed cases 2019-04-01 12:44:46 +09:00
Dean Herbert
7d6a08d6da Fix a few new inspections in latest Rider EAP 2019-04-01 11:39:02 +09:00
smoogipoo
fb0bba9b37 Use Parsing helpers 2019-04-01 11:23:07 +09:00
smoogipoo
f453675838 Fix replays being parsed with incorrect cultures 2019-04-01 10:31:20 +09:00
smoogipoo
0066459968 Don't convert 100s/50s for catch 2019-03-28 12:55:56 +09:00