Dean Herbert
a92d499d7a
Convert usages of BeatmapDifficulty
to IBeatmapDifficultyInfo
2021-10-01 16:55:50 +09:00
Dean Herbert
a743a3f306
Change combo bind logic to be non-weird
2021-09-17 19:15:14 +09:00
smoogipoo
2d39131202
Refactor taiko flashlight a bit
2021-09-17 18:41:03 +09:00
Dean Herbert
c3531e1361
Move more specification from Mod
to IMod
2021-09-10 12:42:53 +09:00
Dean Herbert
719392de39
Change CreateInstance
to use Activator.CreateInstance
instead of clone
2021-09-10 12:05:10 +09:00
Dean Herbert
cf633973a9
Refactor exposed mod retrieval methods for better safety
2021-09-10 11:09:13 +09:00
Dean Herbert
c25ab6835c
Remove IJsonSerializable interface
...
Was pretty pointless and made it hard to use the custom serialisation
terms arbitrarily in tests.
2021-08-31 14:39:20 +09:00
Salman Ahmed
84637b59ef
Define DifficultyBindableWithCurrent
and use in SliderControl
2021-08-25 07:40:41 +03:00
Salman Ahmed
072560ba3e
Remove leftover unused using
2021-08-19 07:17:43 +03:00
Salman Ahmed
102320f8ae
Merge branch 'master' into mod-settings-difficulty-cache
2021-08-19 06:35:13 +03:00
Salman Ahmed
1ae4a1910a
Cache mod settings rather than fetching everytime
2021-08-18 09:17:42 +03:00
Salman Ahmed
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
Salman Ahmed
060ba0692d
Add hash code support for Mod
2021-08-17 04:27:04 +03:00
Salman Ahmed
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
PercyDan
6ecc728c01
Remove override
2021-08-12 10:27:36 +08:00
PercyDan
d80a2dcca7
Missed one
2021-08-12 10:14:01 +08:00
PercyDan
18ecd8758b
Make Perfect auto restart toggleable
2021-08-12 10:12:35 +08:00
PercyDan
4706dcf525
Merge branch 'master' of https://hub.fastgit.org/ppy/osu into auto-restart
2021-08-11 20:18:05 +08:00
Salman Ahmed
fb5ef7d2d2
Remove brackets
2021-08-01 20:59:51 +03:00
Salman Ahmed
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
Salman Ahmed
ce7987dac7
Clarify 0
final combo indicates always muted audio
2021-08-01 20:19:44 +03:00
Salman Ahmed
1e3173bf44
Fix muted dim factor not considering "0 divided by 0" case
2021-08-01 20:19:43 +03:00
Salman Ahmed
f12e66052c
Reword outdated doc
2021-08-01 19:22:33 +03:00
Salman Ahmed
ac930b8918
Fix judgement processors provided to mods while not completely loaded
2021-08-01 19:16:30 +03:00
Dean Herbert
53c901bfa8
Expose DrawableRuleset
audio adjustments as non-container
2021-07-31 15:47:54 +09:00
Dean Herbert
29328bdf7f
Use metronome's audio adjustments directly
2021-07-31 15:03:26 +09:00
Dean Herbert
b01b0d711f
Merge branch 'master' into mute-mod-improvements
2021-07-31 14:55:44 +09:00
Salman Ahmed
397c73e786
Add audio adjustment support to Metronome
2021-07-31 02:16:02 +03:00
Dean Herbert
cd516c4ac7
Fix regressed metronome handling
2021-07-30 19:38:43 +09:00
Dean Herbert
d5e68f53b5
Change some defaults and always tween
2021-07-30 17:38:04 +09:00
Dean Herbert
bdc5eb6d3d
Add ability to also mute hitsounds
2021-07-30 17:25:01 +09:00
Dean Herbert
3cfd235b7f
Add tween when missing to avoid sudden volume difference
2021-07-30 16:10:20 +09:00
Dean Herbert
b399ddaea0
Add inverse setting
2021-07-30 16:10:10 +09:00
Dean Herbert
a2f3edbfc0
Fade track volume out as combo increases
2021-07-30 15:49:11 +09:00
Henry Lin
888e8f1c80
Use shared metronome class
2021-07-29 21:18:07 +08:00
Henry Lin
7251c28c4a
Merge branch 'master' into mod-muted
2021-07-29 21:14:03 +08:00
Henry Lin
935984d200
Rename MetronomeBeatContainer
to Metronome
2021-07-29 15:17:21 +08:00
Henry Lin
18e760ee91
Extract metronome from OsuModTarget
2021-07-29 14:52:18 +08:00
Henry Lin
0620cd130e
Change mod description
2021-07-29 14:41:47 +08:00
Henry Lin
58bbe9db7e
Added muted mod
2021-07-28 18:21:08 +08:00
Gabe Livengood
49160e4482
review modifications: maniamodmirror inheritance, reflection utilities, vertical flip option
2021-07-26 10:46:41 -04:00
Gabe Livengood
2e1cd4a389
remove accidental tab characters
2021-07-25 21:26:21 -04:00
Gabe Livengood
eb585a6120
Add "Mirror" mod
2021-07-25 20:40:50 -04:00
Dean Herbert
3c028ce05c
Add IDeepCloneable
interface and update existing CreateCopy
methods to use it
2021-07-19 12:54:17 +09:00
Dean Herbert
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
Bartłomiej Dach
cce4a4dc31
Fix incorrect value copy order in BindTo()
2021-07-12 22:27:36 +02:00
smoogipoo
4b393209ec
Implement UnbindFrom()
2021-07-12 17:33:29 +09:00
smoogipoo
242982730f
Fix incorrect DifficultyBindable binding implementation
2021-07-12 17:09:09 +09:00
Dean Herbert
a6258d705e
Make CurrentNumber
internal
2021-07-12 11:26:30 +09:00
Bartłomiej Dach
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
Dean Herbert
741062a6da
Simplify bindable update methods
2021-07-09 13:58:44 +09:00
Dean Herbert
e0277763d0
Refactor DifficultyAdjustSettingsControl
to help with readability
2021-07-09 13:50:07 +09:00
Dean Herbert
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
Dean Herbert
90326f8864
Standardise variables
2021-07-09 13:24:26 +09:00
Dean Herbert
b7803b889e
Rename control class to be more descriptive
2021-07-08 20:37:38 +09:00
Dean Herbert
ba939c0b65
Simplify serialisation edge case by moving to Value
override
2021-07-08 17:49:00 +09:00
Dean Herbert
52ea62e3b2
Add more comments and xmldoc
2021-07-08 17:49:00 +09:00
Dean Herbert
88b00123f6
Use existing reflection methods to avoid manual binding of ExtendedLimits
2021-07-08 17:49:00 +09:00
Dean Herbert
bd7c334588
Avoid the need for per-settings control classes
2021-07-08 17:49:00 +09:00
Dean Herbert
a6e94dd491
Add back extended limits support
2021-07-08 17:49:00 +09:00
Dean Herbert
c4313d6e96
Initial implementation of new flow (only working for approach rate)
2021-07-08 17:48:08 +09:00
Dean Herbert
0e4f4a6fde
Initial storage changes
2021-07-08 14:28:13 +09:00
PercyDan54
e1c646b9b2
Remove redundant arguments
2021-07-05 23:52:39 +08:00
Henry Lin
6a0c5b54c3
Fix obsolete message in Mod.Ranked
2021-07-02 15:55:25 +08:00
Dean Herbert
0396a03bbc
Rename Mod.Ranked
back to avoid breaking ruleset API
2021-07-02 12:50:58 +09:00
Henry Lin
0cceef8da5
Moved the string
to int?
conversion logic into SettingsNumberBox
2021-06-28 11:00:07 +08:00
Henry Lin
3b822cd5cf
Refactor SeedSettingsControl
and related controls
2021-06-26 11:19:14 +08:00
Henry Lin
31c786e1c3
Use SettingsNumberBox.NumberBox
instead of OsuNumberBox
2021-06-25 09:51:34 +08:00
ekrctb
e1b2c63e09
Add IApplicableToBeatmapProcessor
mod interface
2021-06-23 14:46:30 +09:00
Dean Herbert
54084f8a9c
Move SeedSettingsControl
to own file
2021-06-23 13:40:05 +09:00
smoogipoo
6fd020d91d
Remove unnecessary public accessibility
...
All interface members are implicitly public.
2021-06-23 12:00:57 +09:00
Henry Lin
fc224c53f4
Remove extra usings
2021-06-22 14:49:37 +08:00
Henry Lin
3745101f32
Extract seed setting control to IHasSeed
2021-06-22 14:43:41 +08:00
smoogipoo
97cd1217a4
Move IApplicableToDrawableHitObjects to its own file
2021-06-18 13:06:13 +09:00
ekrctb
c59a3ce83f
Obsolete plural IApplicableToDrawableHitObjects
2021-06-16 18:52:16 +09:00
ekrctb
af80418ee8
Implement IApplicableToDrawableHitObject
for mods
...
A breaking change in `ModWithVisibilityAdjustment` if the method was overriden.
2021-06-16 18:52:01 +09:00
ekrctb
e69bb67afe
Add IApplicableToDrawableHitObject
that is taking a single DHO
...
Less cumbersome to implement than old version taking an enumerable. The implementation was always using `foreach` for the enumerable.
The new interface is not used yet.
2021-06-16 18:42:28 +09:00
Pasi4K5
ef9cb2c958
Rename nested classes
2021-06-12 18:37:31 +02:00
Pasi4K5
b79d57b68c
Move OsuSettingsNumberBox
into SettingsNumberBox
2021-06-12 17:57:40 +02:00
Pasi4K5
c728f673d6
Rename classes
2021-06-12 17:37:01 +02:00
Pasi4K5
29f3880415
Move classes into SettingsTextBox
2021-06-12 17:34:02 +02:00
Pasi4K5
fe39a47797
Add OsuModSettingsTextBox
and OsuModSettingsNumberBox
2021-06-12 00:34:53 +02:00
PercyDan54
510fc93d76
Merge branch 'master' of https://github.com/ppy/osu into auto-restart
2021-06-09 18:05:47 +08:00
Dean Herbert
d0e9f8ef90
Replace and obsolete Ranked
flag with IsUserPlayable
2021-06-09 14:17:03 +09:00
Pasi4K5
7a4fc9ffc8
Move seed to base class
2021-06-03 18:16:11 +02:00
Dean Herbert
a3c78674a1
Add new interface for autoplay mods
2021-05-25 18:09:24 +09:00
PercyDan54
166974506e
Duplicate implementions
2021-05-15 11:55:50 +08:00
PercyDan54
6e5c4ed7c6
Revert "Remove empty override"
...
This reverts commit a86a4bab91
.
2021-05-15 11:45:14 +08:00
PercyDan54
a86a4bab91
Remove empty override
2021-05-14 21:55:32 +08:00
PercyDan54
67dfeeb1b7
Cleanup code in ModHidden
2021-05-14 21:29:13 +08:00
Dean Herbert
e69ec91c07
Add xmldoc for CurrentRotation
2021-04-30 11:25:39 +09:00
Andrei Zavatski
7bf3498e2a
Calculate playfield scale locally
2021-04-30 02:49:19 +03:00
Andrei Zavatski
25e0fb1cf9
Refactor OsuModBarrelRoll to allow it's usage by other rulesets
2021-04-30 01:59:59 +03:00
Salman Ahmed
e90d791754
Add base "classic" mod
2021-04-21 09:14:19 +03:00
smoogipoo
8c4804dd7a
Use nameof
2021-04-16 15:40:06 +09:00
smoogipoo
d1c72f5e13
Apply changes resulting from IBindable interface updates
2021-04-16 15:10:53 +09:00
Dean Herbert
346e36d32a
Make Mod.Description
abstract and add missing descriptions
2021-04-15 14:36:26 +09:00
Dean Herbert
7654df94f6
Merge pull request #12395 from frenzibyte/fix-cinema-ignore-settings
...
Fix beatmap background displayed if storyboard is hidden on "Cinema" mod
2021-04-14 14:31:03 +09:00
Salman Ahmed
36510309d1
Merge EnableUserDim
and IgnoreUserSettings
to one bindable
2021-04-13 10:58:56 +03:00
Salman Ahmed
92fab653e1
Take current mod settings value into account on equality comparsion
2021-04-12 20:51:13 +03:00