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

32422 Commits

Author SHA1 Message Date
Dean Herbert
d6625413fa
Merge pull request #17617 from ajiiisai/proper-toggable-shortcuts-for-overlays
Make overlay shortcuts able to be toggled instead of repeatable
2022-04-04 13:46:42 +09:00
Dan Balasescu
e1f147a207 Mutate playlist in EditUserPlaylistItem 2022-04-04 13:46:41 +09:00
Bartłomiej Dach
cd776d21a6
Fix propagation of selected mods to columns 2022-04-03 20:12:34 +02:00
Bartłomiej Dach
e46c2df409
Add testing for customisation panel show/hide logic 2022-04-03 20:12:33 +02:00
Bartłomiej Dach
293ef44836
Implement new mod select screen 2022-04-03 20:12:33 +02:00
Bartłomiej Dach
1393e3628b
Invert operands for better readability 2022-04-03 15:24:00 +02:00
Dean Herbert
969f7e121a
Merge pull request #17545 from jai-x/new-chat-textbox
Implement `ChatTextBox` for new chat design
2022-04-03 22:12:12 +09:00
Bartłomiej Dach
970b1951ac
Rewrite logic slightly to better convey meaning of textbox clear 2022-04-03 14:26:08 +02:00
Jai Sharma
94fa5e2ef2 Use Action<string> for event OnChatMessageCommitted & clear textbox internally 2022-04-02 21:58:54 +01:00
Ame
35629e9be8 General fix for ToolbarButton toggle repetition 2022-04-02 20:45:00 +02:00
Ame
0f94616890 Make overlay shortcuts able to be toggled instead of repeatable 2022-04-02 19:41:15 +02:00
Bartłomiej Dach
28ba437d24
Merge branch 'master' into sucess-rate-tooltip 2022-04-02 19:31:45 +02:00
Jai Sharma
9e152cd3fd Fix code quality issues 2022-04-02 17:27:44 +01:00
Jai Sharma
2297073b7e Use OnChatMessageCommit & OnSearchTermsChanged events in ChatTextBar 2022-04-02 17:15:19 +01:00
Jai Sharma
b9421d1415 Simplify text clear and placeholder change in ChatTextBox 2022-04-02 17:14:27 +01:00
Salman Ahmed
beb8426d3b Save beatmap listing card size to game config 2022-04-02 18:36:49 +03:00
Salman Ahmed
ced5be33e6 Display pass/play count in success rate percentage tooltip 2022-04-02 18:08:57 +03:00
Jamie Taylor
0f4b75ab15
Add multiplayer lobby countdown SFX 2022-04-01 21:33:57 +09:00
Dan Balasescu
6776c37bbc
Merge pull request #17592 from peppy/skin-mutation-better-naming
Fix automatically created "(modified)" skins getting conflicting names
2022-04-01 21:25:10 +09:00
Dean Herbert
43d03f2825 Put ToArray call in correct place in brackets 2022-04-01 19:30:16 +09:00
Dan Balasescu
6e6271d0c0 Fix "server-side" room playlist not updated
Remove unused using
2022-04-01 18:32:10 +09:00
Dan Balasescu
16d4544ff9 Prevent reloads when playlist item order changes 2022-04-01 17:06:37 +09:00
Dean Herbert
01681ee874 Add missing ToArray call
Not sure where this went, was there in my original commit.
2022-04-01 16:19:02 +09:00
Dean Herbert
f0821ce1fc Import new skin editor sprites to the cursor location 2022-04-01 16:16:49 +09:00
Dan Balasescu
cabf6f501f
Merge pull request #17594 from peppy/move-skin-component-error-handling
Move `SkinnableInfo` error handling to lower level
2022-04-01 16:04:00 +09:00
Dean Herbert
6afed5e865 Fix new SettingsItem attribute not playing well with non-Drawables 2022-04-01 16:01:33 +09:00
Dean Herbert
bfd3406f5f Ensure that file is imported and caches are invalidated before placing new sprites 2022-04-01 16:01:33 +09:00
Dean Herbert
314ad63c6e Simplify available file lookup and include file extension 2022-04-01 16:01:33 +09:00
Dean Herbert
2b7105ac4f Add a default sprite representation to allow better placeholder display in skin editor toolbox 2022-04-01 16:01:33 +09:00
Dean Herbert
52eeaffce3 Limit lookup resources to images 2022-04-01 16:01:33 +09:00
Dean Herbert
d1be229d74 Combine SkinSprite into SkinnableSprite 2022-04-01 16:01:33 +09:00
Dean Herbert
762de3cc97 Replace invalidation logic with local realm notification subscription 2022-04-01 16:01:33 +09:00
Dean Herbert
9c3dad9fbf Add proof of concept flow to ensure RealmBackedResourceStore is invalidated on realm file changes
I'm not at all happy with this, but it does work so let's go with it for
now.
2022-04-01 16:01:33 +09:00
Dean Herbert
66f5eae530 Hook up a dropdown to show all available sprites for the current skin 2022-04-01 15:01:43 +09:00
Dean Herbert
fca9faac9b Add SkinnableSprite for arbitrary sprite additions 2022-04-01 14:36:36 +09:00
Dean Herbert
3a16483214 Add prioritised user lookups for default skin
This allows user resources to be consumed before falling back to the
game bundled assets.
2022-04-01 14:36:36 +09:00
Dean Herbert
01829cf2d8 Move SkinnableInfo error handling to lower level
Handling was recently added to handle the usage in
`Skin.GetDrawableCompoent`, but it turns out this is also required for
`DrawableExtensions.ApplySkinnableInfo` which can throw in a similar
fashion.

Found while working on sprite support for the editor, where this becomes
an actual issue (ie. switching to a branch where the new sprite support
is not present can cause unexpected crashes).
2022-04-01 14:30:04 +09:00
Dean Herbert
88306a6180 Disable ability to select random skin from within the skin editor
Reasoning is explained in inline comment.

