Commit Graph

3473 Commits

Author SHA1 Message Date
fb5d25405e Replace calls to obsoleted GetOrDefault() extension 2021-07-18 21:52:16 +02:00
eac9b1ec7e Disable toolbox composition buttons when beatmap is not timed 2021-07-17 02:30:13 +09:00
7f432665e5 Preserve Y position of hit objects in osu!catch 2021-07-14 14:38:38 +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
2436ebb6d3 Merge pull request #13874 from Naxesss/short-object-checks
Add object duration checks
2021-07-13 19:01:02 +09:00
3a5912e35e Add new checks to verifiers 2021-07-13 10:53:25 +02:00
6da2a3d51f Add zero-length objects check and tests 2021-07-13 10:50:11 +02:00
35841fa4f7 Merge branch 'master' into fix-difficulty-bindable-bind-order 2021-07-13 13:42:53 +09:00
5cff379cd9 Merge pull request #13860 from smoogipoo/fix-bindable-ctor
Fix DifficultyBindable not binding correctly and not having default ctor
2021-07-13 13:42:44 +09:00
351a46b379 Merge pull request #13823 from ekrctb/catch-editor-tests
Add some tests for catch editor blueprints
2021-07-13 08:27:41 +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
bd7c334588 Avoid the need for per-settings control classes 2021-07-08 17:49:00 +09:00
a6e94dd491 Add back extended limits support 2021-07-08 17:49:00 +09:00
c4313d6e96 Initial implementation of new flow (only working for approach rate) 2021-07-08 17:48:08 +09:00
0e4f4a6fde Initial storage changes 2021-07-08 14:28:13 +09:00
663ffae42f Fix hit object selection blueprint potential null reference 2021-07-08 14:19:00 +09:00
d2722f1523 Merge branch 'master' into ruleset-shaders 2021-07-07 15:44:30 +09:00
e1c646b9b2 Remove redundant arguments 2021-07-05 23:52:39 +08:00
216e52d6d0 Avoid using single letter variable names 2021-07-04 23:24:17 +02:00
32b068fbdc Fix typo causing nested windows to be ignored 2021-07-04 21:50:58 +02:00
6a0c5b54c3 Fix obsolete message in Mod.Ranked 2021-07-02 15:55:25 +08:00
0396a03bbc Rename Mod.Ranked back to avoid breaking ruleset API 2021-07-02 12:50:58 +09:00
f7aba7360a Merge pull request #13654 from Henry-YSLin/fix-invisible-number-box
Refactor `SeedSettingsControl` and `SettingsNumberBox`
2021-06-28 16:07:30 +09:00
f939e2603a Merge branch 'master' into localisable-tooltips 2021-06-28 15:29:42 +09:00
0cceef8da5 Moved the string to int? conversion logic into SettingsNumberBox 2021-06-28 11:00:07 +08:00
a1e8cc5444 Merge pull request #13669 from Naxesss/hitsound-checks
Add hitsound checks
2021-06-28 03:13:43 +09:00
9f9e96ce9e Add check for spanDuration <= 0 prior to division 2021-06-27 15:40:09 +02:00
a4a5325b73 Improve acceptable difference for repeat edges
Likelihood that `spanDuration` is greater than E+7 is quite low in any realistic case, so this should work fine.
2021-06-27 15:39:31 +02:00
4cfa0ae5ec Improve precision for repeat edges 2021-06-27 03:26:35 +02:00
2cd7eda3c4 Add "or equal to" to volume threshold xmldocs 2021-06-27 02:30:12 +02:00
0c0fd291d9 Order hitobjects by endtime 2021-06-27 01:25:03 +02:00
4796b1b208 Use local variables for hasHitsound & couldHaveHitsound 2021-06-27 00:04:30 +02:00
5bc08ebadb Rename hasHitsounds -> mapHasHitsounds 2021-06-26 23:49:25 +02:00
d29e6f4695 Add negligible template to PossibleTemplates 2021-06-26 23:49:06 +02:00
1913084342 Use HitSampleInfo.AllAdditions instead of new list 2021-06-26 23:48:28 +02:00
f78cc9397e Factor out edge type logic 2021-06-26 20:45:31 +02:00
51147405c5 Make || and && priority explicit 2021-06-26 20:44:39 +02:00
4b436b774d Add few hitsounds check 2021-06-26 19:20:46 +02:00