1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-11 13:37:25 +08:00
Commit Graph

247 Commits

Author SHA1 Message Date
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
Bartłomiej Dach
9fb494d5d3 Eliminate unnecessary loop 2020-08-18 17:36:23 +02:00
Bartłomiej Dach
cd2280b5bf Fix cheese indexing bug 2020-08-18 17:36:21 +02:00
smoogipoo
8ded5925ff Xmldoc colour strain 2020-08-13 13:47:35 +09:00
smoogipoo
5010d2044a Replace IsKat with HitType 2020-08-13 01:35:56 +09:00
smoogipoo
d2a03f1146 Refactor TaikoDifficultyHitObject 2020-08-13 00:59:22 +09:00
smoogipoo
4c00c11541 Remove unnecessary change 2020-07-29 20:53:14 +09:00
smoogipoo
c44ac9104f Fix post-merge error 2020-07-17 14:19:43 +09:00
smoogipoo
98accf2777 Merge branch 'master' into morth-taiko-changes 2020-07-17 14:19:32 +09:00
smoogipoo
87713215dc Remove redundant parens 2020-07-16 14:30:17 +09:00
smoogipoo
352f59942e Fix incorrect time delta in taiko strain 2020-07-13 16:50:54 +09:00
smoogipoo
68027fcc2c Update with latest changes 2020-06-08 16:30:26 +09:00
smoogipoo
5852a37eb7 Update with latest changes 2020-05-24 11:48:56 +09:00
smoogipoo
9461097b00 Update with latest changes 2020-05-22 20:50:21 +09:00
smoogipoo
d04da46522 Merge branch 'master' into morth-taiko-changes 2020-05-22 20:48:04 +09:00
smoogipoo
1865cd0762 Fix possible exceptions in performance calculators 2020-05-18 15:10:59 +09:00
smoogipoo
b0ed39f32b Do not use statics 2020-05-11 14:57:47 +09:00
smoogipoo
779af48802 Resolve errors + auto-format 2020-05-11 14:53:42 +09:00
smoogipoo
d613888803 Add initial changes 2020-05-11 14:50:02 +09:00
smoogipoo
5106d275ca Remove CentreHit/RimHit hitobject abstraction 2020-03-23 12:08:15 +09:00
Huo Yaoyuan
6a58509f41 Fix format. 2019-12-03 20:59:42 +08:00
Huo Yaoyuan
9ddfdab27a Remove meaningless Convert calls. 2019-12-03 20:47:00 +08:00
Huo Yaoyuan
9425e80a5d Unify to use double in performance calculators. 2019-11-26 18:34:23 +08:00
Dean Herbert
f925e781a9 Refactor HitWindows for legibility 2019-09-06 15:24:14 +09:00
smoogipoo
4c150839c0 Fix potential diffcalc hitwindow nullref 2019-09-02 17:38:58 +09:00
HoLLy
7e9f5a0939 Add Skills to DifficultyAttributes 2019-05-29 11:22:51 +02:00
smoogipoo
5ff890434c Add beatmap argument 2019-02-19 17:57:29 +09:00
smoogipoo
c264a9cc74 Fix mods not being populated 2019-02-19 17:46:40 +09:00
smoogipoo
0ef15f5bd5 Update with PopulateAttributes() removal 2019-02-19 17:45:16 +09:00
smoogipoo
7ba0d090fc Fix post-merge errors 2019-02-19 16:40:52 +09:00
smoogipoo
7f4643a83d Adjust naming 2019-02-18 14:55:39 +09:00
smoogipoo
46b979a412 Fix colour changes not being reset 2019-02-18 14:55:20 +09:00
smoogipoo
cb17cbcdc4 Fix taiko nullrefing 2019-02-18 14:54:35 +09:00
smoogipoo
25d85b6eb4 Implement new difficulty calculator for Rulesets.Taiko 2019-02-18 14:54:21 +09:00
smoogipoo
a8faa942a6 Implement new difficulty calculator structure 2019-02-18 14:49:43 +09:00
HoLLy
ae9d5f999c Use correct DifficultyAttributes where possible 2019-02-06 21:28:42 +01:00
Dean Herbert
8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
Dean Herbert
831cd3ed59 ScoreInfo scoreInfo -> ScoreInfo score 2018-11-30 15:18:52 +09:00
smoogipoo
219929eb47 Score -> ScoreInfo 2018-11-28 18:33:01 +09:00
smoogipoo
5fd6e6ca77 Re-namespacing 2018-11-28 16:12:57 +09:00
jorolf
f0f7b15edc
remove unused using 2018-11-15 00:45:27 +01:00
jorolf
023924396d Move flashlight code from OsuModFlashlight to ModFlashlight and implement other modes and break time 2018-11-11 18:38:12 +01:00
smoogipoo
48989df6eb Make sure that 0 SR is returned when there are no hitobjects 2018-06-21 12:04:14 +09:00
smoogipoo
01dd2d7919 Move taiko difficulty attributes to TaikoDifficultyCalculator 2018-06-14 16:26:51 +09:00
smoogipoo
8f7334874c Fix up performance calculators 2018-06-14 16:04:48 +09:00
smoogipoo
33c7ce1bec Adjust TaikoDifficultyCalculator in-line with changes 2018-06-14 15:47:42 +09:00
smoogipoo
83ff47ec80 Rewrite difficulty mod combinations 2018-06-06 16:20:17 +09:00
smoogipoo
215cc9fba7 Change all performance calculators to use int hitwindows
Has a pretty large (>6) effect on pp for some maps.
2018-05-25 20:07:14 +09:00
smoogipoo
765a50d007 Remove 0.5 offsets
Checked up against DB values + server-side build versions, and these 0.5s don't seem to exist. Brings calculations more in-line with osu!stable.
2018-05-25 20:05:53 +09:00
smoogipoo
3091d3a014 Implement the taiko performance calculator 2018-05-17 17:56:44 +09:00
smoogipoo
450d54eea9 Fix taiko difficulty calculator never considering mods 2018-05-17 17:56:37 +09:00
smoogipoo
803200ff6a Apply similar changes to other rulesets 2018-05-15 17:40:19 +09:00