1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-23 16:47:26 +08:00
Commit Graph

24679 Commits

Author SHA1 Message Date
Dean Herbert
1884c18a2c Ignore movement operations which have no offset 2021-04-22 18:12:03 +09:00
Dean Herbert
daafa41dc1
Merge branch 'master' into fix-initial-spectator-state-callback 2021-04-22 16:22:04 +09:00
Dean Herbert
68807a90ec
Merge pull request #12448 from smoogipoo/gcc-abstraction
Make GameplayClockContainer abstract and add MasterGameplayClockContainer
2021-04-22 16:20:52 +09:00
Dean Herbert
9a7bf8109f Allow certain mouse input to pass through PlacementBlueprints to the selection logic 2021-04-22 15:44:12 +09:00
Dean Herbert
3befb49ea9 Fix system messages always being displayed above standard messages
Closes https://github.com/ppy/osu/issues/12509.
2021-04-22 14:52:01 +09:00
Jamie Taylor
21f34be19f Add support for per-ruleset sample playback when switching rulesets (via toolbar) 2021-04-22 14:43:36 +09:00
Dean Herbert
60b702549d Update framework 2021-04-22 14:20:49 +09:00
smoogipoo
1ca2152e61 Privatise + rename to SlaveGameplayClockContainer 2021-04-21 23:22:36 +09:00
smoogipoo
2bea625613 Fix initial playback states not being correct 2021-04-21 23:22:11 +09:00
Denrage
56a69ed956 Codestyle fixes 2021-04-21 15:53:28 +02:00
Denrage
0dfd0bb59d Refactored background of BeatmapInfoWedge 2021-04-21 15:46:11 +02:00
Denrage
d6928e91fd Removed BeatmapInfo in StarRatingDisplay 2021-04-21 15:43:48 +02:00
Denrage
9fba87f67a Moved Info and Background into own container 2021-04-21 15:43:29 +02:00
Denrage
de04caeace Fixed race condition in StarRatingDisplay 2021-04-21 13:53:08 +02:00
Dean Herbert
9d8f0c854d Setup configuration item for editor hit animations 2021-04-21 18:05:40 +09:00
Dean Herbert
c6c91cd9a5 Refactor WaveformOpacityMenuItem to not receive whole config 2021-04-21 18:05:26 +09:00
ekrctb
b877a29737 Factor out pooling and lifetime management logic of DHO to a base class 2021-04-21 17:37:42 +09:00
ekrctb
bbf2ec369b Remove SkinReloadableDrawable inheritance from DHO 2021-04-21 17:34:57 +09:00
Dean Herbert
deeb9e3765 Update framework 2021-04-21 17:27:00 +09:00
smoogipoo
f32d00c0d9 Fix post-merge errors 2021-04-21 17:13:01 +09:00
smoogipoo
e78ef05fcf Merge branch 'gcc-abstraction' into multiplayer-spectator-screen 2021-04-21 17:11:14 +09:00
Dan Balasescu
cf55383fff
Merge pull request #12486 from ekrctb/unmanaged-hit-object-entry
Associate DrawableHitObject with HitObjectLifetimeEntry rather than HitObject
2021-04-21 17:08:21 +09:00
smoogipoo
31c5fb350f Merge branch 'master' into gcc-abstraction 2021-04-21 16:33:36 +09:00
smoogipoo
fb848f7544 Rename to MasterGameplayClock 2021-04-21 16:33:14 +09:00
Dean Herbert
ab2a8b5c89 Fix initial rotation not being set 2021-04-21 16:12:09 +09:00
Dean Herbert
eb20865c02 Show tablet preview with physical tablet counter-rotated for supplied user area selection
Closes https://github.com/ppy/osu/issues/12399.

Rotation animation is intentionally delayed slightly to give a better sense of what is going on (or maybe just look cool).
2021-04-21 15:55:15 +09:00
Salman Ahmed
1a715b2926 Append "classic" mod to legacy scores 2021-04-21 09:16:28 +03:00
Salman Ahmed
e90d791754 Add base "classic" mod 2021-04-21 09:14:19 +03:00
ekrctb
3fbeadf318 Deprecate old overload of Apply 2021-04-21 14:32:37 +09:00
ekrctb
73d3da1687 Fix wrong InitialLifetimeOffset is used for a non-pooled DHO.
HitObjectLifetimeEntry's InitialLifetimeOffset is different from DrawableHitObject's InitialLifetimeOffset.
2021-04-21 11:32:01 +09:00
ekrctb
44ff08cce4 Revert "Fix wrong InitialLifetimeOffset is used for a non-pooled DHO."
This reverts commit 67fcfd9d
2021-04-21 10:02:50 +09:00
ekrctb
67fcfd9dbc Fix wrong InitialLifetimeOffset is used for a non-pooled DHO.
HitObjectLifetimeEntry's InitialLifetimeOffset is different from DrawableHitObject's InitialLifetimeOffset.
2021-04-21 09:48:16 +09:00
ekrctb
e80c3c317a Rename UnmanagedHitObjectEntry -> SyntheticHitObjectEntry
"Unmanaged" was confusing because its lifetime is still managed by the HitObjectContainer.
2021-04-21 09:23:23 +09:00
Bartłomiej Dach
a2afa38a3f Merge branch 'master' into fix-mod-customisation-input-blocking-padding 2021-04-20 19:41:25 +02:00
Dean Herbert
26430e3cb5
Merge pull request #12492 from Naxesss/bg-audio-quality-checks
Add background and audio checks
2021-04-21 00:10:32 +09:00
Dean Herbert
7fc450c620 Fix mod settings blocking input outside its visible area
Closes #12502.
2021-04-20 23:42:56 +09:00
Denrage
e9571b72cf Fixed InspectCode 2021-04-20 14:53:35 +02:00
Denrage
583754b22a Removed unnecessary whitespaces 2021-04-20 14:29:53 +02:00
Denrage
df29e61147 Fix CodeFactor error 2021-04-20 14:22:49 +02:00
smoogipoo
4cc3321d54 Fix potential doubling of events 2021-04-20 21:20:08 +09:00
smoogipoo
a9e4a0ed50 Fix potentially starting play when finished
The UserFinishedPlaying event may trigger before the event is subscribed
to by SpectatorScreen. For such cases, an extra check is done to make
sure the user is _actually_ playing.
2021-04-20 21:19:08 +09:00
Denrage
f799a6e733 Removed StarDifficulty binding passthrough 2021-04-20 14:18:41 +02:00
smoogipoo
156a518068 Merge branch 'master' into fix-initial-spectator-state-callback 2021-04-20 21:16:05 +09:00
Naxess
e9dfa2860a Add xmldoc note about path being relative 2021-04-20 13:44:06 +02:00
Naxess
d7a81471c8 Add xmldoc to GetPathForFile 2021-04-20 13:40:38 +02:00
Naxess
3e1b6b3b34 Simplify verifier run call args
Uses the resolved working beatmap instead of resolving it every time.

