1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-24 18:22:55 +08:00
Commit Graph

101 Commits

Author SHA1 Message Date
Dean Herbert
9f688f6291 Stop persisting Skills 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