Commit Graph

34 Commits

Author SHA1 Message Date
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
4dcf39846d Pass beatmap to CreateSkills() 2019-02-19 17:52:59 +09:00
ca8b7f24b4 Remove PopulateAttributes() 2019-02-19 17:36:33 +09:00
93b7b51d0a timeRate -> clockRate 2019-02-19 14:29:23 +09:00
af0bb4d5e8 Remove mods from constructor 2019-02-19 13:40:39 +09:00
a8faa942a6 Implement new difficulty calculator structure 2019-02-18 14:49:43 +09:00
8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
be37f3c328 Rename NoModMod 2018-11-30 17:35:13 +09:00
9f933187e9 Apply review feedback 2018-07-17 16:33:08 +09:00
825941aff1 Use switch with type matching in place of if-else where possible 2018-07-17 14:35:09 +09:00
b7a06b9594 Restructure of DifficultyCalculator to cleanup mod + attribute handling 2018-06-14 15:32:07 +09:00
1431ee1867 Remove unused method 2018-06-14 14:46:25 +09:00
83ff47ec80 Rewrite difficulty mod combinations 2018-06-06 16:20:17 +09:00
995fda9b6f Move base classes to osu.Game.Rulesets.Difficulty namespace 2018-05-15 17:38:08 +09:00