Dean Herbert
232f590ba3
Merge pull request #21628 from peppy/go-hard-file-writes
...
Use hard links on windows when importing beatmaps from a legacy osu! install
2022-12-16 14:52:57 +09:00
cdwcgt
3d6d3b4025
fix weird async logic
2022-12-15 20:59:11 +09:00
Dan Balasescu
fb85eaee95
Add description for lazer score version 30000001
2022-12-14 18:30:33 +09:00
Dean Herbert
cb16d62700
Hook up ImportParameter
flow with IModelImporter
caller methods
2022-12-13 21:29:32 +09:00
Dean Herbert
cf2719d4c0
Convert batchImport
parameter to parameters class to allow further import configuration
2022-12-13 19:55:18 +09:00
Dan Balasescu
ad7554cc7d
Allow keeping stream open after encoding scores
2022-12-13 16:15:14 +09:00
Dean Herbert
5800734589
Merge pull request #21587 from smoogipoo/spectatorstate-maximum-statistics
...
Store maximum statistics to spectator state
2022-12-12 20:00:52 +09:00
Dean Herbert
df94af4495
Inline ScoringValues
and make some more methods private
inside ScoreProcessor
2022-12-12 19:22:09 +09:00
cdwcgt
e02b8cb199
Group export methods into their respective managers
2022-12-11 18:30:24 +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
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Dean Herbert
93a189603a
Hide spinner ticks / bonus from results screen when not applicable to score
2022-11-21 14:20:36 +09:00
maromalo
b7ef9b176d
Make score type consistent
2022-11-06 19:59:27 -03:00
Dean Herbert
0a625bd879
Fix mods potentially keeping reference to runtime gameplay elements
...
As noticed by smoogipoo during multiplayer match on the weekend.
2022-09-19 12:18:46 +09:00
Dean Herbert
28b15e232d
Remove all EF models
2022-09-15 16:59:36 +09:00
Dean Herbert
bc07513c3c
Fix local scores potentially not being stable-sorted for leaderboard display
2022-09-14 14:19:53 +09:00
Dan Balasescu
08d0c08750
Fix async exception by using difficulty calculator directly
2022-09-09 13:57:01 +09:00
Dan Balasescu
731d3f3b63
Add MaximumStatistics upgrade for databased scores
2022-09-09 09:56:08 +09:00
Dan Balasescu
7c0e99c5a8
Decode Geki/Katu from legacy taiko scores into LargeBonus
2022-09-07 00:12:34 +09:00
Dean Herbert
928bce8fcd
Fix crash when attempting to watch a replay when the storage file doesn't exist
2022-08-30 18:18:46 +09:00
Dan Balasescu
07b502f69a
Simplify OrderByTotalScore implementation
2022-08-29 17:58:57 +09:00
Dan Balasescu
d75543ad68
Simplify GetMaximumAchievableCombo further
2022-08-29 15:36:10 +09:00
Dan Balasescu
423f6f90f2
Remove async calls from ScoreManager
2022-08-29 15:34:08 +09:00
Dan Balasescu
c0b13c7e1f
Refactor ScoreProcessor ComputeScore() methods
2022-08-29 13:51:10 +09:00
Dan Balasescu
17029f0b92
Ensure clones don't reference to MaximumStatistics
2022-08-25 13:58:58 +09:00
Dan Balasescu
cc648a90bc
Actually save maximum statistics
2022-08-24 17:28:41 +09:00
Dan Balasescu
f70af779a4
Add maximum statistics to ScoreInfo/SoloScoreInfo
2022-08-24 17:28:41 +09:00
naoei
45e9eda9e7
Localise hit result name
2022-08-14 14:57:02 -04:00
naoei
1e356f6137
Revert localisation for GetDisplayNameForHitResult
...
Came across an issue where `LeaderboardScoreTooltip` attempts to capitalize all letters for the `displayName`.
Unsure if I should completely ignore it and localise it anyway.
2022-08-10 16:03:59 -04:00
naoei
8cb2e11766
Change most ruleset-accessible string types to Localisable strings
2022-08-10 15:51:11 -04:00
Dean Herbert
c35da62224
Add flow for bypassing local cache lookups when refreshing beatmap metadata
2022-07-28 16:33:51 +09:00
Dean Herbert
8370ca9765
Add ImportAsUpdate
method to IModelImporter
to avoid otehr changes
2022-07-26 15:49:04 +09:00
Salman Ahmed
678acabf7e
Merge branch 'master' into log-diffcalc-failure
2022-07-25 11:16:31 +03:00
Salman Ahmed
91d1c9686c
Separate unprocessed PP placeholder to own class
2022-07-25 09:07:51 +03:00
Dan Balasescu
3d97b74813
Log beatmap difficulty retrieval failures during score calculation
2022-07-25 13:03:47 +09:00
Dean Herbert
6357223341
Fix incorrect DI fetch and apply nullability to ModelDownloader
2022-07-19 20:06:34 +09:00
Dean Herbert
51f91fe62e
Update naming
2022-07-18 16:17:20 +09:00
Salman Ahmed
d0fe4fe15a
Fix user population logic not including country
2022-07-16 06:39:05 +03:00
Salman Ahmed
4e7156cee8
Store user country on databased scores
2022-07-16 06:39:05 +03:00
Dean Herbert
c8c79d2185
Standardise HasReplay
implementation (and remove from persisting to realm)
2022-07-15 16:14:21 +09:00
Dean Herbert
6122d2a525
Add "F" ScoreRank
to handle old scores which have this specified
...
Not sure on the future of this, but given it is used in the
save-failed-reply pull request (#18785 ) I think it's fine to add back
for now.
Without this, JSON parsing of older scores in server-side storage will
fail on missing enum type.
2022-07-15 15:58:54 +09:00
Salman Ahmed
4f009419b8
Simplify population logic and match code style
2022-07-11 21:51:09 +03:00
Andrew Hong
10d6027c89
Assign missing UserID to RealmUser
2022-07-11 02:36:51 -04: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
Bartłomiej Dach
577a87bcad
Merge branch 'master' into importer-post-import-rename
2022-06-20 13:37:16 +02:00
Dean Herbert
dbae4c6f5a
PostImport
-> PresentImport
2022-06-20 18:36:29 +09:00
Dean Herbert
ebcee21f6f
Remove necessity to provide BeatmapDifficultyCache
as a function to ScoreManager
2022-06-20 17:52:42 +09:00
Dean Herbert
92f1a2958c
Rename Import(TModel)
to ImportModel
to differentiate from other import methods
2022-06-20 15:18:07 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
e66ccfd980
Add back missing notification flow
2022-06-16 19:48:18 +09:00
Dean Herbert
ce3d3a967c
Reimplement missing methods
2022-06-16 19:05:25 +09:00
Dean Herbert
72c5b9009d
Remove local realm
fields in manager classes
2022-06-16 18:56:53 +09:00
Dean Herbert
f3984d98e6
Remove RealmArchiveModelManager
from hierarchy
2022-06-16 18:53:13 +09:00
Dean Herbert
4d9e3d1982
Rename Score/Skin ModelManager
classes to Importer
for now
2022-06-16 18:11:50 +09:00
Dean Herbert
f23ddfe6cc
Move remaining realm classes out of Stores
namespace
2022-06-15 21:56:00 +09:00
Dean Herbert
88d5e074a8
Rename lowPriority
to batchImport
2022-06-15 00:46:00 +09:00
Dean Herbert
2f8290831a
Skip quick import clause when importing a single item
...
Closes https://github.com/ppy/osu/issues/18600 .
2022-06-15 00:26:34 +09:00
Dean Herbert
9f599a5ab4
Remove unused lowPriority
flag from one Import
method
2022-06-14 19:52:30 +09:00
Dean Herbert
ca0765a932
Tidy up various delegation implementations
2022-06-14 19:46:59 +09:00
Dan Balasescu
773ba97117
Add xmldoc to ScoringValues
2022-06-02 16:39:51 +09:00
Dan Balasescu
a638392e81
Rename member
2022-06-02 16:35:50 +09:00
Dan Balasescu
af0f934e1a
Move raw ScoreProcessor values into ScoringValues struct
2022-05-31 19:39:38 +09:00
Dan Balasescu
4df63a4900
Prevent scores being calculated twice
2022-03-30 13:15:41 +09:00
Dan Balasescu
bd9c0076df
Fix scores sometimes shown with incorrect scoring mode
2022-03-30 13:03:12 +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
Salman Ahmed
b9859f9f21
Obsolete BeatmapInfo.MaxCombo
and suppress in usages
2022-03-20 16:30:29 +03:00
Salman Ahmed
aef40da8d4
Add note about null return value
2022-03-20 16:24:30 +03:00
Salman Ahmed
2a78042038
GetBeatmapMaximumComboAsync
-> GetMaximumAchievableComboAsync
2022-03-20 16:18:53 +03:00
Salman Ahmed
d36f32a9c9
Introduce method for computing maximum achievable combo properly
2022-03-20 05:38:14 +03:00
Dan Balasescu
4a3e3aba65
Restructure PerformanceCalculator to not require ScoreInfo argument
2022-03-14 14:25:28 +09:00
Dean Herbert
94ff6a338f
Merge branch 'master' into scoreprocessor-rework
2022-03-09 23:04:18 +09:00
Dan Balasescu
f1c40bd9ed
Rework GetScore() method signatures + implementations
...
Rename legacy-facing overload to mention as much
2022-03-08 22:30:44 +09:00
Dan Balasescu
f5cd967635
Fix scores not being recalculated in beatmap listing
2022-03-08 19:07:39 +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
Dan Balasescu
c3b365cf6b
Scale classic score by hitobject count
2022-02-21 13:31:03 +09:00
Henry Lin
f29301cd1e
Merge branch 'master' into display-performance-attributes
2022-02-05 16:59:46 +08:00
Bartłomiej Dach
16e0cc6a2b
Remove IIpcHost
param from ScoreManager
...
No longer used since 3e3b9bc963
.
2022-02-01 21:35:40 +01:00
Dean Herbert
0d3ac4fd9c
Fix delete local scores crashing the game
2022-01-28 15:54:53 +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
378173cc66
Fix some score imports failing due to null string attempted to be parsed as json
2022-01-26 22:46:29 +09:00
Dan Balasescu
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
Dean Herbert
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
Dean Herbert
cd71ec0edd
Remove ILive<>
interface (and use abstract Live<>
instead)
2022-01-26 13:38:56 +09:00
Dean Herbert
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
Dean Herbert
e23b10e6a5
Update remaining cases of clashing variable name in realm.Run(realm..
2022-01-25 13:04:05 +09:00
Dean Herbert
3e5c9e8436
Fix cases of Access
instead of Realm
2022-01-25 12:58:15 +09:00
Dean Herbert
6eb2c28e41
Rename RealmContextFactory
to RealmAccess
2022-01-24 20:38:07 +09:00
Bartłomiej Dach
1ce0b18003
Merge branch 'master' into display-performance-attributes
2022-01-22 14:12:57 +01:00
Dean Herbert
114c9e8c1f
Update all usages of CreateContext
to use either Run
or Write
2022-01-21 17:27:08 +09:00
Dean Herbert
a5d2047f05
Fix various cases of creating realm contexts from update thread when not necessary
2022-01-21 01:44:56 +09:00
Dean Herbert
3c852e6d02
Avoid constructor overhead for realm ScoreInfo
parameterless constructor
2022-01-20 16:47:27 +09:00