I knowingly only applied this to the shortcut key. It's still feasible a
user can choose the option from the skin dropdown while the editor is
open, but that's less of an issue (because a user won't get the same
compulsion that I get to mash the key, only to be greeted with 100 new
mutable skins created).
2022-04-01 14:22:32 +09:00
Dean Herbert
69d4f86122 Fix automatically created "(modified)" skins getting conflicting names
Applies the already tested and proven method that is used in the editor
to the mutable skin creation flow.
2022-04-01 14:11:55 +09:00
Dean Herbert
6b9f5812a5
Merge pull request #17579 from CenTdemeern1/clock-button
Make the toolbar clock feel more like a button
2022-04-01 13:12:48 +09:00
Dean Herbert
10f15f2bdb
Merge pull request #17559 from bdach/mod-overlay/sheared-toggle
Implement sheared toggle button
2022-04-01 13:06:22 +09:00
Dean Herbert
338a21f4f0
Merge pull request #17581 from CenTdemeern1/remove-bpm-slider
Remove BPM slider
2022-04-01 11:59:16 +09:00
CenTdemeern1
86d262a355
Merge branch 'ppy:master' into clock-button 2022-03-31 23:08:30 +02:00
Bartłomiej Dach
1c7b259f8e
Merge branch 'master' into mod-overlay/sheared-toggle 2022-03-31 22:20:20 +02:00
Bartłomiej Dach
e180db145d
Add constructor argument to facilitate fixed width/autosizing 2022-03-31 22:19:08 +02:00
Bartłomiej Dach
b3896257ca
Move shear amount to constant 2022-03-31 22:09:03 +02:00
Bartłomiej Dach
e14d5b8adb
Remove unused using directives 2022-03-31 21:20:30 +02:00
CenTdemeern1
a6875383fc Rebind SaveState() to bpmTextEntry 2022-03-31 21:06:05 +02:00
CenTdemeern1
bdb21b17f7 Fix my code according to the changes @bdach requested 2022-03-31 20:39:26 +02:00
CenTdemeern1
52d723aaa6 Remove BPM slider 2022-03-31 20:11:07 +02:00
CenTdemeern1
c64a90b39e Remove a newline to comply with codefactor 2022-03-31 17:21:50 +02:00
CenTdemeern1
f1aa60c0f1 Make the clock feel more like a button 2022-03-31 16:26:53 +02:00
Dean Herbert
0b6db31511 Guard other multiplayer client calls with exception handling 2022-03-31 19:45:38 +09:00
Dean Herbert
e0c125a628 Replace existing usage with helper method 2022-03-31 19:27:45 +09:00
Dean Herbert
5b3eb2d6f4 Add helper class to handle firing async multiplayer methods 2022-03-31 19:27:45 +09:00
Dean Herbert
0a34ce2509 Increase font weight for runtime clock
Fonts this small are required to be `SemiBold` by design guidelines.
Somehow missed this.
2022-03-31 19:07:30 +09:00
Dan Balasescu
bc4d6a3ace
Merge pull request #17570 from peppy/fix-settings-textbox-focus
Focus focus not being transferred correctly to parent settings panel on exiting nested panel
2022-03-31 18:07:51 +09:00
Dean Herbert
ef5e37c47a Fix multiplayer sounds playing too much after gameplay
Regressed in https://github.com/ppy/osu/pull/15936.

Closes #17295.
2022-03-31 16:18:28 +09:00
Dean Herbert
ad14b7cac5
Merge pull request #17565 from smoogipoo/fix-gameplay-leaderboard-allocations
Remove ScoreInfo allocations in multiplayer leaderboard
2022-03-31 15:48:14 +09:00
Dean Herbert
726b49fdf3 Focus focus not being transferred correctly to parent settings panel on exiting nested panel
Seemingly harmless schedule delay ommission meant that the textbox may
not be in a state it can handle the incoming focus event. Regressed in
https://github.com/ppy/osu/pull/14345#discussion_r690697501.
2022-03-31 15:24:21 +09:00
Dean Herbert
e8a295a61b Add test coverage of textbox focus in settings panels when switching between nested panels 2022-03-31 15:24:21 +09:00
Dan Balasescu
40b6f3ff0a Rename method to CalculateAllLegacyCombinations() 2022-03-31 15:09:06 +09:00
Dan Balasescu
32e55e7d78 Merge branch 'master' into osu-diff-calc-max-combo 2022-03-31 15:08:08 +09:00
Joseph Madamba
36c02573a8 Fix osu! logo being clicked when exiting via cmd-q on initial state 2022-03-30 21:26:30 -07:00
Salman Ahmed
9c19ae1df8 Remove no longer necessary ruleset field 2022-03-31 06:40:38 +03:00
Dan Balasescu
6e94a9780b Remove ScoreInfo allocations in multi leaderboard 2022-03-31 12:23:00 +09:00
Dean Herbert
e0d434b89f Remove unused using statement 2022-03-31 11:34:32 +09:00
Dean Herbert
0cac935939 Shorten class name of ModCreatedReplayUser 2022-03-31 11:34:23 +09:00
Dean Herbert
2c1ccc7d36
Update obsolete message to match targeted developers' use case
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-03-31 11:33:26 +09:00
Dean Herbert
234bec45cc Remove unnecessary logging 2022-03-31 11:32:00 +09:00
Salman Ahmed
6874cdf0c8 Remove unnecessary public prefix in interface method 2022-03-31 01:50:46 +03:00
Bartłomiej Dach
3ac0da2da3
Implement sheared toggle button 2022-03-30 22:50:21 +02:00
Bartłomiej Dach
436dec68c9
Use provided extension method instead of reimplementing locally 2022-03-30 22:04:54 +02:00
Bartłomiej Dach
83bae81095
Fill out ICreateReplayData xmldocs 2022-03-30 22:04:54 +02:00
Jai Sharma
fff30e8a6e Simplify show/hide of text and search in ChatTextBar 2022-03-30 21:02:12 +01:00
Bartłomiej Dach
9621a7f9cb
Merge branch 'master' into fix-autoplay-mod-user-id 2022-03-30 21:41:45 +02:00
Jai Sharma
eec3fef7a6 Remove the enter box in ChatTextBar 2022-03-30 20:25:23 +01:00
Salman Ahmed
0f144f6801
Merge branch 'master' into fix-countdown-refresh 2022-03-30 16:26:12 +03:00
Dan Balasescu
b60c253831
Merge pull request #17556 from peppy/fix-multiplayer-unobserved
Fix `MultiplayerMatchSongSelect` potentially attempting to exit when not the current screen
2022-03-30 21:10:11 +09:00
Dean Herbert
671386ba6c Fix MultiplayerMatchSongSelect potentially attempting to exit when not the current screen 2022-03-30 20:36:12 +09:00
Dan Balasescu
cb1ee05539
Merge pull request #17555 from peppy/remove-source-from-wedge
Remove song source from main wedge display
2022-03-30 18:57:25 +09:00
Dean Herbert
f9f6248101 Simplify string bindings 2022-03-30 17:59:45 +09:00
Dean Herbert
bc0b982102 Remove song source from main wedge display
This was definitely added at someone's request, since I wouldn't have
put it here. But it's displayed below in the details section already and
also not displayed in the updated "wedge" in the new design.