Also uses the EditorBeatmap itself as playable beatmap, as it is of type `IBeatmap` already, and `.PlayableBeatmap` forwards everything anyway.
2021-04-20 13:34:12 +02:00
Denrage
c5d35ab787 removed mods binding passthrough 2021-04-20 12:40:22 +02:00
Denrage
4e6cd8082e WIP refresh BPM-Label on mod change 2021-04-20 12:00:04 +02:00
smoogipoo
ec080fcb32 Move seekOffset back to MasterGameplayClockContainer 2021-04-20 18:25:46 +09:00
smoogipoo
a683e5ec34 Seek using local method 2021-04-20 17:40:11 +09:00
Denrage
6e72ee5f76 Added bindable stardifficulty to StarRatingDisplay 2021-04-20 10:37:53 +02:00
Denrage
505a117862 splitted updateable part of wedge 2021-04-20 10:37:52 +02:00
smoogipoo
97fb90d9f4 Move clock processing to base.Seek() 2021-04-20 17:35:59 +09:00
smoogipoo
80473a356e Merge branch 'fix-pre-seek-sample-lifetime' into gcc-abstraction 2021-04-20 17:27:01 +09:00
smoogipoo
d28eb399a4 Fix storyboard sample lifetimes not set if seeked past 2021-04-20 17:14:48 +09:00
smoogipoo
281c2041b2 Add failing test 2021-04-20 16:51:00 +09:00
ekrctb
c6ee4e900e Ensure a non-null hitobject entry has a non-null Result 2021-04-20 15:18:36 +09:00
smoogipoo
3d6d26039a Remove unused usings 2021-04-20 14:09:54 +09:00
smoogipoo
88ded95e75 Ensure clock is set in GCC.Start() 2021-04-20 13:56:13 +09:00
smoogipoo
8dd9134e3d Move source clock adjustment application to Start() 2021-04-20 13:09:49 +09:00
smoogipoo
a92ae8ce76 Fix Reset() potentially not resetting to the intended start position 2021-04-20 13:01:42 +09:00
ekrctb
8a8b9084ef Make single-argument overloead of DHO.Apply public 2021-04-20 10:11:36 +09:00
Naxess
496df411a7 Remove now unused import 2021-04-20 02:39:11 +02:00
Naxess
0e6b66f457
Merge branch 'master' into bg-audio-quality-checks 2021-04-20 02:36:13 +02:00
Naxess
1478bcfa8e Improve xmldoc consistency 2021-04-20 02:30:27 +02:00
Naxess
67e4fe4284 Add xmldoc to GetStream 2021-04-20 02:28:38 +02:00
ekrctb
1bc63a4c61 Now, DHO.lifetimeEntry can be non-null even it is not fully applied 2021-04-20 09:22:16 +09:00
Naxess
4510e795e1 Fix category of audio quality check 2021-04-20 02:13:26 +02:00
ekrctb
c1b4aaaa03 Add doc comment 2021-04-20 08:38:02 +09:00
Naxess
c633f15565 Add audio quality check 2021-04-20 01:36:03 +02:00
Naxess
f168247254 Add Track as a property to IWorkingBeatmap
This is implemented by `WorkingBeatmap` already, and is much better to use than loading the track every time we need it.
2021-04-20 01:35:41 +02:00
Naxess
40ae856dfc Show 2 decimals for background filesize 2021-04-20 01:34:05 +02:00
Naxess
14c626ffcb Use the playable beatmap for file presence checks 2021-04-20 01:33:19 +02:00
Naxess
8656176ab8 Add the playable beatmap as check argument
This is different from the working beatmap's `.Beatmap` property in that it is mutated by the ruleset/editor.

So hit objects, for example, are actually of type `Slider` and such instead of the legacy `ConvertSlider`.

This should be preferred over `workingBeatmap.Beatmap`.
2021-04-20 01:31:51 +02:00
Denrage
6bf6084ae9 fixed according to suggestions 2021-04-19 19:24:46 +02:00
Bartłomiej Dach
0825fc57a9 Move foreground colour helper into OsuColour 2021-04-19 18:24:48 +02:00
Bartłomiej Dach
97573fb11d Merge branch 'master' into combo-colours-display 2021-04-19 18:21:57 +02:00
Denrage
eb977312ed Added Author link in BeatmapSet Overlay 2021-04-19 16:54:29 +02:00
Denrage
9f24cdb355 Added Author Link in BeatmapInfoWedge 2021-04-19 16:54:09 +02:00
Dean Herbert
510e54ff54 Update framework 2021-04-19 23:41:21 +09:00
Dean Herbert
fc41ad65f8
Merge pull request #12447 from smoogipoo/fix-non-60fps-recording
Record every 60fps interval
2021-04-19 23:26:58 +09:00
ekrctb
2c487ddb70 Create synthetic LifetimeEntry for a DHO when not supplied
Now, a DHO is always associated with a HitObjectLifetimeEntry while used.
Result is always stored in the entry, and not in the DHO.
2021-04-19 21:54:19 +09:00
smoogipoo
acbf4580a4 Only set initial source in Reset() 2021-04-19 19:57:00 +09:00
smoogipoo
c7183f92f7 Rename Restart() -> Reset() 2021-04-19 19:57:00 +09:00
ekrctb
5afdc3ff66 Make DHO application logic clearer with Entry/HitObject separation 2021-04-19 19:56:17 +09:00
Dean Herbert
a40dcd4b8d Add a touch more space in the timing column 2021-04-19 18:53:06 +09:00
Dean Herbert
097a347533 Adjust Add different background colour for timing area 2021-04-19 18:25:30 +09:00
Dean Herbert
5bce5d2057 Update design logic 2021-04-19 18:25:20 +09:00
smoogipoo
5397f4faba Merge branch 'master' into fix-initial-spectator-state-callback 2021-04-19 16:49:06 +09:00
smoogipoo
c50b526ba0 Remove local state dictionary from SpectatorScreen 2021-04-19 16:48:55 +09:00
Dean Herbert
8fcfac7ddc
Merge branch 'master' into timing-screen-ux 2021-04-19 16:44:32 +09:00
Dean Herbert
1ebc5ac5cc Remove unused legacy class 2021-04-19 16:36:00 +09:00
Dean Herbert
8da561a2a6 Soften colours and adjust padding slightly 2021-04-19 16:35:36 +09:00
Dean Herbert
f8b20ca8aa Add new display for effect row attribute 2021-04-19 16:35:36 +09:00
Dean Herbert
ec249a0edb Add new display for sample row attribute 2021-04-19 16:23:28 +09:00
Dean Herbert
6465a72060 Add bubbled word class for use in attribute rows 2021-04-19 16:23:28 +09:00
Dean Herbert
3aad0a8b9c Add new display for difficulty row attribute 2021-04-19 16:23:06 +09:00
Dean Herbert
d3cebfb6fb Use explicit label 2021-04-19 16:23:06 +09:00
Dean Herbert
a10a8680d0 Add new display for timing row attributes 2021-04-19 16:23:06 +09:00
smoogipoo
83716ddb08 Rename currentUserStates -> playingUserStates 2021-04-19 16:07:00 +09:00
smoogipoo
de9e37857e Lock around playingUsers 2021-04-19 16:06:40 +09:00
smoogipoo
5885c24e00 Clear current user states on disconnect 2021-04-19 16:00:56 +09:00
Christine Chen
abfa6aec87 Remove completionState parameter 2021-04-19 01:58:19 -04:00
Dean Herbert
f4baff9e04 Make TimingScreen use rounded screen and adjust spacing/padding 2021-04-19 14:35:35 +09:00
Dean Herbert
e143afb598 Split out rounded content screen from SetupScreen for use in other places 2021-04-19 14:28:32 +09:00
Christine Chen
0b36dd9bce Skip outro overlay and PerformExit() call updateCompletionState() instead of scheduleCompletion()
Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-19 01:23:21 -04:00
jvyden
ffc1e841e0
Fix sessionIdleTracker not being properly added to OsuGame 2021-04-19 01:06:26 -04:00
Dean Herbert
513e470b52 Adjust grid spacing to allow attributes to use more width 2021-04-19 13:24:53 +09:00
Dean Herbert
0c918410d0 Make "add" button more visible 2021-04-19 13:15:24 +09:00
Dean Herbert
658c23c925 Give more space to the parameter adjustment area 2021-04-19 13:15:17 +09:00
Dean Herbert
f9f514ffec Add basic xmldoc to show how the two colour classes interact 2021-04-19 12:37:56 +09:00
Christine Chen
99fab456b5 Storyboard completion calls updateCompletionState
- If the storyboard ends after the beatmap, call updateCompletionState as if the score processor has completed at that time. (completionProgressDelegate is null here since earlier when the score processor actually completed, updateCompletionState returned after showing the skip overlay.)

- If the storyboard ends before the beatmap does, updateCompletionState simply returns and waits until the score processor is completed.

