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