Dean Herbert
9f688f6291
Stop persisting Skill
s in DifficultyAttributes
2021-11-21 12:15:32 +09:00
Dean Herbert
fd0cae2bfb
Merge branch 'master' into difficulty-attribute-helpers
2021-11-17 20:49:31 +09:00
Dan Balasescu
815179f713
Use consts for attribute IDs
2021-11-17 20:31:18 +09:00
Dean Herbert
369b4ba789
Update DifficultyCalculator
to take an IRulesetInfo
2021-11-15 19:16:48 +09:00
Dean Herbert
62d670a3ca
Update DifficultyCalculator
to take an IWorkingBeatmap
2021-11-15 19:16:48 +09:00
Dan Balasescu
c8a01c35f7
Remove extra members from FromDatabaseAttributes
2021-11-15 18:11:07 +09:00
Dan Balasescu
0cfd6fdf04
Add to/from database mapping functions to difficulty attributes
2021-11-15 16:06:50 +09:00
Dan Balasescu
907499f73a
Add json properties to difficulty attributes
2021-11-15 16:06:29 +09:00
smoogipoo
e30e5bd214
Remove int casts in other calculators
2021-10-10 16:23:35 +09:00
Dean Herbert
b339c149d8
Copy BaseDifficulty
to Beatmap<T>
and move all write operations across
2021-10-06 15:10:45 +09:00
Xexxar
176b3e7533
changed decay system to allow for customizing the currentStrain
2021-08-16 22:14:29 +00:00
Bartłomiej Dach
fb5d25405e
Replace calls to obsoleted GetOrDefault()
extension
2021-07-18 21:52:16 +02:00
Dan Balasescu
35d5632355
Merge pull request #13378 from Syriiin/diffcalc/refactor/auto-properties
...
Refactor DifficultyAttributes to use auto properties over public fields
2021-06-10 18:42:11 +09:00
Dean Herbert
85abee5fc7
Remove difficulty calculator exceptions
...
I don't think there's any reason difficulty calculators shouldn't be
able to calculate for autoplays.
2021-06-09 14:33:35 +09:00
Dean Herbert
d0e9f8ef90
Replace and obsolete Ranked
flag with IsUserPlayable
2021-06-09 14:17:03 +09:00
Samuel Cattini-Schultz
f1bef989b7
Refactor DifficultyAttributes to use auto properties over public fields
2021-06-08 19:43:59 +10:00
Samuel Cattini-Schultz
f51413ead9
Refactor to pass clockrate in constructor rather than deriving from mods
2021-06-03 16:09:42 +10:00
Samuel Cattini-Schultz
85d2b1232a
Refactor to abstract out strain logic into StrainSkill class
...
While it is the case for the existing official Skills, Skill implementations shouldn't be required to conform to a strain based approach.
There are other valid approaches to calculating skill difficulty that can be supported by abstracting the strain logic into its own StrainSkill class.
2021-04-03 20:52:39 +11:00
Samuel Cattini-Schultz
5b2dcea8a8
Refactor to encapsulate strain logic into Skill class
...
As strains are an implementation detail of the current Skill calculations, it makes sense that strain related logic should be encapsulated within the Skill class.
2021-04-03 20:47:43 +11:00
Samuel Cattini-Schultz
66643a97b0
Add a list of mods to Skill class
...
Although this isn't necessary for existing official rulesets and calculators, custom calculators can have use cases for accessing mods in difficulty calculation.
For example, accounting for the effects of visual mods.
2021-02-20 20:37:44 +11:00
Lucas A
abd395a030
Remove unecessary using references.
2020-10-02 19:41:24 +02:00
Lucas A
0163688a17
Remove IBeatmap from PerformanceCalculator.
2020-10-02 19:24:30 +02:00
smoogipoo
f439c1afbc
Make osu/taiko/catch use Ok+Great
2020-09-29 17:16:55 +09:00
smoogipoo
847ec8c248
Fix n^2 characteristic in taiko diffcalc
2020-09-19 14:52:05 +09:00
Dean Herbert
7f2ce14f36
Merge pull request #9294 from smoogipoo/morth-taiko-changes
2020-09-15 16:11:17 +09:00
Bartłomiej Dach
a350802158
Fix wrong mono streak length handling in corner case
2020-09-10 20:50:26 +02:00
Bartłomiej Dach
6e5c5ab901
Fix invalid initial value of currentMonoLength
2020-09-10 18:22:49 +02:00
smoogipoo
74eea8900b
Remove unnecessary check for negative durations
2020-09-10 20:00:57 +09:00
smoogipoo
1c1afa1c96
Move MaxCombo to base DifficultyAttributes
2020-08-28 19:16:20 +09:00
Bartłomiej Dach
7c9fae55ad
Hopefully fix off-by-one errors
2020-08-22 22:50:58 +02:00
Bartłomiej Dach
5afe9b73d2
Fix invalid cref
2020-08-22 21:27:08 +02:00
Bartłomiej Dach
a080774799
Add xmldoc to taiko difficulty calculation code
2020-08-22 19:44:58 +02:00
Bartłomiej Dach
8ace7df0fd
Reorder members for better readability
2020-08-22 19:34:49 +02:00
Bartłomiej Dach
7e2bef3b9f
Split conditional for readability
2020-08-22 19:34:49 +02:00
Bartłomiej Dach
bcf3cd5657
Remove unnecessary yield iteration
2020-08-22 19:34:49 +02:00
Bartłomiej Dach
cb3fef7616
Inline same parity penalty
2020-08-22 19:34:49 +02:00
Bartłomiej Dach
ec99fcd7ab
Avoid passing down rhythm list every time
2020-08-22 19:34:49 +02:00
Bartłomiej Dach
27f97973ee
Add more proper typing to skills
2020-08-18 20:19:58 +02:00
Bartłomiej Dach
cb5ea6aa9a
Generalise p-norm function
2020-08-18 20:19:58 +02:00
Bartłomiej Dach
51d41515ef
Simplify expression with ternary
2020-08-18 20:19:58 +02:00
Bartłomiej Dach
c827e21506
Extract helper method to reset rhythm strain
2020-08-18 20:19:58 +02:00
Bartłomiej Dach
80e4c15727
Use Math.Clamp
2020-08-18 20:19:58 +02:00
Bartłomiej Dach
ce0e5cf9a1
Slightly optimise and de-branch rhythm pattern recognition
2020-08-18 20:19:58 +02:00
Bartłomiej Dach
d7ff3d77eb
Slightly optimise and de-branch repetition pattern recognition
2020-08-18 20:19:58 +02:00
Bartłomiej Dach
00ae456f08
Remove unnecessary null check
2020-08-18 20:19:58 +02:00
Bartłomiej Dach
c6a640db55
Remove superfluous IsRepeat field
2020-08-18 20:19:58 +02:00
Bartłomiej Dach
f22050c975
Remove unnecessary initialiser
2020-08-18 20:19:58 +02:00
Bartłomiej Dach
ff44437706
Extract method for marking cheese
2020-08-18 20:19:58 +02:00
Bartłomiej Dach
292d38362c
De-nest cheese detection logic
2020-08-18 20:19:58 +02:00
Bartłomiej Dach
6c759f31f1
Add and use limited capacity queue
2020-08-18 20:19:58 +02:00