- If the storyboard and beatmap end at the exact same time, make sure updateCompletionState() is called only once by the score processor completion.

Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-18 23:25:20 -04:00
jvyden
e44d11667c
Merge remote-tracking branch 'upstream' 2021-04-18 23:04:35 -04:00
Dean Herbert
dbb8f7f4a9 Tidy up initialisation code and avoid using DI on inherited class 2021-04-19 11:30:55 +09:00
Dean Herbert
2b6caf9b65 Fix duplicate code in setting default logic 2021-04-19 11:25:43 +09:00
Joseph Madamba
89940e7bb9 Fix download button check icon not scaling on mouse down 2021-04-18 19:05:33 -07:00
Christine Chen
98460c8feb Rename IStoryboardElementHasDuration, remove unnecessary step in tests, add Duration field 2021-04-18 20:20:14 -04:00
Bartłomiej Dach
6f2ebb20a7 Fix test failing due to null beatmap skin
Also annotate the field on `EditorBeatmap` as nullable for future
travelers.
2021-04-18 20:46:42 +02:00
Bartłomiej Dach
07a00cd681 Add colours section with combo colour display 2021-04-18 20:46:42 +02:00
Bartłomiej Dach
577755ee19 Add placeholder when no colours are visible
Will be removed once combo colours are mutable.
2021-04-18 20:46:42 +02:00
Bartłomiej Dach
0cd1aa8c1c Add support for custom colour prefixes 2021-04-18 20:44:55 +02:00
Bartłomiej Dach
a8027d87b6 Fix unreadable colour hex code text due to low contrast
Logic is shared with the timeline blueprints which also have the same
problem of displaying text on top of a combo colour.

Slightly modified the formula. Seems to yield better results on a
subjective check.
2021-04-18 20:44:55 +02:00
Bartłomiej Dach
1b2c43b92c Add basic structure of colour palette 2021-04-18 19:29:04 +02:00
Bartłomiej Dach
91b3a7ccf9
Merge branch 'master' into fix-volume-sideways-scroll 2021-04-18 17:52:40 +02:00
Dean Herbert
af79ad537c Avoid unnecessary debounce triggers on zero-delta scrolls 2021-04-19 00:05:44 +09:00
Dean Herbert
e63edf5b49 Fix volume control displaying on non-vertical scroll events
Closes #12475.
2021-04-19 00:05:44 +09:00
Dean Herbert
cfc7664094 Use full path 2021-04-18 21:05:23 +09:00
Dean Herbert
e76565dbc5 Fix selection box not displaying after pasting a selection in the editor
Closes #12471.
2021-04-18 20:28:39 +09:00
Salman Ahmed
f45aed1259 Remove new line between skip overlay fields 2021-04-18 07:25:52 +03:00
Salman Ahmed
f6a09be62d Add further xmldoc 2021-04-18 07:25:49 +03:00
Salman Ahmed
a73bae7a66 Schedule completion when storyboard has actually ended 2021-04-18 07:25:33 +03:00
Salman Ahmed
2847dd7e05 Merge branch 'master' into play-storyboard-outro 2021-04-18 06:40:22 +03:00
Christine Chen
c77f838fb0 HasStoryboardEnded doesn't trigger updateCompletionState()
Scores won't be shown prematurely if the storyboard ends before the playable portion of the beatmap.
2021-04-17 21:49:07 -04:00
Naxess
9a69ca34a6 Add audio presence check 2021-04-18 02:07:57 +02:00
Naxess
010720de74 Factor out general file presence checking
This allows us to use the same method of checking for other files that should exist, for example the audio file.

By using the same method, they all share test cases too.
2021-04-18 02:07:33 +02:00
Naxess
56bf49c85c Take IWorkingBeatmap instead of WorkingBeatmap
This makes testing much easier, and allows for checking of any class deriving from that interface, including `WorkingBeatmap`.
2021-04-18 01:21:20 +02:00
Naxess
abf512532e Clean up check logic
Makes use of the new `BeatmapSet.GetPathForFile` method and removes dependency on `WorkingBeatmap` specifically, allowing us to switch to `IWorkingBeatmap` later.
2021-04-18 01:19:25 +02:00
Naxess
ef65c8910f Fix resolved fields 2021-04-18 01:15:13 +02:00
Naxess
bf8789528a Add GetStream to IWorkingBeatmap 2021-04-18 01:13:57 +02:00
Christine Chen
97bacbdc76 Show score after the end of the storyboard after it was toggled 2021-04-17 18:10:21 -04:00
Christine Chen
fdcb5e924c Initialize skipOutroOverlay with alpha 0, other small changes 2021-04-17 17:45:38 -04:00
Christine Chen
e40cb6797d Use GetEndTime() to get storyboard endtime 2021-04-17 15:27:48 -04:00
Naxess
cb41c89935 Don't return low res and too low res at the same time 2021-04-17 20:10:07 +02:00
Christine Chen
5a015290b9 Add remarks back to LatestEventTime 2021-04-17 12:34:38 -04:00
Christine Chen
81be562379 Read StoryboardEndTime directly from Beatmap 2021-04-17 12:28:31 -04:00
Naxess
62c54e00cb Add check for background resolution and filesize 2021-04-17 18:01:04 +02:00
Naxess
b36da2664c Add GetPathForFile to BeatmapSetInfo
This is used in several places, and so should probably have a function rather than remaining as duplicated code.

Also applies this together with the previous commit to `BeatmapManagerWorkingBeatmap`.
2021-04-17 17:49:10 +02:00
Naxess
400f8b3938 Add GetStream to IWorkingBeatmap
This is necessary to obtain the filesize of the audio and background files.
2021-04-17 17:47:13 +02:00
Naxess
448574e7e6 Use WorkingBeatmap instead of IBeatmap
This lets us access things like the background, track, etc. which are necessary for quality and filesize checks.

Also improves the structure of the `CheckBackgroundTest` class in the process.
2021-04-17 17:33:53 +02:00
jvyden
1e56f14f5b
Merge remote-tracking branch 'upstream' 2021-04-17 09:35:24 -04:00
jvyden
6773162f17
Implicitly set defaults when resetting values 2021-04-17 08:47:27 -04:00
Bartłomiej Dach
250c7403e8 Fix idle tracker assuming time starts at 0
`IdleTracker` in its construction quietly assumed that the clock it
receives from its parent starts ticking from 0 at the point at which it
is passed down. This is not necessarily the case when headless
executions are involved, which means that the initial state of the
tracker could be computed as idle incorrectly.

