Commit Graph

654 Commits

Author SHA1 Message Date
072560ba3e Remove leftover unused using 2021-08-19 07:17:43 +03:00
102320f8ae Merge branch 'master' into mod-settings-difficulty-cache 2021-08-19 06:35:13 +03:00
1ae4a1910a Cache mod settings rather than fetching everytime 2021-08-18 09:17:42 +03:00
8c5d99ab21 Override CreateInstance() in osu! bindable subclasses
Three bindables are left which don't have this overriden due to them
already not having a value-only constructor and not supporting
`GetBoundCopy()` properly:
 - `BeatmapDifficultyCache.BindableStarDifficulty`.
 - `TotalScoreBindable`
 - `TotalScoreStringBindable`

I could add support for them by passing the required data to them, as
they seem to be able to have that shared, but I'm hesitant to support
something which was already broken and never used, not sure.
2021-08-18 04:19:58 +03:00
060ba0692d Add hash code support for Mod 2021-08-17 04:27:04 +03:00
855fff1486 Fix DifficultyAdjustSettingsControl.SliderControl not following up with the current pattern
This was causing any `ValueChanged` event bind (such as the one in
`SettingsItem` to invoke `SettingsChanged`) to be overwritten when
`Current` is set afterwards.
2021-08-16 12:47:58 +03:00
6ecc728c01 Remove override 2021-08-12 10:27:36 +08:00
d80a2dcca7 Missed one 2021-08-12 10:14:01 +08:00
18ecd8758b Make Perfect auto restart toggleable 2021-08-12 10:12:35 +08:00
4706dcf525 Merge branch 'master' of https://hub.fastgit.org/ppy/osu into auto-restart 2021-08-11 20:18:05 +08:00
fb5ef7d2d2 Remove brackets 2021-08-01 20:59:51 +03:00
a26e7b2680 Limit combo count to minimum 1 when using inversed
Avoids making the mod of no effect.
2021-08-01 20:59:31 +03:00
ce7987dac7 Clarify 0 final combo indicates always muted audio 2021-08-01 20:19:44 +03:00
1e3173bf44 Fix muted dim factor not considering "0 divided by 0" case 2021-08-01 20:19:43 +03:00
f12e66052c Reword outdated doc 2021-08-01 19:22:33 +03:00
ac930b8918 Fix judgement processors provided to mods while not completely loaded 2021-08-01 19:16:30 +03:00
53c901bfa8 Expose DrawableRuleset audio adjustments as non-container 2021-07-31 15:47:54 +09:00
29328bdf7f Use metronome's audio adjustments directly 2021-07-31 15:03:26 +09:00
b01b0d711f Merge branch 'master' into mute-mod-improvements 2021-07-31 14:55:44 +09:00
397c73e786 Add audio adjustment support to Metronome 2021-07-31 02:16:02 +03:00
cd516c4ac7 Fix regressed metronome handling 2021-07-30 19:38:43 +09:00
d5e68f53b5 Change some defaults and always tween 2021-07-30 17:38:04 +09:00
bdc5eb6d3d Add ability to also mute hitsounds 2021-07-30 17:25:01 +09:00
3cfd235b7f Add tween when missing to avoid sudden volume difference 2021-07-30 16:10:20 +09:00
b399ddaea0 Add inverse setting 2021-07-30 16:10:10 +09:00
a2f3edbfc0 Fade track volume out as combo increases 2021-07-30 15:49:11 +09:00
888e8f1c80 Use shared metronome class 2021-07-29 21:18:07 +08:00
7251c28c4a Merge branch 'master' into mod-muted 2021-07-29 21:14:03 +08:00
935984d200 Rename MetronomeBeatContainer to Metronome 2021-07-29 15:17:21 +08:00
18e760ee91 Extract metronome from OsuModTarget 2021-07-29 14:52:18 +08:00
0620cd130e Change mod description 2021-07-29 14:41:47 +08:00
58bbe9db7e Added muted mod 2021-07-28 18:21:08 +08:00
49160e4482 review modifications: maniamodmirror inheritance, reflection utilities, vertical flip option 2021-07-26 10:46:41 -04:00
2e1cd4a389 remove accidental tab characters 2021-07-25 21:26:21 -04:00
eb585a6120 Add "Mirror" mod 2021-07-25 20:40:50 -04:00
3c028ce05c Add IDeepCloneable interface and update existing CreateCopy methods to use it 2021-07-19 12:54:17 +09:00
ed29646291 Remove IApplicableToDifficulty.ReadFromDifficulty
This was added specifically for `ModDifficultyAdjust`, but turned out to
be more of a headache than we expected. We have since removed usage and
would hope that this is not required by any other mods.

Opting for complete removal rather than obsoletion, as we discovered
this was already broken in multiple cases, with fixes being quite
logically complex.

If you happen to be a ruleset developer relying on this, open an issue
and we'll talk you through a better approach (or check what
`ModDifficultyAdjust` is doing now for an example).
2021-07-14 12:32:16 +09:00
cce4a4dc31 Fix incorrect value copy order in BindTo() 2021-07-12 22:27:36 +02:00
4b393209ec Implement UnbindFrom() 2021-07-12 17:33:29 +09:00
242982730f Fix incorrect DifficultyBindable binding implementation 2021-07-12 17:09:09 +09:00
a6258d705e Make CurrentNumber internal 2021-07-12 11:26:30 +09:00
32b4f5fbd6 Do not store direct references to original bindable
`DifficultyAdjustSettingsControl` and its inner `SliderControl` were
holding different references to `DifficultyBindable`s from the
difficulty adjust mod, therefore leading to bindings being lost to the
framework-side automatic unbind logic if the mod was toggled off and
back on in rapid succession.

Resolve by adding a shadowed implementation of `GetBoundCopy()` and
using it to isolate the controls from the mod bindable.
2021-07-11 15:28:13 +02:00
741062a6da Simplify bindable update methods 2021-07-09 13:58:44 +09:00
e0277763d0 Refactor DifficultyAdjustSettingsControl to help with readability 2021-07-09 13:50:07 +09:00
f9cd7f10d8 Allow null values for ReadCurrentFromDifficulty
As long as this isn't a constructor parameter it feels best to
gracefully handle omission. Realistically having it in the ctor is the
best move, but it doesn't feel great in line with the other parameters
passed in via object initalisers.
2021-07-09 13:26:01 +09:00
90326f8864 Standardise variables 2021-07-09 13:24:26 +09:00
b7803b889e Rename control class to be more descriptive 2021-07-08 20:37:38 +09:00
ba939c0b65 Simplify serialisation edge case by moving to Value override 2021-07-08 17:49:00 +09:00
52ea62e3b2 Add more comments and xmldoc 2021-07-08 17:49:00 +09:00
88b00123f6 Use existing reflection methods to avoid manual binding of ExtendedLimits 2021-07-08 17:49:00 +09:00