Dean Herbert
5ffd3ff82a
Add xmldoc and allow constructing an AssemblyRulesetStore
with a directory path
2022-02-16 17:25:16 +09:00
Dean Herbert
d0efecfc9c
Add RulesetStore
for use where realm is not present (ie. other projects)
2022-02-16 17:13:54 +09:00
Dean Herbert
7a69de0060
Split out realm portion of RulesetStore
2022-02-16 17:13:31 +09:00
Dan Balasescu
4c1413e0c7
No longer require Mod implementation
2022-02-16 16:36:02 +09:00
Dan Balasescu
5dd9771c5f
Remove mod multipliers from being applied to scores
2022-02-16 16:27:27 +09:00
Dan Balasescu
84e82ef5e4
Add XMLDocs to difficulty attribute properties
2022-02-16 14:09:19 +09:00
Salman Ahmed
0992bec2c8
Change "distance spacing" multipler type to double
...
Avoids losing precision on initial load, causing an unnecessary
hash change in `EditorChangeHandler`.
Resolves test failures in `TestSceneEditorChangeStates`
(https://github.com/ppy/osu/runs/5192493482?check_suite_focus=true ).
2022-02-16 03:28:12 +03:00
Salman Ahmed
868dcd20f5
Remove e.ShiftPressed
handling for now
...
Broken on macOS, will be handled differently later on as discussed.
2022-02-15 02:21:53 +03:00
Salman Ahmed
528dc03b8c
Expose distance spacing in IPositionSnapProvider
for updating distance grid
...
Alternate method is to expose a `SnapDistancesChanged` event in
`IPositionSnapProvider` instead, but I chose this way as an analogue to
`IBeatSnapProvider.BeatDivisor`, which might even make sense to be
exposed as `BindableBeatDivisor` instead of caching that separately.
2022-02-15 02:21:53 +03:00
Salman Ahmed
19ee05c232
Add "distance spacing" multiplier for osu! ruleset
...
While osu!catch also implements a distance snap grid, it doesn't rely on
`GetBeatSnapDistanceAt` (unlike osu!), therefore it can't have the
"distance spacing" multiplier yet.
2022-02-15 02:21:53 +03:00
Dean Herbert
b9d9fc56af
Move files to UI namespace
2022-02-14 17:51:39 +09:00
Salman Ahmed
92e22c57a7
Introduce private APIRuleset
for online ID equality comparison
2022-02-11 08:27:01 +03:00
Salman Ahmed
26839f6ad8
Consider OnlineID
s during ruleset equality if available
...
Required for `APIBeatmap`s, which provide `Ruleset` instances with `OnlineID` available only.
Also consistent with the comparer implementation.
2022-02-11 04:26:58 +03:00
Salman Ahmed
1b729e891d
Update pointless CompareTo
implementation once again
2022-02-11 04:17:30 +03:00
Salman Ahmed
9574bc1382
Allow IRulesetInfo
s of same type to be comparable
...
At first I was planning on making `CompareTo` implemented at
`IRulesetInfo` itself and shared across classes, but turns out it only
implements it explicitly and not allow direct `IRulesetInfo.Equals`
calls.
It messed with my head enough that I decided to just let each class have
its own implementation and only allow same type.
2022-02-11 04:03:23 +03:00
Dan Balasescu
ebd105422f
Remove unused using
2022-02-10 14:22:08 +09:00
Dan Balasescu
f7fb7825cc
Simplify disposal
2022-02-10 14:21:51 +09:00
Dan Balasescu
a3896a8ebd
Remove allowance of null dependency
2022-02-10 14:21:50 +09:00
Dan Balasescu
45b3f472ab
Merge branch 'master' into spectator-state-rework
2022-02-08 19:51:50 +09:00
Henry Lin
56c90a21ce
Add a todo
2022-02-06 11:22:12 +08:00
Henry Lin
f78c853bc7
Calculate max combo locally in PerformanceBreakdownCalculator
2022-02-06 10:59:53 +08:00
Henry Lin
0b1fef38af
Use the playable beatmap provided in CreateStatisticsForScore
2022-02-05 21:36:34 +08:00
Henry Lin
f29301cd1e
Merge branch 'master' into display-performance-attributes
2022-02-05 16:59:46 +08:00
Dan Balasescu
483977d5c8
Merge branch 'master' into spectator-state-rework
2022-02-03 19:59:07 +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
Dan Balasescu
6d3bc005ea
Merge branch 'master' into spectator-state-rework
2022-02-02 18:57:04 +09:00
Dean Herbert
0c5da9370a
Fix rulesets potentially being marked Available
even when methods are missing
...
Came up when running the game after the recent breaking changes
(https://github.com/ppy/osu/pull/16722 ), where two template rulesets I
had loaded were erroring on startup but still being marked as available,
allowing them to crash the game on attempting to initiate relpay logic.
These cases are already handled for first-time ruleset loading via the
`GetTypes()` enumeration in `RulesetStore.addRuleset`, but when
consistency checking already present rulesets the only runtime
validation being done was `ruleset.CreateInstance()`, which does not
handle missing types or methods.
2022-02-02 14:52:01 +09:00
Henry Lin
b06128ffa5
Rename "Final PP" to "Achieved PP"
2022-02-01 22:26:55 +08:00
Dan Balasescu
41007169f7
Give SpectatorState a user state
2022-02-01 21:51:05 +09:00
Dean Herbert
0f83f77d2b
Add xmldoc for new ResetFromReplayFrame
method
2022-02-01 16:52:53 +09:00
Dan Balasescu
0641264a11
Merge branch 'master' into spectator-consistency-frames
2022-02-01 14:35:30 +09:00
Dan Balasescu
c50577e25f
Apply suggestion from review
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-01 10:48:41 +09:00
Dan Balasescu
4fb565e15f
Reset ScoreProcessor from statistics replay frames
2022-01-31 21:32:56 +09:00
Dan Balasescu
39e1d65976
Make ScoreProcessor write all judgement types
2022-01-31 18:53:47 +09:00
Dan Balasescu
0458d408bb
Add replay statistics frames to FramedReplayInputHandler
2022-01-31 18:53:47 +09:00
Dan Balasescu
4727aeda01
Give last bundled replay frame the frame header
2022-01-31 18:53:47 +09:00
Dean Herbert
0e764538e0
Retrieve KeyBindingContainer
via DI rather than traversal lookup
2022-01-31 17:05:04 +09:00
Dean Herbert
a84fd2e20c
Merge branch 'master' into master
2022-01-31 16:30:08 +09:00
Dean Herbert
2d1a8a9d49
Use a more correct CompareTo
implementation for ruleset ordering
2022-01-27 21:58:04 +09:00
Dean Herbert
33b7bdcf82
Update pointless CompareTo
implementation
2022-01-27 21:49:33 +09:00
Dean Herbert
7af23328a4
Merge branch 'master' into ruleset-ordering-fix
2022-01-27 21:46:03 +09:00
Dean Herbert
a5d422e82c
Merge branch 'master' into ruleset-id-fixes
2022-01-27 17:07:18 +09:00
Dan Balasescu
54d18bd7ac
Merge pull request #16642 from peppy/ruleset-private-info-set
...
Make `Ruleset.RulesetInfo` get only
2022-01-27 16:41:52 +09:00
Dean Herbert
5637fd64d6
Perform ordering using IComparable
instead
2022-01-27 15:59:20 +09:00
Dean Herbert
5288eedd31
Update all usages of RulesetID
and Ruleset.ID
to use Ruleset.OnlineID
2022-01-27 15:38:03 +09:00
Dean Herbert
714177cce1
Remove pointless constructor in RulesetInfo
2022-01-27 15:37:27 +09:00
Dean Herbert
e67b1fe0ec
Make Ruleset.RulesetInfo
get only
2022-01-27 15:36:35 +09:00
Dean Herbert
f30d63107a
Add SortID
to RulesetInfo
to allow stable ordering of rulesets for display
2022-01-27 15:35:16 +09:00
Dan Balasescu
0dd2de3e1e
Merge pull request #16628 from peppy/fix-realm-ruleset-ordering
...
Fix custom rulesets being displayed before official ones
2022-01-26 19:19:01 +09:00
Dean Herbert
57e624d8e7
Fix custom rulesets being displayed before official ones
2022-01-26 18:46:32 +09:00
Dean Herbert
f2d48d088d
Fix realm migration failures with presence of databased EF rulesets that don't exist on disk
2022-01-26 17:57:03 +09:00
Dan Balasescu
bfa521bdd2
Merge pull request #16593 from peppy/realm-clean-up
...
Clean up realm naming
2022-01-25 14:33:53 +09:00
Dean Herbert
d7342880f5
Update remaining cases of clashes with realm.Write
and realm.RegisterForNotifications
2022-01-25 13:09:48 +09: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
Dean Herbert
6eb2c28e41
Rename RealmContextFactory
to RealmAccess
2022-01-24 20:38:07 +09: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
Henry Lin
48aa1677dc
Include hit results of nested hit objects in statistics of perfect score
2022-01-23 11:01:30 +08: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
Bartłomiej Dach
1ce0b18003
Merge branch 'master' into display-performance-attributes
2022-01-22 14:12:57 +01:00
Dean Herbert
114c9e8c1f
Update all usages of CreateContext
to use either Run
or Write
2022-01-21 17:27:08 +09:00
Henry Lin
6c97fbd3f2
Calculate perfect performance without caching
2022-01-20 13:06:00 +08:00
Henry Lin
42d904acee
Remove blocking calls and add back Task.WhenAll
2022-01-20 12:50:28 +08:00
Henry Lin
dd42c89260
Feed more info to the temporary score processor for more accurate total score
2022-01-19 16:08:45 +08:00
Henry Lin
0d708efb73
Split off PerformanceBreakdown
and its own calculation logic
2022-01-19 15:33:33 +08:00
Henry Lin
31e03e99cd
Improve display of "total PP"
2022-01-18 22:11:43 +08:00
Dean Herbert
7f65f3a47f
Remove all usage of BaseDifficulty
(and access Difficulty
instead)
2022-01-18 22:57:39 +09:00
Henry Lin
eddf453294
Fix code quality issues
2022-01-17 21:32:13 +08:00
Henry Lin
b81fc675e8
Include PropertyName in PerformanceDisplayAttribute
2022-01-17 20:45:25 +08:00
Henry Lin
d014fef179
Hide confusing attributes
2022-01-17 20:36:36 +08:00
Henry Lin
511a607599
Display performance breakdown in a tooltip
2022-01-17 18:28:17 +08: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
Bartłomiej Dach
03e4ec4214
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-15 14:45:42 +01:00
Susko3
19467e58c1
Remove unused params from BDL methods
2022-01-15 01:06:39 +01:00
Dean Herbert
eb5f15a77e
Merge pull request #16420 from bdach/slider-paste-parsing-failures-2
...
Fix pasted sliders having sample points with time at infinity
2022-01-13 23:28:49 +09:00
Dean Herbert
4f8d29c1c0
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-13 18:25:09 +09:00
Joseph Madamba
5185f6010e
Fix missed identifier typos
2022-01-12 15:46:20 -08:00
Bartłomiej Dach
afce976f08
Fix oversubscription to StartTimeBindable.ValueChanged
2022-01-12 19:29:49 +01:00
Bartłomiej Dach
07fc772c24
Merge branch 'master' into slider-paste-parsing-failures-2
2022-01-12 19:06:36 +01:00
Dean Herbert
51251e3204
Fix CI reported warnings
2022-01-12 22:39:00 +09:00
Dean Herbert
08da948afc
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-12 19:22:55 +09:00
Dan Balasescu
4106ebf881
Fix mania requiring PERFECTs to maintain HP
2022-01-12 18:29:23 +09:00
Dean Herbert
eb70a1eeb7
Replace compatibility properties with direct references
2022-01-12 18:13:14 +09:00
Dean Herbert
482cf29e28
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-12 17:57:14 +09:00
Dean Herbert
5cbd731864
Add RulesetInfo
hashcode implementation and tidy up equality
2022-01-12 17:49:10 +09:00
Dan Balasescu
52e240230b
Merge branch 'master' into mouse-button-disable-disables-touch
2022-01-12 17:14:39 +09:00
Dean Herbert
82259ee072
Improve legibility of RulesetInfo.Equals
2022-01-12 17:00:17 +09:00
Dean Herbert
2d2faa72a9
Fix rulesets being out of order
2022-01-12 17:00:16 +09:00
Dean Herbert
3811bd8520
Fix some null inspections
2022-01-12 17:00:16 +09:00
Dean Herbert
8d943b5709
Fix many shortcomings and compatibility issues with EF classes post-rename
2022-01-12 17:00:16 +09:00
Dean Herbert
a3da8dc49d
Fix missing interface implementation of IRulesetStore
2022-01-12 16:58:58 +09:00
Dean Herbert
b8cd3cdbbc
Various updates to ruleset and primary key usages to move closer to realm support
2022-01-12 16:57:13 +09:00
Dean Herbert
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
Dean Herbert
c3df58e01c
Add required properties to make realm models backwards compatible
2022-01-12 16:39:36 +09:00
Dean Herbert
618903c217
Rename realm to become imposter classes
2022-01-12 16:39:36 +09:00
Dean Herbert
0b6c4497bd
Rename EF classes to allow for shit to hit the fan
2022-01-12 16:39:36 +09:00
Dean Herbert
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
Bartłomiej Dach
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
Bartłomiej Dach
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
Dan Balasescu
a09563a7d9
Fix calculation of most common beat length for mania scroll speed
2022-01-11 11:00:30 +09:00
Bartłomiej Dach
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
Dean Herbert
cea9cab4dc
Use ExpandingButtonContainer
in editor composer
2022-01-06 21:10:45 +09:00
Dean Herbert
88602ec1b4
Fix mouse button disable not disabling touch input mappings
2022-01-05 18:29:32 +09:00
Dean Herbert
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
Dean Herbert
bb54f438aa
Merge branch 'master' into positional-sounds-strength-adjustment
2022-01-03 12:40:56 +09:00
pikokr
dec1f31749
Make KeyBindingContainer
public
2021-12-28 22:43:07 +09:00
Joseph Madamba
7de43e3aba
Fix most open compound words in identifiers being closed
2021-12-27 20:26:28 -08:00
Bartłomiej Dach
8094b502cb
Remove test-specific logic from RulesetConfigCache
2021-12-23 19:42:26 +01:00
Bartłomiej Dach
5cbaa028eb
Use extracted ruleset config cache implementation in DI
2021-12-23 19:02:10 +01:00
Bartłomiej Dach
0f65c4e960
Extract interface for ruleset config cache
2021-12-23 18:59:02 +01:00
Bartłomiej Dach
1040590844
Add cancellation support to game-side IResourceStore
s
2021-12-23 10:33:17 +01:00
StanR
88436d51ae
Remove using
2021-12-21 13:44:20 +03:00
StanR
cca02a8016
Create PerformanceAttributes
2021-12-21 13:08:31 +03:00
StanR
2f2006715e
Slightly refactor difficulty and pp calculators
2021-12-17 23:40:23 +03:00
mk-56
fd5af1fbe7
Code refactor and name changes
...
cleaned code up with Jetbrains i hope it suffices
2021-12-17 13:16:06 +01: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
Dean Herbert
cfa712473d
Use default timeout in GetPlayableBeatmap
when provided CancellationToken
is default
2021-12-07 13:33:41 +09:00
Dean Herbert
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
Bartłomiej Dach
38702beabf
Merge branch 'master' into i-ruleset-store
2021-12-04 15:05:39 +01:00
Dean Herbert
1eed2436e6
Clean up unused resolved properties
2021-12-03 18:49:49 +09:00
Dean Herbert
15db1372aa
Add missing equality implementations on IRulesetInfo
2021-12-03 18:01:45 +09:00
Dean Herbert
675ecb603f
Add IRulesetStore
to allow for transitional usage in upcoming manager classes
2021-12-03 17:57:40 +09:00
mk-56
cd095b5f7d
Merge remote-tracking branch 'origin/positional-sounds-strength-adjustment' into positional-sounds-strength-adjustment
2021-11-28 14:21:26 +01:00
mk-56
9c42cc0c05
Fix
2021-11-28 14:12:39 +01:00
mk-56
9065179c52
Fix
2021-11-28 14:09:30 +01:00
mk-56
c3fb793762
Fixed the problems that were brought up and deleted the old bind logic
2021-11-28 14:06:53 +01:00
mk-56
e83115ad5e
Binding logic fix, nullification of unnecessary path
2021-11-28 03:25:11 +01:00
mk-56
eaa464e548
Initial implementation of adjustable positional hitobject audio strength
2021-11-28 02:58:08 +01:00
Dean Herbert
f283770f34
Update mock RulesetInfo
usage to set OnlineID
instead of ID
2021-11-24 15:50:26 +09:00
Dean Herbert
e57c343531
Add helper setter to EF RulesetInfo.OnlineID
to allow updating usages
2021-11-24 15:50:26 +09:00
Dan Balasescu
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
Dean Herbert
0aedbbe165
Fix incorrect fallback logic causing test failure
2021-11-24 14:04:55 +09:00
Dan Balasescu
6ffba8a546
Merge pull request #15768 from peppy/standardise-ruleset-create-instance
...
Remove nullability of `Ruleset.CreateInstance`
2021-11-24 13:43:23 +09:00
Dean Herbert
ee22c24370
Update RulesetConfigCache
to cache via ShortName
instead of ID
2021-11-24 13:10:18 +09:00
Dean Herbert
8d69ebd7db
Remove nullability of Ruleset.CreateInstance
2021-11-24 12:23:06 +09:00
Dean Herbert
f264b128c2
Merge branch 'master' into realm-ruleset-setting-short-name
2021-11-23 14:55:36 +09:00
Dean Herbert
e580fc5abc
Merge pull request #15735 from peppy/remove-ruleset-info-inheritance
...
Remove subclassing of `RulesetInfo`
2021-11-23 10:18:32 +09:00
Dean Herbert
6c36770eb3
Add back allowance for tests scenes using empty ShortName
2021-11-22 21:41:09 +09:00
Dean Herbert
329bae50b0
Switch realm ruleset configuration to use ruleset's ShortName
as key
2021-11-22 18:52:00 +09:00
Dean Herbert
377ba2673a
Use Ruleset
's ShortName
for mod caching purposes
2021-11-22 16:52:54 +09:00
Dean Herbert
cb5b6911e6
Seal RulesetInfo
and remove virtual
methods
2021-11-22 16:39:26 +09:00
Dean Herbert
fd3e5d333e
Add xmldoc note about Skill
potentially being memory expensive
2021-11-21 12:15:32 +09:00
Dean Herbert
9f688f6291
Stop persisting Skill
s in DifficultyAttributes
2021-11-21 12:15:32 +09:00
Dean Herbert
59e763467f
Move StoragePath
implementation to an extension method
2021-11-19 16:08:38 +09:00
Dan Balasescu
6ebe54b183
Merge pull request #15494 from Tollii/beatmap-cancellation-token
...
Add support for cancellation tokens for beatmap difficulty calculation
2021-11-19 10:54:32 +09:00
Dean Herbert
cdb2a92f86
Disable key repeat for all ruleset handling cases
2021-11-18 13:13:36 +09:00
Dean Herbert
66c307e0ee
Remove usage of key repeat helper method
2021-11-18 13:13:36 +09:00
Bartłomiej Dach
8b134914cf
Merge branch 'master' into beatmap-cancellation-token
2021-11-17 21:52:30 +01:00
Dean Herbert
fd0cae2bfb
Merge branch 'master' into difficulty-attribute-helpers
2021-11-17 20:49:31 +09:00
Dean Herbert
0a7498014f
Move const
s to top of file
2021-11-17 20:47:52 +09:00
Dan Balasescu
815179f713
Use consts for attribute IDs
2021-11-17 20:31:18 +09:00
Dan Balasescu
abb333299b
Document base class
2021-11-17 20:20:54 +09:00
Dean Herbert
0715d40ea0
Merge branch 'master' into beatmap-cancellation-token
2021-11-17 11:16:10 +09:00
Dean Herbert
6cca657a2d
Standardise naming of CancellationToken
parameters
2021-11-16 14:45:51 +09:00
Dean Herbert
53c0682a08
Merge branch 'master' into beatmap-cancellation-token
2021-11-16 14:43:13 +09:00
Dan Balasescu
2c45a327bb
Remove JsonIgnores, require opt-in properties
2021-11-15 19:54:35 +09:00
Dean Herbert
369b4ba789
Update DifficultyCalculator
to take an IRulesetInfo
2021-11-15 19:16:48 +09:00
Dean Herbert
62d670a3ca
Update DifficultyCalculator
to take an IWorkingBeatmap
2021-11-15 19:16:48 +09:00
Dan Balasescu
c8a01c35f7
Remove extra members from FromDatabaseAttributes
2021-11-15 18:11:07 +09:00
Dan Balasescu
45382a8127
Ignore some properties
2021-11-15 16:32:25 +09:00
Dan Balasescu
0cfd6fdf04
Add to/from database mapping functions to difficulty attributes
2021-11-15 16:06:50 +09:00
Dan Balasescu
907499f73a
Add json properties to difficulty attributes
2021-11-15 16:06:29 +09:00
Bartłomiej Dach
69809390d3
Fix HUD unstable rate counter not including judgements before load complete
...
Also unifies UR calculation logic with the results screen statistic item
to reduce duplication.
2021-11-11 13:36:05 +01:00
Bartłomiej Dach
40cffd1682
Expose HitEvents
publically from ScoreProcessor
2021-11-11 13:22:07 +01:00
Dean Herbert
4bca96d548
Throw again to ensure correct available state is set
...
Also standardises handling between `RulesetStore` and `RealmRulesetStore`.
2021-11-11 17:39:36 +09:00
Dan Balasescu
57c333b472
Remove unused using
2021-11-11 15:29:08 +09:00
Dean Herbert
ea536dea23
Gracefully handle missing type rather than triggering ArgumentNullException
2021-11-11 14:46:21 +09:00
ekrctb
116b857cea
Merge branch 'master' into no-scope-catch
2021-11-10 20:50:31 +09:00
Naxesss
b888185799
Properly dispose of Stream
in bg quality check
2021-11-10 05:06:11 +01: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
Dean Herbert
c58f21a115
Handle mods with overloaded method signature instead
2021-11-08 14:43:46 +09:00
Dean Herbert
5b5e3dc4a2
Revert incorrect mod nullable parameter specification
2021-11-08 14:33:15 +09:00
Dean Herbert
e338340c6a
Merge branch 'master' into beatmap-cancellation-token
2021-11-08 14:32:56 +09:00
Salman Ahmed
eb5e7402c3
Remove obsolete method in ModAutoplay
2021-11-07 16:15:57 +03:00
Tollii
d5f5d74a89
Rename CancellationToken variable
2021-11-07 13:41:54 +01:00
Tollii
cf0b757b16
Fix PR comments.
...
Nitpick, more cancellation token checks.
2021-11-06 16:03:53 +01:00
Tollii
eb7d04bc77
Add cancellation token support for beatmap difficulty calculation.
2021-11-06 00:21:29 +01:00
Dean Herbert
e43d91ad5d
Fix another case of incorrect null checking in editor verification processing
2021-11-04 15:18:10 +09:00
Dean Herbert
1e73b09e57
Fix another couple of cases of incorrect string null/empty checking
2021-11-04 14:22:28 +09:00
smoogipoo
81aaef719f
Add xmldoc to CalculateTimed()
2021-11-02 17:55:00 +09:00
smoogipoo
168a7a588b
Add xmldoc to ctor also
2021-11-02 17:19:14 +09:00
smoogipoo
efba7a9c4d
Missed hyphen
2021-11-02 17:18:02 +09:00
smoogipoo
0cdd2898fe
Expose non-adjusted time from CalculateTimed()
2021-11-02 17:17:14 +09:00
Dean Herbert
34d4715220
Allow for long
online IDs and implement in ScoreInfo
2021-10-29 11:48:36 +09:00
Dean Herbert
5c7623e68e
Merge pull request #15255 from goodtrailer/node-samples-ilist
...
Change IHasRepeats.NodeSamples to IList from List
2021-10-28 14:24:26 +09:00
Dean Herbert
add39fbd4f
Merge branch 'master' into fix-skin-layout-editor-crash
2021-10-28 06:24:24 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Dean Herbert
d5b4c68d3a
Merge branch 'master' into fix-slider-path-extension-incorrectness
2021-10-26 17:36:50 +09:00
Dan Balasescu
6a6d3a5e8a
Merge pull request #15304 from peppy/fix-editor-new-beatmap-sample-change-crash
...
Fix editor crash when attempting to change sample/velocity from timeline on new beatmap
2021-10-26 17:13:56 +09:00
Dean Herbert
dae7cdc4c5
Ensure HitObject
-local control points are non-default after ApplyDefaults
...
We will probably want to make this whole flow more efficient in the
future, but this should suffice for now.
2021-10-26 16:06:03 +09:00
Dean Herbert
81fee02c2b
Fix slider paths being extended even when the last two points are equal
2021-10-26 15:47:59 +09:00
Jason Won
a582976851
reversing slider maintains shape
2021-10-26 00:05:46 -04:00
goodtrailer
0affe7b79d
Remove unnecessary using
2021-10-23 02:25:20 -07:00
goodtrailer
4440b9ca11
Change IHasRepeats.NodeSamples to IList from List
2021-10-23 01:59:07 -07:00
Dean Herbert
93482414d6
Remove SkinConfiguration
subclasses and allow configuration parsing for all skin types
2021-10-22 14:42:23 +09:00
Dean Herbert
2c5ba1d8e2
Change OnlineID
to non-nullable to allow for indexing in Realm
2021-10-18 15:53:40 +09:00
Dean Herbert
8fb9aec730
Fix threaded realm usage not disposing context fast enough
2021-10-15 16:39:53 +09:00
Dean Herbert
e47ccbd08a
Fix realm transactional overhead when rapidly changing RulesetConfigManager
values
2021-10-15 13:50:26 +09:00
smoogipoo
aa380a11c1
Merge branch 'master' into no-more-difficulty-control-points-info
2021-10-14 12:02:10 +09:00
Bartłomiej Dach
c7db286b94
Merge branch 'master' into file-sanity-checks
2021-10-14 00:17:29 +02:00
Dan Balasescu
e49f1f6e6b
Merge branch 'master' into no-more-difficulty-control-points-info
2021-10-13 20:17:57 +09:00
Dean Herbert
82f7f99f37
Refactor to use scoped using
(and also correctly dispose TagLib portion)
2021-10-12 10:46:26 +09:00
Naxesss
f2f97602f2
Dispose of video resource later
...
We need the Stream to stay open here because `StreamFileAbstraction` uses it later in the block.
2021-10-12 00:40:39 +02:00
Naxesss
47b4d03145
Dispose of Stream
s when used
2021-10-12 00:13:38 +02:00
Naxesss
ce69dd3588
Use Prescan
flag for audio length check
2021-10-11 23:57:23 +02:00
Bartłomiej Dach
56eae703fe
Avoid changing frame stable clock direction if time hasn't changed between frames
2021-10-11 21:39:48 +02:00
Naxesss
8f093b9a11
Use TagLib instead of ManagedBass
2021-10-11 13:56:26 +02:00
Naxesss
f0cd18a721
Only check each video file once
2021-10-11 13:55:50 +02:00
Naxesss
6aa054b5fa
Change to non-BASS error template
2021-10-11 13:53:23 +02:00
Dan Balasescu
8884091422
Merge pull request #15014 from joseph-ireland/remove-initial-strain
...
Change initial strain value in skills from 1 to 0
2021-10-10 15:56:20 +09:00
smoogipoo
bc37cb6f43
Merge branch 'master' into no-more-difficulty-control-points-info
2021-10-08 18:41:17 +09:00
Joseph Ireland
185bb9c122
change initial strain from 1 to 0 to allow simpler implementations
2021-10-07 09:30:18 +01:00
Dan Balasescu
d50443fdf2
Merge branch 'master' into difficulty-move-to-beatmap
2021-10-07 16:50:10 +09:00
Dean Herbert
433e7cd403
Fix rate mods not working if pp counter is displayed
2021-10-06 21:26:30 +09:00
Dean Herbert
b339c149d8
Copy BaseDifficulty
to Beatmap<T>
and move all write operations across
2021-10-06 15:10:45 +09:00
Dan Balasescu
e837a3511d
Merge branch 'master' into beatmap-difficulty-more-interface-usage
2021-10-06 12:18:51 +09:00
Dan Balasescu
4bbff2ebf7
Merge branch 'master' into new-interfaces
2021-10-06 11:38:17 +09:00
Dean Herbert
4d5696959b
Remove unnecessary access modifier in interface
...
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-10-06 05:52:28 +09:00
Dean Herbert
bd84a8b749
Merge branch 'new-interfaces' into beatmap-difficulty-more-interface-usage
2021-10-05 18:21:21 +09:00
Dean Herbert
599d82e383
Avoid returning a live IEnumerable
2021-10-05 17:01:07 +09:00
Dean Herbert
676df55a0e
Fade display out during rewind (as the value displayed is no longer valid)
2021-10-05 15:39:29 +09:00
Dean Herbert
b6af93d434
Apply some code quality refactoring
2021-10-05 15:14:49 +09:00
Dean Herbert
1d99bc280f
Merge branch 'master' into new-interfaces
2021-10-04 20:42:40 +09:00
smoogipoo
031c5a441e
Merge branch 'master' into realtime-pp-display
2021-10-04 20:19:37 +09:00
Dean Herbert
fd6b10656c
Add TODO reminder about ruleset reference transfer quirk
2021-10-04 16:55:16 +09:00
smoogipoo
69c2b7dc59
Merge branch 'master' into rename-beatmap-info-beatmap-fields
2021-10-04 16:03:22 +09:00
Dean Herbert
ec61c3c5ee
Rename all remaining cases
2021-10-03 00:55:29 +09:00
Dean Herbert
32afd3f426
Replace all basic usages
2021-10-02 02:22:23 +09:00
smoogipoo
a1f880a36a
Split classes
2021-10-01 21:00:39 +09:00
smoogipoo
5820a71652
Fix mania difficulty calculator crashing
2021-10-01 19:57:45 +09:00
Dean Herbert
05996cc2e9
Add changes that got forgotted in branch surgery
2021-10-01 17:04:53 +09:00
Dean Herbert
a92d499d7a
Convert usages of BeatmapDifficulty
to IBeatmapDifficultyInfo
2021-10-01 16:55:50 +09:00
Dean Herbert
8595eb2d11
Switch BeatmapDifficulty
usages to use interface type
2021-10-01 16:55:50 +09:00
Dean Herbert
d309636460
Update all EF based models to implement new read only interfaces
2021-10-01 16:55:50 +09:00
smoogipoo
84bddf0885
Initial PP counter implementation
2021-09-30 17:00:24 +09:00
Dean Herbert
46bafb6252
Merge branch 'master' into no-more-difficulty-control-points-info
2021-09-28 13:53:56 +09:00
Dean Herbert
16e60eed56
Reduce NestedHitObject
enumerator overhead
...
This was especially bad due to it allocating on any and every start time
change, even the first (see usage in `HitObject.ctor`).
2021-09-20 15:09:27 +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
smoogipoo
f9d5abff8a
Update with keybinding changes
2021-09-16 18:26:12 +09:00
Dean Herbert
a1d325cb22
Mark key and value non-nullable (at realm end) and simplify Value
logic
2021-09-15 17:16:05 +09:00
Dean Herbert
a150fb2996
Add nullability directive and make variant non-nullable
2021-09-15 17:16:05 +09:00
Dean Herbert
dcfe9c67e3
Make ruleset id non-nullable
2021-09-15 17:12:04 +09:00
Dean Herbert
80ecf81be3
Rename all databased setting classes to be specific to rulesets for now
2021-09-15 17:12:04 +09:00
Dean Herbert
520e550764
Bring back SettingsStore
to avoid changing ruleset API for now
...
Also fixes some remaining test failures due to locally constructed
rulesets that are not being tracked by the game.
2021-09-15 17:12:02 +09:00
Dean Herbert
c36a67d06e
Fix some tests failing due to using a locally constructed ruleset
2021-09-15 17:04:38 +09:00
Dean Herbert
a2f1752344
Make settings works with current caching structure
...
Will likely pull out that `RulesetConfigCache` next, but this is an
"everything works" state.
2021-09-15 16:31:13 +09:00
Dean Herbert
187c557ea8
Begin migrating settings implementation across to realm
2021-09-15 16:22:14 +09:00
Dean Herbert
a7ae3cc03e
Change SampleControlPoint
time to use leniency in bindable changed event too
2021-09-14 16:24:55 +09:00
Dean Herbert
cd227213e6
Ensure time of HitObject
related ControlPoint
s are kept in sync with the hitobject
2021-09-10 15:59:30 +09:00
Dean Herbert
714f55b6bc
Clone control points when copying to HitObject
s
2021-09-10 14:36:39 +09:00
Dean Herbert
464797fecf
Allow ModIcon
to be constructed using an IMod
2021-09-10 12:43:12 +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
2edb851008
Add ability to lookup mod from a type specification
2021-09-09 16:50:59 +09:00
Dean Herbert
4d0530ca9d
Add new methods to ruleset for quicker mod lookups
2021-09-09 16:46:14 +09:00
Dean Herbert
693ecdf62a
Refactor some incorrect/outdated terminology
2021-09-06 21:32:43 +09:00
Dean Herbert
3c7a34bdbd
Move mania-specific conversion to converter
2021-09-06 21:06:13 +09:00
Dean Herbert
766d789845
Rename ApproachRate
to ScrollSpeed
for now (to reduce complexity/confusion)
2021-09-06 21:06:13 +09:00
Dean Herbert
0500cd578a
Merge branch 'master' into no-more-difficulty-control-points-info
2021-09-06 21:06:12 +09:00
Dean Herbert
25420af078
Rename method to drop redundant ruleset suffix
2021-09-05 13:34:23 +09:00
Dean Herbert
6894ed3426
Fix new ordering of retrieval meaning EndTime
is not available in time
2021-09-03 17:11:12 +09:00
Dean Herbert
74f385bad8
Assign default control points earlier in HitObject
construction
2021-09-03 17:11:12 +09:00
Dean Herbert
1aff4c2238
Ensure all hitobject level control points are populated before calling virtual
defaults application
2021-09-03 17:11:12 +09:00
Dean Herbert
d587dc6203
Populate new approach rate where required
2021-09-03 17:11:12 +09:00
Dean Herbert
d4e5a612ea
Update IPositionalSnapProvider
to take a HitObject
as reference, rather than raw time
...
This allows fetching the correct `DifficultyControlPoint` from the
hitobject. Nothing more.
2021-09-03 17:11:12 +09:00
Dean Herbert
a3d9ab1e2e
Move approach rate to EffectControlPoint
2021-09-03 16:58:16 +09:00
Dean Herbert
b41b1e2394
Write out DifficultyControlPoint
s into HitObject
s
2021-09-03 16:58:16 +09:00
Bartłomiej Dach
ce1912781e
Add extension point for ruleset-specific beatmap setup sections
2021-09-02 23:29:14 +02:00
Dean Herbert
cdd0262ca1
Merge pull request #14598 from smoogipoo/adjust-classic-scoring
...
Make classic scoring a constant multiple of standardised scoring
2021-09-02 19:18:03 +09:00
Dan Balasescu
6c649b7bbe
Merge branch 'master' into no-more-sample-control-points-info
2021-09-02 18:09:05 +09:00
smoogipoo
e2f7aaeb71
Fix 0 score with bonus-only maps
2021-09-02 17:00:13 +09:00
Dean Herbert
b907c2f4f6
Fix osu! judgements getting scaled twice over different durations
2021-09-02 16:31:43 +09:00
smoogipoo
31433c4b89
Apply @spaceman_atlas' quadratic factor
2021-09-02 16:26:17 +09:00
smoogipoo
bd0f385cdb
Make classic scoring a constant multiple of standardised scoring
2021-09-01 14:53:11 +09:00
Dean Herbert
d988aa1680
Actually serialise SampleControlPoint
s along with HitObject
s
2021-08-31 15:14:03 +09:00
Dean Herbert
ce0d7cce2d
Merge branch 'remove-ijsonserializable' into no-more-sample-control-points-info
2021-08-31 14:40:54 +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
Dean Herbert
4da2dca339
Apply the default SampleControlPoint
if not externally provided
...
This is mostly to handle tests for now, as generally this should be
provided by an external source in all other cases.
2021-08-30 17:21:07 +09:00
Dean Herbert
ccacf56dd8
Move to legacy namespace
2021-08-30 17:14:53 +09:00
Dean Herbert
7257aae7f2
Move samples to LegacyControlPointInfo
2021-08-30 17:14:53 +09:00
Dean Herbert
4dd60e3299
Merge branch 'master' into taiko-drum-refacor
2021-08-30 14:12:52 +09:00
Dan Balasescu
a28bc9f6b2
Merge branch 'master' into path-control-point-bindable-removal
2021-08-27 09:37:37 +09:00
Bartłomiej Dach
2ef2af17eb
Merge branch 'master' into alternative-difficulty-bindable
2021-08-26 23:07:52 +02:00
Dean Herbert
15aa0458bc
Use PausableSkinnableSound
instead
2021-08-26 17:15:36 +09:00
Dean Herbert
ec85d7f356
Remove unused helper method
2021-08-26 17:15:23 +09:00
Dean Herbert
982c4eff14
Merge branch 'master' into taiko-drum-refacor
2021-08-26 17:13:14 +09:00
Dean Herbert
e32933eb54
Avoid Enum.GetValues
in each score population pass
2021-08-26 13:37:53 +09:00
Dean Herbert
6dcd9427ac
Remove bindable usage in PathControlPoint
...
This is quite a breaking change, but I think it is beneficial due to the large amount of usage of this class.
I originally intended just to remove the allocations of the two delegates handling the `Changed` flow internally, but as nothing was really using the bindables for anything more than a general "point has changed" case, this felt like a better direction.
2021-08-26 12:33:53 +09:00
Dean Herbert
fd78d0440b
Update missed conditional
2021-08-25 17:00:32 +09:00
Dean Herbert
ccfff50c6f
Apply fixes in line with issues found during testing
...
I was trying to be too smart with caching, but if the `Play` method was
not called often enough it would have a recent reference. Unfortunately
this requires a separate query to `Entries`, but is also a special case
(no future hitobjects).
This also removes the time-based checks (result status alone should be
all we care about).
2021-08-25 16:56:44 +09:00
Dean Herbert
ef2b5e1c51
Tidy up variable names and unused resolved properties
2021-08-25 16:56:44 +09:00
Dean Herbert
a1936b141b
Refactor base class to allow correct usage in taiko drum
2021-08-25 16:56:44 +09:00
Dean Herbert
681215e5b5
Rewrite object lookup to use previous entry regardless
...
This changes the fallback logic to always prefer the previous resolved
lifetime entry rather than fallback to the first entry ever. I think
this is more correct in all cases.
Also rewrites the inline comments to hopefully be easier to parse.
2021-08-25 16:56:44 +09:00
Dean Herbert
4a294d4de4
Optimise fallback logic to reduce lookups to bare minimum
2021-08-25 16:56:44 +09:00
Dean Herbert
6aa894e55e
Split out separate component
2021-08-25 16:56:44 +09:00
Salman Ahmed
84637b59ef
Define DifficultyBindableWithCurrent
and use in SliderControl
2021-08-25 07:40:41 +03:00
smoogipoo
956c1cc216
Merge branch 'master' into activity-on-multiplayer-screens
2021-08-24 12:33:34 +09:00
Salman Ahmed
956112eb10
Reword comment and remove brackets
2021-08-22 12:40:41 +03:00
Michael Malloy
9cd0a182f6
Add null check for Android ruleset loading
2021-08-22 00:38:48 -05: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
Nathan Alo
eaca331170
apply suggestions
2021-08-18 08:13:53 +08:00
smoogipoo
1e2c0031d7
Remove unused usings
2021-08-17 13:34:44 +09:00
Salman Ahmed
060ba0692d
Add hash code support for Mod
2021-08-17 04:27:04 +03:00
Xexxar
61045bd087
adjusted code comments
2021-08-16 22:36:14 +00:00
Xexxar
ae076c9a4e
merged latest ppy/master
2021-08-16 22:20:12 +00:00
Xexxar
176b3e7533
changed decay system to allow for customizing the currentStrain
2021-08-16 22:14:29 +00: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
Nathan Alo
c56b34d2da
apply code inspection fixes
2021-08-16 07:06:23 +08:00
Nathan Alo
cc3468b4ab
apply suggestions
...
- make `UserActivity.InGame` and derive that to `InSoloGame` and `InMultiplayerGame`
- rename `SoloGame` to `InSoloGame`
- rename `MultiplayerGame` to `InMultiplayerGame`
2021-08-16 06:32:33 +08:00
emu1337
29a22bd11f
added rhythm multiplier for strain sections
2021-08-15 20:48:00 +02:00
Nathan Alo
4ed06a1021
apply suggestions
2021-08-14 22:39:12 +08: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
ekrctb
c63dfa21e1
Always initialize DHO transforms on LoadComplete
...
With the previous commit, the transform application is skipped when the state is already changed. But it turns out the previous commit breaks slider animation in the standard editor. This is probably due to the transforms are applied before nested hit objects are added.
2021-08-10 16:34:38 +09:00
ekrctb
f262f288fc
Fix DHO state is overwritten to Idle
on LoadComplete
...
The state may already be changed before `LoadComplete` is called because DHO is already added to the draw hierarchy.
2021-08-06 19:58:46 +09:00
Dan Balasescu
472925180a
Merge branch 'master' into fix-muted-dim-factor
2021-08-04 12:00:49 +09:00
smoogipoo
2af827f913
Increase TimeRange max value
2021-08-02 19:37:45 +09:00
Dan Balasescu
0089cdb0ca
Merge branch 'master' into fix-muted-dim-factor
2021-08-02 12:26:31 +09:00
Dan Balasescu
cd0e7223a6
Merge pull request #14092 from bdach/proxied-judgement-layer-ordering
...
Ensure proxied judgement content is correctly depth-ordered
2021-08-02 10:40:37 +09: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
Bartłomiej Dach
f868a201f5
Ensure proxied judgement content is correctly depth-ordered
2021-08-01 15:21:31 +02: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
0c3f1195e9
Allow audio adjustments to be applied to DrawableRuleset
s
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
50a2abbe7f
Merge pull request #12683 from frenzibyte/legacy-beatmap-combo-offset
...
Apply combo offsets "colour hax" only on beatmap skins
2021-07-23 14:30:18 +09:00
Salman Ahmed
0b3b9e35ba
Also update colours once on DrawableHitObject
2021-07-23 07:32:56 +03:00
Salman Ahmed
8600a3bf5b
Replace "offset" term in combo index documentations with "index" instead
2021-07-23 07:31:03 +03:00
Dean Herbert
3392086d1c
Merge pull request #13984 from ekrctb/catch-editor-reverse
...
Implement "reverse pattern" in catch editor
2021-07-23 01:12:13 +09:00
Salman Ahmed
523c154f15
Add ComboIndexWithOffsetsBindable
and bind similar to ComboIndexBindable
2021-07-22 16:40:33 +03:00
ekrctb
cc01b9e639
Extract SliderPath
reverse logic to be used in other rulesets
2021-07-22 16:14:43 +09:00
Dean Herbert
399c3b0be8
Rename property, reword xmldoc and improve readability of update code
2021-07-21 17:32:56 +09:00
emu1337
84fd59777c
Merge branch 'master' into diffspike-balance
2021-07-20 19:39:41 +02:00
Salman Ahmed
9d92b795fa
Revert making ComboOffset
s legacy and define BeatmapSkinComboIndex
instead
2021-07-20 14:15:43 +03:00
Salman Ahmed
554652b033
Merge branch 'refactor-combo-colour-retrieval' into legacy-beatmap-combo-offset
2021-07-20 10:11:52 +03:00
Salman Ahmed
1af230c48c
Merge branch 'master' into refactor-combo-colour-retrieval
2021-07-20 10:08:25 +03:00
Dan Balasescu
5ef1fe6948
Merge branch 'master' into fix-replay-date
2021-07-19 21:58:37 +09:00
Dan Balasescu
f3bcaf7f11
Merge pull request #13929 from peppy/i-deep-cloneable
...
Create a deep clone of score for score submission purposes
2021-07-19 21:58:27 +09:00
Dean Herbert
b3f60c8253
Fix date being updated on replays unexpectedly
2021-07-19 19:28:35 +09:00
Dean Herbert
23ef666f34
Merge pull request #13887 from ekrctb/legacy-converted-y
...
Preserve Y position of hit objects in osu!catch
2021-07-19 18:48:23 +09:00
Dan Balasescu
473011070f
Merge pull request #13908 from peppy/editor-disallow-placement-when-untimed
...
Fix editor composer allowing object placement without timing present
2021-07-19 18:37:19 +09:00
Dean Herbert
b29209d13f
Ensure tool is always set back to select tool when beatmap becomes untimed
2021-07-19 17:08:40 +09:00
Dean Herbert
bde35d9f21
Rename radio button classes to be local to editor
2021-07-19 16:57:12 +09:00
Dean Herbert
3c028ce05c
Add IDeepCloneable
interface and update existing CreateCopy
methods to use it
2021-07-19 12:54:17 +09:00
Bartłomiej Dach
fb5d25405e
Replace calls to obsoleted GetOrDefault()
extension
2021-07-18 21:52:16 +02:00
Dean Herbert
eac9b1ec7e
Disable toolbox composition buttons when beatmap is not timed
2021-07-17 02:30:13 +09:00
ekrctb
7f432665e5
Preserve Y position of hit objects in osu!catch
2021-07-14 14:38:38 +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
Dean Herbert
2436ebb6d3
Merge pull request #13874 from Naxesss/short-object-checks
...
Add object duration checks
2021-07-13 19:01:02 +09:00
Naxess
3a5912e35e
Add new checks to verifiers
2021-07-13 10:53:25 +02:00
Naxess
6da2a3d51f
Add zero-length objects check and tests
2021-07-13 10:50:11 +02:00
Dean Herbert
35841fa4f7
Merge branch 'master' into fix-difficulty-bindable-bind-order
2021-07-13 13:42:53 +09:00
Dean Herbert
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
Naxess
dc4285582b
Fix misplaced "f" in issue message
2021-07-13 06:07:04 +02:00
Naxess
c8f58cbf6c
Add audio in video check and tests
2021-07-13 04:17:41 +02:00
Naxess
a4a1919842
Add too short audio files check and tests
2021-07-13 03:46:45 +02:00
Naxess
0a8fd01b99
Add zero byte check and tests
2021-07-13 03:45:21 +02:00
Dan Balasescu
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
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
ekrctb
663ffae42f
Fix hit object selection blueprint potential null reference
2021-07-08 14:19:00 +09:00
Dan Balasescu
d2722f1523
Merge branch 'master' into ruleset-shaders
2021-07-07 15:44:30 +09:00
PercyDan54
e1c646b9b2
Remove redundant arguments
2021-07-05 23:52:39 +08:00
Derrick Timmermans
216e52d6d0
Avoid using single letter variable names
2021-07-04 23:24:17 +02:00
Derrick Timmermans
32b068fbdc
Fix typo causing nested windows to be ignored
2021-07-04 21:50:58 +02: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
Dean Herbert
f7aba7360a
Merge pull request #13654 from Henry-YSLin/fix-invisible-number-box
...
Refactor `SeedSettingsControl` and `SettingsNumberBox`
2021-06-28 16:07:30 +09:00
Dean Herbert
f939e2603a
Merge branch 'master' into localisable-tooltips
2021-06-28 15:29:42 +09:00
Henry Lin
0cceef8da5
Moved the string
to int?
conversion logic into SettingsNumberBox
2021-06-28 11:00:07 +08:00
Dean Herbert
a1e8cc5444
Merge pull request #13669 from Naxesss/hitsound-checks
...
Add hitsound checks
2021-06-28 03:13:43 +09:00
Naxess
9f9e96ce9e
Add check for spanDuration
<= 0 prior to division
2021-06-27 15:40:09 +02:00
Naxess
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
Naxess
4cfa0ae5ec
Improve precision for repeat edges
2021-06-27 03:26:35 +02:00
Naxess
2cd7eda3c4
Add "or equal to" to volume threshold xmldocs
2021-06-27 02:30:12 +02:00
Naxess
0c0fd291d9
Order hitobjects by endtime
2021-06-27 01:25:03 +02:00
Naxess
4796b1b208
Use local variables for hasHitsound
& couldHaveHitsound
2021-06-27 00:04:30 +02:00
Naxess
5bc08ebadb
Rename hasHitsounds
-> mapHasHitsounds
2021-06-26 23:49:25 +02:00
Naxess
d29e6f4695
Add negligible template to PossibleTemplates
2021-06-26 23:49:06 +02:00
Naxess
1913084342
Use HitSampleInfo.AllAdditions
instead of new list
2021-06-26 23:48:28 +02:00
Naxess
f78cc9397e
Factor out edge type logic
2021-06-26 20:45:31 +02:00
Naxess
51147405c5
Make || and && priority explicit
2021-06-26 20:44:39 +02:00
Naxess
4b436b774d
Add few hitsounds check
2021-06-26 19:20:46 +02:00
Naxess
d8117fa730
Add muted objects check
2021-06-26 19:20:34 +02:00
Henry Lin
3b822cd5cf
Refactor SeedSettingsControl
and related controls
2021-06-26 11:19:14 +08:00
Bartłomiej Dach
50c27d2635
Update usages of IHasTooltip
in line with framework localisation changes
2021-06-25 19:10:04 +02: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
a1da9c5ee3
Merge pull request #13626 from Henry-YSLin/IHasSeed-interface
...
Extract `SeedSettingsControl` to `IHasSeed` interface
2021-06-23 14:10:34 +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
Salman Ahmed
2b1f461d79
Pass empty resource store for FallbackShaderManager
base constructor
2021-06-22 12:36:45 +03:00
Dean Herbert
1b0aadcc6f
Merge branch 'master' into transformers-per-skin
2021-06-22 16:03:15 +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
Salman Ahmed
67f0344c0c
Add support for loading shaders from ruleset resources
2021-06-20 23:07:44 +03:00
Dean Herbert
3f336d88ec
Merge pull request #11461 from peppy/realm-key-binding-store
...
Add initial realm database implementation with KeyBindingStore migration
2021-06-19 02:49:41 +09:00
Dean Herbert
89c27dcb10
Merge pull request #13517 from ekrctb/initial-entry
...
Allow setting `Entry` of `PoolableDrawableWithLifetime` (including `DrawableHitObject`)
2021-06-19 00:03:41 +09:00
Dean Herbert
2dadc9d686
Remove unused using statement
2021-06-18 19:39:01 +09:00
Dean Herbert
78c5ccda60
Fix renaming a ruleset DLL causing a startup crash
2021-06-18 19:32:40 +09:00
smoogipoo
42c5a962fb
Add xmldoc remark
2021-06-18 19:27:10 +09:00
smoogipoo
36d51d5117
Don't set entry immediately
2021-06-18 19:23:37 +09:00
smoogipoo
36d2199a02
Add exception on Apply() while loading
2021-06-18 19:20:57 +09:00
Dean Herbert
c369beeaaa
Merge branch 'master' into realm-key-binding-store
2021-06-18 16:52:35 +09:00
Dan Balasescu
2cd72a92e8
Merge pull request #13499 from ekrctb/fix-mania-editor-crash
...
Rewrite mania selection blueprint to use only `HitObject` (no `DrawableHitObject`) for layout
2021-06-18 15:10:28 +09:00
Dan Balasescu
cdc1c60fab
Merge branch 'master' into fix-mania-editor-crash
2021-06-18 13:49:25 +09:00
smoogipoo
97cd1217a4
Move IApplicableToDrawableHitObjects to its own file
2021-06-18 13:06:13 +09:00
Dan Balasescu
6cec1145e3
Merge pull request #13523 from ekrctb/applicable-to-dho
...
Reduce boilerplate of `IApplicableToDrawableHitObjects` by taking a single DHO instead of an enumerable
2021-06-17 19:59:06 +09:00
Dean Herbert
9495f87f04
Remove redundant NotNull
attributes in nullable
classes
2021-06-17 16:07:32 +09:00
ekrctb
e7954ecb60
Use property instead of backing field consistently
2021-06-17 10:31:20 +09:00
ekrctb
9dcd0bf311
Remove IPlayfieldProvider
by caching Playfield
2021-06-17 10:15:24 +09:00
Bartłomiej Dach
418dbf3f3e
Merge branch 'master' into fix-mania-editor-crash
2021-06-16 18:26:33 +02:00
ekrctb
b6a9fa9999
Merge branch 'master' into applicable-to-dho
2021-06-16 22:04:10 +09:00
Dan Balasescu
6613301588
Merge branch 'master' into refactor-scrolling-hoc-2
2021-06-16 19:20:11 +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
67d8e0059f
Use singular IApplicableToDrawableHitObject
for consumers
2021-06-16 18:47:04 +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
Dean Herbert
4b45d8318e
Merge branch 'master' into transformers-per-skin
2021-06-16 16:37:28 +09:00
ekrctb
117e94bc94
Allow setting Entry
of PoolableDrawableWithLifetime
...
It is more convenient than using the constructor because the only limited kind of expression is allowed in a base constructor call.
Also, the object initializer syntax can be used.
2021-06-16 16:00:08 +09:00
Dean Herbert
66efc3c4de
Merge branch 'master' into realm-key-binding-store
2021-06-16 13:23:13 +09:00
emu1337
be68950c30
refactoring
2021-06-16 03:34:46 +02:00
Dean Herbert
acc06ca398
Merge branch 'master' into realm-key-binding-store
2021-06-16 02:14:58 +09:00
Dan Balasescu
e9d4ee3c87
Merge branch 'master' into enhance-mod-settings-text-box-visibility
2021-06-15 16:09:55 +09:00
ekrctb
ef96ceb4ab
Introduce IPlayfieldProvider
2021-06-15 14:43:04 +09:00
ekrctb
bbf0022689
Use natural anchor for TimeAtPosition
and PositionAtTime
...
The natural anchor is the end of the scrolling direction (e.g. Bottom for Down scrolling).
2021-06-15 13:15:20 +09:00
Bartłomiej Dach
cb1e2e3d97
Improve xmldoc
2021-06-14 21:54:55 +02:00
ekrctb
660bf50dc7
Clarify multiple coordinate systems
...
- Fix wrong position is set for DHOs for down/right scrolling direction.
2021-06-14 13:13:27 +09:00
ekrctb
09f1cbde7e
Fix TimeAtPosition
doc comment
2021-06-14 13:13:27 +09:00
ekrctb
fdb09ef4d7
Simplify flipPositionIfRequired
using scrollLength
2021-06-14 13:13:27 +09:00
ekrctb
8cf4454780
Use Direction
enum instead of int
...
The property is named `scrollingAxis` to distinguish from `direction`, which is of `ScrollingDirection` type (unfortunate name crash).
2021-06-14 13:13:27 +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
Dan Balasescu
3389c4830b
Merge branch 'master' into refactor-scrolling-hoc-1
2021-06-11 20:35:19 +09:00
ekrctb
af3f253b21
Refactor ScrollingHitObjectContainer
and expose more useful methods
2021-06-11 18:28:48 +09:00
Bartłomiej Dach
296761ade5
Add missing CurrentSkin
null check in DHO disposal
2021-06-11 09:18:58 +02:00
Dean Herbert
562cfe8703
Fix filename not matching type rename
2021-06-11 14:34:18 +09:00
Dean Herbert
bc3b7233ab
Show osu!taiko centre/rim colouring in editor timeline
...
Closes #13443 .
2021-06-11 14:17:30 +09:00
Salman Ahmed
09a2d008d2
Refrain from attempting to transform null skins
2021-06-10 16:36:45 +03:00
Dan Balasescu
35d5632355
Merge pull request #13378 from Syriiin/diffcalc/refactor/auto-properties
...
Refactor DifficultyAttributes to use auto properties over public fields
2021-06-10 18:42:11 +09:00
Salman Ahmed
dde84e5cbd
Merge branch 'master' into transformers-per-skin
2021-06-10 11:58:52 +03:00
Dan Balasescu
a44fd887ee
Merge branch 'master' into no-unranked-display
2021-06-10 17:09:46 +09:00
Dean Herbert
9044a20120
Merge branch 'master' into realm-key-binding-store
2021-06-10 13:58:08 +09:00