Resolve by explicitly reading the clock time at the point of
`LoadComplete()`.
2021-04-17 13:50:00 +02:00
jvyden
854d88bfb9
Merge branch 'master' into master 2021-04-16 10:04:04 -04:00
smoogipoo
724fe3d378 Remove unnecessary method 2021-04-16 22:57:34 +09:00
smoogipoo
72ebcb157f Dispose track on dispose 2021-04-16 22:57:27 +09:00
smoogipoo
4c5d4752b1 Rename classes to reduce redundant naming 2021-04-16 22:47:52 +09:00
smoogipoo
7d5d7088cd Remove now unnecessary override 2021-04-16 20:51:07 +09:00
smoogipoo
c8d38f9983 Merge branch 'gcc-abstraction' into multiplayer-spectator-screen 2021-04-16 20:51:00 +09:00
smoogipoo
314b1646bd Add xmldoc to MasterGameplayClockContainer 2021-04-16 20:47:09 +09:00
smoogipoo
3a78c19f96 More refactoring/xmldocs 2021-04-16 20:33:29 +09:00
smoogipoo
6301111fa3 Remove ClockToProcess, always process underlying clock 2021-04-16 20:17:21 +09:00
smoogipoo
a7aa3cb263 Merge branch 'gcc-abstraction' into multiplayer-spectator-screen 2021-04-16 20:16:26 +09:00
smoogipoo
f98ffbb1b3 Remove ClockToProcess, always process underlying clock 2021-04-16 20:15:42 +09:00
smoogipoo
5e82f40d67 Merge branch 'master' into gcc-abstraction 2021-04-16 20:14:53 +09:00
smoogipoo
d26fa46ef2 Record every 60fps interval 2021-04-16 19:42:44 +09:00
jvyden
a4e3e53a63
Revert back to hardcoded SessionStatics reset values 2021-04-16 06:34:57 -04:00
Dan Balasescu
1f577ce566
Merge pull request #12444 from peppy/fix-slider-zero-length
Avoid all scenarios where sliders can become zero length
2021-04-16 19:33:35 +09:00
jvyden
9c6914d29d
Fix redundant lambda parentheses 2021-04-16 06:26:45 -04:00
Dan Balasescu
a1787d3819
Merge pull request #12445 from peppy/show-selected-objects-in-timeline
Add border showing selected blueprints in timeline
2021-04-16 19:22:04 +09:00
jvyden
ec0211809f
Apply peppy's suggestions 2021-04-16 05:53:27 -04:00
Dean Herbert
f824105075 Merge branch 'master' into fix-slider-zero-length 2021-04-16 18:47:22 +09:00
smoogipoo
65a6f9f8a4 Merge branch 'fix-initial-spectator-state-callback' into multiplayer-spectator-screen 2021-04-16 18:26:46 +09:00
smoogipoo
274e33184b Fix SpectatorScreen potentially missing user playing callbacks 2021-04-16 18:22:22 +09:00
Dean Herbert
d9d50f0e88 Add border showing selected blueprints in timeline 2021-04-16 18:16:22 +09:00
jvyden
43e6e5e049
increase GameIdleTracker time to 5 minutes 2021-04-16 05:15:58 -04:00
jvyden
471b8e3c74
Merge branch 'master' of https://github.com/ppy/osu 2021-04-16 05:02:40 -04:00
jvyden
7d23973ef8
Reset SessionStatics on activity
Closes #12424
2021-04-16 05:01:58 -04:00
smoogipoo
ca74f413cd Change to explicit method instead 2021-04-16 17:31:02 +09:00
Dean Herbert
fbf7d838da Update framework 2021-04-16 17:30:39 +09:00
Dean Herbert
9b95cf227e Merge branch 'master' into apply-ibindable-interface-change 2021-04-16 17:30:35 +09:00
Dan Balasescu
5ad2d0e759
Merge pull request #12439 from ekrctb/further-refactor-framed-replay
Further refactor FrameReplayInputHandler, simplify the template code
2021-04-16 17:16:09 +09:00
Dan Balasescu
3c8e2b8b32
Merge branch 'master' into fix-potential-deselection-crash 2021-04-16 16:27:47 +09:00
Dan Balasescu
d3acbcced7
Merge pull request #12437 from peppy/fix-editor-placement-commit-false
Fix placement blueprints not being correctly removed after a rolled back placement
2021-04-16 16:25:05 +09:00
Dean Herbert
c59906e925 Fix an occasional crash when deleting a HitObject via internal means 2021-04-16 15:55:33 +09:00
Dean Herbert
d38e294d96 Centralise length validation function 2021-04-16 15:45:24 +09: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
af20863799 Merge branch 'fix-editor-placement-commit-false' into fix-slider-zero-length 2021-04-16 14:30:46 +09:00
ekrctb
91c7d8d26c Introduce StartFrame and EndFrame to simplify the replay interpolation code 2021-04-16 14:13:41 +09:00
ekrctb
84bc81a6de Make FramedReplayInputHandler.CurrentTime non-null 2021-04-16 14:13:41 +09:00
ekrctb
936bde28a3 Remove manual handling of IsActive in RulesetInputManager
Now it is supported in framework
2021-04-16 14:13:41 +09:00
smoogipoo
5652490d61 Fix OnUserBeganPlaying not being invoked if already watching 2021-04-16 14:11:55 +09:00
Dean Herbert
119c9b4294 Fix placement blueprints not being correctly removed after a rolled back placement 2021-04-16 14:11:33 +09:00
Christine Chen
33a665224e Clean up skipOutroOverlay if skipping is disabled 2021-04-16 01:03:15 -04:00
Christine Chen
b15838b220 Move storyboard outro logic to DrawableStoryboard 2021-04-16 00:59:10 -04:00
Dean Herbert
42c066e6f2 Fix slider not displaying in timeline during zero-duration placement 2021-04-16 13:38:55 +09:00
smoogipoo
1c086d99de Add loading spinner 2021-04-16 13:28:32 +09:00
smoogipoo
5ac0eb02cd Always add player instances at first, populate later 2021-04-16 12:25:29 +09:00
Christine Chen
0e545e1ed9 Add IHasDuration interface with EndTime for storyboard elements to implement 2021-04-15 17:17:02 -04:00
Christine Chen
45c2b72a25
Merge branch 'master' into play-storyboard-outro 2021-04-15 15:11:35 -04:00
Christine Chen
25b8c2f257 Allow skipping storyboard outro
Reuses SkipOverlay by calculating the endtime of the storyboard and using that as a "start point". Upon skipping the outro the score is instantly shown.
When the end of the storyboard is reached the score screen automatically shows up. If the player holds ESC (pause) during the outro, the score is displayed

