Commit Graph

1732 Commits

Author SHA1 Message Date
9d8a26f373 Merge branch 'master' into diffcalc/refactor-strain-skill 2021-04-06 08:21:38 +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
345779b19a Merge branch 'master' into diffcalc/fix/clockrate-adjusted-decay 2021-04-02 20:58:29 +09:00
43e48406ca Miss all ticks when hold note is hit 2021-03-31 12:21:14 +09:00
56428a027e Change static method to public 2021-03-30 16:56:20 +09:00
e769ef45be Fix misplaced parenthesis 2021-03-30 16:55:39 +09:00
1d968009c2 Add osu!mania key filtering using "keys=4" at song select 2021-03-30 16:09:35 +09: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
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
5f2c6b8d59 Merge pull request #12145 from bdach/mania-auto-hold-note-release
Remove release delay for hold notes when generating autoplay
2021-03-23 14:24:56 +09:00
29d4162e4e Remove release delay for hold notes when generating autoplay
It was more intended for normal notes anyway (as they would be released
pretty much instantaneously, if it weren't for the delay).
2021-03-22 22:45:21 +01:00
5b1d9f4cf0 Fix constant case 2021-03-22 16:19:29 +09:00
690fb9224a Combine constants for readability 2021-03-22 16:18:31 +09:00
db64fac824 Delay key fade in legacy mania skins 2021-03-22 15:26:22 +09:00
9a330c4c56 Fix mania hold note heads hiding when frozen
This was an insidious regression from a3dc1d5. Prior to that commit,
`DrawableHoldNoteHead` had `UpdateStateTransforms()` overridden, to set
the hold note head's lifetime. When that method was split into
`UpdateInitialStateTransforms()` and `UpdateHitStateTransforms()`, the
lifetime set was moved to the former.

Unfortunately, that override served two purposes: both to set the
lifetime, and to suppress hit animations which would normally be added
by the base `DrawableManiaHitObject`. That fact being missed led to
`UpdateHitStateTransforms()` hiding the hold note head immediately on
hit and with a slight delay on miss.

To resolve, explicitly override `UpdateHitStateTransforms()` and
suppress the base call, with an explanatory comment.
2021-03-21 18:46:41 +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
7fa5fd5647 Update usages of config with framework changes 2021-03-17 16:10:16 +09:00
5b6018295d Merge branch 'master' into diffcalc/skill-mods 2021-03-04 13:06:26 +09:00
cd1c1bf534 Centralise cases of performing actions on the current selection
By moving this to a central location, we can avoid invoking the
EditorChangeHandler when there is no selection made. This helps
alleviate the issue pointed out in
https://github.com/ppy/osu/issues/11901, but not fix it completely.
2021-02-26 14:15:13 +09:00
cf4c88c647 Fix spacing 2021-02-25 21:38:21 +09:00
dff1d80f39 Update HasFlag usages to HasFlagFast 2021-02-25 15:38:56 +09:00
6b6811063b Make ExpandDirection abstract 2021-02-24 15:05:12 +09:00
dd702ccfd2 Make mania FI/HD incompatible with each other 2021-02-24 14:34:37 +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
00574a5288 Use ISample everywhere in Skin GetSample lookup path 2021-02-18 18:32:28 +09:00
d3f0c0730d Merge branch 'master' into non-concurrent-sample-playback 2021-02-12 17:22:15 +09:00
68c20a2a37 Allow autoplay score generation to access mod list 2021-02-07 18:35:34 +01:00
f86f323625 Add a basic guard against setting ScrollMethod too late in initialisation 2021-02-04 22:28:17 +09:00
8295fb9081 Implement mania constant speed mod 2021-02-03 16:28:22 +09:00
de9d075f94 Initial sample + samplechannel rework 2021-01-19 17:11:40 +09:00
1b166d809e Adjust package titles 2021-01-18 11:08:03 +09:00
ec00aaef90 Add nuget deploys for all rulesets 2021-01-18 10:53:31 +09:00
bf39aa5980 Fix incorrectly converted rotation values 2020-12-22 12:18:42 +09:00
e1b2de27a6 Update osu!mania legacy skin's judgement animation to match stable 2020-12-21 17:23:23 +09:00
1793385e96 Pass a score to the replay recorder to allow reading more general scoring data 2020-12-14 16:52:14 +09:00
a835ca9612 Fix anchors/origins for legacy pieces 2020-12-14 14:20:43 +09:00
1794bfeddb Move offset into legacy mania judgement 2020-12-14 13:07:55 +09:00
ca11eeefdf Merge branch 'master' into mania-legacyskin-scoreposition 2020-12-14 11:25:34 +09:00
cf7303e072 dotnet format 2020-12-13 22:54:01 +06:00
3741c2339a simplify implementation and adjust the default values 2020-12-13 22:43:36 +06:00
2108844319 apply ScorePosition to the judgement container 2020-12-13 22:01:08 +06:00
f14e49c72e fetch ScorePosition from the skin 2020-12-13 21:59:04 +06:00