1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-12 05:27:40 +08:00
Commit Graph

24284 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
Naxess
cb41c89935 Don't return low res and too low res at the same time 2021-04-17 20:10:07 +02: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
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
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
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
Dean Herbert
42c066e6f2 Fix slider not displaying in timeline during zero-duration placement 2021-04-16 13:38:55 +09: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