1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 19:07:25 +08:00
Commit Graph

781 Commits

Author SHA1 Message Date
Dean Herbert
3fc8c23fe4 Remove unnecessary SetReplayScore call in ModCinema 2022-03-29 16:51:30 +09:00
Dean Herbert
327477d050 Remove unnecessary SetReplayScore call in ModCinema 2022-03-29 16:50:05 +09:00
Salman Ahmed
6cd67928ab Simplify documentation of ModUsage 2022-03-23 15:48:52 +03:00
Salman Ahmed
b218046fa2 Remove redundant line from mod usage 2022-03-23 15:38:48 +03:00
Salman Ahmed
5f878ed82b Delegate IsPlayable to the obsoleted UserPlayable by default
Handles consumers who still haven't updated to use `IsPlayable` yet.
2022-03-20 16:07:09 +03:00
Salman Ahmed
add9f3ec91 Rename multiplayer mod usages to make more sense 2022-03-20 13:12:24 +03:00
Salman Ahmed
820a672940 Reword xmldoc to make more sense 2022-03-20 06:37:08 +03:00
Salman Ahmed
70e943fbcc ModUsage.Solo -> ModUsage.User 2022-03-20 06:36:51 +03:00
Salman Ahmed
f2248ecc08 Update usages to use IsPlayable instead 2022-03-18 02:11:18 +03:00
Salman Ahmed
51e5dd7d0e Introduce IsPlayable(...) and obsolete UserPlayable 2022-03-18 02:08:30 +03:00
Salman Ahmed
d90f21e140
Reword mod documentation
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-03-18 00:13:40 +03:00
Salman Ahmed
b3ac544d65 Revert "Consider UnknownMod to be "playable in multiplayer""
This reverts commit 07e9f3780a.
2022-03-17 06:31:51 +03:00
Salman Ahmed
07e9f3780a Consider UnknownMod to be "playable in multiplayer" 2022-03-17 05:15:48 +03:00
Salman Ahmed
187059a37f Replace hardcoded overrides with the newly introduced Mod properties 2022-03-17 03:51:27 +03:00
Salman Ahmed
d90a334853 Introduce multiplayer playability and free mod validity in Mod 2022-03-17 03:48:56 +03:00
Dean Herbert
1814a325d8 Move GetSettingUnderlyingValue to a SettingSource extension method 2022-03-15 14:54:00 +09:00
Dean Herbert
eaef27595c Also mark UnknownMod as not user-playable 2022-03-10 15:33:50 +09:00
Dean Herbert
02f44d7061 Merge branch 'master' into fix-mod-conversion-exceptions 2022-03-09 18:07:42 +09:00
Dean Herbert
0267aed846 Change ToMod to return an UnknownMod rather than throw if a mod isn't available
As seen by this kind of crash, having the `.ToMod` method throw can be
very problematic and also hidden (as it is used inside of models in
places where exceptions are not expected to occur).

Given there are tens of usages of this method, returning a placeholder
mod seems like a better idea than outright throwing.

```
 An unhandled has occurred.
 System.InvalidOperationException:
There is no mod in the ruleset (osu) matching the acronym AS.
 at osu.Game.Online.API.APIMod.ToMod(Ruleset ruleset) in /Users/dean/Projects/osu/osu.Game/Online/API/APIMod.cs:line 54
 at osu.Game.Scoring.ScoreInfo.<get_Mods>b__117_0(APIMod m) in /Users/dean/Projects/osu/osu.Game/Scoring/ScoreInfo.cs:line 193
 at System.Linq.Enumerable.SelectArrayIterator`2.ToArray()
 at osu.Game.Scoring.ScoreInfo.get_Mods() in /Users/dean/Projects/osu/osu.Game/Scoring/ScoreInfo.cs:line 193
 at osu.Game.Screens.Select.Leaderboards.BeatmapLeaderboard.<>c.<subscribeToLocalScores>b__40_2(ScoreInfo s) in /Users/dean/Projects/osu/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs:line 199
 at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
 at osu.Game.Database.RealmObjectExtensions.Detach[T](IEnumerable`1 items) in /Users/dean/Projects/osu/osu.Game/Database/RealmObjectExtensions.cs:line 180
 at osu.Game.Screens.Select.Leaderboards.BeatmapLeaderboard.<>c__DisplayClass40_0.<subscribeToLocalScores>g__localScoresChanged|1(IRealmCollection`1 sender, ChangeSet changes, Exception exception) in /Users/dean/Projects/osu/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs:line
