1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 12:47:25 +08:00
Commit Graph

31844 Commits

Author SHA1 Message Date
Salman Ahmed
5bcb7c167c Swap placements of "hold for menu" and key counter 2022-03-19 05:02:22 +03:00
hwabis
5a5629eb5a (works now) use BindValueChanged to set the Queue text 2022-03-18 20:47:45 -04:00
hwabis
5e5fbc496e (still not working) try bindables instead of int 2022-03-18 20:32:37 -04:00
hwabis
d9b2a29c6d (not working yet) add MultiplayerPlaylistTabControl, "Queue ({count})" 2022-03-18 20:02:26 -04:00
hwabis
faa36c78e5 put count and tabs into new fillflowcontainer 2022-03-18 12:55:00 -04:00
Salman Ahmed
8078a8c1f8 Simplify IncreasesCombo/BreaksCombo helper method implementation 2022-03-18 17:18:42 +03:00
Dean Herbert
fc75aa0807
Merge pull request #17324 from frenzibyte/score-panel-max-combo
Display beatmap maximum combo next to score combo in results panel
2022-03-18 22:59:38 +09:00
Dan Balasescu
4b23f02f03
Merge pull request #17320 from peppy/hit-error-meter-settings
Add new settings for adjusting the hit error display
2022-03-18 22:28:20 +09:00
Salman Ahmed
fa8eb1feec Update score panel to check for all combo-breaking statistics 2022-03-18 15:23:14 +03:00
Salman Ahmed
5ec2d86c09 Update ScoreProcessor to use new defined helper methods 2022-03-18 15:22:53 +03:00
Salman Ahmed
fc576b1369 Separate increase/break combo helper methods from AffectsCombo 2022-03-18 15:22:01 +03:00
Dan Balasescu
04f4e81852 Rename start countdown request 2022-03-18 21:05:19 +09:00
Dean Herbert
ed90dc6d6b Fix centering of labels using Height instead of location to better handle rotations 2022-03-18 20:17:04 +09:00
Dean Herbert
806a16d8f6 Fix SkinComponentToolbox attempting to create instances of abstract classes 2022-03-18 20:13:15 +09:00
Dean Herbert
bd488d139d Better centre text labels for hit error meter 2022-03-18 20:11:05 +09:00
Salman Ahmed
af22e67e15 Fix perfect combo check not accounting for LargeTickMiss
`LargeTickMiss` can affect combo, see
a352a140bc/osu.Game/Rulesets/Scoring/HitResult.cs (L124-L144).
2022-03-18 13:11:41 +03:00
Salman Ahmed
9215384229 Display beatmap maximum combo in score panel 2022-03-18 13:11:41 +03:00
Dean Herbert
7c9fe4036c Add setting to change the style of the early/late markers 2022-03-18 17:50:37 +09:00
Dean Herbert
919583137e Add line style for centre marker 2022-03-18 17:50:37 +09:00
Dean Herbert
cdeab1b14e Add setting to change the style of the centre marker 2022-03-18 17:50:37 +09:00
Dean Herbert
331cb2aa80 Add setting to show or hide the moving average arrow 2022-03-18 17:50:37 +09:00
Dean Herbert
3f92bef9df Add setting for judgement line thickness 2022-03-18 17:50:37 +09:00
hwabis
c2e7ff7e3e display count of listQueue 2022-03-18 01:37:53 -04:00
Dan Balasescu
72843a6797 Add support for starting/stopping countdowns 2022-03-18 14:33:09 +09:00
Dan Balasescu
3b938865a1 Add room structure for countdown timers 2022-03-18 14:31:57 +09:00
Dan Balasescu
efce471f0b Add countdown button + popover 2022-03-18 14:31:57 +09:00
Dan Balasescu
b76a87e6f8 Split ready button visual logic into button itself 2022-03-18 14:31:57 +09:00
Dean Herbert
dfda093f4b Rename icon creation method 2022-03-18 14:03:52 +09:00
Dean Herbert
5d940ded09 Fix incorrect usage of nullable in ControlItemMention 2022-03-18 13:59:03 +09:00
Dean Herbert
d1fd14e287 Add missing nullable 2022-03-18 13:57:36 +09:00
Dan Balasescu
af6d53ad64
Merge pull request #17279 from peppy/skin-editor-borrowed-dependencies
Only show components in skin editor which are usable on the current screen
2022-03-18 11:29:12 +09:00
Bartłomiej Dach
cf623a2889
Merge branch 'master' into multiplayer-button-refactor 2022-03-17 22:33:48 +01:00
Bartłomiej Dach
50d64e1b65
Merge branch 'master' into skin-editor-borrowed-dependencies 2022-03-17 21:27:43 +01:00
Dean Herbert
21348e6620
Merge pull request #17290 from frenzibyte/fix-message-highlight-crash
Fix message highlighting crashing when chat overlay is never open
2022-03-17 19:54:39 +09:00
Dean Herbert
4650c197a3 Make SongProgress.DrawableRuleset nullable to allow test scene to work 2022-03-17 18:45:37 +09:00
Jamie Taylor
0d79dd5e62
Update SimpleUpdateManager to handle new macOS build naming scheme 2022-03-17 18:45:31 +09:00
Dan Balasescu
da0ffab14e Integrate ready button implementation 2022-03-17 18:43:04 +09:00
Dean Herbert
e252f1a3cd Add explanation about try-catch logic in SkinComponentToolbox 2022-03-17 18:40:26 +09:00
Dan Balasescu
461d41529b Integrate spectate button implementation 2022-03-17 18:36:33 +09:00
Dan Balasescu
7b8fb341a5 Fix not handling IconButtons 2022-03-17 17:59:28 +09:00
Dean Herbert
1d83b36cfc Merge branch 'master' into skin-editor-borrowed-dependencies 2022-03-17 15:09:04 +09:00
Dean Herbert
fd71aa4a4d Change SongProgress resolution requirements to be required 2022-03-17 15:05:54 +09:00
Dean Herbert
ac739c9dae Change PerformancePointsCounter resolution requirements to be required
All other similar UI components have required dependencies, so this is
mainly to bring things in line with expectations. I am using this fact
in the skin editor to only show components which can be used in the
current editor context (by `try-catch`ing their
`Activator.CreateInstance`).
2022-03-17 14:56:35 +09:00
Salman Ahmed
7aae9bbd1b Improve channel bindable logic in ChatOverlay to avoid potential nullrefs 2022-03-17 08:31:38 +03:00
Dan Balasescu
e3cbde5099
Merge pull request #17282 from peppy/skin-editor-reset-position
Add "Reset position" menu item in skin editor
2022-03-17 14:20:24 +09:00
Dan Balasescu
e8886e4c50
Merge pull request #17286 from frenzibyte/rewrite-mod-instantiation-method
Update mod instantiation utility method inline with `APIMod.ToMod` changes
2022-03-17 14:19:55 +09:00
Dan Balasescu
1eac0f41bf
Remove unused using 2022-03-17 13:44:54 +09:00
Dan Balasescu
07433d0540
Merge pull request #17278 from peppy/skin-editor-multiple-component-settings
Show settings for multiple skin components in a selection
2022-03-17 13:43:59 +09:00
Salman Ahmed
e0a06bf5d9 Update mod instantiation utility method inline with APIMod.ToMod changes 2022-03-17 06:28:10 +03:00
Salman Ahmed
83189d1f07 Revert "Update mod instantiaton utility method to no longer check for validity"
This reverts commit 1a04260807.
2022-03-17 06:24:55 +03:00
Salman Ahmed
1a04260807 Update mod instantiaton utility method to no longer check for validity 2022-03-17 05:51:12 +03:00
Bartłomiej Dach
b21fa78cbf
Move dependencies out of fields to BDL args where possible 2022-03-16 21:55:36 +01:00
Bartłomiej Dach
e577152d2a
Merge branch 'master' into skin-editor-borrowed-dependencies 2022-03-16 21:11:00 +01:00
Dean Herbert
38d15145ac
Merge branch 'master' into skin-editor-multiple-component-settings 2022-03-16 22:23:53 +09:00
Dean Herbert
6df36171b5 Merge branch 'master' into skin-editor-toolbox-ui 2022-03-16 22:21:10 +09:00
Dan Balasescu
7f65f6adcc
Merge branch 'master' into skin-editor-sidebars 2022-03-16 21:12:18 +09:00
Dan Balasescu
b9387c7ff1
Merge branch 'master' into skin-editor-scene-library 2022-03-16 20:42:30 +09:00
Dan Balasescu
7faa35950a
Merge pull request #17272 from peppy/skin-editor-hide-toolbar
Hide the game toolbar (and overlays) when entering the skin editor
2022-03-16 20:42:20 +09:00
Dean Herbert
7e52623645 Add "Reset position" menu item in skin editor 2022-03-16 20:02:52 +09:00
Dean Herbert
cc356bcfe4 Show components available for current screen only (using actual live dependencies) 2022-03-16 19:42:00 +09:00
Dean Herbert
b07ca87965 Merge branch 'skin-editor-toolbox-ui' into skin-editor-borrowed-dependencies 2022-03-16 19:38:28 +09:00
Dean Herbert
27122c17c9 Show settings for multiple components in a selection 2022-03-16 19:35:45 +09:00
Dean Herbert
54e351efe9 Convert top level skin editor layout to use grid container
Fix `SkinEditor`'s initial target not being a `Screen`
2022-03-16 19:30:51 +09:00
Dean Herbert
4525ed645c Update skin editor to use EditorSidebar 2022-03-16 19:30:51 +09:00
Dean Herbert
59cb1ac126 Order components by name for now 2022-03-16 19:21:15 +09:00
Dean Herbert
e4a6b7ae91 Expand toolbox component items on hover 2022-03-16 19:21:15 +09:00
Dean Herbert
fdb411c0f3 Update skin editor toolbox design to suck less 2022-03-16 19:21:15 +09:00
Dean Herbert
b08d4bb8eb Move SceneLibrary implementation to its own file 2022-03-16 19:13:52 +09:00
Dean Herbert
ee3715f5cf Use OverlayColourProvider and adjust metrics to roughly match new designs 2022-03-16 19:13:52 +09:00
Dean Herbert
aff6a5a428 Better align scene selector with menu bar 2022-03-16 19:13:52 +09:00
Dean Herbert
c6aa32a003 Add basic song select setup for skinnability 2022-03-16 19:12:06 +09:00
Dean Herbert
8d85723a62 Split out SceneLibrary into its own component 2022-03-16 19:12:06 +09:00
Dean Herbert
d062810ff2 Add basic scene selector 2022-03-16 19:12:06 +09:00
Dean Herbert
c807ad7e4e Ensure toolbar is hidden even when the active screen is changed while the editor is open 2022-03-16 19:11:22 +09:00
Dean Herbert
86960c791f Close overlays and toolbar on entering the skin editor 2022-03-16 19:00:23 +09:00
Dean Herbert
99e3161cf0 Fix SkinEditor's initial target not being a Screen 2022-03-16 18:57:47 +09:00
Dean Herbert
603527d72d Fix potential crash when highlighting chat messages
Test failed locally in `TestPublicChannelMention`. This test seems to
specify that the same message may arrive twice with the same ID, so
rather than overthinking this one I propose we just use `FirstOrDefault`.

