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

24679 Commits

Author SHA1 Message Date
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
smoogipoo
93c5935ebc Add match subscreen support + test 2021-04-07 20:46:30 +09:00
Dan Balasescu
5227f2fe0d
Merge branch 'master' into fix-game-mouse-cursor 2021-04-07 20:02:44 +09:00
Dean Herbert
e7f47c635f Fix gameplay mouse cursor being overridden by menu cursor
Closes https://github.com/ppy/osu/issues/12313.
2021-04-07 19:00:05 +09:00
Dean Herbert
0f2c03d54b Add back "rewind" text, showing temporarily after a rewind occurs 2021-04-07 18:29:45 +09:00
Dean Herbert
08858e6426 Reorder defaults to give non-global areas priority for global actions 2021-04-07 17:42:49 +09:00
smoogipoo
abd637ffaa Add button to footer 2021-04-07 17:35:18 +09:00
Dean Herbert
afc745f999 Merge branch 'master' into rebind-song-select 2021-04-07 17:13:25 +09:00
smoogipoo
56c13148f1 Fix typo in class name 2021-04-07 16:45:10 +09:00
smoogipoo
c744f77cfa Add participant panel state 2021-04-07 16:40:24 +09:00
smoogipoo
6be9c9f0f4 Link up ready button to spectate state 2021-04-07 16:35:50 +09:00
smoogipoo
6de91d7b6b Add spectate button + test 2021-04-06 21:37:27 +09:00
smoogipoo
d5ba77b2c2 Add spectating user state 2021-04-06 21:22:28 +09:00
Leon Gebler
dd902441b0 Add tests for consecutive perfect-curve segments 2021-04-06 13:32:17 +02:00
Leon Gebler
d81f270e21 Always encode perfect curves as explicit segments 2021-04-06 13:29:31 +02:00
Dean Herbert
d4c55070e7
Merge pull request #12283 from bdach/setup-screen-design-refresh
Refresh setup screen appearance to be closer to design
2021-04-06 18:33:34 +09:00
Dan Balasescu
ba3689b5b9
Merge pull request #12269 from PercyDan54/beatmap-details
Use OnlineViewContainer for BeatmapDetails
2021-04-06 17:52:32 +09:00
Dean Herbert
3113eefcf6 Don't attempt to load content when not online 2021-04-06 17:12:00 +09:00
Dean Herbert
899d708dac Move loading layer up one level to correct padding 2021-04-06 17:09:51 +09:00
Dean Herbert
f08b340e81 Add nullability hinting 2021-04-06 16:49:26 +09:00
Dan Balasescu
2321101518
Merge branch 'master' into fix-overzealousmouse-button-blocking 2021-04-06 16:45:25 +09:00
smoogipoo
37e30b00bf Refactor to keep a consistent API 2021-04-06 16:39:02 +09:00
Dean Herbert
1934e8e1fe Fix loading layer being in the wrong place 2021-04-06 16:30:47 +09:00
Dean Herbert
59e6c46644 Remove unnecessary online state logic 2021-04-06 16:23:27 +09:00
Dean Herbert
dafa8bbe4e Refactor BeatmapDetails to use GridContainer to keep a consistent layout 2021-04-06 16:21:20 +09:00
Dean Herbert
933c4010da Allow creating OnlineViewContainers with no placeholder button 2021-04-06 16:17:20 +09:00
Dan Balasescu
eed56e0e41
Merge pull request #12308 from peppy/editor-timeline-select-intro-blueprints
Fix not being able to select timeline blueprints in intro time
2021-04-06 16:08:39 +09:00
Dean Herbert
9d0839be8f Remove no longer necessary FinishTranforms call 2021-04-06 15:35:07 +09:00
Dean Herbert
316a557a99 Split select area background into own class to reduce hover state complexity 2021-04-06 15:34:34 +09:00
Dean Herbert
53c1bc666c Make addition of nested GlobalActionContainer in OsuGameTestScene optional 2021-04-06 15:18:00 +09:00
Dean Herbert
7d301a6336 Improve timeline hover display before time zero with a gradient fade 2021-04-06 14:34:16 +09:00
Dean Herbert
35dd1c68aa Fix drag/selection events not propagating correctly to TimelineBlueprintContainer when before time zero 2021-04-06 14:34:16 +09:00
Dean Herbert
8ff13845d1 Add marker showing where 00:00:000 is 2021-04-06 14:24:22 +09:00
smoogipoo
a2544100d4 Fix floating point error in slider path encoding 2021-04-06 14:10:59 +09:00
Dean Herbert
784552022f
Merge pull request #12303 from smoogipoo/fix-last-control-point-segmenting
Make last control point not able to make an implicit segment
2021-04-06 13:35:55 +09:00
Samuel Cattini-Schultz
5cd43b3a7f Set default history retention to 0 for Skill and override in StrainSkill
Some skills might not even require history retention, so why waste the allocations?
2021-04-06 11:53:31 +10:00
Samuel Cattini-Schultz
4f614a703e Merge branch 'master' into diffcalc/dynamic-history 2021-04-06 11:34:33 +10:00
Samuel Cattini-Schultz
65f93d6f9d Add more descriptive xmldoc for ReverseQueue 2021-04-06 11:30:58 +10:00
Samuel Cattini-Schultz
ffe7edc16a
Update xmldocs
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-04-06 11:06:10 +10:00
Dan Balasescu
9d8a26f373
Merge branch 'master' into diffcalc/refactor-strain-skill 2021-04-06 08:21:38 +09:00
Dean Herbert
beebdb0734 Clean up implementation 2021-04-05 22:30:51 +09:00
Dean Herbert
38e95a0e73 Merge branch 'master' into fix-overzealousmouse-button-blocking 2021-04-05 22:07:41 +09:00
Samuel Cattini-Schultz
5bdd15f746 Refactor Skill.Process() to not require calling base.Process() 2021-04-05 22:14:59 +10:00
Samuel Cattini-Schultz
57983ae61f Fix whitespace 2021-04-05 22:14:59 +10:00
smoogipoo
d0510222ae Fix legacy beatmap encoding 2021-04-05 19:59:54 +09:00
smoogipoo
4b29d0ebe2 Fix last control point starting new segment 2021-04-05 17:49:36 +09:00
Dean Herbert
6bcbef9f25
Merge pull request #12294 from smoogipoo/mania-scoring-adjustments
Adjust scoring values to better fit osu!mania expectations
2021-04-05 17:19:28 +09:00
Dan Balasescu
97820e0ea5
Merge branch 'master' into diffcalc/refactor-strain-skill 2021-04-05 15:09:52 +09:00
Dan Balasescu
5bf0889379
Merge branch 'master' into diffcalc/refactor-strain-logic 2021-04-05 14:16:34 +09:00
smoogipoo
3acc612a67 Adjust scoring values to better fit osu!mania 2021-04-05 13:28:46 +09:00
Bartłomiej Dach
0a1417bc67 Swap order of background/audio track changing methods
Mostly for quality of reviewing (restores previous order) and more
consistency overall.
2021-04-04 13:10:12 +02:00
Bartłomiej Dach
a0f0ae7979 Adjust spacings in resources section 2021-04-04 12:53:51 +02:00
Bartłomiej Dach
f2d4ca7676 Add background chooser text box 2021-04-04 12:50:50 +02:00
Bartłomiej Dach
9394af32f5 Move drag & drop support logic to chooser component 2021-04-04 12:34:52 +02:00
PercyDan54
d4724f4494
Fix crash 2021-04-04 09:44:45 +08:00
Bartłomiej Dach
294d911426 Move background chooser to header 2021-04-03 20:53:07 +02:00
Bartłomiej Dach
61f9eb51c4 Split background chooser to own component 2021-04-03 20:36:30 +02:00
Bartłomiej Dach
3572178bdc Add tab control to setup screen header 2021-04-03 20:13:20 +02:00
Bartłomiej Dach
95d7e6c74b Explicitly associate setup sections with titles 2021-04-03 19:58:49 +02:00
Bartłomiej Dach
bdd1072dce Adjust colours and spacing to be closer to design 2021-04-03 18:52:50 +02:00
Bartłomiej Dach
4df7ff21c7 Fix editor arrow seek snapping not updating after control point changes
The editor clock, which is responsible for performing the seek, was not
aware of changes in control points due to reading from the wrong
beatmap. `loadableBeatmap` is not actually changed by any of the editor
components; `playableBeatmap` and `editorBeatmap` are.