The storyboard endtime is calculated by getting the latest endtime of the storyboard's elements, or simply returning 0 if there is no storyboard.

Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-15 13:20:40 -04:00
Dean Herbert
c2340f1fe8 Move zoom settings back to run in a non-loaded state 2021-04-16 01:01:03 +09:00
Dean Herbert
15d48a924b Set the timeline's height to a sane non-zero default
This isn't required but makes the initial appearance animation nicer.
2021-04-16 00:58:32 +09:00
Dan Balasescu
215ad78045
Merge pull request #12404 from peppy/volume-control-acceleration
Add simple acceleration to volume metre adjustments
2021-04-16 00:31:26 +09:00
Dan Balasescu
a19f3bac35
Merge pull request #12408 from peppy/hide-top-right-elements-as-part-of-hud
Hide top-right HUD overlay elements as part of HUD visibility
2021-04-15 23:29:55 +09:00
smoogipoo
6f3158e8c8 Increase multiplier to 1.8 2021-04-15 23:24:13 +09:00
smoogipoo
cc84ffe228 Merge branch 'master' into volume-control-acceleration 2021-04-15 23:23:23 +09:00
Dan Balasescu
1e0045ae31
Merge pull request #12406 from peppy/volume-control-key-repeat
Fix volume controls not supporting key repeat
2021-04-15 22:47:13 +09:00
Dean Herbert
7cf15fe729
Merge pull request #12412 from peppy/timeline-adjustments
Update timeline control point display
2021-04-15 22:43:26 +09:00
Dean Herbert
6bfde9c1cb
Merge pull request #12429 from EVAST9919/editor-fix
Simplify ExtendableCircle even more
2021-04-15 22:36:32 +09:00
Andrei Zavatski
71b06d7e61 Simplify ExtendableCircle even more 2021-04-15 15:53:21 +03:00
Dan Balasescu
7beaf0ce55
Merge branch 'master' into timeline-adjustments 2021-04-15 21:51:00 +09:00
Dan Balasescu
ac8e462d32
Merge branch 'master' into refactor-framed-replay-input-hander 2021-04-15 21:48:58 +09:00
Dean Herbert
ad671ee07a
Merge branch 'master' into timeline-adjustments 2021-04-15 20:42:38 +09:00
Dan Balasescu
e3bf5f1bbb
Merge branch 'master' into summary-timeline-kiai-display 2021-04-15 20:41:31 +09:00
Dan Balasescu
6f17c19a48
Merge branch 'master' into summary-timeline-design-refactors 2021-04-15 20:11:39 +09:00
Dan Balasescu
b70dae7cf1
Merge pull request #12420 from peppy/round-timeline-ticks
Add rounded corners to timeline ticks display
2021-04-15 20:11:20 +09:00
Dan Balasescu
98e2245d83
Merge pull request #12422 from ekrctb/no-lazy-list
Remove usage of Lazy<List<...>> by always allocating an empty list
2021-04-15 20:09:39 +09:00
smoogipoo
b391a8f94e Properly bind WaitingOnFrames 2021-04-15 19:37:45 +09:00
smoogipoo
33cc5c5cb3 A few more xmldocs 2021-04-15 19:35:57 +09:00
smoogipoo
82fcabb8f0 More refactorings/renamespacings/xmldocs 2021-04-15 19:32:55 +09:00
Dean Herbert
5b06a68b93
Merge pull request #12330 from Cublibre/master
Send a warning notification if device is unplugged and at low battery
2021-04-15 19:21:04 +09:00
smoogipoo
df4fce2c57 Rename classes 2021-04-15 19:16:00 +09:00
smoogipoo
1705d472b5 Reimplement multiplayer syncing using new master/slave clocks 2021-04-15 19:12:52 +09:00
smoogipoo
fe3ba2b80e Implement IAdjustableClock on GameplayClockContainer 2021-04-15 19:07:25 +09:00
Dean Herbert
17e021c549 Update framework 2021-04-15 18:45:52 +09:00
Dean Herbert
0dc1577f68 Split out control point visualisation logic and add special kiai duration handling 2021-04-15 18:42:30 +09:00
Dean Herbert
153ee25510 Update base specifications to a more sane default 2021-04-15 18:42:07 +09:00
ekrctb
d8aa436e81 Remove usage of Lazy<List<...>> in NestedPlayfields 2021-04-15 18:26:01 +09:00
ekrctb
50fad47ebc Remove usage of Lazy<List<...>> for NestedHitObjects 2021-04-15 18:26:01 +09:00
Dean Herbert
bf5af3310a Update break colour to not look like kiai time 2021-04-15 17:04:11 +09:00
Dean Herbert
18e8682f39 Remove unused using statements 2021-04-15 17:01:25 +09:00
smoogipoo
33ad7850cb Remove LastFrameTime 2021-04-15 16:45:59 +09:00
Dean Herbert
757475e6d4 Use correct representation colours 2021-04-15 16:39:20 +09:00
Dean Herbert
da6f9060fa Centre end circles to avoid visual gaps 2021-04-15 16:39:20 +09:00
Dean Herbert
73821beb1d Fix break display looking bad on very long beatmaps due to fixed corner radius 2021-04-15 16:39:20 +09:00
Dean Herbert
66bb5766b9 Make Mod.Description abstract and add missing descriptions 2021-04-15 16:39:20 +09:00
smoogipoo
6fc7488a67 Reimplement syncing logic as a new component 2021-04-15 16:33:59 +09:00
Dan Balasescu
a56391c6ca
Merge pull request #12418 from peppy/abstract-mod-description
Make `Mod.Description` abstract and add missing descriptions
2021-04-15 15:42:36 +09:00
Dean Herbert
bc3b2af39d Add rounded corners to timeline ticks display 2021-04-15 15:29:22 +09:00
Dean Herbert
346e36d32a Make Mod.Description abstract and add missing descriptions 2021-04-15 14:36:26 +09:00
smoogipoo
7993c2b880 Merge branch 'gcc-abstraction' into multiplayer-spectator-screen 2021-04-15 14:23:12 +09:00
Dean Herbert
ba325de595 Merge conditionals for readability 2021-04-15 14:19:59 +09:00
Dean Herbert
5eaf3ea576 Reorganise and reword comments to make time override behaviour a bit clearer 2021-04-15 14:19:06 +09:00
Salman Ahmed
6c5234f8da Move default IgnoreUserSettings value to construction 2021-04-15 08:04:03 +03:00
Salman Ahmed
92fd34cea9 Revert "Inverse ignore user settings bindable to "apply user settings" instead"
This reverts commit 175b8da2b2.
2021-04-15 08:02:12 +03:00
Salman Ahmed
175b8da2b2 Inverse ignore user settings bindable to "apply user settings" instead 2021-04-15 07:34:20 +03:00
Salman Ahmed
a5fa14ac4a Ignore user settings on background screen beatmap by default 2021-04-14 23:35:42 +03:00
smoogipoo
f56125bd68 Update clock from base class 2021-04-14 21:15:14 +09:00
Dean Herbert
d1c68cb92b Simplify content creation of Timeline / TimelineArea 2021-04-14 21:03:52 +09:00
Dean Herbert
be08b9d1ef Combine logic of Difficulty and Timing pieces where feasible 2021-04-14 20:55:34 +09:00
Dean Herbert
afbb674e52 TopLeft align check buttons so they don't move while interacting with them 2021-04-14 20:54:35 +09:00
Dean Herbert
99f05253fd Adjust timeline sizing to closer match designs (but not 1:1 yet) 2021-04-14 20:54:35 +09:00
Dean Herbert
f9b1b7fe25 Update SamplePointPiece design 2021-04-14 20:54:35 +09:00
smoogipoo
774cca38c4 Make spectating instances use custom GCC 2021-04-14 20:39:14 +09:00
Dean Herbert
a8df2388eb Update design for TimingControlPoint 2021-04-14 20:11:47 +09:00
Dean Herbert
1209c9fa32 Allow timeline to expand in height when control points are to be displayed 2021-04-14 20:10:50 +09:00
Dean Herbert
ff2a37b7f4 Add new colours for editor designs 2021-04-14 20:10:50 +09:00
smoogipoo
54643f53e3 Merge branch 'gcc-abstraction' into multiplayer-spectator-screen 2021-04-14 19:56:58 +09:00
smoogipoo
18c69cdaf7 Split out files 2021-04-14 19:50:22 +09:00
smoogipoo
b53b30c1a9 Fix incorrect offset due to another intermediate Decoupleable clock 2021-04-14 19:33:55 +09:00
smoogipoo
2935f87e70 Fix IsPaused not being bound 2021-04-14 18:29:34 +09:00
Dean Herbert
26110cd777 Fix timeline not receiving input (being eaten by composer) 2021-04-14 18:17:27 +09:00
Dean Herbert
a314f90d37 Allow timeline to govern the size of the rest of the editor content 2021-04-14 18:17:27 +09:00
smoogipoo
1aa36818df Abstractify GameplayClockContainer 2021-04-14 17:47:11 +09:00
Dean Herbert
e543db9bee Use additive blending for background box
Doesn't make a huge difference but this was intended.
2021-04-14 14:56:28 +09:00
Dean Herbert
b7d2821b55 Display the centre marker above the waveform
Gives it a bit more visibility. This is where it was meant to sit, but
didn't consider using a proxy drawable to make it work previously.
2021-04-14 14:52:48 +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
Dean Herbert
6044083cf7 Speed up the fade of the HUD a touch 2021-04-14 14:25:16 +09:00
Dean Herbert
65a1270f9a Hide top-right HUD overlay elements as part of HUD visibility 2021-04-14 14:16:18 +09:00
Dean Herbert
8282f38eb7 Fix volume controls not supporting key repeat 2021-04-14 13:11:24 +09:00
Dean Herbert
89ce8f290f Add simple acceleration to volume metre adjustments 2021-04-14 12:55:06 +09:00
smoogipoo
69b01e7270 Add some debugging 2021-04-14 00:58:03 +09:00
smoogipoo
77830527e7 Fix spectate button being disabled during play 2021-04-13 23:57:16 +09:00
smoogipoo
56e1bffdfd Populate initial user states 2021-04-13 23:57:16 +09:00
Dean Herbert
cb4f64133e Add xmldoc to interfaces 2021-04-13 23:30:20 +09:00
Dean Herbert
21e8e5fbca Move common table layout logic into EditorTable abstract class 2021-04-13 23:26:19 +09:00
smoogipoo
d49b90877e Fix operation remaining in progress 2021-04-13 23:21:48 +09:00
Dean Herbert
0edc1a850d Split out common EditorTable base class 2021-04-13 23:05:58 +09:00
Dean Herbert
1ff4e2076f Merge branch 'master' into verify-tab 2021-04-13 23:05:48 +09:00
smoogipoo
3039b7b0f9 Make tests a bit more resilient 2021-04-13 22:40:24 +09:00
smoogipoo
20823abb30 Make resyncing a bit more resilient 2021-04-13 22:10:35 +09:00
Naxess
69da804f81 Add missing period 2021-04-13 13:57:56 +02:00
Andrei Zavatski
e601141be2 Simplify ExtendableCircle component 2021-04-13 14:57:02 +03:00
smoogipoo
627dd960b0 Disable player input for now 2021-04-13 20:52:20 +09:00
Dan Balasescu
1505a38164
Merge pull request #12396 from peppy/update-timeline-slider-apperance
Update timeline slider/spinner apperance
2021-04-13 20:47:44 +09:00
Dan Balasescu
b2aa46690d
Merge pull request #12389 from peppy/fix-editor-ctrl-drag-deselection
Fix ctrl-dragging on an existing selection unexpectedly causing deselection
2021-04-13 20:38:29 +09:00
Dean Herbert
0d6890243f Fix typo in xmldoc 2021-04-13 20:18:18 +09:00
smoogipoo
5b53a2b211 Merge branch 'master' into multiplayer-spectator-screen 2021-04-13 20:07:56 +09:00
Dean Herbert
464fc02875 Fix some styling issues with the verify screen layout 2021-04-13 19:55:17 +09:00
Dean Herbert
03ba04e8ce Split out general checks into its own verifier class (and remove static usage) 2021-04-13 19:50:22 +09:00
Dean Herbert
bcd41417b3 Update framework 2021-04-13 19:36:29 +09:00
Dean Herbert
2c1f20a38f Merge branch 'master' into fix-editor-alt-scroll 2021-04-13 19:36:25 +09:00
Dean Herbert
e7b0042a60 Remove unnecessary hover / shadow logic 2021-04-13 19:30:20 +09:00
Dean Herbert
b2c17979de Update colours of all overlay components in one swoop (based off combo colour) 2021-04-13 19:26:20 +09:00
Dean Herbert
495fdd8d65 Update drag area display to match new design logic 2021-04-13 19:26:20 +09:00
Dean Herbert
109ee395bf Fix input and remove outdated hover logic 2021-04-13 19:26:20 +09:00
Dean Herbert
00f235760d Update visual appearance of timeline blueprints to close match new designs 2021-04-13 19:26:20 +09:00
Dean Herbert
0cf13dab8d
Merge pull request #12391 from frenzibyte/replays-tooltip-graph
Display separate "replays watched" tooltip for replays subsection
2021-04-13 19:25:50 +09:00
Dean Herbert
2884ed3ab9
Merge pull request #12350 from smoogipoo/multiplayer-spectator-player-grid
Add the multiplayer spectator player grid
2021-04-13 19:25:32 +09:00
Dan Balasescu
d41e3690fc
Merge pull request #12390 from peppy/fix-import-multiple-file-types
Fix import multiple file types via drag potentially reaching the wrong importer
2021-04-13 18:21:54 +09:00
Dan Balasescu
a0513f64f9
Merge branch 'master' into replays-tooltip-graph 2021-04-13 18:21:10 +09:00
Dan Balasescu
fd32c7d7df
Merge pull request #12393 from peppy/update-timeline-design-a-bit
Update timeline tick display to differentiate tick type using width
2021-04-13 18:14:58 +09:00
Naxess
aa5fe2e9fc Rename BeatmapVerifier -> IBeatmapVerifier 2021-04-13 11:02:01 +02:00
Salman Ahmed
7c53bebfd4 Fix beatmap background not hiding when user settings ignored and storyboard replaces background 2021-04-13 12:00:13 +03:00
Naxess
60c2494b31 Make BeatmapVerifier an interface 2021-04-13 10:40:56 +02:00
Dean Herbert
b41e3a2e7a Remove unused using statement 2021-04-13 17:38:32 +09:00
Salman Ahmed
36510309d1 Merge EnableUserDim and IgnoreUserSettings to one bindable 2021-04-13 10:58:56 +03:00
Dean Herbert
0932daeaa8 Force the new default on update 2021-04-13 16:50:03 +09:00
Dean Herbert
5a06db8a11 Change default editor waveform opacity to 25%
The previous setting felt way too high.
2021-04-13 16:48:06 +09:00
Dean Herbert
27e851c2ee Also adjust height 2021-04-13 16:43:29 +09:00
Dean Herbert
ebf97ff48f Update timeline ticks to use width as a differentiation method, rather than height 2021-04-13 16:29:35 +09:00
ekrctb
57ba7b7cbb Partially revert the changes of CurrentFrame and NextFrame for compatibility
Making those always non-null is postponed as when a replay's frame contains keypress the behavior is changed.
Previously, the key is pressed at the time of the first frame. But using non-null frames means the key is pressed at negative infinity.
However, I think the new way of always using non-null frames makes the client code so I plan to bundle the change to more breaking changes.
2021-04-13 15:55:23 +09:00
Dan Balasescu
20a432c083
Merge pull request #12392 from peppy/avoid-score-online-id-conflicts
Don't store online IDs from score submission responses for now
2021-04-13 15:40:03 +09:00
Salman Ahmed
9f8af03a70 Remove irrelevant change 2021-04-13 09:28:58 +03:00
Dean Herbert
273099d53c Don't store online IDs from score submission responses for now
Closes remaining portion of https://github.com/ppy/osu/issues/12372.
2021-04-13 14:31:44 +09:00
ekrctb
d0f30b7b42 Delay map completion one frame after the last judgment
This is a workaround of a timing issue.
KeyCounter is disabled while break time (`HasCompleted == true`).
When the last keypress is exactly at the same time the map ends, the last frame was considered in a break time while forward play but considered not in a break time while rewinding. This inconsistency made the last keypress not decremented in the key counter when a replay is rewound.
The situation regularly happens in osu!standard because the map ends right after the player hits the last hit circle. It was caught by `TestSceneGameplayRewinding`.

