Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Dan Balasescu
d50443fdf2
Merge branch 'master' into difficulty-move-to-beatmap
2021-10-07 16:50:10 +09:00
Dean Herbert
433e7cd403
Fix rate mods not working if pp counter is displayed
2021-10-06 21:26:30 +09:00
Dean Herbert
b339c149d8
Copy BaseDifficulty
to Beatmap<T>
and move all write operations across
2021-10-06 15:10:45 +09:00
Dean Herbert
599d82e383
Avoid returning a live IEnumerable
2021-10-05 17:01:07 +09:00
Dean Herbert
b6af93d434
Apply some code quality refactoring
2021-10-05 15:14:49 +09:00
smoogipoo
a1f880a36a
Split classes
2021-10-01 21:00:39 +09:00
smoogipoo
5820a71652
Fix mania difficulty calculator crashing
2021-10-01 19:57:45 +09:00
smoogipoo
84bddf0885
Initial PP counter implementation
2021-09-30 17:00:24 +09:00
Dean Herbert
3c028ce05c
Add IDeepCloneable
interface and update existing CreateCopy
methods to use it
2021-07-19 12:54:17 +09: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
5bdd15f746
Refactor Skill.Process() to not require calling base.Process()
2021-04-05 22:14:59 +10: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
Dean Herbert
ef2e2894a2
Merge branch 'master' into fix-mania-diffcalc
2020-10-14 23:49:14 +09:00
smoogipoo
ed57b1363f
Remove unused usings
2020-10-14 20:08:46 +09:00
smoogipoo
c4fdd35223
Fix same-type incompatibility through multimod
2020-10-14 19:53:37 +09:00
smoogipoo
e9ebeedbe2
Refactor generation
2020-10-14 19:32:30 +09:00
smoogipoo
d7a52e97ff
Fix multimod difficulty combinations not generating correctly
2020-10-14 19:03:11 +09:00
smoogipoo
8f37d2290a
Expose sorting of hitobjects
2020-10-09 21:43:46 +09:00
Dean Herbert
eb074b7058
Allow mods to apply to track, not clock
2019-12-09 17:44:45 +09:00
smoogipoo
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
smoogipoo
0bd35ab7bb
Turn on warnings, resolve issues
2019-04-25 17:36:17 +09:00
smoogipoo
0222424aef
Make mods IReadOnlyList<Mod> gamewide
...
Prevents potential multiple evaluations of enumerable.
2019-04-10 17:20:36 +09:00
smoogipoo
c584967eb1
Remove mods from workingbeatmap
2019-04-09 12:59:32 +09:00
Dean Herbert
c39c37a18d
Apply more missed cases
2019-04-01 12:44:46 +09:00
smoogipoo
c510385aa8
Remove unnecessary allocations
2019-03-20 16:46:16 +09:00
smoogipoo
6df275c83a
Use fresh mods for each difficulty calculation iteration
2019-03-20 16:37:25 +09:00
Dean Herbert
26d53d06a9
Fix remaining issues
2019-02-28 13:31:40 +09:00
smoogipoo
7e41fbc29b
Remove LegacyDifficultyCalculator
2019-02-21 13:12:37 +09:00
smoogipoo
4dcf39846d
Pass beatmap to CreateSkills()
2019-02-19 17:52:59 +09:00
smoogipoo
ca8b7f24b4
Remove PopulateAttributes()
2019-02-19 17:36:33 +09:00
smoogipoo
93b7b51d0a
timeRate -> clockRate
2019-02-19 14:29:23 +09:00
smoogipoo
af0bb4d5e8
Remove mods from constructor
2019-02-19 13:40:39 +09:00
smoogipoo
a8faa942a6
Implement new difficulty calculator structure
2019-02-18 14:49:43 +09:00
Dean Herbert
8617aaa2a7
Update licence header (and remove year)
2019-01-24 17:43:03 +09:00
Dean Herbert
be37f3c328
Rename NoModMod
2018-11-30 17:35:13 +09:00
Dean Herbert
9f933187e9
Apply review feedback
2018-07-17 16:33:08 +09:00
Dean Herbert
825941aff1
Use switch with type matching in place of if-else where possible
2018-07-17 14:35:09 +09:00
smoogipoo
b7a06b9594
Restructure of DifficultyCalculator to cleanup mod + attribute handling
2018-06-14 15:32:07 +09:00
smoogipoo
1431ee1867
Remove unused method
2018-06-14 14:46:25 +09:00
smoogipoo
83ff47ec80
Rewrite difficulty mod combinations
2018-06-06 16:20:17 +09:00
smoogipoo
995fda9b6f
Move base classes to osu.Game.Rulesets.Difficulty namespace
2018-05-15 17:38:08 +09:00