smoogipoo
|
a59124dd93
|
Make room duration/endsat nullable
|
2020-12-21 16:18:39 +09:00 |
|
Bartłomiej Dach
|
bcd140b8df
|
Merge branch 'master' into realtime-ready-button
|
2020-12-20 18:20:57 +01:00 |
|
smoogipoo
|
b31f4e9e85
|
Merge branch 'stateful-multiplayer-client' into realtime-multiplayer-2
|
2020-12-21 00:41:42 +09:00 |
|
smoogipoo
|
a893360c0e
|
Reword comment
|
2020-12-21 00:41:14 +09:00 |
|
smoogipoo
|
536df074a9
|
Don't attempt to re-map existing beatmap/ruleset (for testing)
|
2020-12-21 00:02:49 +09:00 |
|
smoogipoo
|
1d7d8bd6fc
|
Hook up a realtime multiplayer client
|
2020-12-20 23:26:31 +09:00 |
|
smoogipoo
|
fdfe3c2b36
|
Merge branch 'realtime-ready-button' into realtime-multiplayer-2
|
2020-12-20 23:11:06 +09:00 |
|
smoogipoo
|
4ada0e17c0
|
Merge branch 'abstract-room-manager' into stateful-multiplayer-client
|
2020-12-20 23:10:05 +09:00 |
|
smoogipoo
|
9d13a5b06a
|
Fix potential cross-thread list access
|
2020-12-20 22:53:07 +09:00 |
|
smoogipoo
|
f876a329b1
|
Fire-and-forget leave-room request
|
2020-12-20 22:51:33 +09:00 |
|
smoogipoo
|
45107280a0
|
Make TimeBetweenPolls into a bindable
|
2020-12-20 18:34:54 +09:00 |
|
smoogipoo
|
0cf078562d
|
Split method up and remove nested scheduling
|
2020-12-20 18:30:00 +09:00 |
|
smoogipoo
|
508f73d949
|
Fix up comment
|
2020-12-20 18:25:54 +09:00 |
|
smoogipoo
|
8b1f5ff492
|
Only instantiate ruleset once
|
2020-12-20 18:25:23 +09:00 |
|
smoogipoo
|
724e4b83fe
|
Fix nullability and remove early check
|
2020-12-20 18:21:03 +09:00 |
|
Bartłomiej Dach
|
d392e0f27e
|
Extract shared rank-formatting helper
|
2020-12-19 15:04:22 +01:00 |
|
smoogipoo
|
2fc5561b7e
|
Add handling for GetRoomRequest()
|
2020-12-19 01:22:52 +09:00 |
|
smoogipoo
|
c6555c53cc
|
Add a testable realtime room manager
|
2020-12-19 01:17:24 +09:00 |
|
smoogipoo
|
9ceb090f04
|
Fix ambiguous reference
|
2020-12-19 00:53:06 +09:00 |
|
smoogipoo
|
ab9158c306
|
Add a stateful multiplayer client
|
2020-12-19 00:53:06 +09:00 |
|
Dean Herbert
|
9618f512d7
|
Merge pull request #11190 from frenzibyte/api-friends-list
Add global friends list to API providers
|
2020-12-18 16:44:29 +09:00 |
|
Dean Herbert
|
a749dca20b
|
Remove left over using statement
|
2020-12-18 15:43:15 +09:00 |
|
Dean Herbert
|
99b670627a
|
Remove unused placeholder friend in DummyAPI implementation
|
2020-12-18 15:25:12 +09:00 |
|
Dean Herbert
|
57c5d45c02
|
Standardise and extract common connection failure handling logic
|
2020-12-18 15:19:38 +09:00 |
|
Dean Herbert
|
d36169f697
|
Move friend request to a more understandable place in connection flow
|
2020-12-18 15:16:48 +09:00 |
|
Dean Herbert
|
206bf3713e
|
Make IAPIProvider read-only bindables into IBindables
|
2020-12-18 15:16:36 +09:00 |
|
Salman Ahmed
|
8a01e567a1
|
Fix API potentially getting stuck in connecting state
|
2020-12-18 03:06:28 +03:00 |
|
Bartłomiej Dach
|
569caa9500
|
Merge branch 'master' into add-bundle-header
|
2020-12-17 20:55:24 +01:00 |
|
Dean Herbert
|
bb586f3175
|
Merge pull request #11193 from smoogipoo/add-multiplayer-beatmap-checksum
Add beatmap checksum to MultiplayerRoomSettings
|
2020-12-17 23:55:38 +09:00 |
|
smoogipoo
|
c15bb6b928
|
Add beatmap hash to MultiplayerRoomSettings
|
2020-12-17 22:04:24 +09:00 |
|
Salman Ahmed
|
5d180753fa
|
Complete connection once friends list is succesfully fetched
|
2020-12-17 13:44:30 +03:00 |
|
Salman Ahmed
|
78ce6f1cd2
|
Add friends list to API providers
|
2020-12-17 13:30:55 +03:00 |
|
Dean Herbert
|
fe76a00621
|
Merge branch 'master' into add-bundle-header
|
2020-12-17 16:13:40 +09:00 |
|
smoogipoo
|
9571157841
|
Use ints for userid parameters
|
2020-12-16 20:04:36 +09:00 |
|
Dean Herbert
|
72d296f412
|
Add received timestamp and basic xmldoc for header class
|
2020-12-16 16:19:53 +09:00 |
|
Dean Herbert
|
84a0770789
|
Change frame header to use dictionary for compatibility
|
2020-12-16 15:35:46 +09:00 |
|
Dean Herbert
|
88b3bf06e8
|
Merge branch 'master' into add-bundle-header
|
2020-12-16 13:40:15 +09:00 |
|
Dean Herbert
|
ef57ae6f40
|
Merge pull request #11127 from peppy/realtime-multiplayer
Add client-side models and interfaces required for multiplayer
|
2020-12-16 13:22:01 +09:00 |
|
smoogipoo
|
31fe28b8b3
|
Remove IStatefulMultiplayerClient
|
2020-12-16 12:32:53 +09:00 |
|
smoogipoo
|
4cd290af11
|
Split server interfaces
|
2020-12-16 12:31:11 +09:00 |
|
Dean Herbert
|
0d9c1cb5d3
|
Fix issues with data serialisation
|
2020-12-14 18:41:24 +09:00 |
|
Dean Herbert
|
64a2526678
|
Add header class and basic flow for propagating data updates
|
2020-12-14 17:33:23 +09:00 |
|
Dean Herbert
|
aedb18b9f2
|
Make RulesetID non-nullable
|
2020-12-11 18:14:33 +09:00 |
|
Dean Herbert
|
d3b2e2b36e
|
Change locking method to better allow cross-thread locking
|
2020-12-11 14:43:39 +09:00 |
|
Dean Herbert
|
719b08b22f
|
Make room setting's BeatmapID non-nullable
|
2020-12-11 14:11:42 +09:00 |
|
Dean Herbert
|
c1c0b9a9db
|
Add realtime to room categories
|
2020-12-11 14:10:45 +09:00 |
|
Dean Herbert
|
3fb41a20b5
|
Add room name to settings
|
2020-12-11 13:27:52 +09:00 |
|
Dean Herbert
|
c8e3c7e77b
|
Add stateful client interface
|
2020-12-09 17:45:07 +09:00 |
|
Dean Herbert
|
bb97eae8b1
|
Update outdated exception references in xmldoc
|
2020-12-09 16:02:37 +09:00 |
|
Dean Herbert
|
1e08b298b8
|
Remove unnecessary exception type
|
2020-12-09 16:01:09 +09:00 |
|
Dean Herbert
|
578e5cb92e
|
Also make InvalidStateException serializable
|
2020-12-09 15:59:13 +09:00 |
|
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 |
|
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 |
|
smoogipoo
|
f599427080
|
Implement TimeshiftFilterControl
|
2020-12-07 22:04:35 +09:00 |
|
Endrik Tombak
|
cbbcf36eaa
|
Merge branch 'master' of https://github.com/ppy/osu into present-recommended
|
2020-12-03 19:38:32 +02:00 |
|
Dean Herbert
|
37d550f42a
|
Merge pull request #11035 from smoogipoo/add-playlist-length
|
2020-12-03 18:39:54 +09:00 |
|
Dean Herbert
|
3550e5b30f
|
Add length display to room screen as well
|
2020-12-03 16:42:06 +09:00 |
|
smoogipoo
|
d5dccbc3d7
|
Fix spectator not being thread-safe
|
2020-12-02 19:13:09 +09:00 |
|
Endrik Tombak
|
944f3480c2
|
Merge branch 'master' of https://github.com/ppy/osu into present-recommended
Conflicts:
osu.Game/OsuGameBase.cs
osu.Game/Screens/Select/DifficultyRecommender.cs
osu.Game/Screens/Select/SongSelect.cs
|
2020-11-21 14:01:01 +02:00 |
|
Bartłomiej Dach
|
610ed99ae3
|
Add null checks to unguarded resolved-as-null fields
|
2020-11-14 14:52:58 +01:00 |
|
Dean Herbert
|
cfb42037cf
|
Refactor request string logic to avoid linq usage
|
2020-11-09 12:23:29 +09:00 |
|
Dean Herbert
|
893979b3de
|
Add exception if attempting to exceed the maximum supported lookup size for one request
|
2020-11-06 17:00:29 +09:00 |
|
Dean Herbert
|
db039da668
|
Add and consume multi-lookup API endpoint
|
2020-11-06 17:00:29 +09:00 |
|
Dean Herbert
|
aa252d562a
|
Rename top user request to make way for new type
|
2020-11-06 17:00:29 +09:00 |
|
Dean Herbert
|
1e1569eb53
|
Use int instead of long for user_id fields for now
|
2020-11-06 12:59:46 +09:00 |
|
Dean Herbert
|
a3c67aabe2
|
Merge branch 'master' into spectator-listing
|
2020-11-03 19:56:25 +09:00 |
|
Dean Herbert
|
ed30756c19
|
Add test coverage for new display (and remove live version for now)
|
2020-11-02 20:41:14 +09:00 |
|
Dean Herbert
|
a89aeaf1ce
|
Add very basic connection status logging for spectator streaming client
|
2020-11-02 17:32:10 +09:00 |
|
Bartłomiej Dach
|
23d9fa4dfa
|
Merge branch 'master' into spectator-replay-watcher
|
2020-11-01 15:53:37 +01:00 |
|
Bartłomiej Dach
|
5903c3be90
|
Fix inaccurate xmldoc
|
2020-11-01 14:39:10 +01:00 |
|
Dean Herbert
|
1db8dfd03e
|
Merge branch 'master' into seasonal-backgrounds
|
2020-10-30 22:53:51 +09:00 |
|
Max Hübner
|
f27ce7521d
|
Make "Sometimes" setting depend on season end date, rather than chance
|
2020-10-30 10:27:43 +01:00 |
|
Dean Herbert
|
87be7d162b
|
Merge branch 'master' into spectator-replay-watcher
|
2020-10-30 00:25:17 +09:00 |
|
Bartłomiej Dach
|
fa53549ed2
|
Mark request fields as possibly-null
|
2020-10-28 22:57:03 +01:00 |
|
Andrei Zavatski
|
5c2c5f2000
|
Use existing ScoreRank for rank filter
|
2020-10-28 23:35:08 +03:00 |
|
Andrei Zavatski
|
6fd3686c4d
|
Use IReadOnlyCollection instead of List in SearchBeatmapSetsRequest
|
2020-10-28 02:36:35 +03:00 |
|
Andrei Zavatski
|
c4efceceb2
|
Use char instead of sting for request parameter creation
|
2020-10-27 23:57:11 +03:00 |
|
Andrei Zavatski
|
008d1d697c
|
Implement filtering by rank achieved
|
2020-10-27 23:14:48 +03:00 |
|
Andrei Zavatski
|
1710b396e7
|
Implement BeatmapSearchMultipleSelectionFilterRow
|
2020-10-27 22:27:29 +03:00 |
|
Andrei Zavatski
|
1b40b56d41
|
Add ability to search by play criteria
|
2020-10-27 21:30:53 +03:00 |
|
Andrei Zavatski
|
742a96484b
|
Add ability to set extra parameters to SearchBeatmapSetsRequest
|
2020-10-27 20:13:18 +03:00 |
|
Dean Herbert
|
c1e7cd6e47
|
Stop replay playback when frames are starved
|
2020-10-27 18:58:37 +09:00 |
|
Dean Herbert
|
154ccf1b49
|
Expose events from streaming client
|
2020-10-27 18:58:37 +09:00 |
|
Dean Herbert
|
68719bb23d
|
Rename other variables to match
|
2020-10-27 10:59:24 +09:00 |
|
Bartłomiej Dach
|
7392876b5f
|
Fix mania crashing due to spectator client handling frames with unconverted beatmap
|
2020-10-27 00:35:25 +01:00 |
|
Dean Herbert
|
dfe07271de
|
Add very basic latency handling to spectator test
|
2020-10-26 16:31:39 +09:00 |
|
Dean Herbert
|
b86347dc81
|
Merge branch 'master' into spectator
|
2020-10-26 13:39:07 +09:00 |
|
Dean Herbert
|
9caa7ff64d
|
Remove debug endpoint
|
2020-10-26 13:38:05 +09:00 |
|
Dean Herbert
|
e20a986401
|
Add ruleset to state
|
2020-10-23 17:24:19 +09:00 |
|
Dean Herbert
|
e99cf369fa
|
Don't worry about EndPlaying being invoked when not playing
|
2020-10-23 13:33:23 +09:00 |
|
Dean Herbert
|
f11bcfcb8f
|
Remove unnecessary public specification in interface
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
|
2020-10-23 10:03:33 +09:00 |
|
Max Hübner
|
09d49aa0f7
|
Add GetSeasonalBackgroundsRequest
|
2020-10-22 18:25:01 +02:00 |
|
Dean Herbert
|
54d666604b
|
Fix incorrect order of flag settings
|
2020-10-22 22:56:23 +09:00 |
|
Dean Herbert
|
9f2f8d8cc7
|
Fix missing licence headers
|
2020-10-22 19:41:10 +09:00 |
|
Dean Herbert
|
147d502da1
|
Fix initial play state not being kept locally if not connected
|
2020-10-22 19:30:07 +09:00 |
|
Dean Herbert
|
ee2513bf4b
|
Add batch sending
|
2020-10-22 19:17:19 +09:00 |
|
Dean Herbert
|
34e889e66e
|
Don't watch every user in normal gameplay (but allow so in test)
|
2020-10-22 18:38:03 +09:00 |
|
Dean Herbert
|
1ab6f41b3b
|
Add basic send and receive test
|
2020-10-22 18:10:27 +09:00 |
|
Dean Herbert
|
c834aa6051
|
Use APIMod for mod serialization
|
2020-10-22 17:48:15 +09:00 |
|
Dean Herbert
|
0611b30258
|
Drop webpack
|
2020-10-22 17:48:15 +09:00 |
|
Dean Herbert
|
05697dfe68
|
Add spectator state object support
|
2020-10-22 17:48:15 +09:00 |
|
Dean Herbert
|
2021945a8c
|
Add retry/error handling logic
|
2020-10-22 17:48:15 +09:00 |
|
Dean Herbert
|
4788b4a643
|
Expose oauth access token via api interface
|
2020-10-22 17:48:15 +09:00 |
|
Dean Herbert
|
175fd512b0
|
Send frames to streaming client from replay recorder
|
2020-10-22 17:48:15 +09:00 |
|
Dean Herbert
|
93db75bd41
|
Begin shaping the spectator streaming component
|
2020-10-22 17:48:15 +09:00 |
|
Dean Herbert
|
c6db832efa
|
Add xmldoc notes about thread safety of api bindables
|
2020-10-22 14:56:20 +09:00 |
|
Dean Herbert
|
db4dd3182b
|
Add xmldoc to spectator interfaces
|
2020-10-22 14:46:21 +09:00 |
|