This commit makes the update of the map completion delayed one frame. The problematic keypress frame is now processed strictly before the map completion, and the map completion status is correctly rewound before the keypress frame.
2021-04-13 14:29:47 +09:00
Dean Herbert
4852630c93 Fix import multiple file types via drag potentially reaching the wrong importer 2021-04-13 14:03:42 +09:00
Salman Ahmed
a664efe12b Fix history graph tooltips leaking to others
Since there was no check about which tooltip content came from which graph, all history graphs use the "Replays Watched" tooltip, as it is the latest created one.
2021-04-13 07:59:14 +03:00
ekrctb
38d10755cb Merge branch 'master' into refactor-framed-replay-input-hander 2021-04-13 13:47:22 +09:00
Dean Herbert
66e74da2b7 Fix regression in quick delete mouse action blocking 2021-04-13 13:03:14 +09:00
Christine Chen
16d34bcc0a Expose the latest end time of storyboard elements
Co-authored-by: Marlina Bowring <marlina@umich.edu>
2021-04-12 23:08:43 -04:00
Naxess
6d3f9fa9ce Use is class instead of Equals with template index
Ensures ordering of `PossibleTemplates` does not affect tests.
2021-04-13 02:29:25 +02:00
Naxess
d8088777ea Add Equals method to IssueTemplate
This will be useful in tests.
2021-04-13 01:21:34 +02:00
Salman Ahmed
8f84abf348 Display "replays watched" tooltip for replays subsection 2021-04-12 21:51:06 +03:00
Salman Ahmed
9679bdfed2 Merge branch 'master' into mod-using-reference-equality 2021-04-12 20:56:24 +03:00
Salman Ahmed
92fab653e1 Take current mod settings value into account on equality comparsion 2021-04-12 20:51:13 +03:00
Dean Herbert
84e1ff79a0
Merge pull request #12352 from smoogipoo/multiplayer-spectator-leaderboard
Implement the multiplayer spectator leaderboard
2021-04-13 01:51:14 +09:00
Naxess
19a154ddf1 Rename checkOrigin -> check
More consistent with `Issue.ctor`'s "template".
2021-04-12 17:28:12 +02:00
Christine Chen
f66306a81a Remove IsLowBattery 2021-04-12 11:15:24 -04:00
Naxess
bb720c23a0 Remove check ctors and locals 2021-04-12 17:12:37 +02:00
Christine Chen
43b97fe0ad Refactor PowerStatus (now called BatteryInfo) 2021-04-12 10:52:52 -04:00
Dean Herbert
62c1812282 Remove redundant parameter naming 2021-04-12 23:37:47 +09:00
Dean Herbert
36bd235021 Move nested classes to bottom of file 2021-04-12 23:36:10 +09:00
Naxess
6d50d01186 Make IssueTemplate.Check readonly 2021-04-12 16:23:05 +02:00
Naxess
caaaba5950 Rename Check -> ICheck 2021-04-12 16:20:53 +02:00
Naxess
008dbc7dd6 Reverse IssueType ordering
Reversed both in the enum and where it's displayed, so ends up the same in the end.
2021-04-12 15:49:13 +02:00
Naxess
1c69829ad4 Fix Template.Origin -> Check 2021-04-12 15:47:58 +02:00
Naxess
7c4f6d2b62 Rework template usage
Includes moving the origin check back to templates, constructing nested template classes in each check, and making parameterized template usage.
2021-04-12 15:47:26 +02:00
smoogipoo
c531e38a36 Rework to create a derived tracked user data instead 2021-04-12 22:00:27 +09:00
Dean Herbert
3fd3f36895
Merge pull request #12378 from smoogipoo/fix-score-serialisation
Fix mods not being serialised correctly in ScoreInfo
2021-04-12 21:54:24 +09:00
smoogipoo
27660265b5 Merge branch 'master' into multiplayer-spectator-leaderboard 2021-04-12 21:02:18 +09:00
smoogipoo
e9a114a15c Rename property back 2021-04-12 20:50:18 +09:00
smoogipoo
8413b0a5d3 Don't map api mods to DB 2021-04-12 20:49:44 +09:00
smoogipoo
625484468e Fix DB serialisation 2021-04-12 20:49:37 +09:00
smoogipoo
982d8fa8b1 Fix incorrect reference 2021-04-12 20:49:26 +09:00
smoogipoo
d2d7f77430 Fix mods not being serialised correctly in ScoreInfo 2021-04-12 20:09:01 +09:00
Dean Herbert
905cd7c8eb Update resources 2021-04-12 19:22:07 +09:00
Dean Herbert
cc2acf5e54 Fix ctrl-dragging on an existing selection causing deselection of the hovered object 2021-04-12 19:05:23 +09:00
ekrctb
31d3607105 Add TODO comment 2021-04-12 18:54:36 +09:00
ekrctb
359fae895f Rename property 2021-04-12 18:50:25 +09:00
ekrctb
6d18b3db00 Avoid empty list allocation 2021-04-12 18:49:38 +09:00
Dean Herbert
b5954a55ad Remove empty <returns> xmldoc 2021-04-12 17:46:14 +09:00
ekrctb
f1b8171e38 Remove #nullable true for now to suppress inspector 2021-04-12 17:13:48 +09:00
Naxess
a2fc9c398f Rename CreateChecker -> CreateBeatmapVerifier 2021-04-12 10:08:30 +02:00
Naxess
65ebdd8f7a Move check origin from IssueTemplate to Issue
As a result we can also make check an interface, and need to provide the check itself when constructing an issue.
2021-04-12 10:08:08 +02:00
Dean Herbert
0eab9daf13 Update existing overlay containers to not block scroll input 2021-04-12 16:41:36 +09:00
ekrctb
e19e8ff2a3 Rewrite FramedReplayInputHandler for robustness
This commit changes the semantics of `CurrentFrame` and `NextFrame` of the class.
The ordering of `NextFrame.Time` and `CurrentFrame.Time` was dependent on the current direction.
Now, it should always satisfy `CurrentFrame.Time <= CurrentTime <= NextFrame.Time` except at the start/end.
This change, however, doesn't break existing deriving classes if the template code pattern usage of interpolation is used.
The deriving class code can be simplified due to the elimination of nullable types. I didn't include those changes in this commit.

