Dean Herbert
ab00a15555
Add JsonConstructor specs to allow for correct deserialization of readonly fields
2020-12-09 15:05:57 +09:00
Dean Herbert
bef52af1da
Move client state class to server implementation
...
Never used by client.
2020-12-09 15:05:33 +09:00
Dean Herbert
e09715d71e
Add ToString implementation to MultiplayerRoom for easier debug
2020-12-09 14:47:26 +09:00
Dean Herbert
c92c2cbfc0
Change exceptions which should be returned to the user to HubException type
...
See
https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.signalr.hubexception?view=aspnetcore-5.0 .
2020-12-09 14:46:44 +09:00
Dean Herbert
48129c52d6
Change get-only property for now
2020-12-09 12:38:24 +09:00
Dean Herbert
427d41bab5
Add missing licence headers
2020-12-09 12:17:37 +09:00
Dean Herbert
0eb5b16454
Remove Empty() implementation for RoomSettings until otherwise necessary
2020-12-09 12:12:03 +09:00
Dean Herbert
1013749a83
Change user id type to int
2020-12-09 12:10:47 +09:00
Dean Herbert
fd4fa963ac
Standardise exception naming
2020-12-09 12:07:19 +09:00
Dean Herbert
2046cbe2d9
Add missing exceptions to server xmldoc
2020-12-09 12:05:50 +09:00
Dean Herbert
ff5150a14d
Fix typo in IMultiplayerClient xmldoc
2020-12-09 12:03:52 +09:00
Lucas A
aa7d22460d
Override Import() instead.
2020-12-08 19:46:55 +01:00
Lucas A
d8838ddbfb
Remove duplicated overload.
2020-12-08 18:48:50 +01:00
Lucas A
0610adca0a
Fix merge conflicts.
2020-12-08 18:03:58 +01:00
Dean Herbert
02f5fda330
Add missing final newline in file
2020-12-08 21:15:10 +09:00
Dean Herbert
aa68ae4ff2
Change locking mechanism for multiplayer rooms to use using-disposal pattern
...
Was required to lock over `await` calls server-side.
2020-12-08 20:43:18 +09:00
Dean Herbert
d76fabedf9
Add note about LoadRequested only being sent to a subset of room users
2020-12-08 20:43:18 +09:00
Dean Herbert
021a116093
Add extra xmldoc covering the fact that MatchStarted is received by all users
2020-12-08 20:43:18 +09:00
Dean Herbert
df908f90b2
Add exception to be thrown when an operation is requested requiring host when not host
2020-12-08 20:43:18 +09:00
Dean Herbert
2433838d58
Add methods covering match start / end
2020-12-08 20:43:18 +09:00
Dean Herbert
2aedd82e27
Document room states and remove unnecessary WaitingForResults state
2020-12-08 20:43:18 +09:00
Dean Herbert
147db0abe2
Fix client naming and xmldoc
2020-12-08 20:43:18 +09:00
Dean Herbert
60550b73f7
Add missing states and xmldoc for all states' purposes
2020-12-08 20:43:18 +09:00
Dean Herbert
8eccfa476c
Add loading states
2020-12-08 20:43:18 +09:00
Dean Herbert
345352be67
Mark PerformUpdate as an instant handle method (doesn't really help with anything)
2020-12-08 20:43:18 +09:00
Dean Herbert
11a7057289
Add notification flow for user state changes in room
2020-12-08 20:43:18 +09:00
Dean Herbert
dbe048cdc6
Add client method for notifying about host changes
2020-12-08 20:43:18 +09:00
Dean Herbert
a4ca8d2998
Ensure multiplayer rooms are instantiated with a room ID
2020-12-08 20:43:18 +09:00
Dean Herbert
71de7ce0a3
Add missing methods to server interface
2020-12-08 20:43:18 +09:00
Dean Herbert
5f5c0d5533
Return room model when joining
2020-12-08 20:43:18 +09:00
Dean Herbert
5d2ca7fc39
Make remaining model classes nullable and serializable
2020-12-08 20:43:18 +09:00
Dean Herbert
2365d65610
Move business logic out of MultiplayerRoom
2020-12-08 20:43:18 +09:00
Dean Herbert
42b1e9d6a4
Add xmldoc coverage of MultiplayerRoom
2020-12-08 20:43:18 +09:00
Dean Herbert
4f449ba821
Rename idle state
2020-12-08 20:43:18 +09:00
Dean Herbert
5a231cef15
Add thread safety for external operations on MultiplayerRoom
2020-12-08 20:43:18 +09:00
Dean Herbert
327799c263
Rename multiplayer server file to match class
2020-12-08 20:43:18 +09:00
Dean Herbert
b3bdaaa7b5
Move exceptions to common code
2020-12-08 20:43:18 +09:00
Dean Herbert
e193f8214d
Remove unnecessary room id from leave room request
2020-12-08 20:43:18 +09:00
Dean Herbert
882ace6efe
Make MultiplayerRoomUser equatable
2020-12-08 20:43:18 +09:00
Dean Herbert
baf16cfbc3
Add room settings related model and event flow
2020-12-08 20:43:18 +09:00
Dean Herbert
6e5846d91b
Fix serialization failure due to missing set
2020-12-08 20:43:18 +09:00
Dean Herbert
ff52a5ddc6
Add callbacks for join/leave events to notify other room occupants
2020-12-08 20:43:18 +09:00
Dean Herbert
ca86524c92
Add locking on join/leave operations
2020-12-08 20:43:18 +09:00
Dean Herbert
fdf025942b
Ensure room is locked when mutating users
2020-12-08 20:43:18 +09:00
Dean Herbert
8ebdb5723b
Add models for users and rooms
2020-12-08 20:43:18 +09:00
Dean Herbert
f4ccbbd092
Add basic server implementation
2020-12-08 20:43:18 +09:00
Dean Herbert
daed27460c
Add simple user state class
2020-12-08 20:43:18 +09:00
Dean Herbert
be4a668e0b
Add basic structure for multiplayer state and model components
2020-12-08 20:43:18 +09:00
Dan Balasescu
f9afb7f335
Merge branch 'master' into archive-model-manager-stream-import-support
2020-12-08 16:11:11 +09:00
Dean Herbert
58d7e41978
Enable nullable on ImportTask
2020-12-08 12:52:34 +09:00
Dean Herbert
77279a7e56
Update stale xmldoc on import method
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-12-08 12:48:59 +09:00
smoogipoo
10c1823534
Remove now unused files
2020-12-07 22:07:11 +09:00
smoogipoo
34f3672750
Make ctor protected
2020-12-07 22:04:41 +09:00
smoogipoo
f599427080
Implement TimeshiftFilterControl
2020-12-07 22:04:35 +09:00
smoogipoo
1b3836aeef
Re-implement multiplayer FilterControl
2020-12-07 21:59:26 +09:00
smoogipoo
5be0672fe9
Split out enums
2020-12-07 21:54:42 +09:00
smoogipoo
fa65874763
Limit room name to 100 characters
2020-12-07 21:09:38 +09:00
Dan Balasescu
87da6b3270
Merge pull request #11113 from ekrctb/fix-scrolling-wrong-layout-one-frame
...
Fix scrolling hit object displayed in wrong position for one frame
2020-12-07 18:48:24 +09:00
Dan Balasescu
cdc7ef8c15
Merge pull request #10925 from peppy/fix-multiple-playback-on-skin-change
...
Fix skinnable sounds playing more than once on skin change
2020-12-07 18:45:19 +09:00
Dean Herbert
eb38bc4b4c
Add the ability to import into ArchiveModelManagers from a stream
2020-12-07 18:09:18 +09:00
ekrctb
a548269c34
Fix scrolling hit object displayed in wrong position for one frame
2020-12-07 17:26:12 +09:00
Dean Herbert
a5e2509d52
Merge pull request #11105 from Joehuu/mod-settings-fade-in/out
...
Add fade in/out animations to mod settings container
2020-12-07 17:12:29 +09:00
Dean Herbert
454e94574c
Add corner rounding and positional transform
2020-12-07 16:43:07 +09:00
Dean Herbert
7253866e17
Move customisation panel to be in same area as main content
2020-12-07 16:42:55 +09:00
ekrctb
f4eb17d398
Update osu.Game/Overlays/Settings/Sections/Input/MouseSettings.cs
...
Set mouse confine mode at initialization
Co-authored-by: Dean Herbert <pe@ppy.sh>
2020-12-07 16:09:14 +09:00
ekrctb
2469608c10
Fix possible null reference due to bindable change before variable is initialized
2020-12-07 15:19:18 +09:00
Joehu
0f9b38da08
Add fade in/out animations to mod settings container
2020-12-06 11:35:14 -08:00
Bartłomiej Dach
f6d15b9757
Invert back-to-front logic
2020-12-06 18:59:38 +01:00
Lucas A
2ea8b105d5
Apply review suggestions
2020-12-06 18:46:30 +01:00
Bartłomiej Dach
fcd9483ffa
Merge branch 'master' into fix-multiple-playback-on-skin-change
2020-12-06 18:21:24 +01:00
Bartłomiej Dach
71edada623
Hide confine setting entirely in fullscreen
2020-12-05 22:15:41 +01:00
Bartłomiej Dach
08f23cc424
Revert leasing logic
2020-12-05 22:15:41 +01:00
Bartłomiej Dach
0a745144e3
Disable confine mode dropdown when full-screen
...
After hard-locking the mouse confine mode to `Always` in full-screen to
prevent confine issues from popping up, the confine mode dropdown in
settings had confusing UX due to seemingly having no effect when
full-screen.
2020-12-05 13:49:09 +01:00
Lucas A
dd21de0cd5
Fix code inspections.
2020-12-04 22:07:45 +01:00
Lucas A
825120fed3
Display import state in a notification.
2020-12-04 18:49:01 +01:00
PercyDan
60d8102a77
Merge branch 'master' into import-screen
2020-12-04 21:20:14 +08:00
Dean Herbert
9064ca9064
Merge pull request #11066 from ekrctb/fix-sample-expire
...
Fix DrawableHitObjects potentially expiring before their hit samples finish playback
2020-12-04 21:52:36 +09:00
MATRIX-feather
7104230ae3
Add "onCurrentDirectoryChanged"
2020-12-04 19:52:25 +08:00
Dean Herbert
7c0edb796e
Always confine mouse to screen when running fullscreen
2020-12-04 20:49:18 +09:00
Joehu
b8c284b34f
Fix one more key binding string not being sentence cased
2020-12-04 00:51:46 -08:00
Dean Herbert
a0f92628ac
Merge branch 'master' into fix-sample-expire
2020-12-04 13:49:08 +09:00
Dean Herbert
48c42e4247
Merge pull request #11083 from LittleEndu/recommend-if-filtered
...
Select recommended beatmap if last selection is filtered
2020-12-04 13:22:34 +09:00
Dean Herbert
5ded4b9faa
Merge branch 'master' into dho-remove-onparentreceived
2020-12-04 11:04:56 +09:00
Bartłomiej Dach
15d9147edd
Ensure equality member consistency for SampleInfo
...
The previous implementation of `SampleInfo`'s equality members was not
completely correct in its treatment of the `sampleNames` array. While
`Equals()` compared the values of `sampleNames` using `SequenceEqual()`,
therefore performing a structural check that inspects the contents of
both arrays, `GetHashCode()` used `HashCode.Combine()` directly on the
arrays, therefore operating on reference equality. This could cause the
pooling mechanism of samples to fail, as pointed out in #11079 .
To resolve, change the `GetHashCode()` implementation such that it also
considers the contents of the array rather than just the reference to
the array itself. This is achieved by leveraging
`StructuralEqualityComparer`.
Additionally, as a bonus, an array sort was added to the constructor of
`SampleInfo`. This is intended to be a "canonicalisation" processing
step for the array of sample names. Thanks to that sort, two instances
of `SampleInfo` that have the same sample names but permutated will also
turn out to be equal and have the same hash codes, given the
implementation of both equality members. This gives `SampleInfo`
set-like semantics.
2020-12-03 23:25:53 +01:00
Endrik Tombak
c25e2c3dd5
Select recommended beatmap if last selection is filtered
2020-12-03 23:13:14 +02:00
MATRIX-feather
fb080284d2
Simplify UI implementation
2020-12-04 04:10:08 +08:00
MATRIX-feather
85de1a1d20
Animation changes
2020-12-04 03:19:20 +08:00
MATRIX-feather
abe5a67bc5
Simplify implementation
2020-12-04 03:14:31 +08:00
Dan Balasescu
1d92800761
Merge pull request #11068 from peppy/fix-carousel-edge-masking
...
Fix beatmap carousel panels getting masked away when out of scroll bounds
2020-12-03 20:40:44 +09:00
smoogipoo
0bdf99b97a
Remove OnParentReceived()
2020-12-03 20:08:42 +09:00
smoogipoo
73e99718bc
Change order of OnParentReceived()
2020-12-03 20:06:26 +09:00
Dean Herbert
37d550f42a
Merge pull request #11035 from smoogipoo/add-playlist-length
2020-12-03 18:39:54 +09:00
Dean Herbert
1c15c4bcee
Merge pull request #11072 from peppy/update-framework
2020-12-03 18:32:45 +09:00
smoogipoo
8245bb85dc
Invoke on initial bind
2020-12-03 18:06:55 +09:00
smoogipoo
62b1e37f73
Use async overloads
2020-12-03 18:04:53 +09:00
smoogipoo
3e62da119e
Add to inspector also
2020-12-03 17:59:39 +09:00
Dean Herbert
c64343c7d7
Update framework
2020-12-03 17:42:41 +09:00
Dean Herbert
d7cfaa38f1
Merge branch 'master' into hit-sample-pooling
2020-12-03 17:08:13 +09:00
Dean Herbert
3550e5b30f
Add length display to room screen as well
2020-12-03 16:42:06 +09:00
smoogipoo
31f7f7072d
Fix song select panels not loading if partially offscreen
2020-12-03 15:13:20 +09:00
Dean Herbert
897f593b37
Fix beatmap carousel panels getting masked away when out of scroll bounds
...
Regressed in https://github.com/ppy/osu/pull/10973 due to removed masking specification.
Closes #11067 .
2020-12-03 13:26:28 +09:00
ekrctb
6c46046c24
Fix DHO expires while hit sound is playing
2020-12-03 12:32:49 +09:00
Dean Herbert
a5bb194cb8
Merge pull request #11060 from FamousPig/fix-raw-input
...
Fix MouseHandler not being ignored when Raw Input is enabled
2020-12-03 12:15:51 +09:00
Bartłomiej Dach
7fd385efe6
Remove unused using directive
2020-12-02 20:01:58 +01:00
Leon Gebler
a2a10d4e13
Don't use nameof(MouseHandler)
2020-12-02 19:45:59 +01:00
Leon Gebler
bbde1f6b9c
Fix MouseHandler not being ignored when raw input is enabled
2020-12-02 18:56:59 +01:00
Bartłomiej Dach
2b828faecb
Merge branch 'master' into update-resources
2020-12-02 18:07:46 +01:00
Lucas A
827e957568
Allow importing osz files / osk files from Downloads directory.
2020-12-02 18:03:49 +01:00
smoogipoo
d5dccbc3d7
Fix spectator not being thread-safe
2020-12-02 19:13:09 +09:00
Dean Herbert
32188418f4
Update resources
2020-12-02 15:28:39 +09:00
Dan Balasescu
297283491a
Merge pull request #11031 from peppy/editor-fix-beat-snapping-new-beatmap
...
Fix editor beat snapping not working correctly when starting with a new beatmap
2020-12-02 15:17:09 +09:00
smoogipoo
e831c797f3
Merge branch 'master' into hit-sample-pooling
2020-12-02 14:45:24 +09:00
Dean Herbert
71a121389b
Merge pull request #11033 from smoogipoo/immutable-hit-samples
...
Make HitSampleInfo immutable
2020-12-02 14:44:26 +09:00
Dan Balasescu
bd4d4c5355
Merge pull request #10983 from ekrctb/pseudo-random
...
Add `StatelessRNG` to be used for randomly-looking visual elements
2020-12-02 14:42:22 +09:00
Dean Herbert
d6e0dc2216
Merge branch 'master' into editor-fix-beat-snapping-new-beatmap
2020-12-02 14:37:00 +09:00
Dean Herbert
e84dab8589
Move new beatmap construction above beat divisor binding
2020-12-02 14:36:52 +09:00
Dan Balasescu
2e0fdf9bca
Merge pull request #11011 from ekrctb/catch-pooling-initial
...
Initial implementation of hit object pooling in osu!catch ruleset
2020-12-02 13:02:22 +09:00
smoogipoo
2de3e655e0
Rename NextUlong -> NextULong
2020-12-02 12:59:45 +09:00
Dean Herbert
0cd404b6d3
Merge pull request #11051 from smoogipoo/update-dependencies
...
Update dependencies
2020-12-02 12:56:29 +09:00
Dan Balasescu
878ded4dd6
Merge pull request #11032 from peppy/editor-fix-ticks-updating-after-timing-change
...
Fix timeline not updating ticks correctly after arbitrary timing control point changes
2020-12-02 10:58:44 +09:00
smoogipoo
2150cf1c52
Rename parameters
2020-12-02 10:55:48 +09:00
smoogipoo
e19ef9627a
Fix potentially incorrect override
2020-12-02 10:54:26 +09:00
smoogipoo
9ac310c1c4
Merge remote-tracking branch 'upstream/dependabot/nuget/Dapper-2.0.78' into update-dependencies
2020-12-02 10:37:40 +09:00
smoogipoo
4a5b707104
Merge remote-tracking branch 'upstream/dependabot/nuget/Sentry-2.1.8' into update-dependencies
2020-12-02 10:37:21 +09:00
smoogipoo
728574f0c7
Merge remote-tracking branch 'upstream/dependabot/nuget/System.ComponentModel.Annotations-5.0.0' into update-dependencies
2020-12-02 10:37:19 +09:00
Dan Balasescu
9d71095a2b
Merge pull request #11004 from Yoyolick/master
...
Add ability to customise key binding for in-game overlay toggle
2020-12-02 10:34:24 +09:00
dependabot-preview[bot]
989ddd40b4
Bump System.ComponentModel.Annotations from 4.7.0 to 5.0.0
...
Bumps [System.ComponentModel.Annotations](https://github.com/dotnet/runtime ) from 4.7.0 to 5.0.0.
- [Release notes](https://github.com/dotnet/runtime/releases )
- [Commits](https://github.com/dotnet/runtime/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-02 00:56:13 +00:00
dependabot-preview[bot]
249793d10a
Bump Sentry from 2.1.6 to 2.1.8
...
Bumps [Sentry](https://github.com/getsentry/sentry-dotnet ) from 2.1.6 to 2.1.8.
- [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.6...2.1.8 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-02 00:56:09 +00:00
dependabot-preview[bot]
64dfa9f928
Bump Dapper from 2.0.35 to 2.0.78
...
Bumps [Dapper](https://github.com/StackExchange/Dapper ) from 2.0.35 to 2.0.78.
- [Release notes](https://github.com/StackExchange/Dapper/releases )
- [Commits](https://github.com/StackExchange/Dapper/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-02 00:56:06 +00:00
Pennek
477de1bab0
change min/max values
2020-12-02 01:11:24 +01:00
Lucas A
005fa3a7ee
Add ability to import files from a stream.
2020-12-01 20:28:15 +01:00
Bartłomiej Dach
94a8784e04
Allow editor change handler to be null
2020-12-01 20:08:31 +01:00
smoogipoo
598572195c
Add playlist length to match settings overlay
2020-12-01 19:57:25 +09:00
Dean Herbert
76035718bb
Merge pull request #11034 from peppy/update-framework
...
Update framework (with SDL2 default)
2020-12-01 18:32:10 +09:00
smoogipoo
2840405112
Volume should be 0 by default
2020-12-01 18:14:14 +09:00
smoogipoo
6b4a6c12c8
Fix bad equality comparer implementations
2020-12-01 18:13:53 +09:00
smoogipoo
c61f00525d
Ignore lookup types for JSON serialisation
2020-12-01 18:13:53 +09:00
smoogipoo
17560aeeea
Volume should be 0 by default
2020-12-01 18:09:28 +09:00
smoogipoo
dda4d76d72
Fix bad equality comparer implementations
2020-12-01 18:09:21 +09:00
smoogipoo
b780fdbe4c
Ignore lookup types for JSON serialisation
2020-12-01 18:08:59 +09:00
Dan Balasescu
1cea39ed55
Merge pull request #11017 from peppy/fix-song-select-temporary-selection-loss
...
Fix current beatmap temporarily becoming empty during ruleset change
2020-12-01 17:55:08 +09:00
Dean Herbert
285e62be9a
Bring code in line with SDL2 defaults
2020-12-01 17:47:07 +09:00
Dean Herbert
d5a60ed335
Update framework
2020-12-01 17:30:42 +09:00
smoogipoo
4900589af4
Remove unused method
2020-12-01 17:02:45 +09:00
Dean Herbert
190c6ef45e
Fix timeline not updating ticks correctly after arbitrary timing control point changes
2020-12-01 16:44:08 +09:00
Dean Herbert
2b268ee012
Fix editor beat snapping not working correctly when starting with a new beatmap
2020-12-01 16:16:26 +09:00
smoogipoo
2bb7484608
Merge branch 'immutable-hit-samples' into hit-sample-pooling
2020-12-01 16:05:28 +09:00
smoogipoo
199710b941
Implement equality comparers for HitSampleInfo
2020-12-01 16:04:08 +09:00
smoogipoo
5760e1c1fc
Make HitSampleInfo immutable
2020-12-01 15:37:51 +09:00
Dean Herbert
a147b7186d
Remove unnecessary call to updateVisibility
2020-12-01 14:01:34 +09:00