See https://github.com/ppy/osu/discussions/17537 for discussion.
2022-03-30 17:59:40 +09:00
Dean Herbert
99f141d396
Merge pull request #17546 from frenzibyte/autoplay-cinema-incompatibility
Mark both "Autoplay" and "Cinema" mods as mutually exclusive
2022-03-30 16:41:07 +09:00
Dean Herbert
bd3c401363
Merge pull request #17550 from smoogipoo/fix-score-display-race
Fix scores sometimes shown with incorrect scoring mode
2022-03-30 16:05:28 +09:00
Dean Herbert
975883da5c Move all usages of client.realm filename to a single const 2022-03-30 13:34:48 +09:00
Dan Balasescu
c311e11496
Merge pull request #17527 from peppy/switch-osu-folder
Add ability to "migrate" data to another folder which has an existing install
2022-03-30 13:20:49 +09:00
Dan Balasescu
4df63a4900 Prevent scores being calculated twice 2022-03-30 13:15:41 +09:00
Dan Balasescu
bd9c0076df Fix scores sometimes shown with incorrect scoring mode 2022-03-30 13:03:12 +09:00
Dan Balasescu
e869b7286a
Merge pull request #17547 from frenzibyte/m1-ignore-realm-migration
Ignore EF-to-realm migration tests on M1 ARM architectures
2022-03-30 11:47:29 +09:00
Dean Herbert
555e127bc2
Merge pull request #17510 from Wieku/combo-counter
Adjust legacy combo counter appearance to closer match stable
2022-03-30 11:17:30 +09:00
Jai Sharma
e7d2d94eee Fix code quality issues in ChatTextBar 2022-03-30 02:16:50 +01:00
Sebastian Krajewski
cb62d3d4b9 Remove skin dependency as component is reinitialized on skin change 2022-03-30 01:09:05 +02:00
Sebastian Krajewski
7582c943a4 Use In/Out instead of {In/Out}Quad 2022-03-30 00:48:59 +02:00
Salman Ahmed
986aad4bd5 Fix potential nullref on OsuGameTestScene.TearDownSteps 2022-03-30 01:15:24 +03:00
Salman Ahmed
cef1b93471 Improve behaviour of "Autoplay" shortcut during gameplay start
This also opens up the way to adding shortcut for "Cinema" mod
(Ctrl+Shift+Enter), but will leave adding that until there's a demand
for it.
2022-03-30 01:07:48 +03:00
Jai Sharma
f049d7cb67 Implement ChatTextBox for new chat design
Reference design: https://www.figma.com/file/f8b2dHp9LJCMOqYP4mdrPZ/Client%2FChat?node-id=1%3A297

Adds new component `ChatTextBox`.
Exposes `BindableBool` `ShowSearch` to change text input behaviour
between normal and search behaviour.

Adds new component `ChatTextBar`.
Exposes `BindableBool` `ShowSearch` which toggles between showing current
chat channel or search icon.
Additionally binds to child `ChatTextBox` components.
Requires a cached `Bindable<Channel>` instance to be managed by a parent
component.
2022-03-29 22:33:38 +01:00
Salman Ahmed
8d4356f23b Mark "autoplay" and "cinema" mods as mutually exclusive 2022-03-29 17:26:02 +03:00
Salman Ahmed
26b72fc449
Merge branch 'master' into fix-countdown-refresh 2022-03-29 16:16:36 +03:00
Salman Ahmed
9a09c97457 Fix "Barrel Roll" tooltip not limiting decimal places for spin speed 2022-03-29 16:11:44 +03:00
Dean Herbert
4741679a94
Change confirmation message to be more clear about intentions
Co-authored-by: Henry Lin <henry.ys.lin@gmail.com>
2022-03-29 19:03:50 +09:00
Salman Ahmed
cdc2ae7991
Merge branch 'master' into m1-migration-information 2022-03-29 13:03:36 +03:00
Dean Herbert
1fb3d11591 Add ability to "migrate" data to another folder which has an existing install
Until now, migrating would always attempt to move files.

There's a chance that a user is reinstalling osu! but has their data at
a custom location. We want to allow the chance for them to continue
using the external data. This seems like the easiest way to make it
work.

Would be nice if we had a `Game.Restart()` method, but maybe this is
enough for now?