```csharp
TearDown : System.AggregateException : One or more errors occurred.
(Sequence contains more than one matching element)
  ----> System.InvalidOperationException : Sequence contains more than
one matching element
--TearDown
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean
includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout,
CancellationToken cancellationToken)
   at osu.Framework.Extensions.TaskExtensions.WaitSafely(Task task)
   at osu.Framework.Testing.TestScene.checkForErrors()
--InvalidOperationException
   at System.Linq.ThrowHelper.ThrowMoreThanOneMatchException()
   at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source,
Func`2 predicate, Boolean& found)
   at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1
source, Func`2 predicate)
   at
osu.Game.Overlays.Chat.DrawableChannel.<processMessageHighlighting>b__14_0()
in
/Users/dean/Projects/osu/osu.Game/Overlays/Chat/DrawableChannel.cs:line
102
   at osu.Framework.Threading.ScheduledDelegate.RunTaskInternal()
```
2022-03-16 18:38:06 +09:00
Dan Balasescu
7e8aa77b2b
Merge pull request #17260 from peppy/editor-sidebar
Add `EditorSidebar` component
2022-03-16 18:20:18 +09:00
Dean Herbert
ba1642a680 Allow section headers to wrap 2022-03-16 17:19:08 +09:00
Dan Balasescu
d80830b415
Merge pull request #17226 from peppy/skin-component-settings
Allow skin components to have settings
2022-03-16 17:12:11 +09:00
Jai Sharma
e38d9eafa0 Use BindTarget instead of caching for ControlItem unread flow 2022-03-15 22:37:15 +00:00
Jai Sharma
49b74d7867 Use BindTarget instead of caching for ControlItem mentions bindable flow 2022-03-15 22:33:36 +00:00
Jai Sharma
481b8fe80b Use Orange1 for ControlItemMention background colour 2022-03-15 22:22:32 +00:00
Jai Sharma
7621e779fa Move ControlItem Action assignments into BDL 2022-03-15 22:19:58 +00:00
Dean Herbert
a0a033520f Rider no add licence headers 2022-03-15 16:48:14 +09:00
Dean Herbert
4ab5d6e3f0 Remove unnecessary FillFlowContainer from section 2022-03-15 16:47:08 +09:00
Dean Herbert
9e476ced63 Add EditorSidebar component 2022-03-15 16:38:00 +09:00
Dean Herbert
2b02a6555b Remove current screen check from skin editor changes 2022-03-15 15:40:26 +09:00
Dean Herbert
1814a325d8 Move GetSettingUnderlyingValue to a SettingSource extension method 2022-03-15 14:54:00 +09:00
Dean Herbert
6d5692fcec
Fix typo in setting name
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-03-15 14:25:05 +09:00
Dean Herbert
6fb06d69cc
Merge branch 'master' into pp-counter-alloc-reduction 2022-03-15 13:31:57 +09:00
Dean Herbert
deb4aeb4b2
Merge pull request #17242 from smoogipoo/performance-calculator-cleanup
Restructure PerformanceCalculator to not require ScoreInfo argument
2022-03-15 13:31:34 +09:00
Dan Balasescu
4ff6879b85 Fix incorrect copied room end dates 2022-03-15 11:30:57 +09:00
Dan Balasescu
ca62560495 Resolve inspections 2022-03-15 09:20:32 +09:00
Dan Balasescu
3a6d254d1f Add safeguards around incorrect ruleset sources 2022-03-15 09:20:32 +09:00
Jai Sharma
73a0373b4e Code quality fixes 2022-03-14 21:56:56 +00:00
Jai Sharma
ec61b88ec2 Adjust ControlItem padding 2022-03-14 21:39:57 +00:00
Jai Sharma
75958bf270 Refactor ControlItemText to use bindable flow for unread state 2022-03-14 21:32:30 +00:00
Jai Sharma
b01a809d55 Refactor ControlItemMention to use bindable flow 2022-03-14 21:26:33 +00:00
Jai Sharma
1f0f6990f0 Use ColourProvider.Content1 for ControlItemText colour 2022-03-14 21:16:28 +00:00
Jai Sharma
3aa343b987 Use OsuColour.YellowLight for ControlItemMention background 2022-03-14 21:14:33 +00:00
Jai Sharma
9621ef9437 Use OsuColour.Red1 for ControlItemClose hover colour 2022-03-14 21:10:39 +00:00
Jai Sharma
e91af664ef Adjust ControlItemAvatar placeholder animation and colour 2022-03-14 20:37:54 +00:00
Jai Sharma
12472593cc Mark required dependencies as non-nullable 2022-03-14 20:14:04 +00:00
Jai Sharma
c0d82dfb41 Code quality fixes 2022-03-14 19:42:55 +00:00
Jai Sharma
39c30516d0 Implement ChannelControlItem for new chat design
Adds new component `ChannelControlItem` and it's child components to be
used as the clickable control in the new chat sidebar for joined
channels.

