1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-07 14:27:25 +08:00
Commit Graph

22968 Commits

Author SHA1 Message Date
smoogipoo
f25535548a Fix buzzing on select all/deselect all 2021-02-02 21:20:16 +09:00
smoogipoo
643c0605d8 Implement the freemod selection overlay 2021-02-02 21:14:38 +09:00
smoogipoo
8b3a85daa7 Merge branch 'refactor-mod-sections' into freemod-select-overlay 2021-02-02 21:09:51 +09:00
smoogipoo
728f8599b2 Move incompatible mod deselection to SoloModOverlay 2021-02-02 21:06:32 +09:00
smoogipoo
e58ece9e10 Make ModSelectOverlay abstract 2021-02-02 21:06:04 +09:00
smoogipoo
50e92bd0ed Fix selection not being preserved when IsValidMod changes 2021-02-02 20:50:54 +09:00
smoogipoo
10ceddf3ff Make IsValidMod adjustable 2021-02-02 20:47:50 +09:00
smoogipoo
75f81bfa06 Add back mod validation 2021-02-02 20:35:41 +09:00
smoogipoo
6d620264f4 Allow mod buttons to not be stacked 2021-02-02 20:27:41 +09:00
smoogipoo
3741f05ab3 Refactor mod sections and make them overridable 2021-02-02 20:11:40 +09:00
Dean Herbert
ac5662b1aa
Merge branch 'master' into mod-consistency-function 2021-02-02 20:01:42 +09:00
Dean Herbert
4ecbe058f7
Merge pull request #11640 from smoogipoo/add-mod-utils
Add ModUtils class for validating mod usages
2021-02-02 20:01:20 +09:00
smoogipoo
2dece12a7c Disable/disallow freemods on incompatible/selected mods 2021-02-02 19:57:42 +09:00
Dean Herbert
41593ff09e Privatise protected property setters 2021-02-02 19:14:44 +09:00
smoogipoo
4fee762a4f Merge branch 'add-mod-utils' into freemods 2021-02-02 19:02:45 +09:00
smoogipoo
a2e3b1c0e4 Move Mods reset code to OnlinePlaySongSelect 2021-02-02 19:02:39 +09:00
smoogipoo
180af3c7f8 Add codeanalysis attribute 2021-02-02 19:02:09 +09:00
smoogipoo
8cc4de2396 Merge branch 'add-mod-utils' into freemods 2021-02-02 18:53:21 +09:00
Dean Herbert
fc3adaf612 Show maximum attempt count in room display (when not unlimited) 2021-02-02 18:45:05 +09:00
Dean Herbert
9b209d67dc Match size of participants text with host display 2021-02-02 18:45:05 +09:00
Dean Herbert
96d20bf607 Reduce height of ModeTypeInfo to match adjacent text sections 2021-02-02 18:45:05 +09:00
Dean Herbert
90acdd4361 Display the correct error message on score submission failure
The server will return a valid error message in most cases here. We may
eventually want to add some fallback message for cases an error may
occur that isn't of
[InvariantException](3169b33ccc/app/Exceptions/InvariantException.php (L9-L10)) type, but I'm not 100% sure
how to identify these just yet.
2021-02-02 18:45:05 +09:00
Dean Herbert
6fdaf02518 Hook up room-level max attempts to UI 2021-02-02 18:45:05 +09:00
smoogipoo
052cf1abae Reuse existing method 2021-02-02 18:42:02 +09:00
smoogipoo
5881b8be96 Merge branch 'add-mod-utils' into mod-consistency-function 2021-02-02 18:41:35 +09:00
Dean Herbert
c41c854ce3
Merge pull request #11637 from frenzibyte/improve-chat-autoscroll
Improve auto-scrolling logic for drawable channels
2021-02-02 18:40:25 +09:00
smoogipoo
12f52316cd Prevent multiple enumeration 2021-02-02 18:37:11 +09:00
smoogipoo
1df412a03c Fix incorrect handling of multi-mod incompatibilities 2021-02-02 18:31:08 +09:00
smoogipoo
d0655c21c6 Simplify implementation of CheckCompatibleSet 2021-02-02 18:18:57 +09:00
smoogipoo
8232d9d2fe Fix incorrect implementation 2021-02-02 18:01:38 +09:00
Dean Herbert
40233fb47c Make font bolder 2021-02-02 17:09:59 +09:00
Dean Herbert
6d9ac4d0f0 Increase darkness of gradient on buttons to make text readability (slightly) better 2021-02-02 16:57:27 +09:00
Dean Herbert
fb52ac8c69 Share remove from playlist button design with adjacent download button 2021-02-02 16:57:08 +09:00
Dean Herbert
bdc05af4b7 Make playlist settings area taller to better match screen aspect ratio 2021-02-02 16:30:45 +09:00
Dean Herbert
a76314a876 Use Update instead of UpdateAfterChildren (no need for the latter) 2021-02-02 15:57:17 +09:00
Dean Herbert
bb0753f68d Use a better method of cancelling user scroll 2021-02-02 15:44:03 +09:00
Dean Herbert
398ab9c2c2 Use UserTrackingScrollContainer instead 2021-02-02 15:29:38 +09:00
Dean Herbert
ed63b571d2 Add "new" override for ScrollToEnd To UserTrackingScrollContainer 2021-02-02 15:16:28 +09:00
Dean Herbert
1c645601d4 Fix typo in xmldoc 2021-02-02 14:14:31 +09:00
smoogipoo
0bce9d6833 Clear freemods when ruleset is changed 2021-02-02 13:54:58 +09:00
smoogipoo
4194c9308e Add xmldoc 2021-02-02 13:50:05 +09:00
smoogipoo
173e20938c Revert changes to ModDisplay 2021-02-02 13:49:58 +09:00
smoogipoo
53cfc3bc6e Make ModIcon a bit more safe 2021-02-02 13:42:45 +09:00
smoogipoo
1d3dff8c75 Refactor ModDisplay flag usage 2021-02-02 13:41:01 +09:00
smoogipoo
87f9e46b16 Add option to select all 2021-02-02 13:37:25 +09:00
smoogipoo
9c3c0895cf Hide customise button + multiplier label 2021-02-02 13:36:58 +09:00
Dean Herbert
0d5353008c Update sentry sdk usage 2021-02-02 13:34:37 +09:00
smoogipoo
7a14e14e67 Refactor condition
This won't make any noticeable difference, but is the more correct way
to handle MultiMod because flattening works through infinite recursion levels.
2021-02-02 12:54:26 +09:00
smoogipoo
b54f65c282 Exclude more mods from multiplayer 2021-02-02 12:48:15 +09:00
smoogipoo
4cf52077b6 Make checkbox also respond to all mods selected 2021-02-02 11:11:28 +09:00
dependabot-preview[bot]
216b0d89a7
Bump Sentry from 2.1.8 to 3.0.1
Bumps [Sentry](https://github.com/getsentry/sentry-dotnet) from 2.1.8 to 3.0.1.
- [Release notes](https://github.com/getsentry/sentry-dotnet/releases)
- [Changelog](https://github.com/getsentry/sentry-dotnet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-dotnet/compare/2.1.8...3.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-01 19:16:51 +00:00
Salman Ahmed
5c28c030c8 Unconditionally set "autoscroll" state 2021-02-01 22:08:57 +03:00
Salman Ahmed
15fcabb128
Add documentation to auto-scroll leniency
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-02-01 22:04:44 +03:00
dependabot-preview[bot]
286726feb0
Bump SharpCompress from 0.26.0 to 0.27.1
Bumps [SharpCompress](https://github.com/adamhathcock/sharpcompress) from 0.26.0 to 0.27.1.
- [Release notes](https://github.com/adamhathcock/sharpcompress/releases)
- [Commits](https://github.com/adamhathcock/sharpcompress/compare/0.26...0.27.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-01 17:44:30 +00:00
Dan Balasescu
c70dd2edfc
Merge pull request #11569 from peppy/fix-editor-new-beatmap-crash
Fix a potential crash when exiting the editor before a new beatmap is added to the database
2021-02-01 21:01:51 +09:00
Dean Herbert
425dc8a210 Ensure mods are always in a valid state at a game level 2021-02-01 20:20:19 +09:00
Dean Herbert
ead8262257 Add function to check for (and return) invalid mods 2021-02-01 20:20:10 +09:00
smoogipoo
97e3023df9 Renamespace/rename MatchSongSelect -> PlaylistsSongSelect 2021-02-01 20:16:58 +09:00
smoogipoo
97247b7a67 Fix unset key 2021-02-01 19:59:18 +09:00
smoogipoo
b9832c1b2d Add ModUtils class for validating mod usages 2021-02-01 19:37:24 +09:00
smoogipoo
e5ca9b1e50 Remove usage of removed method 2021-02-01 19:28:33 +09:00
smoogipoo
9c4c47599f Merge branch 'master' into freemods 2021-02-01 19:28:10 +09:00
smoogipoo
76ebb3811a Fix mod icons potentially having incorrect colours 2021-02-01 19:08:52 +09:00
smoogipoo
ee92ec0a5c Disallow local user mod customisation 2021-02-01 18:54:47 +09:00
smoogipoo
89a42d60fb General cleanup 2021-02-01 18:50:32 +09:00
smoogipoo
3a906a89fc Pin mod position in participant panels 2021-02-01 18:27:15 +09:00
smoogipoo
51cb288717 Reduce mod selection height 2021-02-01 18:18:59 +09:00
smoogipoo
e134af82f5 Stack freemods for the local user 2021-02-01 18:16:38 +09:00
smoogipoo
3e74f8fd9e Disable customisation of freemods, move stacking to property 2021-02-01 18:11:20 +09:00
smoogipoo
3cd30d284e Renamespace 2021-02-01 18:08:49 +09:00
smoogipoo
f538963607 Extra mods -> user mods 2021-02-01 17:57:32 +09:00
smoogipoo
ac2a995041 Add user and panel states 2021-02-01 17:54:56 +09:00
Dean Herbert
328bd191d4
Merge pull request #11561 from Mysfit/fix-storyboard-samples
Fix storyboard samples continuing to play when the beatmap is paused or intro is skipped
2021-02-01 17:48:08 +09:00
Dean Herbert
1d8de2f718 Rename class to better match purpose 2021-02-01 17:32:54 +09:00
Dean Herbert
fabb0eeb29 Add signalr messagepack key attribute 2021-02-01 17:27:14 +09:00
Dean Herbert
c73a05d0b5
Merge branch 'master' into multiplayer-beatmap-tracker 2021-02-01 17:24:24 +09:00
Salman Ahmed
49e62c3a4b
Apply documentation changes
Co-authored-by: Dean Herbert <pe@ppy.sh>
2021-02-01 11:02:08 +03:00
Dean Herbert
05982f42ab Add more comprehensive commenting and simplify base call logic
We can call the base method regardless for better safety. Worst case
it's just going to run `Stop()` twice anyway.
2021-02-01 16:43:54 +09:00
Dean Herbert
25614c7923
Merge pull request #11636 from bdach/fix-time-ramp-calculation
Fix incorrect speed change calculation in time ramp mods
2021-02-01 16:32:44 +09:00
smoogipoo
0909c73ead Once again disallow DT/etc as allowable mods 2021-02-01 15:07:56 +09:00
smoogipoo
b43e529964 Fix allowed mods being copied into required mods 2021-02-01 15:07:43 +09:00
smoogipoo
426569c2a9 Move common song select implementation for online play 2021-02-01 14:57:39 +09:00
smoogipoo
b846146f16 Update mods when resuming room subscreen 2021-02-01 13:58:44 +09:00
smoogipoo
4ae10b1e1c Add initial UI for selecting extra mods 2021-02-01 13:40:59 +09:00
smoogipoo
e02e3cf19a Disallow selecting DT/HT/WU/WD as allowable freemods 2021-02-01 13:35:48 +09:00
smoogipoo
797a810287 Allow unstacking mods 2021-02-01 13:24:56 +09:00
smoogipoo
230b347c1e Move ModSelectOverlay.IsValidMod to a property 2021-02-01 12:18:11 +09:00
Salman Ahmed
e806e5bcd1 Improve robustness of chat auto-scrolling logic
Fix auto-scrolling state changing by old messages removal logic
2021-01-31 23:45:49 +03:00
Bartłomiej Dach
a0de1cbfd0 Handle no-duration single-object edge case 2021-01-31 21:09:41 +01:00
Bartłomiej Dach
547b3d8bed Fix speed change calculation in time ramp mods 2021-01-31 20:34:56 +01:00
Bartłomiej Dach
81b052b866 Add failing test cases 2021-01-31 20:34:22 +01:00
Bartłomiej Dach
b9a49d5589 Coerce undefined animation loop types to Forever 2021-01-31 15:43:58 +01:00
Bartłomiej Dach
5f320cd426 Move lease check inside schedule
Theoretically safer due to avoiding a potential data race (change in
`leasedInProgress` between the time of the check and start of schedule
execution).
2021-01-30 21:03:09 +01:00
Bartłomiej Dach
96f56d1c94 Return tracker lease via UnbindAll()
Improves reliability by being fail-safe in case of multiple returns,
which can happen if the operation tracker is part of a screen being
exited (as is the case with its current primary usage in multiplayer).
2021-01-30 21:00:13 +01:00
Bartłomiej Dach
6a1387191a
Merge branch 'master' into fix-skin-dropdown-update-crash 2021-01-30 13:01:52 +01:00
Dean Herbert
16f3d1815f Fix SQLite exception thrown is a beatmap lookup is attempted without an OnlineBeatmapID present
It turns out the SQLite API isn't smart enough to handle nullables
directly, so we need to help it out a bit.

Stops the following from being thrown:

```
System.InvalidOperationException: Value must be set.
   at Microsoft.Data.Sqlite.SqliteParameter.Bind(sqlite3_stmt stmt) = 3
at
   at Microsoft.Data.Sqlite.SqliteParameterCollection.Bind(sqlite3_stmt
stmt) = 3 at
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior
behavior)
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader()
   at
osu.Game.Beatmaps.BeatmapManager.BeatmapOnlineLookupQueue.checkLocalCache(BeatmapSetInfo
set, BeatmapInfo beatmap) in
/Users/dean/Projects/osu/osu.Game/Beatmaps/BeatmapManager_BeatmapOnlineLookupQueue.cs:line
166 = 166
```
2021-01-29 19:53:57 +09:00
Dean Herbert
18e6afbec0 Ensure the item is present before trying to select it 2021-01-29 19:17:12 +09:00
Dean Herbert
1ce383fc20 Merge branch 'master' into fix-skin-dropdown-update-crash 2021-01-29 19:16:20 +09:00
smoogipoo
ab9a3e6dd0 Pass allowed mods and consume on server callback 2021-01-29 18:21:22 +09:00
Dean Herbert
a61444690e Remove all usage of CatchUnobservedExceptions
This should no longer be required with the recent framework side change
that stops a game from crashing on unobserved exceptions
(https://github.com/ppy/osu-framework/pull/4171).
2021-01-29 16:32:29 +09:00
Bartłomiej Dach
0f1d72e073 Merge branch 'master' into ios-signalr-use-json 2021-01-28 23:28:49 +01:00
Bartłomiej Dach
386f9f7842 Fix typos in comments 2021-01-28 22:36:07 +01:00
Bartłomiej Dach
8afd1bce21
Merge branch 'master' into fix-ios-beatmap-cache-lookups 2021-01-28 22:33:58 +01:00
Dean Herbert
34f8e4b672
Merge pull request #11613 from bdach/order-attribute-move
Remove game-local enum `[Order]` attribute
2021-01-29 00:41:43 +09:00
Dean Herbert
a616688a47 Update framework 2021-01-28 23:55:03 +09:00
Dean Herbert
c3d4044017 Avoid using Dapper to fix iOS compatibility of beatmap lookup cache 2021-01-28 16:53:56 +09:00
Dean Herbert
90a82f986b Fallback to using json for signalr communication if JIT is unavailable 2021-01-28 16:20:19 +09:00
Bartłomiej Dach
2c08ce05fa Remove game-local enum [Order] attribute
In favour of the newly-added framework one.
2021-01-27 22:29:52 +01:00
Salman Ahmed
63f057a525 Fix dotnet run/publish with runtime specified not working again 2021-01-27 20:45:52 +03:00
Dean Herbert
45395cb5e8 Update framework 2021-01-27 23:00:14 +09:00
smoogipoo
b79d1c7b81 Add mods to footer 2021-01-27 22:33:03 +09:00
smoogipoo
ff8ee379fb Fix possible nullref 2021-01-27 22:27:31 +09:00
smoogipoo
c408b46a21 Add AllowedMods to MultiplayerRoomSettings model 2021-01-27 22:25:14 +09:00
smoogipoo
4c256f1fb3 Actually populate the playlist item 2021-01-27 22:23:38 +09:00
smoogipoo
45e41aaeac Initial implementation of freemod selection overlay 2021-01-27 22:15:53 +09:00
smoogipoo
4019cc38e5 Allow footer buttons to be customised 2021-01-27 22:03:51 +09:00
smoogipoo
91d34d86f7 Abstractify ModSelectOverlay 2021-01-27 22:02:23 +09:00
smoogipoo
0ff300628e Fix type not being set 2021-01-27 20:07:22 +09:00
smoogipoo
f2fa51bf5e Make ModSections overrideable 2021-01-27 19:59:28 +09:00
smoogipoo
a800955bb1 Add mod validation utilities 2021-01-27 19:46:25 +09:00
Mysfit
ee89aa159c Removed blank line 2021-01-26 23:12:26 -05:00
Mysfit
690feb1c1e Allow looping storyboard samples to follow the base samplePlaybackDisabled event logic. 2021-01-26 23:08:51 -05:00
Dan Balasescu
7d06af916c
Merge branch 'master' into add-messagepack 2021-01-27 13:00:46 +09:00
Bartłomiej Dach
4d4d97661e Fix connection loop always getting a cancelled token 2021-01-26 21:26:50 +01:00
Dean Herbert
67014018fc
Merge pull request #11589 from MiraiSubject/osu-mod-icon-fallbacks
Allow tournament client to use default mod icons if custom icons are not present
2021-01-26 19:57:21 +09:00
Dean Herbert
a5f3418e56 Avoid tooltip display 2021-01-26 19:11:19 +09:00
Dean Herbert
b573c96c07 Move disconnect logic inside connection loop to ensure previous connection is disposed 2021-01-26 18:59:42 +09:00
Dean Herbert
fedcbf79fa
Merge pull request #11572 from EVAST9919/comment-pill
Make VotePill background transparent for own comments
2021-01-26 18:57:00 +09:00
Dean Herbert
15885c17af Remove unused usings 2021-01-26 18:07:43 +09:00
Dean Herbert
468dfbecbe
Merge branch 'master' into fix-beatmap-listing-2 2021-01-26 17:56:37 +09:00
Dean Herbert
fcf4d4ee18
Merge pull request #11604 from frenzibyte/fix-beatmap-listing
Fix beatmap listing placeholder potentially getting disposed
2021-01-26 17:56:19 +09:00
Dean Herbert
20cfa991bf Switch clients to MessagePack mode 2021-01-26 17:41:21 +09:00
Dean Herbert
9537090d28 Setup all spectator model classes for MessagePack 2021-01-26 16:39:35 +09:00
Dean Herbert
e4fc604163 Setup all multiplayer model classes for MessagePack support 2021-01-26 16:26:03 +09:00
Dean Herbert
60ae87ec38 Add MessagePack package 2021-01-26 16:25:49 +09:00
Salman Ahmed
93bb2611d6 Merge branch 'fix-beatmap-listing' into fix-beatmap-listing-2 2021-01-26 09:43:49 +03:00
Dean Herbert
ca0242debe Tidy up logic to correctly expire in cases where expiry is expected 2021-01-26 15:42:48 +09:00
Mysfit
3307e8357f DrawableStoryboardSample event method override for SamplePlaybackDisabledChanged 2021-01-26 00:36:32 -05:00
Salman Ahmed
0d8d0d6852 Apply alternative way of fixing 2021-01-26 01:03:29 +03:00
Salman Ahmed
c317d60169 Add offline test scene for beatmap listing overlay 2021-01-26 00:03:20 +03:00
Salman Ahmed
75d6dbdbb7 Fix beatmap listing placeholder potentially getting disposed 2021-01-26 00:03:20 +03:00
Salman Ahmed
9efce5717f Fix beatmap listing placeholder disappearing on second time display 2021-01-26 00:03:20 +03:00
Dan Balasescu
30f7e4c794
Merge branch 'master' into fix-timeline-parts-working-beatmap 2021-01-25 21:22:45 +09:00
Dean Herbert
b489e92c9e Fix TimelineParts not using correct beatmap 2021-01-25 18:44:36 +09:00
Dean Herbert
4ac362ee1a Move cloning local to editor 2021-01-25 18:29:00 +09:00
Dean Herbert
f054b38105 Merge branch 'master' into revert-beatmap-controlpointinfo-cloning 2021-01-25 18:25:53 +09:00
Dan Balasescu
803ada42ea
Merge pull request #11595 from peppy/leaderboard-bind-handlers-later
Bind MultiplayerGameplayLeaderboard to player updates later in load process
2021-01-25 18:18:54 +09:00
Dan Balasescu
c0ea610e2e
Merge pull request #11594 from peppy/fix-mod-select-appear-animation
Fix mod select footer not animating correctly on first reveal
2021-01-25 18:16:37 +09:00
Dean Herbert
91ce3df3a9 Bind MultiplayerGameplayLeaderboard to player updates later in load process 2021-01-25 17:44:01 +09:00
Dean Herbert
0f09a7feb9 Avoid semaphore potentially getting held forever 2021-01-25 17:17:04 +09:00