Note that further down the road we will probably prompt the user to
potentially select a custom install path (including one with existing
data) before osu! gets to writing anything.
2022-03-29 18:04:31 +09:00
Dean Herbert
ea9495eb74 Update all existing calls to extension method with correct fallback handling 2022-03-29 16:51:30 +09:00
Dean Herbert
7d716adf39 Create new ICreateReplayData interface and obsolete ICreateReplay 2022-03-29 16:51:30 +09:00
Dean Herbert
3fc8c23fe4 Remove unnecessary SetReplayScore call in ModCinema 2022-03-29 16:51:30 +09:00
Dean Herbert
327477d050 Remove unnecessary SetReplayScore call in ModCinema 2022-03-29 16:50:05 +09:00
Dean Herbert
8948bcce19 Restructure transforms slightly 2022-03-29 13:18:31 +09:00
Dean Herbert
0433d2fe6a Add safety to realm instance retrieval in RealmAccess 2022-03-29 11:40:58 +09:00
Dan Balasescu
375a752e24 Fix countdown timer not refreshing on new countdown 2022-03-29 11:27:26 +09:00
Sebastian Krajewski
caf641e1ab Remove redundant ClearTransforms 2022-03-28 23:50:35 +02:00
Sebastian Krajewski
981ef735cf Always start small pop out from its initial size 2022-03-28 19:57:59 +02:00
Sebastian Krajewski
e3289bb080 Don't scale big pop out as much 2022-03-28 19:33:00 +02:00
Sebastian Krajewski
265b2111ef Remove comment 2022-03-28 18:08:51 +02:00
Sebastian Krajewski
001a98e069 Fix LegacyComboCounter not unsubscribing from skin 2022-03-28 18:08:35 +02:00
Dean Herbert
ea46e024c1 Avoid deadlock during migration failed exit process 2022-03-29 00:04:13 +09:00
Dean Herbert
b6ae0ebb6f Limit macOS specific log output to macOS platforms specifically 2022-03-28 23:46:07 +09:00
Sebastian Krajewski
05a978ce8c Update LegacyComboCounter layout and scaling 2022-03-28 16:36:37 +02:00
Dean Herbert
dc7dc7f65a Update UserProfileOverlay and ClickableAvatar to treat system users more correctly 2022-03-28 22:57:16 +09:00
Dean Herbert
a0692ce477 Add a const for system users which should never display a profile 2022-03-28 22:22:56 +09:00
Dean Herbert
b5834dabdb Fix skin editor not exiting correctly when using the menu
Closes https://github.com/ppy/osu/issues/17489.
2022-03-28 20:43:26 +09:00
Dean Herbert
a98aac3bf2 Better inform users of migration failure reason when running Apply Silicon build
As mentioned in https://github.com/ppy/osu/discussions/17409#discussioncomment-2445464?
2022-03-28 17:34:36 +09:00
Dean Herbert
01980effe2
Merge pull request #17449 from smoogipoo/countdown-button-ux
Improve multiplayer ready button/countdown button UX
2022-03-27 13:42:10 +09:00
Dean Herbert
1edf1d8f40
Merge pull request #17464 from smoogipoo/fix-logo-thread-safety
Fix LogoVisualisation draw thread safety
2022-03-27 09:50:42 +09:00
Dean Herbert
e198d71818
Merge pull request #17466 from bdach/multi-settings-z-ordering
Fix multiplayer match settings overlay dropdown Z-ordering
2022-03-27 09:50:21 +09:00
Bartłomiej Dach
f400249f32
Fix multiplayer match settings overlay dropdown Z-ordering 2022-03-26 18:28:38 +01:00
Dan Balasescu
6384531317 Fix LogoVisualisation draw thread safety 2022-03-27 01:43:47 +09:00
Salman Ahmed
b6822f8190 Remove redundant/outdated Origin line 2022-03-26 14:55:19 +03:00
Dean Herbert
9b7b897b3c Adjust padding to fit better 2022-03-26 20:34:50 +09:00
Dean Herbert
ab8db3b7dc Move nested classes to own files 2022-03-26 20:34:17 +09:00
Dean Herbert
4ddf3cb1d9 Add ability to cycle between clock display modes 2022-03-26 19:18:41 +09:00
Dean Herbert
97e9049a2c Adjust metrics and colours to better match the actual toolbar 2022-03-26 18:56:40 +09:00
Dean Herbert
252d1924e7 Adjust metrics for better legibility at small sizes 2022-03-26 18:13:33 +09:00
Dean Herbert
999ae88af2 Show game time display in clock 2022-03-26 18:13:20 +09:00
Dean Herbert
e8f5a8e3d6 Refactor hands for legibility (visual and code) 2022-03-26 18:13:13 +09:00
Dean Herbert
0d8a7246dd Add basic implementation of clock 2022-03-26 18:13:13 +09:00
Dean Herbert
5725cc36ff Add animation to countdown button when countdown is active 2022-03-26 14:29:53 +09:00
Dean Herbert
03f24c8b58
Merge branch 'master' into countdown-button-ux 2022-03-26 10:34:51 +09:00
Dean Herbert
a30d6256f4
Merge pull request #17447 from peppy/countdown-button-icon
Use more appropriate icon on countdown button (and give tooltip)
2022-03-26 10:20:07 +09:00
Dean Herbert
f92a31cd39
Merge pull request #17402 from smoogipoo/multiplayer-auto-countdown
Add multiplayer auto-start countdown timer
2022-03-25 20:31:14 +09:00
Dan Balasescu
6c172bac3c
Merge pull request #17448 from peppy/fix-skin-component-crash-on-instantiation-failure
Avoid crashing if a skin component cannot be instantiated correctly
2022-03-25 19:41:52 +09:00
Dan Balasescu
1ff5fc98f5
Merge pull request #17445 from peppy/fix-test-realm-failures
Fix visual test crashes due to local realm not having update thread
2022-03-25 19:41:13 +09:00
Dan Balasescu
11ee78b395
Merge branch 'master' into countdown-button-icon 2022-03-25 19:40:25 +09:00
Dan Balasescu
3986dfd160
Merge pull request #17444 from peppy/fix-countdown-counting
Update multiplayer countdown button text more often
2022-03-25 19:40:04 +09:00
Dean Herbert
ed239d7016
Merge pull request #17421 from peppy/skin-nullable
Apply `nullable` to skin classes
2022-03-25 19:39:04 +09:00
Dean Herbert
f989158a31 Add back playlist availability control (because it's hooked up half way?) 2022-03-25 19:20:16 +09:00
Dan Balasescu
9963efce51 Improve ready/countdown button UX 2022-03-25 18:40:32 +09:00
Dean Herbert
320110f179 Remove "room visibility" from playlists settings to match 2022-03-25 18:37:46 +09:00
Dean Herbert
b13408aed0 Add back "room visibility" control commented out for now 2022-03-25 18:37:20 +09:00
Dean Herbert
a0a3bba46e Avoid crashing if a skin component cannot be instantiated correctly 2022-03-25 18:31:26 +09:00
Dan Balasescu
3ad092d808 Always show the countdown button when host 2022-03-25 18:29:00 +09:00
Dean Herbert
463091bde2 Use more appropriate icon on countdown button (and give tooltip) 2022-03-25 18:25:48 +09:00
Dean Herbert
1acfbf490b
Merge branch 'master' into mod-overlay/settings-area 2022-03-25 17:37:39 +09:00
Dan Balasescu
2553cfed75 Match new server ready/unready logic 2022-03-25 17:04:45 +09:00
Dean Herbert
aa9e642e40
Merge branch 'master' into pin-multiplayer-host 2022-03-25 16:49:35 +09:00
Dean Herbert
6b22e5774f Remove conditional access on known non-null 2022-03-25 16:42:35 +09:00
Dean Herbert
5fcd3b07f1 Fix visual test crashes due to local realm not having update thread 2022-03-25 16:35:32 +09:00
Dean Herbert
4a30b6ef56 Update multiplayer countdown button text more often
At once a second, it regularly skips whole seconds (because scheduler
isn't guaranteed to run exactly as often as specified). 10 updates a
second seems amicable and less noticeable to my eye.
2022-03-25 16:25:20 +09:00
Dan Balasescu
8553adc401
Merge pull request #17443 from peppy/fix-unexpected-immediate-exit
Fix game unexpectedly exiting without outro sequence occasionally on macOS
2022-03-25 15:57:57 +09:00
Dan Balasescu
23c4f9910e Apply notnull constraint 2022-03-25 15:54:01 +09:00
Dean Herbert
792e79265b Add ignore rule for new helper property 2022-03-25 15:46:27 +09:00
Dean Herbert
b1f0f89fdd Simplify AutoStart and Host checks 2022-03-25 15:41:01 +09:00
Dan Balasescu
2d8d177807
Merge branch 'master' into skin-nullable 2022-03-25 15:36:21 +09:00
Dan Balasescu
478174dd58
Merge pull request #17416 from peppy/skin-fuck
Refactor skin construction
2022-03-25 15:36:06 +09:00
Dean Herbert
de4c04ef80 Fix non-matching json propert for AutoStartDuration 2022-03-25 15:34:33 +09:00
Dean Herbert
416b57ea69 Fix main menu buttons handling keys when super (cmd) is held 2022-03-25 15:13:22 +09:00
Dean Herbert
816fcae3a1 Rename Button to MainMenuButton to differentiate better 2022-03-25 15:12:39 +09:00
Dan Balasescu
c6182c2b09
Merge pull request #17432 from peppy/realm-subscription-any-thread
Allow realm subscriptions to be initiated from any thread
2022-03-25 14:05:03 +09:00
Dean Herbert
09c5325b08 Update resources 2022-03-25 13:18:49 +09:00
Dean Herbert
b4c0155b3d Update framework 2022-03-25 13:07:21 +09:00
Dan Balasescu
def2ce243f
Merge pull request #17431 from peppy/fix-participants-panel-null-ref
Guard against potential null `CurrentItem` in `ParticipantPanel`
2022-03-25 11:47:43 +09:00
Bartłomiej Dach
5f730c0cd4
Merge branch 'master' into fix-old-legacy-replays 2022-03-24 23:21:50 +01:00
Bartłomiej Dach
878e8d21a3
Remove assertion to fix "expression always true" inspection 2022-03-24 21:51:10 +01:00
Dean Herbert
b04ca111c6 Allow realm subscriptions to be initiated from a non-update thread 2022-03-24 23:41:07 +09:00
Dean Herbert
2938f44e6c Update PresentExternally usages in line with framework changes 2022-03-24 23:41:07 +09:00
Dan Balasescu
1abf3f7bf4 Fix cancel tooltip showing for autostart countdowns 2022-03-24 20:25:17 +09:00
Dan Balasescu
d3a957d64e Fix test client not receiving initial value 2022-03-24 20:24:09 +09:00
Dan Balasescu
0d88af19ae Fix local setting not being updated 2022-03-24 20:23:58 +09:00
Dan Balasescu
f80692f342 Add missing TestMultiplayerClient coverage 2022-03-24 20:19:05 +09:00
Dan Balasescu
5fe46a73cb Update room state in more situations 2022-03-24 20:17:16 +09:00
Dan Balasescu
209de886ce Add method to stop countdown 2022-03-24 20:17:16 +09:00
Dan Balasescu
ea9de0199d Split countdown start into separate method 2022-03-24 20:09:32 +09:00
Dan Balasescu
40eca0fbe2 Merge branch 'master' into multiplayer-auto-countdown 2022-03-24 18:11:51 +09:00
Dean Herbert
2d58feebb1 Guard against potential null CurrentItem in ParticipantPanel 2022-03-24 17:54:21 +09:00
Dean Herbert
e889d93441 Add asserts of playlist being non-empty after client operations 2022-03-24 17:52:20 +09:00
Dean Herbert
0275e974e5
Merge branch 'master' into multiplayer-countdown-timers-2 2022-03-24 17:24:00 +09:00
Dean Herbert
e3f8bc0588 Revert Availability to private 2022-03-24 17:15:17 +09:00
Dan Balasescu
528ffea38d Fix incorrect event binding 2022-03-24 17:11:08 +09:00
Dean Herbert
a7554dcdf7 Use a constant for the early version timing offset 2022-03-24 16:43:41 +09:00
Dan Balasescu
dfa076c169 Refactor cancellation logic 2022-03-24 16:29:59 +09:00
Dean Herbert
a7d5f2281c Apply beatmap offsets to legacy replay frame handling 2022-03-24 16:16:40 +09:00
Dan Balasescu
4c0d76573c Asserate code is running on update thread 2022-03-24 15:51:30 +09:00
Dan Balasescu
f0d132b16e Rename FinishCountdown() -> SkipToEndOfCountdown() 2022-03-24 15:21:46 +09:00
Dan Balasescu
d2ecc100e5 Revert unnecessary async change 2022-03-24 15:07:24 +09:00
Dan Balasescu
8f3a4df70a Add explanation for try-catch 2022-03-24 15:07:24 +09:00
Dan Balasescu
d36944ac95 Dispose token manually
Cover more branches with cancellation source disposal
2022-03-24 15:07:24 +09:00
Dean Herbert
8ca9cbc866 Set a more correct initial value for pauseFreqAdjust
As the `GameplayClock` now starts paused, this value needs to match to
ensure things work correctly.

For a better explanation of how we got here, see discussion at
https://github.com/ppy/osu/pull/17302#discussion_r830017735.
2022-03-24 14:50:00 +09:00
Dan Balasescu
96a447f68b Rename Multiplayer prefix to button classes 2022-03-24 14:28:38 +09:00
Dan Balasescu
90c7945bca Re-remove PopoverButton class with better test fix 2022-03-24 14:26:31 +09:00
Dean Herbert
6f529cf7a4 Merge branch 'master' into fix-spectator-seeks 2022-03-24 14:24:20 +09:00
Dean Herbert
e243a7c55d Reword storage param xmldoc to use stronger and better defined langauge 2022-03-24 12:45:11 +09:00
Dean Herbert
0cd29a73b9 Fix typo in xmldocs 2022-03-24 12:39:47 +09:00
Dean Herbert
a4d17a915f Fix incorrect HUD component fallback
Legacy skins should now always show the legacy hud components. The
conditional here is no longer valid as fallback lookups happen at a
*skin*-fallback level rather than internal *source*-fallback.

Put another way, `LegacyDefaultSkin` (with user customisations) should
still display the classic HUD components even if a font is not provided,
as that font will be available via the skin lookup hierarchy.

The TODO removed in this commit has been already resolved so this code
is no longer required.
2022-03-24 12:36:20 +09:00
Dan Balasescu
547418e47e Revert "Remove PopoverButton class"
This reverts commit 6b712be97d.
2022-03-24 11:15:51 +09:00
Dean Herbert
7296bad294 Convert LegacyBeatmapSkin to use nullable 2022-03-24 00:24:06 +09:00
Dean Herbert
194bf4fb05 Convert LegacySkin to use nullable 2022-03-24 00:23:55 +09:00
Dean Herbert
3e020073c5 Convert Skin to use nullable 2022-03-24 00:23:55 +09:00
Dean Herbert
05c7e09d79 Make Textures and Samples read-only 2022-03-24 00:02:38 +09:00
Dean Herbert
c079a9cd32 Add comment regarding equality check importance in LegacyHitSampleInfo 2022-03-23 20:18:44 +09:00
Dean Herbert
997c091a8d Revert "Remove IsLayered from LegacyHitSampleInfo comparison"
This reverts commit 4523393208.
2022-03-23 20:15:17 +09:00
Dean Herbert
2ea9e5245c Revert "Remove IsLayered from GetHasCode implementation"
This reverts commit 16ee6b5fc7.
2022-03-23 20:15:13 +09:00
Dan Balasescu
34a367b369 Merge branch 'master' into multiplayer-countdown-timers-2 2022-03-23 15:40:50 +09:00
Dean Herbert
6542f974f2
Merge branch 'master' into skin-fuck 2022-03-23 15:30:22 +09:00
Dan Balasescu
a83a90e675 Rename countdown Delay -> Duration 2022-03-23 15:21:16 +09:00
Dan Balasescu
f7c0047206 Send time remaining in countdowns instead 2022-03-23 15:19:43 +09:00
Dean Herbert
078288a616 Make "skin.ini" the default skin filename and remove redundant parameters 2022-03-23 15:05:01 +09:00
Dean Herbert
7a1909bf97 Change parameter order of LegacySkin to put IStorageResourceProvider first
The optional resource store should not be before the (basically)
required resource provider.
2022-03-23 15:02:04 +09:00
Dean Herbert
d0ea1739b4 Remove skin configuration stream logic as it is no longer required 2022-03-23 14:57:42 +09:00
Dean Herbert
9d3c6ade62 Remove unnecessary skin reading hack in DefaultLegacySkin 2022-03-23 14:57:42 +09:00
Dean Herbert
6c405f1dee Remove storage override from LegacyBeatmapSkin 2022-03-23 14:57:42 +09:00
Dean Herbert
b48aa1d8fa Ensure HitObjectSampleTest's TestWorkingBeatmap provides the marking resource store correctly 2022-03-23 14:57:42 +09:00
Dean Herbert
e56d13d8be Fix realm backed store not being initialised for some tests 2022-03-23 14:57:42 +09:00
Dean Herbert
a5acd38fd5 Fix HitObjectSampleTest adding null files to realm models 2022-03-23 14:57:42 +09:00
Dean Herbert
00aea9bef0 Only use legacy resources lookup for protected (aka default) skin 2022-03-23 14:57:42 +09:00
Dean Herbert
3c38b14228 Documentation improvements 2022-03-23 14:57:42 +09:00
Dean Herbert
32e2cfb8ee Leave realm resource store construction to base class 2022-03-23 14:57:42 +09:00
Dean Herbert
e1236e07ad Fix extensions not being specified in time for realm file caching 2022-03-23 14:57:42 +09:00
Dean Herbert
a7f63fb034 Make providing a custom ResourceStore to LegacyBeatmapSkin optional (for tests only) 2022-03-23 14:57:42 +09:00
Dean Herbert
35d2f973a3 Prefer provided resource store over realm backed to keep tests working 2022-03-23 14:57:42 +09:00
Dean Herbert
b4d89b4e31 Replace duplicate LegacySkinResourceStore class with RealmBackedResourceStore 2022-03-23 14:57:42 +09:00
Dean Herbert
5c4a74378d Remove Textures and Samples initialisation to Skin 2022-03-23 14:57:42 +09:00
Dean Herbert
657daf07d7 Update LocalisationAnalyser to support .net6 2022-03-23 11:03:24 +09:00
Dan Balasescu
d4ad4ac9db Limit countdown updates to once per second 2022-03-23 10:50:05 +09:00
Dan Balasescu
6b712be97d Remove PopoverButton class 2022-03-23 10:40:38 +09:00
Dan Balasescu
9138aaf780 Split MultiplayerReadyButton 2022-03-23 10:38:56 +09:00
Dan Balasescu
1ffa1e1219
Merge pull request #17400 from nagilson/screen-mod-retention
Fix mods from single player carrying over to multiplayer
2022-03-23 08:36:15 +09:00
Dan Balasescu
8591630e5c
Merge branch 'master' into editor-exit-harsh-blocking 2022-03-23 07:06:25 +09:00
Bartłomiej Dach
51a1721bc9
Fix unprotected access to potentially-null DI'd dialog overlay 2022-03-22 22:10:05 +01:00
Bartłomiej Dach
f3aad77239
Remove unused local variable 2022-03-22 22:00:24 +01:00
Bartłomiej Dach
a38bafab91
Remove unused using directive 2022-03-22 22:00:05 +01:00
Bartłomiej Dach
8647bebdca
Merge branch 'master' into hold-to-discard-changes 2022-03-22 20:37:43 +01:00
Bartłomiej Dach
8192fb47fe
Merge branch 'master' into skin-editor-eat-input 2022-03-22 19:22:48 +01:00
Dean Herbert
09ec49e6fa Rename realm-backed resource store in preparation for non-legacy usage 2022-03-22 18:31:18 +09:00
Dean Herbert
ff8352b749
Merge branch 'master' into screen-mod-retention 2022-03-22 17:27:26 +09:00
Dean Herbert
483fb84b56 Fix typo in FinishCountdown method 2022-03-22 16:50:13 +09:00
Dean Herbert
61ddf1e6cf Disallow exiting the editor without saving (unless explicitly confirming) 2022-03-22 15:42:56 +09:00
Dean Herbert
f95bd89166 Revert editor exit behaviour to exit without changes for now 2022-03-22 14:46:57 +09:00
Dean Herbert
fb7f9a81db Remove unnecessary equality check in skin editor construction path 2022-03-22 14:35:13 +09:00
Dan Balasescu
23be0f1be9 Remove availability picker for now 2022-03-22 14:34:06 +09:00
Dan Balasescu
d0fee53e1f Implement auto countdown timers
Change to using TimeSpan
2022-03-22 14:34:06 +09:00
Dean Herbert
0fcb3bdba9 Fix beatmap date added not being updated on reimporting a soft deleted beatmap
Addresses concerns raised in https://github.com/ppy/osu/discussions/17399.
2022-03-22 14:10:36 +09:00
Dan Balasescu
4630aa15cc Apply refactorings according to reviews 2022-03-22 12:54:19 +09:00
NAGILSON
17b639b404 Implement suggested change to wipe mods on multiplayer screen 2022-03-21 22:42:17 -04:00
Dan Balasescu
36772ec652
Merge pull request #17356 from apollo-dw/strict-tracking
Implement "Strict Tracking" mod in osu!
2022-03-22 07:32:36 +09:00
Dan Balasescu
aea03ca21d
Merge pull request #17359 from frenzibyte/fix-score-panel-max-combo
Improve method of retrieving beatmap maximum combo for results score panels
2022-03-22 06:28:30 +09:00
Dean Herbert
9a2691c1bc Remove unnecessary schedule 2022-03-21 23:54:47 +09:00
Salman Ahmed
33acc5d720 Remove no longer valid comments 2022-03-21 14:06:53 +03:00
Salman Ahmed
058fbbbe6c Remove unused using directive 2022-03-21 14:06:36 +03:00
Dean Herbert
2a696783af Remove unused const in SkinEditorOverlay 2022-03-21 17:33:56 +09:00
Dean Herbert
2f18c512cd Convert SkinEditorOverlay to an OverlayContainer to allow it to block input 2022-03-21 17:33:56 +09:00
Dean Herbert
3643f879e4 Add test coverage of skin editor settings slider not working via keyboard adjustments 2022-03-21 17:33:56 +09:00
Dean Herbert
36868dbdb4 Add the ability to override the user setting for hold-to-confirm containers
Sometimes the user is not right.
2022-03-21 16:07:27 +09:00
Dean Herbert
d811a70f4b Change button types on editor exit dialog to match purpose
Addresses https://github.com/ppy/osu/discussions/17363.
2022-03-21 16:06:59 +09:00
Dean Herbert
b42081dd9b Add DangerousButton for use in popup dialogs 2022-03-21 16:06:45 +09:00
Dean Herbert
31570d3114
Merge pull request #17252 from jai-x/new-chat-channel-control
Implement `ChannelListItem` for new chat design
2022-03-21 15:41:00 +09:00
Dean Herbert
3bb01fd595 Fix close button animation not being applied correct on mouse down due to conflicting scales 2022-03-21 14:41:57 +09:00
Dean Herbert
7ca3beb7cc Also add fade to ChannelItem selected box 2022-03-21 14:41:42 +09:00
Dean Herbert
428e439f40 Remove space between '#' and channel name
This was in flyte's design (he was following discord) but doesn't feel
too correct when it's not aligned with anything else. We can revisit
this if/when we have better glyphs to represent channel types.
2022-03-21 14:36:56 +09:00
Dean Herbert
16caf2d30b Add slight animation when highlighting an unread channel 2022-03-21 14:34:54 +09:00
Dean Herbert
692362131e Add animation when mention pill appears (or a new message arrives) 2022-03-21 14:31:51 +09:00
Dean Herbert
11b050b66b Add slight fade when hovering ChannelListItems 2022-03-21 14:28:14 +09:00
Dean Herbert
9eda2f2df1 Remove box surrounding close button 2022-03-21 14:25:29 +09:00
Dean Herbert
f922a6b556 Rename renaming button/pill classes 2022-03-21 14:15:22 +09:00
Dean Herbert
812343b410 Merge branch 'master' into new-chat-channel-control 2022-03-21 14:14:02 +09:00
Dean Herbert
355b0fa314 Fix loading player via skin editor still allowing changing current audio track
`PlayerLoader` is required in the sequence to get the game into the
correct state for gameplay right now. Applying ths simplest fix here.

Closes https://github.com/ppy/osu/issues/17351.
2022-03-21 13:49:56 +09:00
Salman Ahmed
5c1e11c153
Merge branch 'master' into queue-list-counter 2022-03-21 05:01:09 +03:00
hwabis
06136b2247 Revert OsuTabItem Text to protected, update tab count test 2022-03-20 21:37:02 -04:00
hwabis
8fbdd06895 add queue tab count test 2022-03-20 16:24:41 -04:00
Salman Ahmed
b9859f9f21 Obsolete BeatmapInfo.MaxCombo and suppress in usages 2022-03-20 16:30:29 +03:00
Salman Ahmed
c2063f415d Remove unnecessary MaxCombo migration between unmapped database fields 2022-03-20 16:27:54 +03:00
Salman Ahmed
aef40da8d4 Add note about null return value 2022-03-20 16:24:30 +03:00
Salman Ahmed
2a78042038 GetBeatmapMaximumComboAsync -> GetMaximumAchievableComboAsync 2022-03-20 16:18:53 +03:00
Salman Ahmed
e1d22e58bf Simplify queue count text logic 2022-03-20 06:25:14 +03:00
Salman Ahmed
7529d6fc00 Bind queue items during playlist initialization
Along with where the other bindables are bound together (only bind, not
listening).
2022-03-20 06:23:44 +03:00
Salman Ahmed
eca7975864 Compute the beatmap maximum achievable combo instead of Beatmap.MaxCombo 2022-03-20 05:38:14 +03:00
Salman Ahmed
d36f32a9c9 Introduce method for computing maximum achievable combo properly 2022-03-20 05:38:14 +03:00
Salman Ahmed
c5cc7eec79 Add explicit todo about removing BeatmapInfo.MaxCombo
Using that property is a trap basically.
2022-03-20 05:38:14 +03:00
Jai Sharma
f3702fbefb Pass correct params to UpdateableAvatar ctor in ChannelListItem 2022-03-19 22:20:17 +00:00
Jai Sharma
ba5a43b526 Rename ControlItem -> ChannelListItem and associated classes 2022-03-19 21:49:14 +00:00
Jai Sharma
653bb47dd5 Use UpdateableAvatar and remove redundant ControlItemAvatar class 2022-03-19 21:36:11 +00:00
Jai Sharma
5373c3066f Use OsuAnimatedButton as base for ControlItemClose 2022-03-19 21:23:32 +00:00
apollo-dw
149cfd338d Use new mod-related object types for Strict Tracking 2022-03-19 18:29:44 +00:00
hwabis
ef823d58a7 address frenzibyte review (refactor bindable flow, clean up CI stuff) 2022-03-19 13:05:35 -04:00
Jai Sharma
a293e0c766 Remove redundant ControlItemText class 2022-03-19 16:44:58 +00:00
Salman Ahmed
9afe82a0d5 Fix potentially null drawable call to SetLayoutPosition 2022-03-19 14:54:58 +03:00
Dean Herbert
d681643c38
Merge pull request #17299 from nekodex/arm64
Update download links for macOS builds (to add Apple Silicon)
2022-03-19 20:45:51 +09:00
Dean Herbert
9aa902785c
Merge pull request #17327 from frenzibyte/simplify-extension-methods
Simplify `IncreasesCombo`/`BreaksCombo` helper method implementation
2022-03-19 20:23:09 +09:00
Bartłomiej Dach
b7d5a628bc
Merge branch 'master' into fix-spectator-seeks-hot 2022-03-19 11:39:01 +01:00
Dean Herbert
a903aee17e Use schedule to workaround seek issue instead 2022-03-19 18:00:14 +09:00
Dean Herbert
cf2212e794 Revert "Fix spectator not starting from correct seek point (hotfix)"
This reverts commit 2b59eff465.
2022-03-19 17:20:54 +09:00
Dean Herbert
2b59eff465 Fix spectator not starting from correct seek point (hotfix) 2022-03-19 15:14:25 +09:00
Dean Herbert
63998ad9f1 Add test coverage of SpectatorPlayer failing to seek on inopportune frame arrival time 2022-03-19 15:06:22 +09:00
Dean Herbert
dae5569e36 Use nullable in PlayerLoader 2022-03-19 15:06:22 +09:00
Dean Herbert
da76358ee0 Expose the loading player in PlayerLoader 2022-03-19 15:06:22 +09:00
Salman Ahmed
b99541fb5e Revert "Swap placements of "hold for menu" and key counter"
This reverts commit 5bcb7c167c.
2022-03-19 08:08:07 +03:00
hwabis
5d16519a82 make code prettier 2022-03-18 23:41:55 -04:00
Salman Ahmed
ad9b119e3d Reduce "hold for menu" radius of visibility 2022-03-19 05:04:54 +03:00
Salman Ahmed
486be83177 Calculate position adjustment distance in local parent space 2022-03-19 05:04:13 +03:00
Salman Ahmed
5bcb7c167c Swap placements of "hold for menu" and key counter 2022-03-19 05:02:22 +03:00
Salman Ahmed
0adad3a599 Handle potential null room hosts 2022-03-19 04:01:35 +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
Dean Herbert
611562c650 Add more comments around catch up logic 2022-03-18 16:21:14 +09:00
Dean Herbert
0988c2b0fa Move DrawableRuleset binding to LoadComplete to avoid exceptions on InputManager access 2022-03-18 15:28:48 +09:00
Dean Herbert
f09a946722 Start GameplayClockContainer paused for better state control 2022-03-18 15:28:22 +09:00
Dean Herbert
59aef88504 Simplify clock reset/start flow in MultiSpectatorScreen 2022-03-18 15:07:57 +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
Salman Ahmed
1bd08b4a4b Remove kick button fading as well to not look jarring 2022-03-18 08:09:15 +03: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
Salman Ahmed
98b420ee6f Remove no longer correct crown fade animation
Since the host is pinned to the top without any animation, it would look
jarring for the crown to fade away from the old panel (and at a 50ms
duration).
2022-03-18 07:25:12 +03:00
Salman Ahmed
1c899d00b9 Pin multiplayer host panel to the top of the list 2022-03-18 07:25:03 +03: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
c6be26eb01 Rename start time calculation method and add more commenting to explain purpose better 2022-03-18 01:35:50 +09:00
Dean Herbert
e3ab5de8cd Tidy up constructor logic overlap with gameplayStartTime 2022-03-18 01:35:50 +09:00
Dean Herbert
a4a0241800 Use a more explicit flow to set and reset GameplayClockContainer start time 2022-03-17 20:57:30 +09:00
Dean Herbert
e3a8bb2d1c Add test coverage of SpectatorPlayer failing to seek on inopportune frame arrival time 2022-03-17 20:57:30 +09:00
Dean Herbert
5164b4d640 Use nullable in PlayerLoader 2022-03-17 20:57:30 +09: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
e3a5299b1a Expose the loading player in PlayerLoader 2022-03-17 19:32:01 +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
624f9fc774
Implement mod settings area component 2022-03-16 23:13:11 +01: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