Has public properties `HasUnread` and `MentionCount` to control the
display of the channel having unread messages or mentions of the user.

Channel select/join requests are exposed via `OnRequestSelect` and
`OnRequestLeave` events respectively which should be handled by a parent
component.

Requires a cached `Bindable<Channel>` instance to be managed by a parent
component.

Requires a cached `OveralayColourScheme` instance to be provided by a
parent component.
2022-03-14 18:55:27 +00:00
Dean Herbert
e047413329
Merge pull request #17196 from frenzibyte/skinnable-welcome-intro
Add skinning support for "Welcome" intro sequence
2022-03-14 22:54:19 +09:00
Dean Herbert
8fdf2b13ac Update framework 2022-03-14 22:23:50 +09:00
Dean Herbert
8b3360d6d2 Merge branch 'master' into confine-host-cursor 2022-03-14 22:23:45 +09:00
Dean Herbert
163cd48bf6 Further metrics tweaking 2022-03-14 19:27:53 +09:00
Dean Herbert
e91b3ae5f1 Move constants closer to usages 2022-03-14 19:18:47 +09:00
Dean Herbert
6eed2c35a4 Adjust visual appearance of BarHitErrorMeter for easier reading 2022-03-14 19:16:38 +09:00
Dan Balasescu
e79bed8fbe Merge branch 'master' into skin-component-settings 2022-03-14 18:54:27 +09:00
Dan Balasescu
dc1e5a456a
Merge pull request #17244 from peppy/preload-sample-pools
Fix samples not being preloaded before gameplay starts
2022-03-14 18:53:42 +09:00
Dean Herbert
16ee6b5fc7 Remove IsLayered from GetHasCode implementation 2022-03-14 18:12:04 +09:00
Dan Balasescu
fd93b42630
Merge pull request #17217 from peppy/skin-editor-reload-on-scene-change
Refactor `SkinEditor` to support switching target screens without full reload
2022-03-14 18:02:01 +09:00
Dan Balasescu
75470730cc
Merge pull request #17218 from peppy/skin-editor-target-other-containers
Allow skin editor to target different target containers for placement purposes
2022-03-14 17:40:41 +09:00
Dean Herbert
3c5fda5f23 Add early exist if the target screen is no longer current 2022-03-14 17:24:31 +09:00
Dean Herbert
39d95aa8cf Add automatic preloading of sample pools at a Playfield level 2022-03-14 17:19:48 +09:00
Dean Herbert
4523393208 Remove IsLayered from LegacyHitSampleInfo comparison
The equality of samples is generally used to compare the sample
equality, not its full properties. For instance, we don't compare
`Volume` in the base implementation.

