Commit Graph

352 Commits

Author SHA1 Message Date
f5cd967635 Fix scores not being recalculated in beatmap listing 2022-03-08 19:07:39 +09:00
36263b4dbf Replace remaining manual online ID check with extension method 2022-03-03 23:09:56 +01:00
eb75a29b20 Use constant for maximum legacy ruleset id 2022-03-01 12:07:03 +09:00
52e50db6b9 Enable nullable for LegacyScoreEncoder 2022-02-28 18:42:23 +09:00
723e96309a Only convert non-legacy frames (and throw on conversion failure) 2022-02-28 18:42:23 +09:00
2e96f74c94 Allow LegacyScoreEncoder to be used without a beatmap if frames are already legacy frames 2022-02-28 18:42:23 +09:00
c3b365cf6b Scale classic score by hitobject count 2022-02-21 13:31:03 +09:00
f29301cd1e Merge branch 'master' into display-performance-attributes 2022-02-05 16:59:46 +08:00
16e0cc6a2b Remove IIpcHost param from ScoreManager
No longer used since 3e3b9bc963.
2022-02-01 21:35:40 +01:00
0d3ac4fd9c Fix delete local scores crashing the game 2022-01-28 15:54:53 +09:00
5288eedd31 Update all usages of RulesetID and Ruleset.ID to use Ruleset.OnlineID 2022-01-27 15:38:03 +09:00
378173cc66 Fix some score imports failing due to null string attempted to be parsed as json 2022-01-26 22:46:29 +09:00
4a51bab9ac Merge pull request #16622 from peppy/fix-results-score-switch-crash
Fix crash at results screen when viewing another score panel after playing
2022-01-26 16:59:39 +09:00
3491b77c8c Fix ScoreInfo.RealmUser not getting deep cloned correctly
I'm still not at all happy with the play-to-results flow (with multiple
clones), but this will have to do for now.
2022-01-26 14:27:48 +09:00
cd71ec0edd Remove ILive<> interface (and use abstract Live<> instead) 2022-01-26 13:38:56 +09:00
778d2a71b4 Remove Task from the inner-most Import method in RealmArchiveModelImporter
One of my pending work items for post-realm merge.

The lowest-level import task is no longer asynchronous, as we don't want
it to span multiple threads to allow easier interaction with realm.
Removing the `Task` spec simplifies a heap of usages.

Individual usages should decide whether they want to run the import
asynchronously, by either using an alternative override or spooling up a
thread themselves.
2022-01-25 15:30:29 +09:00
e23b10e6a5 Update remaining cases of clashing variable name in realm.Run(realm.. 2022-01-25 13:04:05 +09:00
3e5c9e8436 Fix cases of Access instead of Realm 2022-01-25 12:58:15 +09:00
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +09:00
1ce0b18003 Merge branch 'master' into display-performance-attributes 2022-01-22 14:12:57 +01:00
114c9e8c1f Update all usages of CreateContext to use either Run or Write 2022-01-21 17:27:08 +09:00
a5d2047f05 Fix various cases of creating realm contexts from update thread when not necessary 2022-01-21 01:44:56 +09:00
3c852e6d02 Avoid constructor overhead for realm ScoreInfo parameterless constructor 2022-01-20 16:47:27 +09:00
18886f5d2e Use empty string instead of empty array for ModsJson when no mods are present
Not really correct, but this is how most scores have been stored until
now so let's do this for consistency.
2022-01-19 14:34:27 +09:00
664b4fdaf0 Fix legacy score imports not correctly getting classic mod assigned 2022-01-19 14:34:27 +09:00
3bc091fe6d Add ignore rules on more helper properties 2022-01-19 09:46:45 +09:00
a5862ca00d Improve reliability of mod deserialisation 2022-01-18 15:46:27 +09:00
9a43ed742b Update automapper spec in line with v11
See https://docs.automapper.org/en/latest/11.0-Upgrade-Guide.html for
 more details.
2022-01-18 15:23:28 +09:00
ebc9d3a613 Fix playlist aggregate scores not displaying (again) 2022-01-18 11:57:38 +09:00
511a607599 Display performance breakdown in a tooltip 2022-01-17 18:28:17 +08:00
a0e2106468 Guard against null values getting inserted into database during score/beatmap imports 2022-01-17 14:05:08 +09:00
744084b418 Initialise all parameters is paramaterless constructor for now for added safety 2022-01-17 13:51:30 +09:00
d27ee2c9fb Remove incorrect IsManaged check in ScoreManager 2022-01-17 13:37:42 +09:00
a3806f44a5 Add back null beatmap allowance to GetTotalScore flow to fix playlist aggregate scores 2022-01-17 13:11:43 +09:00
9b33fbbee5 Ensure detached when performing model Clone operations on BeatmapInfo/ScoreInfo 2022-01-14 13:08:20 +09:00
c61419dfe5 Fix scores not using correct filename/display strings
I've updated all cases where we should have been using
`GetDisplayString()` anyway, but left the `ToString()` implementations
in place for safety. They should probably be removed in the future.
2022-01-13 16:56:11 +09:00
bdb2979b2e Remove async from Populate method 2022-01-13 16:36:54 +09:00
65dd80e6f6 Sanitise mods / statistics cache logic in ScoreInfo 2022-01-13 12:59:16 +09:00
4c79145c11 Fix potential mod nullref in APIUserScoreAggregate's CreateScoreInfo implementation 2022-01-13 00:28:16 +09:00
eb70a1eeb7 Replace compatibility properties with direct references 2022-01-12 18:13:14 +09:00
a4de0f93fa Move manager Update methods to be explicit to where they are still used by legacy code
Also fixes skin hash repopulation being completely broken.
2022-01-12 17:49:11 +09:00
f451560203 Update null allowances across beatmaps and scores 2022-01-12 17:49:11 +09:00
ae8f522c20 Add support for persisting score's mods to realm 2022-01-12 17:49:10 +09:00
d8e75a9de4 Reimplmeent IsAvailableLocally as an abstract method 2022-01-12 17:49:10 +09:00
ba62d2c756 Fix ScoreInfo oversights causing automapper to fail
Parameter in ctor *has* to be named `realmUser` else automapper will try
to map to the `User` property.
2022-01-12 17:48:49 +09:00
83ccbc1d13 Mention safety failures of Beatmap/Score constructors 2022-01-12 17:00:17 +09:00
e74a5022c9 Fix multiple tests via null checks and changing ToLive to Detach
flow
2022-01-12 17:00:17 +09:00
13401a8846 Better handle Statistics to avoid losing data 2022-01-12 17:00:17 +09:00
aaefd72c69 Handle ignored mappings locally in Detach configuration 2022-01-12 17:00:17 +09:00
2b8706b6ce Detach and reattach scores to make work 2022-01-12 17:00:16 +09:00