Commit Graph

109 Commits

Author SHA1 Message Date
Dan Balasescu 523f668c8c Remove unnecessary ctor argument 2022-03-15 12:37:39 +09:00
Dan Balasescu 4a3e3aba65 Restructure PerformanceCalculator to not require ScoreInfo argument 2022-03-14 14:25:28 +09:00
Dan Balasescu 84e82ef5e4 Add XMLDocs to difficulty attribute properties 2022-02-16 14:09:19 +09:00
Henry Lin b81fc675e8 Include PropertyName in PerformanceDisplayAttribute 2022-01-17 20:45:25 +08:00
Henry Lin 511a607599 Display performance breakdown in a tooltip 2022-01-17 18:28:17 +08:00
StanR 40b3ce0ade Clean up comments 2021-12-21 14:03:24 +03:00
StanR cca02a8016 Create PerformanceAttributes 2021-12-21 13:08:31 +03:00
StanR 2f2006715e Slightly refactor difficulty and pp calculators 2021-12-17 23:40:23 +03:00
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