I removed `StreamingFramedReplayInputHandlerTest` for now, as it is almost-duplicate of `FramedReplayInputHandlerTest`. I'll include more tests in later commits.

This commit fixes #6150.
2021-04-12 16:18:11 +09:00
Dean Herbert
42604afcdc Add binding for verify mode (and move enum entry to end) 2021-04-12 16:15:27 +09:00
Dean Herbert
8bf85d737c Change Metadata into a get property 2021-04-12 15:52:29 +09:00
Dean Herbert
78bbc8f5c8 Tidy some remaining code 2021-04-12 15:52:18 +09:00
Dean Herbert
8c31e96cdf Change some methods to get properties 2021-04-12 15:52:18 +09:00
Dean Herbert
f78239c7f2 Move enums out of nesting 2021-04-12 15:52:18 +09:00
Dean Herbert
3551322f1d Fix formatting of colour getter 2021-04-12 15:52:18 +09:00
Dean Herbert
257acf9cd8 Colour constants to private 2021-04-12 15:52:18 +09:00
Dean Herbert
136627b9ac Wrap xmldoc less and make a few fixes 2021-04-12 15:52:18 +09:00
Dean Herbert
1c553b5d48 Checker -> BeatmapVerifier 2021-04-12 15:29:05 +09:00
Dean Herbert
14bd5bdc77 Merge branch 'master' into verify-tab 2021-04-12 15:14:37 +09:00
Dean Herbert
dd1925aaed Remove temporary input ignore 2021-04-12 14:29:27 +09:00
Dean Herbert
9be3163592 Merge branch 'master' into multiplayer-spectator-player-grid 2021-04-12 14:14:13 +09:00
Dean Herbert
995c244cee Remove alt-mousewheel bindings for volume adjustment
With the recent changes to the order of processing key bindings
(`GlobalAction`s are handled first), having the alt-wheel bindings in here causes a
regression as they are handled before `OnScroll` events.

Specifically, this means editor alt-scroll functionality no longer works
with the default bindings.

Removing the bindings fixes this, while also still allowing alt-wheel
adjustment of the volume via `VolumeControlReceptor`:

a2f50af424/osu.Game/Overlays/Volume/VolumeControlReceptor.cs (L21-L26)

In conjunction with the special case in `OsuScrollContainer`:

02d5b1352b/osu.Game/Graphics/Containers/OsuScrollContainer.cs (L103-L105)
2021-04-12 14:00:32 +09:00
ekrctb
d6d8ea5b6b Throw when getting a frame of an empty replay 2021-04-12 11:17:56 +09:00
Salman Ahmed
fbd5195738 Extract mod setting value handling to utils class 2021-04-12 03:37:03 +03:00
Christine Chen
b7e16c2fcc Remove Xamarin.Essentials package from main project 2021-04-11 15:51:58 -04:00
Salman Ahmed
419fd4470c Reorder method declaration 2021-04-11 15:19:51 -04:00
Salman Ahmed
07ee1b4d0b Make power status properties abstract 2021-04-11 13:18:25 -04:00
Salman Ahmed
3d85dc11c6 Adjust documentation 2021-04-11 13:18:25 -04:00
Salman Ahmed
2b947a44da Cache power status at base instead 2021-04-11 13:18:25 -04:00
Salman Ahmed
18fb9f5ac9
Merge branch 'master' into mod-using-reference-equality 2021-04-11 19:48:55 +03:00
Salman Ahmed
1fd4cb8963
Merge branch 'master' into master 2021-04-11 10:19:16 +03:00
Naxess
7d40b01722 Remove old todo 2021-04-10 15:18:15 +02:00
Naxess
3289bb0379 Merge Check and BeatmapCheck
We're probably not going to need GeneralChecks or BeatmapsetChecks.

