Commit Graph

3151 Commits

Author SHA1 Message Date
0343ef7f14 Add ruleset-specific checker 2021-04-07 14:36:43 +02:00
b24ce66a0d Add check/issue classes 2021-04-07 14:35:33 +02:00
37e30b00bf Refactor to keep a consistent API 2021-04-06 16:39:02 +09:00
784552022f Merge pull request #12303 from smoogipoo/fix-last-control-point-segmenting
Make last control point not able to make an implicit segment
2021-04-06 13:35:55 +09:00
5cd43b3a7f Set default history retention to 0 for Skill and override in StrainSkill
Some skills might not even require history retention, so why waste the allocations?
2021-04-06 11:53:31 +10:00
4f614a703e Merge branch 'master' into diffcalc/dynamic-history 2021-04-06 11:34:33 +10:00
65f93d6f9d Add more descriptive xmldoc for ReverseQueue 2021-04-06 11:30:58 +10:00
ffe7edc16a Update xmldocs
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-04-06 11:06:10 +10:00
9d8a26f373 Merge branch 'master' into diffcalc/refactor-strain-skill 2021-04-06 08:21:38 +09:00
5bdd15f746 Refactor Skill.Process() to not require calling base.Process() 2021-04-05 22:14:59 +10:00
57983ae61f Fix whitespace 2021-04-05 22:14:59 +10:00
4b29d0ebe2 Fix last control point starting new segment 2021-04-05 17:49:36 +09:00
6bcbef9f25 Merge pull request #12294 from smoogipoo/mania-scoring-adjustments
Adjust scoring values to better fit osu!mania expectations
2021-04-05 17:19:28 +09:00
3acc612a67 Adjust scoring values to better fit osu!mania 2021-04-05 13:28:46 +09:00
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
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
fe66b84bed Implement dynamic previous hitobject retention for Skill class
There is no reason we should be limiting skills to knowing only the previous 2 objects. This originally existed as an angle implementation detail of the original pp+ codebase which made its way here, but didn't get used in the same way.
2021-04-03 20:28:51 +11:00
345779b19a Merge branch 'master' into diffcalc/fix/clockrate-adjusted-decay 2021-04-02 20:58:29 +09:00
5b1dc7d2b4 Remove unused using directive 2021-04-02 02:45:26 +03:00
fcd56dba44 Guard against same ruleset file with loaded assembly filenames instead 2021-04-02 02:12:25 +03:00
7e47922fb7 Merge branch 'master' into circular-arc-freeze 2021-04-01 17:09:45 +02:00
7b684339ed Undo public -> internal for PathControlPoint.Changed
No longer used.
2021-03-31 20:32:49 +02:00
690debe507 Merge pull request #12030 from LeNitrous/editor-platform-clipboard-copy 2021-03-29 19:31:16 +09:00
9a02f3868c return a string instead 2021-03-29 17:29:05 +08:00
ecb66ad2e2 Fix up xmldoc 2021-03-29 15:33:54 +09:00
068f00d8a0 Add EndTime to DifficultyHitObject for future convenience 2021-03-27 18:38:43 +11:00
010db8968f Adjust wording of xmldoc 2021-03-27 18:38:23 +11:00
b8b7eb4c4b refactor logic to its own component and handle hit object to string conversion to its ruleset-specific composers 2021-03-26 15:25:20 +08:00
2bea69456e remove implementations 2021-03-26 15:24:33 +08:00
8438fce764 Merge branch 'master' into diffcalc/fix/clockrate-adjusted-decay 2021-03-26 11:47:38 +09:00
701342e036 Remove accuracy rounding at a ScoreProcessor level 2021-03-25 17:43:51 +09:00
4ae3eaaac6 Move path type correction
This is better because `PathControlPointVisualizer` is local to the editor, meaning there is no chance that this could affect gameplay.
2021-03-24 03:02:19 +01:00
e922e67c98 Fix inverted return statement
Forgot to run tests, all passing now.
2021-03-22 19:48:21 +01:00
3fa5852e00 Add method documentation 2021-03-22 19:42:27 +01:00
b11fd7972a Separate condition logic from math logic 2021-03-22 19:41:48 +01:00
92f713a30e Improve fallback conditions
It's possible to create a `PerfectCurve` type path with more than 3 points currently, so this accounts for that.
2021-03-22 19:10:56 +01:00
80e7c3aba7 Invert if statement 2021-03-22 19:09:28 +01:00
6911a1b415 Fix missing newline 2021-03-22 19:03:55 +01:00
a7076c329c Fix null checks 2021-03-22 17:32:55 +01:00
323b875cea Fix newlines/spaces 2021-03-22 17:32:40 +01:00
c82218627f Add path type update logic
Only attempts to change points to bezier if points in the slider are modified.
2021-03-22 15:57:57 +01:00
7a2cb526e4 Add PointsInSegment method 2021-03-22 15:55:30 +01:00
bee2f55d00 Undo subpath limiting 2021-03-22 15:54:33 +01:00
fcd1f4930f Fix freeze due to large circular arc radius
Seems to stem from the osu!framework's PathApproximator not catching a few edge cases wherein the radius approaches infinity.
2021-03-21 06:34:55 +01:00
aec859b4d1 Merge branch 'master' into fix-unsafe-skinnable-sample-play 2021-03-18 19:51:46 +01:00
51e0304c54 properly format strings per ruleset 2021-03-17 18:31:09 +08:00
9b5d11f2a5 Merge pull request #11958 from bdach/ruleset-filter-v3
Allow rulesets to specify custom song select filtering criteria
2021-03-08 23:23:24 +09:00
06e42b4b4c Fix taiko leaving behind empty judgements on legacy skins 2021-03-06 16:02:20 +01:00
f00089846b Merge branch 'master' into ruleset-filter-v3 2021-03-06 12:14:53 +01:00
5b6018295d Merge branch 'master' into diffcalc/skill-mods 2021-03-04 13:06:26 +09:00