Commit Graph

117 Commits

Author SHA1 Message Date
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
7cdef5cb0a Merge branch 'master' into diffcalc/refactor/catch-clockrate-effects 2021-06-03 15:51:03 +10:00
94701b77cb Add TODO for variable clockrate support in catch difficulty calculator 2021-06-03 15:44:28 +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
323e4ac26b Refactor catch Movement skill to not require explicit clockrate usage
In catch, rate adjustment mods do not only affect the timings of hitobjects, but also the speed of the player's catcher.

This catcher speed change has an impact on difficulty which is currently accounted for by using the clockrate directly in calculations.

Semantically this is a bad idea because clockrate adjustments are supposed to be fully accounted for in DifficultyHitObjects, but passing clockrate here for the purpose of being used as catcher speed doesn't make much sense, especially since it is copied in every DifficultyHitObject despite being the same value.

It makes more sense to account for this catch specific impact by handling rate adjustment mods in a catch specific way, or more specifically in a Movement skill specific way.
2021-02-21 18:24:30 +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
96f3e0dad8 Replace CatchHitObject.X usage to EffectiveX and OriginalX 2020-12-14 11:03:14 +09:00
ab7251d742 Move members to PalpableCatchHitObject 2020-11-24 19:57:37 +09: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
1c1afa1c96 Move MaxCombo to base DifficultyAttributes 2020-08-28 19:16:20 +09:00
2b068298cc Fix inconsistency between this and osu-performance
The bonus value for HD is given twice here (probably a merge issue). The correct bonus is currently used on stable: 736515a034/src/performance/catch/CatchScore.cpp (L68)
2020-07-24 12:01:23 +02:00
3278a1d7d8 Standardize osu!catch coordinate system
There were two coordinate systems used:
- 0..512 (used in osu!stable)
- 0..1 (relative coordinate)

This commit replaces the usage of
the relative coordinate system to
the coordinate system of 0..512.
2020-07-02 00:21:45 +09:00
f3b5149648 Move some suggestions to warnings, resolve issues 2020-06-03 16:48:44 +09:00
b43e978156 Unify to use double in CatchPerformanceCalculator. 2020-05-18 17:44:56 +08:00
1865cd0762 Fix possible exceptions in performance calculators 2020-05-18 15:10:59 +09:00
f42be7a6d7 Merge branch 'master' into sorcerer-catch-changes 2020-05-04 15:25:09 +09:00
f841eb7e06 Replace constructing a whole Catcher with static calculation methods 2020-04-22 07:27:15 +03:00
d7ea5432a8 Fix incorrect combo calculation 2020-04-16 18:15:52 +09:00
c6aa6acc1b Apply performance calculator changes 2020-04-16 17:28:06 +09:00
fd51bbb9ec Apply latest changes 2020-04-08 12:20:46 +09:00
c5aae9b757 Fix post-merge errors 2020-04-08 12:19:09 +09:00
4e55212638 Merge branch 'master' into sorcerer-catch-changes 2020-04-08 12:15:24 +09:00
03b90fe2db Remove local application of same margin in CatchDifficultyCalculator 2020-03-31 19:01:49 +09:00
1523c4c63f Merge branch 'master' into catcher-area-file-cleanup 2020-03-14 15:41:26 +09:00
1733519c3a Split out CatcherArea nested classes and reorder methods 2020-03-13 12:59:30 +09:00
c8cdc5fda5 Expose half catcher width to movement skill 2020-03-13 12:43:01 +09:00
cf12ffd27e Merge remote-tracking branch 'origin/master' into sorcerer-catch-changes
# Conflicts:
#	osu.Game.Rulesets.Catch/Difficulty/CatchPerformanceCalculator.cs
2020-02-13 17:18:32 +09:00
f0d49d0cdf Decouple APILegacyScoreInfo from ScoreInfo 2019-12-03 15:31:11 +09:00
9425e80a5d Unify to use double in performance calculators. 2019-11-26 18:34:23 +08:00
fccdbffa93 Use MathF instead of Math- functions when possible
MathF-functions are faster than the Math-counterpart and it looks cleaner, so use MathF when we cast to float or int anyway.
2019-11-25 00:45:42 +01:00
6cab517b2d .NET Standard 2.1 implements Math.Clamp , use it instead of MathHelper.Clamp from osuTK. 2019-11-20 13:37:47 +01:00
7e9f5a0939 Add Skills to DifficultyAttributes 2019-05-29 11:22:51 +02:00
cb664dd183 Change OfType<> to Cast<> to be more clear 2019-05-12 22:08:47 +02:00
3981cf55fa Fix order of nested hitobjects on 2B Catch maps 2019-05-12 21:31:16 +02:00
2824a32db6 Adjust circle-size bonus point 2019-04-03 11:39:13 +09:00
5566c4881a Buff DT 2019-04-03 11:38:48 +09:00
21e62c37d8 General fixes 2019-04-02 07:28:04 +09:00
612db31c38 Apply newline additions 2019-04-01 12:16:32 +09:00
efee2fb283 Adjust antiflow calculations 2019-04-01 11:00:26 +09:00
b2396b82a5 Change edge dashes to scale linearly once again 2019-04-01 10:58:26 +09:00
b402981fc6 Buff CS > 5 2019-04-01 10:57:01 +09:00