Commit Graph

3822 Commits

Author SHA1 Message Date
482cf29e28 Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-12 17:57:14 +09:00
5cbd731864 Add RulesetInfo hashcode implementation and tidy up equality 2022-01-12 17:49:10 +09:00
52e240230b Merge branch 'master' into mouse-button-disable-disables-touch 2022-01-12 17:14:39 +09:00
82259ee072 Improve legibility of RulesetInfo.Equals 2022-01-12 17:00:17 +09:00
2d2faa72a9 Fix rulesets being out of order 2022-01-12 17:00:16 +09:00
3811bd8520 Fix some null inspections 2022-01-12 17:00:16 +09:00
8d943b5709 Fix many shortcomings and compatibility issues with EF classes post-rename 2022-01-12 17:00:16 +09:00
a3da8dc49d Fix missing interface implementation of IRulesetStore 2022-01-12 16:58:58 +09:00
b8cd3cdbbc Various updates to ruleset and primary key usages to move closer to realm support 2022-01-12 16:57:13 +09:00
3ecd889fef Replace EF RulesetStore with realm version
Pass full EF context factory to `RealmContextFactory` for migration purposes
2022-01-12 16:39:36 +09:00
c3df58e01c Add required properties to make realm models backwards compatible 2022-01-12 16:39:36 +09:00
618903c217 Rename realm to become imposter classes 2022-01-12 16:39:36 +09:00
0b6c4497bd Rename EF classes to allow for shit to hit the fan 2022-01-12 16:39:36 +09:00
a82606cf5c Merge pull request #16407 from smoogipoo/fix-mania-normalised-scroll-speed
Fix calculation of most common beat length for mania scroll speed
2022-01-12 15:23:22 +09:00
80ccff9068 Remove no longer necessary guards against default control points
The subscription in which the guards were present was moved from
constructor to `ApplyDefaults()`, and at that point neither the sample
control point or the difficulty point can be the default point, because
there are explicit paths that overwrite those with blank points in the
same methods, prior to the subscription's registration.

The only worry would be that someone would set the default point on the
object themselves, but at that point that is most likely programmer
error anyhow.
2022-01-11 22:14:47 +01:00
7a25fe79b7 Fix sample control point time being calculated before defaults applied
In editor contexts, the `StartTimeBindable` subscription in `HitObject`
was firing before defaults were applied, which in the case of sliders
manifested in an infinite end time. `ApplyDefaults()` also did not
always set the time of the control point to the correct value, which
matters when the beatmap is encoded.

Ensure that the control points receive the correct time values during
default application, and only register the `StartTimeBindable` change
callback after defaults have been successfully applied.
2022-01-11 21:38:59 +01:00
a09563a7d9 Fix calculation of most common beat length for mania scroll speed 2022-01-11 11:00:30 +09:00
c09f6ee052 Use slider snapping more liberally to match user expectations
Previously the slider path length would be snapped using the current
beat snap setting on *every* change of the slider path. As it turns out
this is unexpected behaviour in some situations (e.g. when reversing a
path, which is expected to preserve the previous duration, even though
the slider may be technically "unsnapped" at that point in time due to a
different beat snap setting being selected afterwards).
2022-01-07 16:02:04 +01:00
74b15ec30c Merge branch 'master' into master 2022-01-06 21:12:45 +09:00
cea9cab4dc Use ExpandingButtonContainer in editor composer 2022-01-06 21:10:45 +09:00
88602ec1b4 Fix mouse button disable not disabling touch input mappings 2022-01-05 18:29:32 +09:00
ef2a4aed9a Fix editor playfield not being centered correctly
This has come up multiple times, with mappers citing that they have
muscle memory for mapping based on the centre of the playfield being in
the centre of the window.

The original plan was to have a second toolbar on the right hand side of
the screen to balance the padding, but we're not at that point yet.
Easiest solution is to do what stable does and allow the left-hand
toolbar items to overlap the playfield underneath it.

In edge cases where the user is running at an aspect ratio that causes
overlaps, they can choose to collapse the toolbars down. We can probably
work on this UI/UX a bit more as we update designs to be more friendly
to such cases.
2022-01-05 16:05:18 +09:00
bb54f438aa Merge branch 'master' into positional-sounds-strength-adjustment 2022-01-03 12:40:56 +09:00
dec1f31749 Make KeyBindingContainer public 2021-12-28 22:43:07 +09:00
7de43e3aba Fix most open compound words in identifiers being closed 2021-12-27 20:26:28 -08:00
8094b502cb Remove test-specific logic from RulesetConfigCache 2021-12-23 19:42:26 +01:00
5cbaa028eb Use extracted ruleset config cache implementation in DI 2021-12-23 19:02:10 +01:00
0f65c4e960 Extract interface for ruleset config cache 2021-12-23 18:59:02 +01:00
1040590844 Add cancellation support to game-side IResourceStores 2021-12-23 10:33:17 +01:00
88436d51ae Remove using 2021-12-21 13:44:20 +03:00
cca02a8016 Create PerformanceAttributes 2021-12-21 13:08:31 +03:00
2f2006715e Slightly refactor difficulty and pp calculators 2021-12-17 23:40:23 +03:00
fd5af1fbe7 Code refactor and name changes
cleaned code up with Jetbrains i hope it suffices
2021-12-17 13:16:06 +01:00
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
cfa712473d Use default timeout in GetPlayableBeatmap when provided CancellationToken is default 2021-12-07 13:33:41 +09:00
f3e9fb76fc Add the ability to pass a CancellationToken through DifficultyCalculator.CalculateAll
Was weirdly missing from this one method.
2021-12-07 13:32:47 +09:00
38702beabf Merge branch 'master' into i-ruleset-store 2021-12-04 15:05:39 +01:00
1eed2436e6 Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
15db1372aa Add missing equality implementations on IRulesetInfo 2021-12-03 18:01:45 +09:00
675ecb603f Add IRulesetStore to allow for transitional usage in upcoming manager classes 2021-12-03 17:57:40 +09:00
cd095b5f7d Merge remote-tracking branch 'origin/positional-sounds-strength-adjustment' into positional-sounds-strength-adjustment 2021-11-28 14:21:26 +01:00
9c42cc0c05 Fix 2021-11-28 14:12:39 +01:00
9065179c52 Fix 2021-11-28 14:09:30 +01:00
c3fb793762 Fixed the problems that were brought up and deleted the old bind logic 2021-11-28 14:06:53 +01:00
e83115ad5e Binding logic fix, nullification of unnecessary path 2021-11-28 03:25:11 +01:00
eaa464e548 Initial implementation of adjustable positional hitobject audio strength 2021-11-28 02:58:08 +01:00
f283770f34 Update mock RulesetInfo usage to set OnlineID instead of ID 2021-11-24 15:50:26 +09:00
e57c343531 Add helper setter to EF RulesetInfo.OnlineID to allow updating usages 2021-11-24 15:50:26 +09:00
33d95fbb9c Merge pull request #15771 from peppy/ruleset-config-cache-shortname
Update `RulesetConfigCache` to cache via `ShortName` instead of `ID`
2021-11-24 15:24:57 +09:00
0aedbbe165 Fix incorrect fallback logic causing test failure 2021-11-24 14:04:55 +09:00