Commit Graph

1743 Commits

Author SHA1 Message Date
Dean Herbert
a242df31e8
Merge pull request #12534 from smoogipoo/fix-hold-note-crash
Fix hold notes with 0 length crashing the game
2021-04-22 21:14:36 +09:00
Dan Balasescu
739d83da2a
Merge pull request #12515 from frenzibyte/legacy-scores-classic-mod
Apply "classic" mod to all legacy scores
2021-04-22 19:52:09 +09:00
smoogipoo
4148d473e3 Fix hold note crashing with 0 length 2021-04-22 19:51:33 +09:00
Dean Herbert
b37c5a8749 Rollback hold note placement when length is zero 2021-04-22 14:59:57 +09:00
Salman Ahmed
e3398d8f1f Implement "classic" mod for all other legacy rulesets
Currently empty, automatically handled in game to not be selectable (see `Mod.HasImplementation`)
2021-04-21 09:14:33 +03:00
Dan Balasescu
5ad2d0e759
Merge pull request #12439 from ekrctb/further-refactor-framed-replay
Further refactor FrameReplayInputHandler, simplify the template code
2021-04-16 17:16:09 +09:00
ekrctb
a965e8a75d Remove AutoGenerator workaround of now-fixed issue 2021-04-16 14:13:41 +09:00
Dean Herbert
119c9b4294 Fix placement blueprints not being correctly removed after a rolled back placement 2021-04-16 14:11:33 +09:00
Dean Herbert
55421b0065
Add missing full stop
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-04-15 14:41:10 +09:00
Dean Herbert
346e36d32a Make Mod.Description abstract and add missing descriptions 2021-04-15 14:36:26 +09:00
Dean Herbert
b5954a55ad Remove empty <returns> xmldoc 2021-04-12 17:46:14 +09:00
Dan Balasescu
9d8a26f373
Merge branch 'master' into diffcalc/refactor-strain-skill 2021-04-06 08:21:38 +09:00
Dean Herbert
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
smoogipoo
3acc612a67 Adjust scoring values to better fit osu!mania 2021-04-05 13:28:46 +09:00
Samuel Cattini-Schultz
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
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
Dan Balasescu
345779b19a
Merge branch 'master' into diffcalc/fix/clockrate-adjusted-decay 2021-04-02 20:58:29 +09:00
smoogipoo
43e48406ca Miss all ticks when hold note is hit 2021-03-31 12:21:14 +09:00
Dean Herbert
56428a027e Change static method to public 2021-03-30 16:56:20 +09:00
Dean Herbert
e769ef45be Fix misplaced parenthesis 2021-03-30 16:55:39 +09:00
Dean Herbert
1d968009c2 Add osu!mania key filtering using "keys=4" at song select 2021-03-30 16:09:35 +09:00
Dean Herbert
690debe507
Merge pull request #12030 from LeNitrous/editor-platform-clipboard-copy 2021-03-29 19:31:16 +09:00
Nathan Alo
9a02f3868c return a string instead 2021-03-29 17:29:05 +08:00
Nathan Alo
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
Nathan Alo
2bea69456e remove implementations 2021-03-26 15:24:33 +08:00
smoogipoo
8438fce764 Merge branch 'master' into diffcalc/fix/clockrate-adjusted-decay 2021-03-26 11:47:38 +09:00
Dan Balasescu
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
Bartłomiej Dach
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
Dean Herbert
5b1d9f4cf0 Fix constant case 2021-03-22 16:19:29 +09:00
Dean Herbert
690fb9224a Combine constants for readability 2021-03-22 16:18:31 +09:00
smoogipoo
db64fac824 Delay key fade in legacy mania skins 2021-03-22 15:26:22 +09:00
Bartłomiej Dach
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
Bartłomiej Dach
aec859b4d1 Merge branch 'master' into fix-unsafe-skinnable-sample-play 2021-03-18 19:51:46 +01:00
Nathan Alo
51e0304c54 properly format strings per ruleset 2021-03-17 18:31:09 +08:00
smoogipoo
7fa5fd5647 Update usages of config with framework changes 2021-03-17 16:10:16 +09:00
Dan Balasescu
5b6018295d
Merge branch 'master' into diffcalc/skill-mods 2021-03-04 13:06:26 +09:00
Dean Herbert
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
smoogipoo
cf4c88c647 Fix spacing 2021-02-25 21:38:21 +09:00
smoogipoo
dff1d80f39 Update HasFlag usages to HasFlagFast 2021-02-25 15:38:56 +09:00
smoogipoo
6b6811063b Make ExpandDirection abstract 2021-02-24 15:05:12 +09:00
smoogipoo
dd702ccfd2 Make mania FI/HD incompatible with each other 2021-02-24 14:34:37 +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
00574a5288 Use ISample everywhere in Skin GetSample lookup path 2021-02-18 18:32:28 +09:00
smoogipoo
d3f0c0730d Merge branch 'master' into non-concurrent-sample-playback 2021-02-12 17:22:15 +09:00
Bartłomiej Dach
68c20a2a37 Allow autoplay score generation to access mod list 2021-02-07 18:35:34 +01:00
Dean Herbert
f86f323625 Add a basic guard against setting ScrollMethod too late in initialisation 2021-02-04 22:28:17 +09:00
smoogipoo
8295fb9081 Implement mania constant speed mod 2021-02-03 16:28:22 +09:00
smoogipoo
de9d075f94 Initial sample + samplechannel rework 2021-01-19 17:11:40 +09:00
smoogipoo
1b166d809e Adjust package titles 2021-01-18 11:08:03 +09:00