209
 at Realms.RealmCollectionBase`1.Realms.INotifiable<Realms.NotifiableObjectHandleBase.CollectionChangeSet>.NotifyCallbacks(Nullable`1 changes, Nullable`1 exception)
 at Realms.NotifiableObjectHandleBase.NotifyObjectChanged(IntPtr managedHandle, IntPtr changes, IntPtr exception)
```
2022-03-09 17:57:55 +09:00
Henry Lin
8b8b54b58f Scale rate adjustments based on hit timing consistency and tweak some related numbers 2022-03-05 21:48:57 +08:00
Henry Lin
76d257fbe4
Merge branch 'master' into mod-adaptive-speed 2022-03-04 15:16:37 +08:00
Henry Lin
f72c9a1f41 Cap speed change per hit and apply a speed decrease on miss 2022-03-04 11:48:48 +08:00
Henry Lin
b66af7edf4 Rename approximatedRates to ratesForRewinding and update xmldoc 2022-03-04 11:03:57 +08:00
Bartłomiej Dach
fcefd3c725
Fix slightly wrong references in xmldocs 2022-03-03 17:39:55 +01:00
Bartłomiej Dach
3797871aa0
Add extended documentation of adaptive speed mod machinations 2022-03-03 17:25:49 +01:00
Bartłomiej Dach
ffaf5b729f
Move and reword docs of allowable rate range constants 2022-03-03 17:07:43 +01:00
Henry Lin
464be6e64c Only call IUpdatableByPlayfield.Update if the playfield isn't nested 2022-03-03 14:37:39 +08:00
Henry Lin
4ce2044e4c Reorder members 2022-03-03 13:09:41 +08:00
Henry Lin
9c2aa51194 Rename applyPitchAdjustment to adjustPitchChanged 2022-03-03 13:07:30 +08:00
Henry Lin
ae71dcceeb Convert comments to xmldoc 2022-03-03 13:03:53 +08:00
Henry Lin
09254407fe Interpolate speed change using IUpdatableByPlayfield 2022-03-03 12:09:36 +08:00
Henry Lin
51258dbab4 Use binary search in ApplyToBeatmap 2022-03-03 11:21:20 +08:00
Henry Lin
95a40c5dc5 Remove pointless comment 2022-03-03 10:43:30 +08:00
Henry Lin
ff7f65de27 Extract duplicated conditionals 2022-03-03 10:43:04 +08:00
Henry Lin
55737226a3 Use Enumerable.Repeat 2022-03-03 10:18:36 +08:00
Henry Lin
d335a2229f Tweak average_count 2022-03-02 21:07:57 +08:00
Henry Lin
17bc714297 Allow the mod to properly react to nested hit objects 2022-03-02 20:48:57 +08:00
Henry Lin
6caecf79a0 Use smooth speed change 2022-03-02 20:08:05 +08:00
Henry Lin
c6934b4bce Improve adaptive speed algorithm and add rewind support 2022-03-02 10:35:03 +08:00
Henry Lin
783f43ccfb Add initial rate setting 2022-03-02 09:57:52 +08:00
Henry Lin
c9b205afeb Add adaptive speed mod 2022-03-02 09:57:52 +08:00
Dean Herbert
7307e68e9c Revert "Merge pull request #16889 from smoogipoo/remove-mod-multiplier"
This reverts commit 252b945d3b, reversing
changes made to a1b39a96cf.
2022-02-17 13:26:12 +09:00
Dean Herbert
23933fc881 Update xmldoc to mention that multipliers are not applied anywhere 2022-02-16 17:32:22 +09:00
Dan Balasescu
4c1413e0c7 No longer require Mod implementation 2022-02-16 16:36:02 +09:00
Bartłomiej Dach
82f9ad63f5
Fix flashlight size multiplier printing with too many decimal digits 2022-02-02 20:41:25 +01:00
Salman Ahmed
074a691635 Set keyboard step to 0.1 for difficulty adjust sliders 2022-02-02 17:43:08 +03:00
Bartłomiej Dach
8c3fbb6eb4
Merge branch 'master' into Liswiera-FL-changes 2022-01-24 21:32:36 +01:00
Bartłomiej Dach
a227af75ed
Simplify flashlight parameter passing flow 2022-01-24 21:03:02 +01:00
Bartłomiej Dach
5874475dff
Extract DefaultFlashlightSize to base flashlight class 2022-01-24 21:03:02 +01:00
Bartłomiej Dach
a7c0d507ce
Rename flashlight settings to be more accurate 2022-01-24 21:03:02 +01:00
mk-56
948867898c ModeMultiplier rename 2022-01-24 11:38:52 +01:00
mk-56
161a2a321e Remove bindable from ModeMultiplier 2022-01-24 09:07:07 +01:00
mk-56
ed84ae0ac0 Adjust values to Bdach's refined taste 2022-01-24 00:42:43 +01:00
Bartłomiej Dach
735414bc49
Replace TimeSignatures enum with struct for storage of arbitrary meter 2022-01-22 20:50:31 +01:00
mk-56
955bab926f Separate the settings for each modes radiuses 2022-01-22 19:38:56 +01:00
MK56
b5f813a949
Merge branch 'ppy:master' into Liswiera-FL-changes 2022-01-22 19:04:39 +01:00
Dean Herbert
7f65f3a47f Remove all usage of BaseDifficulty (and access Difficulty instead) 2022-01-18 22:57:39 +09:00
mk-56
57cc2f7893 Adjustment to size values of FL per mode 2022-01-16 14:26:26 +01:00
mk-56
ee4331dda4 Merge remote-tracking branch 'origin/Liswiera-FL-changes' into Liswiera-FL-changes 2022-01-15 21:44:03 +01:00
mk-56
2a59735525 Initial commit 2022-01-15 21:43:28 +01:00
Dean Herbert
51251e3204 Fix CI reported warnings 2022-01-12 22:39:00 +09:00
Joseph Madamba
7de43e3aba Fix most open compound words in identifiers being closed 2021-12-27 20:26:28 -08:00
JamesTheGeek
828072bcea Fix issue #15869
The taiko-slider is not included in  `Playfield`, so it doesn't get hidden when calling `drawableRuleSet.Playfield.Hide()`.   Calling `drawableRuleSet.Hide()` hides the taiko-slider, in addition to the rest of the `Playfield`.
2021-12-14 23:23:11 -05:00
ekrctb
116b857cea
Merge branch 'master' into no-scope-catch 2021-11-10 20:50:31 +09:00
Semyon Rozhkov
41f4f0ab5e Different setting slider description in each mod 2021-11-10 03:57:22 +03:00
Semyon Rozhkov
64bc8da14c Add "No Scope" mod implementation for Catch 2021-11-09 17:11:19 +03:00
Salman Ahmed
eb5e7402c3 Remove obsolete method in ModAutoplay 2021-11-07 16:15:57 +03:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Dean Herbert
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
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
Salman Ahmed
18fb9f5ac9
Merge branch 'master' into mod-using-reference-equality 2021-04-11 19:48:55 +03:00
Dean Herbert
67773c42ef
Merge pull request #11888 from H2n9/modtimeramp-new-behaviour 2021-02-25 14:01:57 +09:00
Bartłomiej Dach
421b7877d4 Avoid mixing precision across time ramp bindables
Bears no functional difference, it's just a bit less of an eyesore.
2021-02-24 19:16:10 +01:00
Ronnie Moir
73d6a3687e Change rate correction logic to be more explicit 2021-02-24 14:40:56 +00:00
smoogipoo
0b44d2483b Make some properties virtual
I think they were intended to be this way from the beginning.
2021-02-24 15:03:41 +09:00
smoogipoo
14160b897e Fix references to ModSuddenDeath 2021-02-24 14:44:53 +09:00
smoogipoo
30a58691f0 Make SD and PF incompatible with each other 2021-02-24 14:34:37 +09:00
Ronnie Moir
f6d3cd6413 Change SamplePlaybackWithRateMods to use rate calulated from the sample
Replace hardcoded numbers
2021-02-23 21:25:59 +00:00
PercyDan
b55a1acbea
Merge 2babb7ecb0 into e679a1916f 2021-02-23 21:49:03 +01:00
Ronnie Moir
7394c62cc8 Make ModTimeRamp and ModRateAdjust incompatible 2021-02-23 18:10:03 +00:00
Ronnie Moir
a6e840634b Adjust scrubbing behaviour to allow dragging through rate values 2021-02-23 15:52:53 +00:00
Ronnie Moir
f45cedeb85 Adjust initial and final rate ranges and prevent them from overlapping 2021-02-23 15:38:09 +00:00
Dean Herbert
f84ea30637 Expose Mods in DrawableRuleset to avoid using external DI 2021-02-11 17:47:29 +09:00
Dean Herbert
aaa0362b12 Merge branch 'master' into autoplay-rate-independence 2021-02-11 17:39:45 +09:00
smoogipoo
be9b07a4cf Merge branch 'master' into difficulty-adjustment-extension 2021-02-10 20:42:08 +09:00
Dean Herbert
8204d360a8 Always reset local user settings when a mod is deselected in ModSelectOverlay 2021-02-09 13:44:42 +09:00
Dean Herbert
be379e0e3c Change CopyFrom to always overwrite all settings with incoming values 2021-02-09 13:44:11 +09:00
Bartłomiej Dach
0229851c9c Apply rounding to ModTimeRamp to improve SPM consistency 2021-02-07 19:02:09 +01:00
Bartłomiej Dach
7daeacaff2 Add and implement IApplicableToRate interface 2021-02-07 18:35:34 +01:00
Bartłomiej Dach
68c20a2a37 Allow autoplay score generation to access mod list 2021-02-07 18:35:34 +01:00
Bartłomiej Dach
a0de1cbfd0 Handle no-duration single-object edge case 2021-01-31 21:09:41 +01:00
Bartłomiej Dach
547b3d8bed Fix speed change calculation in time ramp mods 2021-01-31 20:34:56 +01:00
Bartłomiej Dach
81b052b866 Add failing test cases 2021-01-31 20:34:22 +01:00
Dean Herbert
dee0d3c33a
Merge branch 'master' into apply-sv-to-taiko-hr-ez 2021-01-25 14:28:06 +09:00
Bartłomiej Dach
4b4adc927c Rename param to match method body 2021-01-10 15:35:53 +01:00
Salman Ahmed
0aad0c7c6c Target logic at this and adjust variables 2021-01-09 00:31:18 +03:00
Salman Ahmed
375ecf92ed Merge remote-tracking branch 'upstream/master' into fix-mod-buttons-not-copying-settings 2021-01-09 00:26:18 +03:00
Bartłomiej Dach
303cc62ee7 Transfer flags indicating if settings were changed 2021-01-06 22:46:46 +01:00
Dean Herbert
b3f08b29ca Ensure that all changes to screen backgrounds are on the correct thread 2021-01-05 15:22:50 +09:00
Bartłomiej Dach
9e4a925ab1 Clarify & cleanup comments some 2021-01-03 13:44:29 +01:00
Bartłomiej Dach
a3e29b9154 Rename parameters for readability 2021-01-03 13:25:44 +01:00
Dean Herbert
2501707d7d Copy values using Bind to also copy defaults 2021-01-03 20:45:03 +09:00
Dean Herbert
29dbb1cc0d Add internal pathway for ensuring correct application of bindable mods 2021-01-03 15:48:28 +09:00
Dean Herbert
23e216fa0b Simplify some default value checks (we are sure the return is an IBindable) 2021-01-03 15:47:15 +09:00
Salman Ahmed
c1a1e3acc5 Revert drive-by changes 2021-01-01 15:40:40 +03:00
Salman Ahmed
a031c8e0b6
Apply documentation suggestions
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-01-01 15:34:09 +03:00
Salman Ahmed
b4df2d6d43 Add method for copying properties from another mod 2021-01-01 03:46:09 +03:00
Firmatorenio
013b9b62a1 add SV multipliers to taiko difficulty mods 2020-12-29 20:22:56 +06:00
Salman Ahmed
41b79d938b Fix wrong checks.. 2020-12-28 15:30:52 +03:00
Salman Ahmed
5efcdbd431 Fix IMod now using reference equality as well 2020-12-28 15:19:28 +03:00
Salman Ahmed
43f8f3638a Fix mod using reference equality unless casted to IMod 2020-12-27 02:42:13 +03:00
PercyDan54
2babb7ecb0
Fix CI 2020-12-18 18:33:38 +08:00
PercyDan54
560a0174df
Make auto restart toggleable 2020-12-18 17:54:09 +08:00
smoogipoo
ac91f0e270 Add extended limits to difficulty adjustment mod 2020-12-10 00:37:19 +09:00
Bartłomiej Dach
8da40ce2dc Reduce duplication by extracting ModEasyWithExtraLives 2020-11-16 19:54:00 +01:00
Bartłomiej Dach
128adce017 Merge branch 'master' into change-taiko-ez 2020-11-16 19:37:47 +01:00
PercyDan54
f2ef7bee5d
Fix checks 2020-11-16 18:17:50 +08:00
PercyDan54
d7acfd5413
Remove retires from ModEasy 2020-11-16 18:15:15 +08:00
Bartłomiej Dach
5ace7abaa8 Add abstract non-generic ModNightcore to pattern-match over 2020-11-15 15:32:02 +01:00
Dean Herbert
2d50a7b616
Fix a few xmldoc typos 2020-11-05 17:38:02 +09:00
smoogipoo
9d5b1ec28c Add removal dates 2020-11-05 17:04:11 +09:00
smoogipoo
cc518feca7 Make methods abstract 2020-11-05 16:03:10 +09:00
smoogipoo
a219aa7ba2 Add xmldoc 2020-11-05 15:53:35 +09:00
smoogipoo
628b8be15d Implement ModWithVisibilityAdjustment 2020-11-05 15:40:25 +09:00
Dean Herbert
2ea4aa0a37 Fix incorrect specification on some sample lookups 2020-10-30 11:59:41 +09:00
Dean Herbert
8b864c8c22
Merge branch 'master' into fix-multimod-copy 2020-10-14 22:29:38 +09:00
smoogipoo
f04aec538f Fix MultiMod throwing exceptions when creating copies 2020-10-14 18:12:19 +09:00
smoogipoo
d536a1f75e Fix breaks being culled too early 2020-10-09 21:04:56 +09:00
Dean Herbert
6649cb2204 Fix incorrect first object logic 2020-10-09 06:41:53 +09:00
Dean Herbert
2d0275ba95 Fix first hitobject in osu! hidden mod not getting correct fade applied 2020-10-09 03:07:01 +09:00
smoogipoo
cb6b35116a Merge branch 'master' into scoring-standardisation 2020-10-01 12:28:51 +09:00
Dean Herbert
367b35bb10 Merge branch 'master' into fix-storyboard-sample-pausing 2020-09-30 22:42:26 +09:00
Dean Herbert
414c40d298 Reverse inheritance order of SkinnableSound's pause logic 2020-09-30 15:45:14 +09:00
smoogipoo
bc8f6a58fd Update PF/SD with new hit results 2020-09-29 16:33:38 +09:00
Dean Herbert
136843c8e4 Make DrawableStoryboardSample a SkinnableSound
Allows sharing pause logic with gameplay samples.
2020-09-29 14:25:39 +09:00
smoogipoo
1143d5d992 Update class exclusion for dynamic compilation 2020-09-04 20:41:08 +09:00
Dean Herbert
357fb3a10e Merge branch 'master' into beatmap-track-rework 2020-08-21 12:53:09 +09:00
smoogipoo
583760100a Implement mania invert mod 2020-08-18 01:40:55 +09:00
Dean Herbert
e465afa280 Merge branch 'master' into beatmap-track-rework 2020-08-14 20:02:43 +09:00
smoogipoo
3cb22fad82 Fix mods sharing bindable instances 2020-08-13 19:48:31 +09:00
smoogipoo
e47a1eb313 Use adjustable ITrack 2020-08-12 01:41:21 +09:00
smoogipoo
7c3ae4ed42 Remove generics from IApplicableToTrack 2020-08-06 18:25:34 +09:00
smoogipoo
e8ab3cff3c Add class constraint 2020-08-06 17:02:47 +09:00
smoogipoo
5c05fe3988 Expose track from MusicController 2020-08-06 16:24:14 +09:00
smoogipoo
6e42b8219c Move track to MusicController, compiles 2020-08-06 16:24:14 +09:00
Dean Herbert
c1442568b9 Make perfect mod ignore all non-combo-affecting hitobjects 2020-07-21 17:04:45 +09:00
Dean Herbert
b59e4f8a7e Change difficulty adjust mod to match stable range of 0-10 2020-07-14 08:15:14 +09:00
Joehu
d66b97868c Adjust rank when flashlight is enabled 2020-07-02 12:39:37 -07:00
smoogipoo
bd1f38cc3e Fix crash due to unsafe mod deserialisation 2020-06-26 23:21:44 +09:00
Dan Balasescu
1eaa25e75e
Merge branch 'master' into storyboard-sample-rate 2020-06-26 17:29:38 +09:00
Dean Herbert
14ad3835ff Update naming 2020-06-23 21:27:01 +09:00