For now this is changed to use `playableBeatmap`. A better follow-up
would be to use `editorBeatmap`, but it would probably be best to move
the beat snap bindable into `EditorBeatmap` first.
2021-04-03 14:02:46 +02:00
Samuel Cattini-Schultz
85d2b1232a Refactor to abstract out strain logic into StrainSkill class
While it is the case for the existing official Skills, Skill implementations shouldn't be required to conform to a strain based approach.
There are other valid approaches to calculating skill difficulty that can be supported by abstracting the strain logic into its own StrainSkill class.
2021-04-03 20:52:39 +11:00
Samuel Cattini-Schultz
5b2dcea8a8 Refactor to encapsulate strain logic into Skill class
As strains are an implementation detail of the current Skill calculations, it makes sense that strain related logic should be encapsulated within the Skill class.
2021-04-03 20:47:43 +11:00
Samuel Cattini-Schultz
fe66b84bed Implement dynamic previous hitobject retention for Skill class
There is no reason we should be limiting skills to knowing only the previous 2 objects. This originally existed as an angle implementation detail of the original pp+ codebase which made its way here, but didn't get used in the same way.
2021-04-03 20:28:51 +11:00
Dean Herbert
eb1e850f99
Merge pull request #12254 from smoogipoo/spectator-refactor
Move frame-handling spectator logic into abstract base class
2021-04-03 17:23:33 +09:00
Dean Herbert
dc3163ccf2
Merge pull request #12271 from hbnrmx/filechooser-preselect-folder
Open editor file selector in the directory of the previous selection
2021-04-03 14:31:19 +09:00
Dean Herbert
f0e656fb12
Merge pull request #12276 from PercyDan54/beatmap-info-unicode
Make beatmap listing use unicode title & artist name
2021-04-03 14:30:27 +09:00
PercyDan54
dde255980b
Fix formatting 2021-04-03 12:45:42 +08:00
PercyDan54
bd7da9eb39
Make beatmap title use unicode 2021-04-03 12:43:17 +08:00
Dean Herbert
0dce4b8894 Update framework 2021-04-03 13:01:08 +09:00
Dean Herbert
67f0c0ceb9
Merge branch 'master' into spectator-refactor 2021-04-03 12:55:11 +09:00
hbnrmx
824fb9f398 reopen FileSelector in the directory of the previous selection 2021-04-02 18:01:26 +02:00
hbnrmx
438f3e6349 move fallback text to PlaceholderText 2021-04-02 17:57:21 +02:00
PercyDan54
a5a19319cc
Fix code style 2021-04-02 21:15:28 +08:00
smoogipoo
cd53074941 Schedule spectator callbacks 2021-04-02 21:27:20 +09:00
PercyDan54
1ff77754fd
Use OnlineViewContainer 2021-04-02 20:14:31 +08:00
Dan Balasescu
345779b19a
Merge branch 'master' into diffcalc/fix/clockrate-adjusted-decay 2021-04-02 20:58:29 +09:00
smoogipoo
d2950105fb Add comment explaining use of lock 2021-04-02 20:31:34 +09:00
Dan Balasescu
143b8c422c
Merge pull request #12259 from frenzibyte/fix-ruleset-file-loading
Guard against same ruleset file with filenames of loaded assembly location instead
2021-04-02 19:21:33 +09:00
Dean Herbert
45d16fb916 Rename event parameter for clarity 2021-04-02 16:56:47 +09:00
Dean Herbert
6d4d574a65 Fix exported replay filenames not having full metadata 2021-04-02 14:10:25 +09:00
smoogipoo
e1aa927827 Add dropdown option to export score 2021-04-02 13:20:15 +09:00
Salman Ahmed
5b1dc7d2b4 Remove unused using directive 2021-04-02 02:45:26 +03:00
Salman Ahmed
fcd56dba44 Guard against same ruleset file with loaded assembly filenames instead 2021-04-02 02:12:25 +03:00
Naxess
7e47922fb7
Merge branch 'master' into circular-arc-freeze 2021-04-01 17:09:45 +02:00
smoogipoo
9bc2a486e0 Make SoloSpectator use the new SpectatorScreen class 2021-04-01 22:10:17 +09:00
smoogipoo
9e95441aa6 Rename Spectator -> SoloSpectator 2021-04-01 22:08:52 +09:00
smoogipoo
af478fb2eb Add abstract spectator screen class 2021-04-01 22:02:32 +09:00
Naxess
7b684339ed Undo public -> internal for PathControlPoint.Changed
No longer used.
2021-03-31 20:32:49 +02:00
Dan Balasescu
f8c1dfe57f
Merge branch 'master' into editor-fix-speed-multiplier-precision 2021-03-31 17:17:25 +09:00
Dan Balasescu
ef1f133fb1
Merge pull request #12238 from peppy/fix-mass-drag-drop-imports
Group large drag drop imports into a single operation
2021-03-31 16:15:26 +09:00
Dean Herbert
30cae46cbd Group large drag drop imports into a single operation 2021-03-31 14:57:28 +09:00
Dean Herbert
0c53b4eb93 Fix wrong counting and add test 2021-03-31 14:09:39 +09:00
Dean Herbert
e0c61f4dc5 Fix retry count not updating correctly
Regressed with changes to player reference retention logic. Could add a
test but the logic is so local now it seems quite redundant.
2021-03-31 13:57:58 +09:00
Dean Herbert
fb0079fb9f Fix accuracy displaying incorrectly in online contexts
Closes #12221.
2021-03-30 22:42:32 +09:00
Dean Herbert
633e6130bf Update framework 2021-03-30 19:46:22 +09:00
Dean Herbert
de394f3d14 Merge branch 'master' into tablet-rotation-configuration 2021-03-30 19:46:19 +09:00
Dean Herbert
a2f50af424 Fix fall-through scroll redirection 2021-03-30 19:42:40 +09:00
Dean Herbert
05961e98d5 Ensure GlobalActions are handled before anything else game-wide 2021-03-30 19:03:15 +09:00
Dean Herbert
90c75a64cf Fix legacy control point precision having an adverse effect on the editor 2021-03-30 15:24:11 +09:00
Dan Balasescu
d2ef0ba644
Merge branch 'master' into add-editor-nudging-support 2021-03-30 14:34:43 +09:00