Commit Graph

93 Commits

Author SHA1 Message Date
e30e5bd214 Remove int casts in other calculators 2021-10-10 16:23:35 +09:00
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
176b3e7533 changed decay system to allow for customizing the currentStrain 2021-08-16 22:14:29 +00:00
fb5d25405e Replace calls to obsoleted GetOrDefault() extension 2021-07-18 21:52:16 +02:00
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
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
d0e9f8ef90 Replace and obsolete Ranked flag with IsUserPlayable 2021-06-09 14:17:03 +09:00
f1bef989b7 Refactor DifficultyAttributes to use auto properties over public fields 2021-06-08 19:43:59 +10:00
f51413ead9 Refactor to pass clockrate in constructor rather than deriving from mods 2021-06-03 16:09:42 +10:00
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
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
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
abd395a030 Remove unecessary using references. 2020-10-02 19:41:24 +02:00
0163688a17 Remove IBeatmap from PerformanceCalculator. 2020-10-02 19:24:30 +02:00
f439c1afbc Make osu/taiko/catch use Ok+Great 2020-09-29 17:16:55 +09:00
847ec8c248 Fix n^2 characteristic in taiko diffcalc 2020-09-19 14:52:05 +09:00
7f2ce14f36 Merge pull request #9294 from smoogipoo/morth-taiko-changes 2020-09-15 16:11:17 +09:00
a350802158 Fix wrong mono streak length handling in corner case 2020-09-10 20:50:26 +02:00
6e5c5ab901 Fix invalid initial value of currentMonoLength 2020-09-10 18:22:49 +02:00
74eea8900b Remove unnecessary check for negative durations 2020-09-10 20:00:57 +09:00
1c1afa1c96 Move MaxCombo to base DifficultyAttributes 2020-08-28 19:16:20 +09:00
7c9fae55ad Hopefully fix off-by-one errors 2020-08-22 22:50:58 +02:00
5afe9b73d2 Fix invalid cref 2020-08-22 21:27:08 +02:00
a080774799 Add xmldoc to taiko difficulty calculation code 2020-08-22 19:44:58 +02:00
8ace7df0fd Reorder members for better readability 2020-08-22 19:34:49 +02:00
7e2bef3b9f Split conditional for readability 2020-08-22 19:34:49 +02:00
bcf3cd5657 Remove unnecessary yield iteration 2020-08-22 19:34:49 +02:00
cb3fef7616 Inline same parity penalty 2020-08-22 19:34:49 +02:00
ec99fcd7ab Avoid passing down rhythm list every time 2020-08-22 19:34:49 +02:00
27f97973ee Add more proper typing to skills 2020-08-18 20:19:58 +02:00
cb5ea6aa9a Generalise p-norm function 2020-08-18 20:19:58 +02:00
51d41515ef Simplify expression with ternary 2020-08-18 20:19:58 +02:00
c827e21506 Extract helper method to reset rhythm strain 2020-08-18 20:19:58 +02:00
80e4c15727 Use Math.Clamp 2020-08-18 20:19:58 +02:00
ce0e5cf9a1 Slightly optimise and de-branch rhythm pattern recognition 2020-08-18 20:19:58 +02:00
d7ff3d77eb Slightly optimise and de-branch repetition pattern recognition 2020-08-18 20:19:58 +02:00
00ae456f08 Remove unnecessary null check 2020-08-18 20:19:58 +02:00
c6a640db55 Remove superfluous IsRepeat field 2020-08-18 20:19:58 +02:00
f22050c975 Remove unnecessary initialiser 2020-08-18 20:19:58 +02:00
ff44437706 Extract method for marking cheese 2020-08-18 20:19:58 +02:00
292d38362c De-nest cheese detection logic 2020-08-18 20:19:58 +02:00
6c759f31f1 Add and use limited capacity queue 2020-08-18 20:19:58 +02:00
9fb494d5d3 Eliminate unnecessary loop 2020-08-18 17:36:23 +02:00
cd2280b5bf Fix cheese indexing bug 2020-08-18 17:36:21 +02:00
8ded5925ff Xmldoc colour strain 2020-08-13 13:47:35 +09:00
5010d2044a Replace IsKat with HitType 2020-08-13 01:35:56 +09:00
d2a03f1146 Refactor TaikoDifficultyHitObject 2020-08-13 00:59:22 +09:00
4c00c11541 Remove unnecessary change 2020-07-29 20:53:14 +09:00
c44ac9104f Fix post-merge error 2020-07-17 14:19:43 +09:00
98accf2777 Merge branch 'master' into morth-taiko-changes 2020-07-17 14:19:32 +09:00