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