Dean Herbert
b339c149d8
Copy BaseDifficulty
to Beatmap<T>
and move all write operations across
2021-10-06 15:10:45 +09:00
Dean Herbert
05996cc2e9
Add changes that got forgotted in branch surgery
2021-10-01 17:04:53 +09:00
Dean Herbert
16e60eed56
Reduce NestedHitObject
enumerator overhead
...
This was especially bad due to it allocating on any and every start time
change, even the first (see usage in `HitObject.ctor`).
2021-09-20 15:09:27 +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
7cdef5cb0a
Merge branch 'master' into diffcalc/refactor/catch-clockrate-effects
2021-06-03 15:51:03 +10:00
Samuel Cattini-Schultz
94701b77cb
Add TODO for variable clockrate support in catch difficulty calculator
2021-06-03 15:44:28 +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
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
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
ekrctb
96f3e0dad8
Replace CatchHitObject.X usage to EffectiveX and OriginalX
2020-12-14 11:03:14 +09:00
ekrctb
ab7251d742
Move members to PalpableCatchHitObject
2020-11-24 19:57:37 +09: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
1c1afa1c96
Move MaxCombo to base DifficultyAttributes
2020-08-28 19:16:20 +09:00
bastoo0
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
ekrctb
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
smoogipoo
f3b5149648
Move some suggestions to warnings, resolve issues
2020-06-03 16:48:44 +09:00
Huo Yaoyuan
b43e978156
Unify to use double in CatchPerformanceCalculator.
2020-05-18 17:44:56 +08:00
smoogipoo
1865cd0762
Fix possible exceptions in performance calculators
2020-05-18 15:10:59 +09:00
smoogipoo
f42be7a6d7
Merge branch 'master' into sorcerer-catch-changes
2020-05-04 15:25:09 +09:00
Salman Ahmed
f841eb7e06
Replace constructing a whole Catcher with static calculation methods
2020-04-22 07:27:15 +03:00
smoogipoo
d7ea5432a8
Fix incorrect combo calculation
2020-04-16 18:15:52 +09:00
smoogipoo
c6aa6acc1b
Apply performance calculator changes
2020-04-16 17:28:06 +09:00
smoogipoo
fd51bbb9ec
Apply latest changes
2020-04-08 12:20:46 +09:00
smoogipoo
c5aae9b757
Fix post-merge errors
2020-04-08 12:19:09 +09:00
smoogipoo
4e55212638
Merge branch 'master' into sorcerer-catch-changes
2020-04-08 12:15:24 +09:00
Dean Herbert
03b90fe2db
Remove local application of same margin in CatchDifficultyCalculator
2020-03-31 19:01:49 +09:00
Dean Herbert
1523c4c63f
Merge branch 'master' into catcher-area-file-cleanup
2020-03-14 15:41:26 +09:00
Dean Herbert
1733519c3a
Split out CatcherArea nested classes and reorder methods
2020-03-13 12:59:30 +09:00
smoogipoo
c8cdc5fda5
Expose half catcher width to movement skill
2020-03-13 12:43:01 +09:00
smoogipoo
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
Dean Herbert
f0d49d0cdf
Decouple APILegacyScoreInfo from ScoreInfo
2019-12-03 15:31:11 +09:00
Huo Yaoyuan
9425e80a5d
Unify to use double in performance calculators.
2019-11-26 18:34:23 +08:00
Berkan Diler
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
Berkan Diler
6cab517b2d
.NET Standard 2.1 implements Math.Clamp , use it instead of MathHelper.Clamp from osuTK.
2019-11-20 13:37:47 +01:00
HoLLy
7e9f5a0939
Add Skills to DifficultyAttributes
2019-05-29 11:22:51 +02:00
HoLLy
cb664dd183
Change OfType<> to Cast<> to be more clear
2019-05-12 22:08:47 +02:00
HoLLy
3981cf55fa
Fix order of nested hitobjects on 2B Catch maps
2019-05-12 21:31:16 +02:00
smoogipoo
2824a32db6
Adjust circle-size bonus point
2019-04-03 11:39:13 +09:00
smoogipoo
5566c4881a
Buff DT
2019-04-03 11:38:48 +09:00
smoogipoo
21e62c37d8
General fixes
2019-04-02 07:28:04 +09:00
Dean Herbert
612db31c38
Apply newline additions
2019-04-01 12:16:32 +09:00