vun
fb9bb2d42d
Declare Parent as non-nullable
2022-08-24 08:57:13 +08:00
Jay L
3acbcac4d1
fix NaN PP on 0 object count
2022-08-22 19:45:51 +10:00
Jay L
c1da509119
round numerical value
...
this is painfully annoying me
2022-08-19 23:23:40 +10:00
Jay L
faf143b11a
fix comment
2022-08-19 23:15:38 +10:00
Jay L
b30fba1430
emc attribute
2022-08-19 22:57:40 +10:00
Jay L
fea31cc895
introduce effective misscount, accuracy rescale
2022-08-19 22:57:28 +10:00
vun
f3e1287f04
Remove redundant using statement
2022-08-19 16:19:45 +08:00
vun
684efefb50
Add FirstHitObject as a property of encoding classes
2022-08-19 16:13:36 +08:00
vun
a26de0a10f
Add HitType property to MonoStreak
2022-08-19 16:05:34 +08:00
vun
51176e9577
Naming changes
2022-08-19 15:45:43 +08:00
vun
5dcd4ce7c5
Naming changes
2022-08-19 15:31:03 +08:00
vun
40b1554fea
Change FindRepetitionInterval to start with one previous encoding
2022-08-18 14:12:03 +08:00
Dan Balasescu
8e0049c005
Add back null check
2022-08-15 21:57:41 +09:00
Dan Balasescu
c03e47317a
Fix notes not being added to list
2022-08-15 21:56:03 +09:00
Dan Balasescu
4d4ee05981
Whoops I meant to remove these
2022-08-15 21:56:03 +09:00
Dan Balasescu
78283ce3c5
Remove TaikoDifficultyPreprocessor
2022-08-15 21:43:09 +09:00
Dan Balasescu
21d2998032
Privatise internals of TaikoColourDifficultyPreprocessor
2022-08-15 21:35:57 +09:00
Dan Balasescu
94c6beeaf7
Use ctor in a place that looks visually weird
...
I read through this thinking "why doesn't Previous get assigned to
currentEncoding here? But it's because the initializer runs right after
the ctor and before the "method" returns. So really there's 3 operations
running on one line here - ctor, init, and assignment.
2022-08-15 21:30:46 +09:00
Dan Balasescu
502e31dd37
General refactoring
2022-08-15 21:26:54 +09:00
Dan Balasescu
d686e841c5
Merge branch 'master' into colour-encoding-2
2022-08-15 20:56:50 +09:00
vun
fc08d77090
Remove review-specific comment
2022-07-22 18:31:59 +08:00
vun
7d4593eb6d
Fix comments
2022-07-22 18:20:35 +08:00
vun
17d418d319
Merge remote-tracking branch 'ppy/master' into colour-encoding-2
2022-07-22 16:31:28 +08:00
vun
6359c1a4fe
Fix outdated comment
2022-07-22 16:31:19 +08:00
vun
4433f902ea
Fix and add comments
2022-07-22 10:49:53 +08:00
vun
e4086b058b
Implement stateless colour evaluator and required encoding changes
2022-07-21 19:15:22 +08:00
Dean Herbert
aca19a005e
Add versioning to difficulty calculators
2022-07-21 18:15:25 +09:00
vun
7917a60e3c
Move TaikoDifficultyHitObject creation back to TaikoDifficultyCalculator
2022-07-21 15:45:03 +08:00
Jay L
b7567f7db2
Share sigmoid, Fix Preprocessor XML
2022-07-21 10:52:41 +10:00
Jay L
08dd9c79db
Fix Convert-related nerf
...
This addresses recent player unsatisfaction with converts being underweighted.
2022-07-21 09:55:19 +10:00
Jay L
cb63ec282e
Partial Review changes
2022-07-20 23:33:38 +10:00
Jay L
e82e11ead5
Fix SpeedBonus xml
2022-07-17 14:56:07 +10:00
Jay L
5532f56a30
performance points balancing
2022-07-17 14:10:49 +10:00
vun
a66fd87274
Fix speed bonus comment
2022-07-16 19:48:29 +08:00
vun
8beb5568b8
Fix speed bonus
2022-07-16 19:45:35 +08:00
Jay L
8a17b509d9
Increase SpeedBonus Cap to 600BPM
2022-07-16 21:20:25 +10:00
vunyunt
9994f13031
Merge branch 'ppy:master' into colour-encoding-2
2022-07-15 21:19:49 +08:00
Jay L
c8b7902a63
Reintroduce Convert Nerf, Rescale Multiplier
2022-07-15 22:10:20 +10:00
Jay L
7e3f62a5a5
Codequality parse
2022-07-15 21:07:01 +10:00
vun
45c055bfa1
Move rhythm preprocessing to its own folder
2022-07-14 17:25:21 +08:00
vun
1cb18f8474
Refactor colour encoding to avoid circular dependencies
2022-07-14 16:29:23 +08:00
vun
6660379a0e
TAIKO-6 Tweak encoding and parameters, reduce rhythm weight
2022-07-07 16:04:46 +08:00
vun
f6dedc77fb
Fixed encoding logic, parameter adjustments
2022-07-05 17:01:11 +08:00
vun
505a24a68e
Implement new colour encoding and evaluator
2022-07-05 14:41:40 +08:00
vun
5f8d21f33d
Per encoding evaluation
2022-07-01 14:27:23 +08:00
vun
cba47f8202
[WIP] Colour evaluator for new colour encoding
2022-06-28 10:38:58 +08:00
Dan Balasescu
0fd2c010e5
Remove NRT disables from attributes classes
2022-06-27 16:07:15 +09:00
Dan Balasescu
0579780bb8
Add IBeatmapOnlineInfo parameter and use to extract more data
2022-06-27 16:07:15 +09:00
vun
8c162585b8
Comment out logging for debugging purposes
2022-06-25 22:49:19 +08:00
vun
15372267e1
Implement new colour encoding
2022-06-25 22:42:56 +08:00
vun
f42aac9954
TAIKO-6 Pre-evaluate colour to avoid per-note evaluation
2022-06-23 17:10:30 +08:00
vun
c5fd48372b
Flatten speed bonus for stamina
2022-06-22 17:17:19 +08:00
vun
3529514587
Disablle nullable in TaikoDifficultyHitObjectColour
2022-06-19 17:26:11 +08:00
vun
57964311be
Revert performance calculator to upstream
2022-06-19 17:20:53 +08:00
vun
95c43d9384
Merge remote-tracking branch 'ppy/master' into colour-rework
2022-06-19 17:18:05 +08:00
vun
da1d99d5b6
Parameter tweaks, change repetition interval definition
2022-06-19 17:14:31 +08:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
vun
319d0aa036
Merge remote-tracking branch 'ppy/master' into colour-rework
2022-06-13 17:29:26 +08:00
vun
2b2150ac04
Refactor TaikoDifficultyHitObject creation into the class as a static method
2022-06-10 14:58:50 +08:00
vun
2881406f6b
Nerf alternating pattern slightly, value rescale
2022-06-09 19:41:59 +08:00
Dan Balasescu
6d2a2ba7d6
Rename Position -> Index
2022-06-09 18:49:11 +09:00
vun
54f41ab4fa
Merge branch 'colour-rework-huismet' of https://github.com/Lawtrohux/osu into colour-rework
2022-06-09 17:34:48 +08:00
vun
4c574eb044
Rescale multipliers (values unaffected)
2022-06-09 17:31:54 +08:00
Jay L
6dbaf0a030
Refactor
2022-06-09 19:22:55 +10:00
vun
5793ca5534
Parameter tweaks
2022-06-09 12:35:26 +08:00
vun
d8d4ac431e
Refactor LocallyCombinedDifficulty to an external skill
2022-06-08 13:24:51 +08:00
vun
fd49a27cf9
Fix encoding repetition, parameter adjustments
2022-06-07 13:30:24 +08:00
vun
07d3a7bd2e
Fix logic error, minor stamina changes
2022-06-06 16:11:26 +08:00
vun
bfada36554
Merge branch 'taiko-evaluators' into colour-rework
2022-06-06 12:45:48 +08:00
vun
3dd0c4aec8
[WIP] Colour rework
2022-06-06 12:42:49 +08:00
vun
56a4034c22
Change RepetitionInterval to have max_repetition_interval + 1 when no repetition is found.
2022-06-02 18:48:36 +08:00
vun
c9877084c4
Merge remote-tracking branch 'apollo/dho' into colour-rework
2022-06-02 18:34:46 +08:00
vun
0a21f7c30d
Implement mono history in TaikoDifficultyHitObject
2022-06-01 05:20:08 +08:00
vun
8bbe70bff0
Fix NullPointerReference
2022-06-01 04:33:37 +08:00
vun
86ffa810a9
Implement stamina evaluator (untested yet)
2022-05-31 23:17:39 +08:00
apollo-dw
66a6467403
Pass object position to the object
2022-05-26 19:26:14 +01:00
vun
1972bdd6c7
Working colour encoding
2022-05-26 18:04:25 +08:00
apollo-dw
30b9e0e7ab
Use object list size for object position
2022-05-24 16:30:25 +01:00
vun
f01deae428
Colour compression preprocessing implementation
2022-05-24 17:38:52 +08:00
apollo-dw
5dbec92d9e
Update comments
2022-05-23 22:17:29 +01:00
apollo-dw
903c4f7b3d
Merge remote-tracking branch 'master/master' into dho
2022-05-23 13:39:04 +01:00
Dan Balasescu
6cfe35360a
Refactor key indexing
2022-05-23 14:36:06 +09:00
Dan Balasescu
63a3829768
Split out SingleKeyStamina class
2022-05-23 14:19:25 +09:00
apollo-dw
26985ca8af
Store hitobject history in the hitobject
2022-05-22 16:26:22 +01:00
Jay L
db6abd86f0
Rectify null value call
...
tired programming is never a good idea
2022-05-17 09:10:52 +10:00
Jay L
c7ec95c0d0
Rectify Review Changes
2022-05-17 09:10:52 +10:00
Jay L
94294ba351
Apply Review Changes
2022-05-17 09:10:52 +10:00
Jay L
d94e30bed3
Rewrite Performance difficultyValue Calculation
...
To change values in line with the community survey, pp has been rescaled immensely, with changes on both the lower and upper end.
2022-05-17 09:10:52 +10:00
Jay L
b44afb19b1
Include Convert Penalty
...
For low colour variance
2022-05-17 09:10:52 +10:00
Jay L
d174099016
Refactor and Cleanup of Stamina.cs
2022-05-17 09:10:52 +10:00
Jay L
f15738fded
Remove Redundant Detection
...
Not needed, as nerf is not required anymore and has negative effect.
2022-05-17 09:10:52 +10:00
Jay L
48b7e0f090
Stamina Skill Rewrite and Refactor
2022-05-17 09:10:52 +10:00
Dan Balasescu
637f817696
Ignore zero-sections on a per-case basis
2022-05-03 16:06:20 +09: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
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
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
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