63411
8b55d3855a
Use isOverlapping bool to determine holdAddition
2022-04-22 13:27:59 +08:00
63411
56bbfa58e5
Add missing absolute value of closestEndTime
2022-04-22 13:01:41 +08:00
63411
97b4a2a105
Use better initial value for closestEndTime
2022-04-22 12:59:00 +08:00
63411
574007c07a
Optimise holdAddition calculation
2022-04-22 02:02:23 +08:00
63411
e7a149af6c
Use curve for holdAddition validity cutoff
2022-04-21 23:05:20 +08:00
63411
a0a83fb51f
Use closest endTime for holdAddition validity
2022-04-21 23:03:28 +08:00
Dan Balasescu
523f668c8c
Remove unnecessary ctor argument
2022-03-15 12:37:39 +09:00
Dan Balasescu
4a3e3aba65
Restructure PerformanceCalculator to not require ScoreInfo argument
2022-03-14 14:25:28 +09:00
Dean Herbert
13b6cfb5ed
Merge pull request #16898 from smoogipoo/fix-mania-pp-score-multiplier
...
Fix mania PP calculator applying incorrect score multiplier
2022-02-17 19:21:08 +09:00
Dean Herbert
64360f2b37
Merge pull request #16891 from smoogipoo/fix-mania-hitwindow-attrib
...
Fix mania hit window attribute improperly considering rate-adjustment mods
2022-02-17 14:03:51 +09:00
Dan Balasescu
39a7bbdb9a
Fix mania PP calculator applying incorrect score multiplier
2022-02-17 14:03:39 +09:00
Dean Herbert
7307e68e9c
Revert "Merge pull request #16889 from smoogipoo/remove-mod-multiplier"
...
This reverts commit 252b945d3b
, reversing
changes made to a1b39a96cf
.
2022-02-17 13:26:12 +09:00
Dan Balasescu
0b37efc985
Add explanatory note
2022-02-16 20:07:58 +09:00
Dan Balasescu
a0ee86ddd2
Fix improperly considering rate adjustment mods
2022-02-16 19:51:42 +09:00
Dan Balasescu
d4bf335fcc
Use score multiplier attribute in ManiaPerformanceCalculator
2022-02-16 16:24:40 +09:00
Dan Balasescu
84e82ef5e4
Add XMLDocs to difficulty attribute properties
2022-02-16 14:09:19 +09:00
Henry Lin
b81fc675e8
Include PropertyName in PerformanceDisplayAttribute
2022-01-17 20:45:25 +08:00
Henry Lin
d014fef179
Hide confusing attributes
2022-01-17 20:36:36 +08:00
Henry Lin
511a607599
Display performance breakdown in a tooltip
2022-01-17 18:28:17 +08:00
StanR
40b3ce0ade
Clean up comments
2021-12-21 14:03:24 +03:00
StanR
cca02a8016
Create PerformanceAttributes
2021-12-21 13:08:31 +03:00
StanR
2f2006715e
Slightly refactor difficulty and pp calculators
2021-12-17 23:40:23 +03:00
Dean Herbert
9f688f6291
Stop persisting Skill
s 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
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +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
smoogipoo
5820a71652
Fix mania difficulty calculator crashing
2021-10-01 19:57: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
smoogipoo
8438fce764
Merge branch 'master' into diffcalc/fix/clockrate-adjusted-decay
2021-03-26 11:47:38 +09: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
Samuel Cattini-Schultz
442347df8e
Fix clockrate adjusted difficulty calculations bug in strain decay
...
When starting a new section, the starting strain value was calculated using the unadjusted timing value, meaning decay curves were essentially being stretched or squashed according to the clockrate.
This caused incorrect strain peaks for any section where the peak occurs at the start of the section (none of the objects in the section added enough strain after decay to exceed the starting strain).
This bug caused star ratings with clockrates above 1 to be lower than they should and below 1 to be higher than they should.
2021-02-20 20:23:49 +11:00
smoogipoo
26dffbfd3b
Replicate hit window calculation
2020-10-14 20:40:39 +09:00
smoogipoo
3e6ed6c9ff
Add support for dual stages (keycoop) and score multiplier
2020-10-14 17:53:28 +09:00
smoogipoo
306d876d22
Replicate stable's unstable sort
2020-10-09 21:50:20 +09:00
smoogipoo
5017c92fe8
Combine mania skills
2020-10-09 21:47:34 +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
85bda29b71
Add mania max combo attribute
2020-08-28 19:16:24 +09:00
smoogipoo
1865cd0762
Fix possible exceptions in performance calculators
2020-05-18 15:10:59 +09:00
Huo Yaoyuan
ddb2cfc46d
Use GetEndTime in Taiko and Mania
2019-12-14 18:16:13 +08:00
Huo Yaoyuan
9ddfdab27a
Remove meaningless Convert calls.
2019-12-03 20:47:00 +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
Dean Herbert
26d53d06a9
Fix remaining issues
2019-02-28 13:31:40 +09:00
Dean Herbert
d6a2fe6891
Remove excess newline
2019-02-20 10:29:08 +09:00
smoogipoo
4efc03cdf0
Add beatmap argument + fix crashes
2019-02-19 17:56:38 +09:00
smoogipoo
5457097342
Update with PopulateAttributes() removal
2019-02-19 17:48:00 +09:00
smoogipoo
bf17826363
Fix post-merge errors
2019-02-19 16:30:29 +09:00
smoogipoo
9cce9ce97c
Consider aggregate peaks
2019-02-18 15:00:32 +09:00
smoogipoo
68725dc005
Implement new difficulty calculator for Rulesets.Mania
2019-02-18 15:00:20 +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
Unknown
6eff79913b
remove blank lines
2019-01-11 10:34:56 +01: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
smoogipoo
48989df6eb
Make sure that 0 SR is returned when there are no hitobjects
2018-06-21 12:04:14 +09:00
Dan Balasescu
bf11a61d52
Merge branch 'master' into more-diffcalc-attributes
2018-06-21 09:26:50 +09:00
Dean Herbert
6fa72c510f
Avoid listing the base mods twice
2018-06-18 00:48:35 +09:00
smoogipoo
0a99d21938
Use the passed-in ruleset
2018-06-17 18:01:28 +09:00
smoogipoo
08b9cf75e9
Don't compute keymod difficulties for mania-specific beatmaps
...
These don't affect the number of keys in the beatmap at all for mania-specific beatmaps.
2018-06-14 17:10:08 +09:00
smoogipoo
22add2abc5
Move mania difficulty attributes to ManiaDifficultyCalculator
2018-06-14 16:25:44 +09:00
smoogipoo
8f7334874c
Fix up performance calculators
2018-06-14 16:04:48 +09:00
smoogipoo
966099fabc
Adjust ManiaDifficultyCalculator in-line with changes
2018-06-14 15:54:05 +09:00
smoogipoo
83ff47ec80
Rewrite difficulty mod combinations
2018-06-06 16:20:17 +09:00
smoogipoo
d850e34003
Actually cast to int
2018-05-26 09:25:16 +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
Dean Herbert
6c00046835
Merge branch 'master' into mania-performance-calculator
2018-05-18 12:34:49 +09:00
smoogipoo
5aadc35a25
Stably-sort difficulty hitobjects to prevent future issues
2018-05-16 14:47:50 +09:00
smoogipoo
edbb3a5a57
Rename to use new hit result namings
2018-05-16 12:44:11 +09:00
smoogipoo
de63a1b578
Remove construction of new ruleset
2018-05-16 01:43:58 +09:00
smoogipoo
ed902d9325
Cleanup
2018-05-16 01:36:28 +09:00
smoogipoo
1fdc77d579
Update with the rebalance changes
2018-05-16 01:34:07 +09:00
smoogipoo
4019683f6c
Implement osu!mania performance calculation
2018-05-16 01:24:53 +09:00
smoogipoo
803200ff6a
Apply similar changes to other rulesets
2018-05-15 17:40:19 +09:00