1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 17:57:29 +08:00
Commit Graph

302 Commits

Author SHA1 Message Date
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 Skills 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