The verify tab is only available to a single difficulty at a time, and we already have access to the rest of the set through `IBeatmap`.
2021-04-10 14:56:30 +02:00
Naxess
747e0f00dc Improve table formatting 2021-04-10 13:10:05 +02:00
Naxess
3a4f2e3d7e Show table even if no issues 2021-04-10 13:09:16 +02:00
Naxess
c995eca029 Remove todo
Doesn't really matter in the end, as only one checker will run at a time in this case.
2021-04-10 13:05:24 +02:00
Naxess
6d3cf78e4a Add issue selection
This mainly helps with keeping track of which issue was clicked, since doing so switches tab.
2021-04-10 13:04:39 +02:00
Naxess
bc4f3351f3 Replace checks with realistic ones 2021-04-10 13:03:16 +02:00
Naxess
b30e41b805 Fix comment; mode -> ruleset 2021-04-10 13:02:36 +02:00
Naxess
d1007ff26a Move components to more appropriate spot 2021-04-10 13:02:22 +02:00
Naxess
43174b708c Remove visibility settings
Can look into this later, not really important for a first iteration.
2021-04-10 12:58:40 +02:00
Christine Chen
08311abc5e Remove setters, cache CreatePowerStatus() and use a dummy LocalPowerStatus class in test scene 2021-04-10 00:00:21 -04:00
Dean Herbert
b66ef2fdec Update framework 2021-04-10 02:14:28 +09:00
Dean Herbert
dfe3240b45
Merge pull request #12353 from nekodex/songselect-hoversamples
Add a hover sample type for SongSelect buttons
2021-04-10 01:45:47 +09:00
Dan Balasescu
9aa30fb323
Merge pull request #11688 from Syriiin/diffcalc/dynamic-history
Implement dynamic previous hitobject retention for Skill class
2021-04-10 01:25:07 +09:00
Dean Herbert
affc878db9 Update resources 2021-04-10 01:03:15 +09:00
Samuel Cattini-Schultz
bfd3d0cce9 Implement custom enumerator for ReverseQueue to avoid allocations 2021-04-10 01:16:54 +10:00
Jamie Taylor
ffacd38e57 Reduce the randomised pitch range of hover sounds 2021-04-09 23:03:14 +09:00
Jamie Taylor
8a0da06e89 Add a hover sample type for SongSelect buttons 2021-04-09 23:00:40 +09:00
smoogipoo
4409c1a36f Increase sync offset to prevent constant catchups 2021-04-09 22:01:21 +09:00
smoogipoo
6eddc6c59e Enable spectating multiplayer matches 2021-04-09 21:03:50 +09:00
smoogipoo
3e46d6401e Remove some unnecessary code 2021-04-09 20:23:11 +09:00
smoogipoo
eccd269cce Implement maximum start delay 2021-04-09 20:17:57 +09:00
smoogipoo
49b7519c53 Refactor gameplay starting logic 2021-04-09 20:03:34 +09:00
smoogipoo
c93ce73123 Move catchup logic inside PlayerInstance, fixup some edge cases 2021-04-09 19:59:34 +09:00
smoogipoo
f8dfb9544b Merge branch 'multiplayer-spectator-leaderboard' into multiplayer-spectator-screen 2021-04-09 18:42:04 +09:00
smoogipoo
d2c37e6cf8 Remove unnecessary parameter 2021-04-09 18:41:58 +09:00
smoogipoo
4fa51d5ec8 Add leaderboard to multiplayer spectate screen 2021-04-09 18:41:48 +09:00
smoogipoo
8005f146a9 Fix inspection 2021-04-09 18:37:11 +09:00
smoogipoo
950e4e05ef Merge branch 'multiplayer-spectator-leaderboard' into multiplayer-spectator-screen 2021-04-09 18:30:21 +09:00
smoogipoo
7cbc8f2695 Add some xmldocs 2021-04-09 18:29:02 +09:00
smoogipoo
90e243eea5 Rename methods 2021-04-09 18:15:27 +09:00
smoogipoo
3b86f0eb2f Fix exception with 0 frames 2021-04-09 18:15:23 +09:00
smoogipoo
bb15baf118 Add initial multiplayer spectator leaderboard 2021-04-09 17:31:14 +09:00
Dean Herbert
1dbc7e821e
Merge branch 'master' into add-slider-whistle 2021-04-09 17:11:48 +09:00
smoogipoo
9b0ce2999f Fix legacy encoder 2021-04-09 15:28:42 +09:00
Dean Herbert
51fee79ef1 Fix scores not being accepted due to missing ruleset ID 2021-04-09 15:18:02 +09:00
smoogipoo
76981f2547 Remove unused using 2021-04-09 13:58:24 +09:00
smoogipoo
8293b06c0a Remove obsolete code 2021-04-09 13:56:58 +09:00
Christine Chen
59d13b0dd3 Fixed indentation
sorry about the style fixes... I'm using JetBrains Rider from now on.
2021-04-08 21:53:42 -04:00
Christine Chen
493c095535 Fixed code style 2021-04-08 20:28:23 -04:00
Christine Chen
6bccb3aab6 Use DI to implement battery detection, add BatteryCutoff property
- Removed the Xamarin.Essentials package from osu.Game and added it to osu.iOS and osu.Android only.
- iOS and Android implementations use Xamarin.Essentials.Battery, while the Desktop implementation
only returns 100% battery for now.
- Added a BatteryCutoff property to PowerStatus so it can be different for each platform (default 20%, 25% on iOS)
2021-04-08 19:55:11 -04:00
Dean Herbert
24ae5b9169 Fix slightly incorrect solo score submission routes 2021-04-08 23:15:08 +09:00
smoogipoo
ecd0b84d94 Use max_sync_offset constant 2021-04-08 22:15:07 +09:00
smoogipoo
1b5679b0d7 Refactor ctor 2021-04-08 22:14:26 +09:00
smoogipoo
7d276144b8 Fix player sizing + masking 2021-04-08 22:13:54 +09:00
smoogipoo
709016f0d6 Add initial multiplayer screen implementation 2021-04-08 22:07:00 +09:00
smoogipoo
d64b236f86 Add a container that provides an isolated gameplay context 2021-04-08 21:27:16 +09:00
smoogipoo
125358158b Merge branch 'master' into multiplayer-spectator-screen 2021-04-08 21:13:37 +09:00
Dean Herbert
1e23f671fa
Merge pull request #12321 from smoogipoo/add-spectate-button-and-state
Add multiplayer spectating user state and button
2021-04-08 19:48:58 +09:00
smoogipoo
fd2a14a0bf Only set button state once 2021-04-08 16:31:40 +09:00
Dean Herbert
a55e62188e Change state icon to binoculars so the eye isn't staring at me 2021-04-08 15:54:58 +09:00
Dean Herbert
b73860cb5f Slightly alter button colour scheme to make text more legible and reduce saturation 2021-04-08 15:47:55 +09:00
Dean Herbert
8aff53172d Remove necessity for nested PassThroughInputManger 2021-04-08 15:18:31 +09:00
Dean Herbert
a8839792fd
Merge branch 'master' into circular-arc-freeze 2021-04-08 14:33:03 +09:00
Christine Chen
0a6baf670e Send a warning notification if device is unplugged and low battery
- Uses Xamarin.Essentials in osu.Game.PlayerLoader to check battery level
- Encapsulated battery checking in the public BatteryManager class so battery level and plugged in status can be accessed and edited in TestPlayerLoader
- When checking battery level, catch NotImplementedException thrown by Xamarin.Essentials.Battery on non-mobile platforms
- Added visual unit tests for battery notification
  To mock battery status and level, we had to define a batteryManager object in TestPlayerLoader and add a new function ResetPlayerWithBattery()

Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-07 15:56:50 -04:00
smoogipoo
72a42ceaf7 Merge branch 'multiplayer-spectator-player-grid' into multiplayer-spectator-screen 2021-04-08 00:19:00 +09:00
smoogipoo
5dc939c2f3 More documentation 2021-04-08 00:12:21 +09:00
smoogipoo
024adb699c Add test and fix several issues 2021-04-08 00:12:21 +09:00
smoogipoo
648a9d5258 Add multiplayer spectator player grid 2021-04-08 00:12:21 +09:00
Dean Herbert
8cc1e8b8b0 Update framework 2021-04-07 23:11:01 +09:00
smoogipoo
6fe1b68510 Add a way to retrieve new WorkingBeatmap instances 2021-04-07 22:30:40 +09:00
smoogipoo
65014d9596 Merge branch 'apply-screen-suspension-changes' into multiplayer-spectator-screen 2021-04-07 22:28:44 +09:00
smoogipoo
2791d454d2 Don't send spectating user state yet 2021-04-07 22:21:22 +09:00
smoogipoo
99bee73ac1 Merge branch 'master' into add-spectate-button-and-state 2021-04-07 22:07:52 +09:00
Naxess
bab36e529a Update UI with new components 2021-04-07 14:38:43 +02:00
Naxess
9c4604e3c5 Add example checks 2021-04-07 14:36:53 +02:00
Naxess
0343ef7f14 Add ruleset-specific checker 2021-04-07 14:36:43 +02:00
Naxess
b24ce66a0d Add check/issue classes 2021-04-07 14:35:33 +02:00
smoogipoo
1f4c17b8f8 Apply changes to AllowScreenSuspension bindable 2021-04-07 21:20:44 +09:00
Dan Balasescu
6eb809f4c4
Merge pull request #9194 from boswelja/rebind-song-select
Allow rebinding Song Select mods/random/options keys
2021-04-07 20:55:45 +09:00