Commit Graph

63 Commits

Author SHA1 Message Date
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
40f560d7d0 Remove internal process method 2022-05-22 21:45:27 +01:00
40b6f3ff0a Rename method to CalculateAllLegacyCombinations() 2022-03-31 15:09:06 +09:00
bedd07d2e4 Add remark about usage of CalculateAll() 2022-02-22 18:12:55 +09:00
3945cd24eb wip 2022-02-17 21:14:49 +09:00
cfa712473d Use default timeout in GetPlayableBeatmap when provided CancellationToken is default 2021-12-07 13:33:41 +09:00
f3e9fb76fc Add the ability to pass a CancellationToken through DifficultyCalculator.CalculateAll
Was weirdly missing from this one method.
2021-12-07 13:32:47 +09:00
0715d40ea0 Merge branch 'master' into beatmap-cancellation-token 2021-11-17 11:16:10 +09:00
6cca657a2d Standardise naming of CancellationToken parameters 2021-11-16 14:45:51 +09:00
369b4ba789 Update DifficultyCalculator to take an IRulesetInfo 2021-11-15 19:16:48 +09:00
62d670a3ca Update DifficultyCalculator to take an IWorkingBeatmap 2021-11-15 19:16:48 +09:00
c58f21a115 Handle mods with overloaded method signature instead 2021-11-08 14:43:46 +09:00
5b5e3dc4a2 Revert incorrect mod nullable parameter specification 2021-11-08 14:33:15 +09:00
d5f5d74a89 Rename CancellationToken variable 2021-11-07 13:41:54 +01:00
cf0b757b16 Fix PR comments.
Nitpick, more cancellation token checks.
2021-11-06 16:03:53 +01:00
eb7d04bc77 Add cancellation token support for beatmap difficulty calculation. 2021-11-06 00:21:29 +01:00
81aaef719f Add xmldoc to CalculateTimed() 2021-11-02 17:55:00 +09:00
0cdd2898fe Expose non-adjusted time from CalculateTimed() 2021-11-02 17:17:14 +09:00
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
d50443fdf2 Merge branch 'master' into difficulty-move-to-beatmap 2021-10-07 16:50:10 +09:00
433e7cd403 Fix rate mods not working if pp counter is displayed 2021-10-06 21:26:30 +09:00
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
599d82e383 Avoid returning a live IEnumerable 2021-10-05 17:01:07 +09:00
b6af93d434 Apply some code quality refactoring 2021-10-05 15:14:49 +09:00
a1f880a36a Split classes 2021-10-01 21:00:39 +09:00
5820a71652 Fix mania difficulty calculator crashing 2021-10-01 19:57:45 +09:00
84bddf0885 Initial PP counter implementation 2021-09-30 17:00:24 +09:00
3c028ce05c Add IDeepCloneable interface and update existing CreateCopy methods to use it 2021-07-19 12:54:17 +09:00
f51413ead9 Refactor to pass clockrate in constructor rather than deriving from mods 2021-06-03 16:09:42 +10:00
5bdd15f746 Refactor Skill.Process() to not require calling base.Process() 2021-04-05 22:14:59 +10: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
8438fce764 Merge branch 'master' into diffcalc/fix/clockrate-adjusted-decay 2021-03-26 11:47:38 +09: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
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
ef2e2894a2 Merge branch 'master' into fix-mania-diffcalc 2020-10-14 23:49:14 +09:00
ed57b1363f Remove unused usings 2020-10-14 20:08:46 +09:00
c4fdd35223 Fix same-type incompatibility through multimod 2020-10-14 19:53:37 +09:00
e9ebeedbe2 Refactor generation 2020-10-14 19:32:30 +09:00
d7a52e97ff Fix multimod difficulty combinations not generating correctly 2020-10-14 19:03:11 +09:00
8f37d2290a Expose sorting of hitobjects 2020-10-09 21:43:46 +09:00
eb074b7058 Allow mods to apply to track, not clock 2019-12-09 17:44:45 +09:00
d7c09e7dbd Merge remote-tracking branch 'origin/master' into fix-new-inspections
# Conflicts:
#	osu.Game.Rulesets.Catch/Judgements/CatchDropletJudgement.cs
#	osu.Game.Rulesets.Catch/Judgements/CatchJudgement.cs
#	osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
#	osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs
#	osu.Game.Rulesets.Osu/UI/Cursor/CursorTrail.cs
#	osu.Game.Tests/Visual/SongSelect/TestCaseBeatmapScoresContainer.cs
#	osu.Game/Graphics/OsuFont.cs
#	osu.Game/Online/API/Requests/Responses/APILegacyScoreInfo.cs
#	osu.Game/Overlays/Profile/Header/BadgeContainer.cs
#	osu.Game/Overlays/Profile/ProfileHeader.cs
#	osu.Game/Screens/Select/PlaySongSelect.cs
#	osu.Game/Skinning/LegacySkinDecoder.cs
2019-05-07 13:20:17 +09:00
0bd35ab7bb Turn on warnings, resolve issues 2019-04-25 17:36:17 +09:00
0222424aef Make mods IReadOnlyList<Mod> gamewide
Prevents potential multiple evaluations of enumerable.
2019-04-10 17:20:36 +09:00
c584967eb1 Remove mods from workingbeatmap 2019-04-09 12:59:32 +09:00
c39c37a18d Apply more missed cases 2019-04-01 12:44:46 +09:00
c510385aa8 Remove unnecessary allocations 2019-03-20 16:46:16 +09:00
6df275c83a Use fresh mods for each difficulty calculation iteration 2019-03-20 16:37:25 +09:00
26d53d06a9 Fix remaining issues 2019-02-28 13:31:40 +09:00
7e41fbc29b Remove LegacyDifficultyCalculator 2019-02-21 13:12:37 +09:00