Having `IsLayered` here breaks actual usages of equality, ie. for
pooling purposes.
2022-03-14 17:19:48 +09:00
Dean Herbert
8676a2587c Add the ability for HitObjects to specify auxiliary samples 2022-03-14 17:19:48 +09:00
Dan Balasescu
028750936c Apply review suggestions 2022-03-14 17:10:37 +09:00
Dan Balasescu
8f9b72c2ee
Merge pull request #17239 from frenzibyte/storyboard-negative-scale
Fix drawable storyboard sprites not flipping origin on negative scale
2022-03-14 15:59:06 +09:00
Dan Balasescu
3fff7f4b7e Require ScoreProcessor to receive ruleset 2022-03-14 15:51:10 +09:00
Dan Balasescu
9cc7f70872 Nullable annotate classes 2022-03-14 15:38:00 +09:00
Dan Balasescu
926827207a Reduce calculator allocations in counter 2022-03-14 14:44:06 +09:00
Dan Balasescu
4a3e3aba65 Restructure PerformanceCalculator to not require ScoreInfo argument 2022-03-14 14:25:28 +09:00
Dan Balasescu
21beb8774d Change to lambda method 2022-03-14 13:54:54 +09:00
Dan Balasescu
4ae6cba080 Expose UseDevelopmentServer as virtual 2022-03-14 13:49:38 +09:00
Salman Ahmed
c1697c7621 Update DrawableStoryboardSprite to use helper method 2022-03-14 06:30:54 +03:00
Salman Ahmed
740a72e16d Share origin adjustment logic between storyboard sprite and animation 2022-03-14 05:44:34 +03:00
Salman Ahmed
9cf05080da Simplify conditionals to one XOR operations with comments 2022-03-14 04:40:35 +03:00
Salman Ahmed
0b8c89bfa8 Fix drawable storyboard sprites not flipping origin on negative scale 2022-03-14 03:50:12 +03:00
Salman Ahmed
c9d54834be Fix SkinnableSprites in storyboards not autosizing to their textures 2022-03-14 03:46:13 +03:00
Dean Herbert
7d2752185d Add disclaimer and adjust metrics of BigBlackBox 2022-03-13 17:03:25 +09:00
Dean Herbert
e4211104b0 Add new settings to the big black box 2022-03-13 17:03:25 +09:00
Dean Herbert
458136dfe7 Add BigBlackBox for skinning testing purposes 2022-03-13 17:03:25 +09:00
Dean Herbert
8d1ee28e67 Add settings modification UI to skin editor 2022-03-13 17:03:25 +09:00
Dean Herbert
c99397f75a Add the ability to add settings to skinnable elements 2022-03-13 17:03:25 +09:00
Dean Herbert
7a2a3528ef Merge branch 'skin-editor-reload-on-scene-change' into skin-component-settings 2022-03-13 17:03:23 +09:00
Dean Herbert
0a1e55e4eb Merge branch 'skin-editor-target-other-containers' into skin-component-settings 2022-03-13 17:03:22 +09:00
Dean Herbert
f95e753adb Rename double-container variable name 2022-03-13 16:10:06 +09:00
Dean Herbert
d1a9b88fe7
Fix typo in comment
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-03-13 16:05:45 +09:00
Salman Ahmed
53c57661c7 Move implementtaion detail to inline comment 2022-03-11 18:34:22 +03:00
Salman Ahmed
5b70139b33 Avoid running message highlight processing more than once 2022-03-11 18:32:49 +03:00
Salman Ahmed
cc87563d57
Merge branch 'master' into chat-mention-highlight 2022-03-11 17:51:22 +03:00
Dean Herbert
3db42dd772 Allow skin editor to target different target containers for placement purposes 2022-03-11 23:23:32 +09:00
Dean Herbert
9a1ade4f79 Refactor SkinEditor to support switching target screens without full reload 2022-03-11 23:08:40 +09:00
Susko3
ac55fea3c9 Confine the host cursor to area of 'everything' scaling container 2022-03-11 14:04:12 +01:00
Dean Herbert
32c7a023f8 Make OsuGame.ScreenChanged private and non-virtual
Just reducing complexity scope here.
2022-03-11 19:54:15 +09:00