1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-14 10:57:30 +08:00
Commit Graph

2564 Commits

Author SHA1 Message Date
smoogipoo
d197a7f6f5 Rename multiplayer client classes 2021-05-20 15:39:45 +09:00
Salman Ahmed
43094425e2 Merge branch 'legacy-beatmap-skin-hud-fallback' into catch-hide-combo-workaround 2021-05-19 23:18:27 +03:00
Dean Herbert
00ed699340 Fix origin specifications using incorrect flags 2021-05-20 01:53:24 +09:00
Dean Herbert
363aec8179 Merge branch 'master' into hit-error-skinnable 2021-05-20 01:51:45 +09:00
Salman Ahmed
013fe4928f Unrevert irrelevant changes 2021-05-19 08:48:21 +03:00
Salman Ahmed
c98d036b48 Merge branch 'master' into catch-hide-combo-workaround 2021-05-18 17:47:20 +03:00
Salman Ahmed
e7d2f42149 Revert "Merge branch 'fix-legacy-skin-test' into catch-hide-combo-workaround"
This reverts commit 380d004683, reversing
changes made to ff419af512.
2021-05-18 17:46:15 +03:00
smoogipoo
c6160d5304 Only ignore online score id for database import 2021-05-18 21:17:41 +09:00
Dean Herbert
10c730b37d Add new default locations for hit bar error displays 2021-05-18 15:50:50 +09:00
Salman Ahmed
380d004683 Merge branch 'fix-legacy-skin-test' into catch-hide-combo-workaround 2021-05-18 09:45:43 +03:00
Salman Ahmed
ff419af512 Hide the combo counter content rather than full death 2021-05-18 09:10:15 +03:00
Dean Herbert
829d326e36 Remove alignment logic completely for the time being
This was overly complex and does not play well with the new layout
customisation system. We can add it back as required.
2021-05-18 14:55:34 +09:00
Dan Balasescu
ea4dfd3374
Merge pull request #12842 from peppy/song-progress-skinnable
Add layout customisation support for `SongProgress`
2021-05-17 20:15:01 +09:00
Dean Herbert
7137315fa7 Remove HitErrorDisplay container and hook up data 2021-05-17 19:46:50 +09:00
Dean Herbert
ecf70c1707 Remove unnecessary container 2021-05-17 18:55:18 +09:00
Dean Herbert
b80768b44a Hook up seeking flow 2021-05-17 18:52:56 +09:00
Dean Herbert
0c433cda86 Update HUDOverlay logic to add automatic layout for bottom-aligned components 2021-05-17 18:52:56 +09:00
Dean Herbert
da0913ca2d Make SongProgress a skinnable component 2021-05-17 18:52:56 +09:00
Dan Balasescu
4151f18f74
Merge pull request #12804 from peppy/fix-autoplay-load-fail-nullref
Fix a potential nullref when starting `Player` with autoplay disabled and beatmap fails to load
2021-05-17 18:40:05 +09:00
Dean Herbert
1f3ae901ce Expose DrawableRuleset for consupmtion by HUD components 2021-05-17 18:23:01 +09:00
Salman Ahmed
34d1490754 Remove null conditional
Shouldn't guard against that here.
2021-05-15 10:00:05 +03:00
Dean Herbert
dc56250a3c
Merge branch 'master' into player-loader-star-rating 2021-05-15 15:39:57 +09:00
Salman Ahmed
7c2fc9b412 Update usage due to nullability removal 2021-05-14 16:12:33 +03:00
Salman Ahmed
0dc3bfd0c1 Apply simple transforms to star rating display when ready if not 2021-05-14 15:55:26 +03:00
Dean Herbert
f5dd18f266
Use existing LoadedBeatmapSuccessfully bool instead
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-05-14 16:53:51 +09:00
Dean Herbert
dc576c19b4 Fix a potential nullref when starting Player with autoplay enabled and beatmap fails to load 2021-05-14 15:10:02 +09:00
Dean Herbert
c8b7cfc753 Merge branch 'skin-serialisation' into remove-skinnable-hud-classes 2021-05-13 19:05:08 +09:00
Dean Herbert
106fa97a11 Rename SkinnableElementTargetContainer to SkinnableTargetContainer 2021-05-13 17:07:38 +09:00
Dean Herbert
7921dc7ece Rename ISkinnableComponent to ISkinnableDrawable 2021-05-13 17:06:00 +09:00
Dean Herbert
cdcd31b546 Replace ISkinSerialisable with IsEditable property 2021-05-13 17:03:17 +09:00
Dean Herbert
3b862798e9 Standardise naming of methods related to SkinnableInfo 2021-05-13 13:14:49 +09:00
Dean Herbert
6caf4e3879 Add xmldoc to SkinnableInfo 2021-05-13 12:57:28 +09:00
Dean Herbert
8b9ac86d4b Merge branch 'master' into skin-serialisation 2021-05-13 12:35:06 +09:00
Dan Balasescu
4e7c079560
Merge pull request #12753 from peppy/health-bar-hud-overlay-dependency
Remove downwards dependency from `HUDOverlay` to `HealthDisplay`
2021-05-12 19:27:02 +09:00
Dean Herbert
0a895fff15 Remove remaining test usage of SkinnableXXX HUD components 2021-05-12 18:53:25 +09:00
Dean Herbert
c6f0a6aed3
Merge pull request #12538 from smoogipoo/multiplayer-spectator-screen
Implement the multiplayer spectator screen
2021-05-12 17:24:35 +09:00
Dean Herbert
494a1b01a5 Move SkinnableElementTargetContainer out of HUD namespace 2021-05-12 15:59:33 +09:00
Dean Herbert
4aad7b96ea Merge branch 'health-bar-hud-overlay-dependency' into skin-serialisation 2021-05-12 12:54:37 +09:00
Dean Herbert
184dbaf202 Improve safety of bindings in HealthDisplay 2021-05-12 12:53:30 +09:00
Dean Herbert
8e226319e2 Remove downwards dependency from HUDOverlay to HealthDisplay 2021-05-11 23:18:23 +09:00
Dean Herbert
048677846b Change HealthDisplay to be a CompositeDrawable 2021-05-11 23:10:30 +09:00
Dean Herbert
a88a8b7d8d Use ISkinnableComponent wherever possible (and expose as BindableList) 2021-05-11 18:39:15 +09:00
Dean Herbert
0cf3efa16b Remove customisation support for SongProgressDisplay 2021-05-11 18:39:14 +09:00
Dean Herbert
03d5f10744 Fix default health bar not being considered for top-right flow layout 2021-05-11 18:39:14 +09:00
Dean Herbert
944f09ec98 Move default skin cross-component dependencies out to default specifications 2021-05-11 18:39:14 +09:00
Dean Herbert
c94df672e5 Also serialise Origin out 2021-05-11 18:39:14 +09:00
Dean Herbert
f53ce951dc Remove DefaultScoreCounter animation for the time being
May add this back in the future, but for now it's causing issues as it
operates on `this`. The default skin may be changing quite a bit in the
near future, so we can decide what to do about animation at that point
in time.
2021-05-11 18:39:14 +09:00
Dean Herbert
4c4d75e6f9 Remove AccuracyCounter sizing dependency in HUDOverlay 2021-05-11 18:39:14 +09:00
Dean Herbert
2396ba42a6 Change HealthDisplay to be a CompositeDrawable 2021-05-11 18:39:14 +09:00
Dean Herbert
bf65547eec Allow some serialised components to not be mutable by the user 2021-05-11 18:39:14 +09:00
Dean Herbert
4769a95b49 Fix encapsulation and remove target lookup overhead 2021-05-11 18:39:14 +09:00
Dean Herbert
b248b2e5e3 Hook up full save/load flow 2021-05-11 18:39:14 +09:00
Dean Herbert
004798d61d Update Legacy components to not require skin in ctor 2021-05-11 18:39:14 +09:00
Dean Herbert
b54eb56169 Move new judgement binding to LoadComplete to ensure containers are loaded 2021-05-11 18:39:14 +09:00
Dean Herbert
6a88b8888b Add basic support for child serialisation 2021-05-11 18:39:14 +09:00
Dean Herbert
df72656aa1 Remove downwards dependency from HUDOverlay to HealthDisplay 2021-05-11 18:39:14 +09:00
Dean Herbert
95a497e9df Remove unused interface class for simplicity 2021-05-11 18:39:14 +09:00
Dean Herbert
95a8f21ab2 Add the concept of skinnable target containers and mark a basic one for HUD elements 2021-05-11 18:39:14 +09:00
Dean Herbert
67ea4a7e97 Read from skin config 2021-05-11 18:39:14 +09:00
Dean Herbert
b9ab9342fa Setup basics to allow extracting serializable content from skinnable Drawables 2021-05-11 18:39:14 +09:00
smoogipoo
10a4a5decb Merge branch 'master' into multiplayer-spectator-screen 2021-05-11 17:33:09 +09:00
Dan Balasescu
7d9cdd3bc2
Merge branch 'master' into skin-components-list 2021-05-11 17:27:48 +09:00
Salman Ahmed
004ce95f33 Merge branch 'current-star-rating' into player-loader-star-rating 2021-05-11 09:53:10 +03:00
smoogipoo
0f00ee8640 Change failure text
Although this is not visible anywhere.
2021-05-11 11:35:08 +09:00
smoogipoo
8c9390dc75 Remove replay condition 2021-05-11 11:33:21 +09:00
smoogipoo
6db9e26d48 Fix score submission failures with autoplay 2021-05-11 11:28:09 +09:00
smoogipoo
32f7691349 Fix token failure preventing base.LoadAsyncComplete() 2021-05-11 11:24:35 +09:00
Dean Herbert
2ecd638f7f Merge branch 'master' into skin-components-list 2021-05-10 18:13:10 +09:00
smoogipoo
fa872858b5 Remove unnecessary check 2021-05-10 16:40:06 +09:00
Dean Herbert
97e72849af Fix regressed HitErrorDisplay behaviour (and localise binding to meter implementations) 2021-05-10 15:24:13 +09:00
Dan Balasescu
78952c07b0
Merge branch 'master' into remove-hud-overlay-unused-pieces 2021-05-10 14:39:32 +09:00
smoogipoo
35a7226cd8 Add newline 2021-05-10 13:41:04 +09:00
Dean Herbert
52ce16f9f1
Merge branch 'master' into player-loader-star-rating 2021-05-10 12:46:10 +09:00
Dean Herbert
3c3500d070 Merge branch 'skin-components-bind-outwards-health' into remove-hud-overlay-unused-pieces 2021-05-10 12:23:18 +09:00
Dean Herbert
1bbbe80420 Fix missing instances of HealthProcessor caching 2021-05-10 12:22:24 +09:00
Dean Herbert
b274fdf20d Merge branch 'master' into skin-components-bind-outwards-health 2021-05-10 11:13:44 +09:00
Dean Herbert
2bcf1ed306
Merge pull request #12715 from Cublibre/fix-early-exit-crash
Fix InvalidOperationException when exiting a map at the end
2021-05-09 23:21:19 +09:00
Bartłomiej Dach
67cea6e762 Remove explicit binding to accuracy counter from overlay 2021-05-08 21:38:06 +02:00
Bartłomiej Dach
0bc6a026eb
Merge branch 'master' into skin-components-bind-outwards-accuracy 2021-05-08 21:08:53 +02:00
Salman Ahmed
c52f1733be Apply further refactoring to star rating display UX-wise 2021-05-08 21:17:19 +03:00
Christine Chen
25312b3e88 Don't restart completion delegate on exit, revert exit behavior to lazer 2021-05-08 11:47:44 -04:00
Salman Ahmed
655e8d3d86 Remove pattern-matching on nullable with simple .HasValue/.Value 2021-05-08 18:44:44 +03:00
Salman Ahmed
a75347cb2a Remove nullable facade logic 2021-05-08 18:43:17 +03:00
Salman Ahmed
dca5efc59a Remove no longer necessary ruleset info requirement 2021-05-08 13:00:39 +03:00
Salman Ahmed
43090067da Use BeatmapDifficultyCache.GetBindableDifficulty(...) instead 2021-05-08 12:59:59 +03:00
Salman Ahmed
b4801faf32 Pass ruleset info to constructor instead
Follows the way working beatmap is passed, not sure why mods are passed as a bindable though, don't wanna bother too much with that.
2021-05-08 11:57:13 +03:00
Salman Ahmed
7b7e7a86bf Allow null logo facade 2021-05-08 11:47:18 +03:00
Salman Ahmed
0f08c2a479 Add star rating display underneath the beatmap metadata 2021-05-08 11:47:18 +03:00
Christine Chen
8c564a69ed Fix InvalidOperationException when exiting a map at the end 2021-05-07 21:11:03 -04:00
Dean Herbert
a1aeac5677 Remove remaining cruft from SkinnableAccuracyCounter 2021-05-07 18:12:18 +09:00
Dean Herbert
68de870986 Merge branch 'skin-components-bind-outwards-health' into remove-hud-overlay-unused-pieces 2021-05-07 18:11:14 +09:00
Dean Herbert
9fe6e1096a Remove cruft from SkinnableHealthDisplay 2021-05-07 18:11:08 +09:00
Dean Herbert
1cb10c2a22 Remove unnecessary binding logic from HUDOverlay 2021-05-07 17:51:46 +09:00
Dean Herbert
a7acecc52b Merge branch 'skin-components-bind-outwards-health' into remove-hud-overlay-unused-pieces 2021-05-07 17:51:41 +09:00
Dean Herbert
04d35826a3 Merge branch 'skin-components-bind-outwards-accuracy' into remove-hud-overlay-unused-pieces 2021-05-07 17:25:39 +09:00
Dean Herbert
755588258e Update HealthDisplay components to use DI to attach data source 2021-05-07 17:22:45 +09:00
Dean Herbert
01eff7f316 Merge branch 'skin-components-bind-outwards' into skin-components-bind-outwards-score-display 2021-05-07 16:30:08 +09:00
Dean Herbert
93f10330e3 Merge branch 'skin-components-bind-outwards' into skin-components-bind-outwards-accuracy 2021-05-07 16:29:10 +09:00
Dean Herbert
ad398165a2 Update AccuracyCounter components to use DI to attach data source 2021-05-07 16:27:25 +09:00
Dean Herbert
17b93361d5
Merge branch 'master' into skin-components-bind-outwards 2021-05-07 16:20:24 +09:00
Dean Herbert
a2e4fb5b6b Update ScoreCounter components to bind outwards 2021-05-07 16:16:48 +09:00
Dean Herbert
ee23124bb1 Remove no-longer-used interface 2021-05-06 15:18:06 +09:00
Dean Herbert
aff32b0d19 Merge branch 'master' into skin-components-list 2021-05-06 14:17:33 +09:00
Bartłomiej Dach
3cac837acf
Merge branch 'master' into skin-bindables 2021-05-05 20:16:27 +02:00
Dean Herbert
9ec3255c50 Fix SkipOverlay's FadeContent not getting correct state from parent 2021-05-05 17:50:25 +09:00
Christine Chen
1472960319 Hide and disable skip outro overlay on rewind 2021-05-04 21:35:36 -04:00
Dean Herbert
b380be7169 Add xmldoc for updateCompletionState 2021-05-04 16:43:51 +09:00
Dean Herbert
4c7a4239f8 Fix AllowGameplayOverlays potentially not working for outro skip overlay 2021-05-04 16:36:07 +09:00
Dean Herbert
b30145de40 Specify explicit primitive type 2021-05-04 16:35:50 +09:00
Dean Herbert
bb9fa1a25e
Merge branch 'master' into play-storyboard-outro 2021-05-04 14:01:34 +09:00
Dean Herbert
ca4b860920 Move BindValueChanged call to LoadComplete 2021-05-03 20:11:24 +09:00
Dean Herbert
625890381f Update ComboCounter components to use DI to attach data source 2021-05-03 17:43:00 +09:00
Dean Herbert
8b82a07914 Move skin-related interfaces out of HUD namespace 2021-04-30 13:10:42 +09:00
Dean Herbert
5585a7d438 Add basic interfaces for skinnable target containers 2021-04-30 13:10:42 +09:00
Dean Herbert
6442fb819f Split out component from test scene and fix SongProgress 2021-04-30 13:10:42 +09:00
Dean Herbert
434e63d629 Add skin customisation support to song progress display 2021-04-29 16:12:15 +09:00
Dean Herbert
fd587a82ff Replace abstract class with interface, attached to the actual components (not skinnable wrapper) 2021-04-29 16:12:15 +09:00
Dean Herbert
defa350aa7 Set defaults on SkinnableHUDComponent to cancel out relative size default
Specifying locally on each HUD component looks to make more sense.
2021-04-29 16:12:15 +09:00
Dean Herbert
2540d6029c Use AutoSize for SkinnableHudComponents 2021-04-29 16:12:15 +09:00
Dean Herbert
59339aa4fd Add support for x/y position and scale back in 2021-04-29 16:12:15 +09:00
Dean Herbert
1cb8fc9a24 Extract editor classes out of test namespace and add anchor support 2021-04-29 16:12:15 +09:00
Dean Herbert
74fb7cd180 Extract storable attributes to bindables 2021-04-29 16:12:15 +09:00
Dean Herbert
fca173225a Refactor editor selection/blueprint components to be generic 2021-04-29 16:12:14 +09:00
Dean Herbert
2d17219c8f Setup basic test and classes for scale adjustment 2021-04-29 16:12:14 +09:00
Dean Herbert
3b876a43c2
Merge branch 'master' into multiplayer-spectator-screen 2021-04-26 14:12:35 +09:00
Bartłomiej Dach
e937b778f6 Fix potential failure in ensureSourceClockSet()
`ensureSourceClockSet()` was intended to only run when the adjustable
source hasn't been set at all yet. As it turns out permitting it to run
unconditionally can break the state of the underlying interpolated
clock. This is caused by the following factors:

* While the decoupleable clock is running, its `CurrentTime` does not
  come from either the source clock, or the internal stopwatch; it is
  instead calculated using the base `InterpolatingFramedClock` logic.

* A source change of a decoupleable clock seeks the provided source
  clock to the decoupleable's current time.

* When an interpolating clock is seeked (decoupleable clock is also
  an interpolating one), its interpolation state
  (`{Last,Current}InterpolatedTime`) are reset to 0.

* If the interpolating clock determines that its current time is too
  far away from the source's time (which was set when the source is
  changed), it will ignore the source and instead continue to use
  its current time until the source clock has caught up.

Overall, the source change is not really necessary if a source is
already there. The only reason to ensure it was set was to make sure
the first seek of the gameplay clock wasn't performed in decoupled
mode. Therefore, add a guard to make sure the source is only set if
there isn't one already.
2021-04-24 14:19:39 +02:00
Bartłomiej Dach
fdb5490e51 Attempt to explain source initialisation better 2021-04-23 21:56:08 +02:00
smoogipoo
ae2fd2f2e1 Ensure source is set on reset 2021-04-23 18:46:59 +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
smoogipoo
fb848f7544 Rename to MasterGameplayClock 2021-04-21 16:33:14 +09: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
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
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
Christine Chen
abfa6aec87 Remove completionState parameter 2021-04-19 01:58:19 -04: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
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
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
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
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
81be562379 Read StoryboardEndTime directly from Beatmap 2021-04-17 12:28:31 -04:00