1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-20 02:22:55 +08:00
Commit Graph

1433 Commits

Author SHA1 Message Date
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
Dean Herbert
b39a4da6bc Add initial classes for spectator support 2020-10-22 14:46:21 +09:00
Dean Herbert
da573c7487 Remove unused usings 2020-10-22 14:44:10 +09:00
Dean Herbert
3fe6f77444 Fix cases of multiple bdl methods 2020-10-22 14:30:49 +09:00
Dean Herbert
9753dab93b Remove IOnlineComponent and change existing components to use bindable flow 2020-10-22 14:19:12 +09:00
Dean Herbert
002ade51fc
Merge pull request #9816 from voidedWarranties/duplicate-multi-room 2020-10-19 19:02:03 +09:00
Dean Herbert
6d22f0e196 Use existing copy method and update xmldoc 2020-10-19 17:15:13 +09:00
Dean Herbert
61a43770bd Merge branch 'master' into duplicate-multi-room 2020-10-19 16:58:45 +09:00
Dean Herbert
d6efa3069a Merge branch 'master' into fix-login-placeholder-inheritance 2020-10-19 16:25:44 +09:00
Berkan Diler
fe3a23750c Use char overloads for string methods 2020-10-16 11:52:29 +02:00
Dan Balasescu
73edb87363
Merge pull request #10303 from peppy/more-textbox-entry
Add textbox entry for speed multiplier and volume
2020-10-01 20:42:14 +09:00
Dean Herbert
61e62929ee Apply changes in line with framework event logic update 2020-10-01 13:06:01 +09:00
smoogipoo
297168ecc4 Fix scores sometimes not being re-standardised correctly 2020-09-29 19:06:09 +09:00
Dean Herbert
ef44c7d063
Merge branch 'master' into score-recalc 2020-09-10 18:30:41 +09:00
smoogipoo
bbef7ff720 Fix leaderboard loading spinner disappearing too early 2020-09-09 20:19:07 +09:00
smoogipoo
37a659b2af Refactor/add xmldocs 2020-09-09 17:36:47 +09:00
smoogipoo
117c7ec6b2 Merge branch 'master' into score-recalc 2020-09-09 14:38:36 +09:00
smoogipoo
bff652a26f Persist nulls to the top score bindable 2020-09-02 14:29:46 +09:00
smoogipoo
9e3b809cab Rename to user_score to match API 2020-09-01 15:42:47 +09:00
smoogipoo
d22de26afb Add whitespace 2020-08-31 20:08:36 +09:00
smoogipoo
6ed191786f Add support for position 2020-08-31 20:01:59 +09:00
smoogipoo
77698ec31e Add support for showing own top score in timeshift 2020-08-31 19:54:57 +09:00
smoogipoo
d1ceb81797 Rename request 2020-08-31 19:54:41 +09:00
smoogipoo
ed74c39b55 Move UserTopScoreContainer into base leaderboard 2020-08-31 19:54:22 +09:00
smoogipoo
d7bbb362bf Separate bindables 2020-08-28 22:51:19 +09:00
smoogipoo
1e5e5cae0c Add support for standardised -> classic changes 2020-08-28 21:34:34 +09:00
smoogipoo
4d15f0fe52 Implement basic score recalculation 2020-08-28 19:16:46 +09:00
Poliwrath
97637bc747 remove new.ppy.sh from MessageFormatter 2020-08-26 02:50:02 -04:00
Joseph Madamba
4d6b52a0d6
Simply condition
Co-authored-by: Dean Herbert <pe@ppy.sh>
2020-08-17 23:08:51 -07:00
Joehu
e0383f6100 Change format of rank tooltip 2020-08-17 22:07:04 -07:00
Joehu
848f3bbf51 Show tooltip of leaderboard score rank when 1000 or higher 2020-08-17 21:09:55 -07:00
voidedWarranties
9e4b9188e1 Cache LoungeSubScreen, separate method, rename option 2020-08-15 13:06:16 -07:00
voidedWarranties
3a97ee4712 Context menu for duplicating multi rooms 2020-08-09 16:16:01 -07:00
Dean Herbert
4189e918a3
Merge branch 'master' into news 2020-08-03 14:16:45 +09:00
Dan Balasescu
d63f040477
Merge branch 'master' into multi-position 2020-07-31 23:10:25 +09:00
Dean Herbert
909b38a019
Merge branch 'master' into multi-pagination 2020-07-31 22:41:24 +09:00
smoogipoo
b361761d86 Add position display in contracted score panels 2020-07-31 22:02:25 +09:00
smoogipoo
f1e721e396 Rewrite test scene and add more tests 2020-07-31 21:39:50 +09:00
smoogipoo
2b77f99f56 Initialise some response parameters 2020-07-31 20:55:44 +09:00
smoogipoo
8e8a11bb72 Add APIRequest.TriggerFailure() for testing 2020-07-31 20:55:26 +09:00
smoogipoo
eadef53e68 Add more annotations 2020-07-31 17:43:40 +09:00
smoogipoo
88e179d8aa Split out index-only response 2020-07-31 17:40:58 +09:00
Dean Herbert
9e6d562872 Send in initial score request instead 2020-07-29 13:18:40 +09:00
smoogipoo
ccc377ae6a Remove unused enum 2020-07-28 21:45:12 +09:00
smoogipoo
db91d1de50 Use response params in next page request 2020-07-28 21:45:12 +09:00
Andrei Zavatski
b821d619b5 Merge remote-tracking branch 'refs/remotes/ppy/master' into news 2020-07-25 09:13:12 +03:00
smoogipoo
b7790de66f Fix incorrect sort param 2020-07-22 20:24:48 +09:00
smoogipoo
568fb51ce2 Remove RoomPlaylistScores intermediate class 2020-07-22 20:24:42 +09:00
smoogipoo
f8401a76a2 Use show/index requests in results screen 2020-07-22 19:40:00 +09:00
smoogipoo
334fb7d475 Add additional params to index request 2020-07-22 18:54:41 +09:00
smoogipoo
c75955e381 Add responses to MultiplayerScore 2020-07-22 18:52:25 +09:00
smoogipoo
634efe31f8 Inherit ResponseWithCursor 2020-07-22 18:51:54 +09:00
smoogipoo
ec33a6ea87 Add additional responses 2020-07-22 18:47:40 +09:00
smoogipoo
d9633fee64 Rename request 2020-07-22 18:47:09 +09:00
smoogipoo
e423630b7c Rename RoomScore -> MultiplayerScore 2020-07-22 18:37:00 +09:00
smoogipoo
0957c5f74c Re-namespace multiplayer requests/responses 2020-07-22 18:34:04 +09:00
Andrei Zavatski
17c598568d Merge remote-tracking branch 'refs/remotes/ppy/master' into news 2020-07-16 14:38:50 +03:00
Andrei Zavatski
3d9e174ae8 Make sort changes affect request result 2020-07-14 18:09:09 +03:00
Dean Herbert
7fe69bb199 Fix some web requests retrieving the user too early 2020-07-14 13:07:17 +09:00
Joehu
db6a9c9717 Move null check to menu item addition 2020-07-12 22:06:17 -07:00
Joehu
ac7252e152 Fix context menu not masking outside of leaderboard area 2020-07-12 22:04:00 -07:00
Joehu
9c039848bc Simplify and add null check 2020-07-12 12:04:53 -07:00
Andrei Zavatski
3601a2d93f Merge remote-tracking branch 'refs/remotes/ppy/master' into news 2020-07-12 14:45:48 +03:00
Joehu
25d2d9ba5c Convert getMods reference to method group 2020-07-11 16:24:57 -07:00
Joehu
0d26ad9ddb Fix user top score not having a context menu 2020-07-11 16:22:01 -07:00
Joehu
9b4bed2ab2 Add ability to select mods from a specific score 2020-07-11 16:02:47 -07:00
smoogipoo
fe585611e7 Fix + simplify web request 2020-07-10 19:54:09 +09:00
Dean Herbert
64e8dce1ad Highlight spotlight rooms with a different colour 2020-07-10 19:38:33 +09:00
smoogipoo
926279e39b Implement category dropdown for multiplayer 2020-07-10 17:26:42 +09:00
smoogipoo
1bcd673a55 Fix crash when switching rooms quickly 2020-07-10 12:09:34 +09:00
Andrei Zavatski
de4c22c709 Implement news api request 2020-07-08 17:58:09 +03:00
Andrei Zavatski
857a027a73 Parse HTML entities during APINewsPost deserialisation 2020-07-07 00:11:35 +03:00
Andrei Zavatski
68d9f9de46 Use DateTimeOffset 2020-07-06 23:55:20 +03:00
Andrei Zavatski
9dde101f12 Remove string prefixes 2020-07-06 23:53:27 +03:00
Andrei Zavatski
fdb7727e95 Rename NewsPost to APINewsPost 2020-07-06 07:28:44 +03:00
Andrei Zavatski
7550097eb6 Implement NewsCard 2020-07-06 07:27:53 +03:00
Andrei Zavatski
c18ca19c9d Add NewsPost api response 2020-07-06 05:31:34 +03:00
smoogipoo
afa5b995f2 Merge branch 'fix-test-nullref' into timeshift-results-2 2020-06-11 14:05:05 +09:00
smoogipoo
ab10732a78 Remove usages of null-forgiving operator 2020-06-09 22:13:48 +09:00
smoogipoo
88aed1d504 Merge branch 'master' into update-inspectcode-version 2020-06-09 20:12:39 +09:00
smoogipoo
44dd7d65be Fix duplicate scores showing 2020-06-09 18:21:37 +09:00
smoogipoo
7f05c16c9f Merge branch 'master' into timeshift-results-2 2020-06-09 15:59:13 +09:00
Dan Balasescu
7f72f59307
Merge branch 'master' into fetch-private-chat-history 2020-06-09 14:42:29 +09:00
Dean Herbert
712fd6a944 Fetch existing private message channels on re-joining 2020-06-08 17:54:26 +09:00
smoogipoo
caf94df0d0 Merge branch 'master' into multiplayer-beatmap-checksum 2020-06-05 19:16:05 +09:00
Dean Herbert
f6d9f0597b Add implicit join logic for multiplayer rooms 2020-06-03 21:28:29 +09:00
Dean Herbert
1ba3f0ac14 Fix chat history not being loaded for multiplayer matches 2020-06-03 17:31:55 +09:00
smoogipoo
8aa8d2c880 Resolve NREs 2020-06-03 16:59:37 +09:00
smoogipoo
f3b5149648 Move some suggestions to warnings, resolve issues 2020-06-03 16:48:44 +09:00
smoogipoo
13622eff1f Fix response value 2020-06-03 12:54:07 +09:00
Dean Herbert
93572fc17d
Merge branch 'master' into present-recommended 2020-06-03 12:31:23 +09:00
smoogipoo
1ccdfd7364 Pull playlist beatmap checksum from api 2020-06-02 14:03:13 +09:00
Andrei Zavatski
11057cd6a8 CI fix 2020-05-29 21:43:31 +03:00
Andrei Zavatski
affad47248 Fix genre/language search doesn't work 2020-05-29 19:44:53 +03:00
smoogipoo
0e28ded80f Forward statistics 2020-05-28 22:09:11 +09:00
smoogipoo
d88bfa2080 Cache ruleset + fix possible nullrefs 2020-05-28 22:09:11 +09:00
smoogipoo
7ac08620b8 Add a user object for now 2020-05-28 22:09:11 +09:00
smoogipoo
f9c64d7be3 Implement creation of mods 2020-05-28 22:09:11 +09:00
smoogipoo
38502ba88c Remove some unnecessary members 2020-05-28 22:09:11 +09:00
smoogipoo
ee59182989 Implement initial structure for room scores 2020-05-28 22:09:11 +09:00
Dean Herbert
f989f1aa00 Change event flow to avoid firing store delete events on update 2020-05-27 16:08:47 +09:00
Dean Herbert
052ad79fc6 Convert dangerous events to IBindables 2020-05-19 16:44:22 +09:00
Dean Herbert
facde2c8e1 Remove unnecessary generic specification on cursor 2020-05-14 16:01:07 +09:00
「空白」
43450b5485 Resolve remaining InspectCode issues
> CI should now pass build test
2020-05-14 01:57:03 +09:00
「空白」
5962dedd35 Reimplement cursor as part of WebRequest extensions
> Added WebRequestExtensions
> Moved Cursor request logic from SearchBeatmapSetsRequest
2020-05-13 05:04:39 +09:00
「空白」
cabf3a89b1 More robust cursor parsing solution
> Change cursor request to return last response's entire cursor structure
2020-05-13 03:44:57 +09:00
「空白」
e321494f15 Fix sort-by handling
> Add other cursor fields for paging different sortings
> Sorted as they show in GUI code-wise for more readability for now
2020-05-13 02:15:24 +09:00
「空白」
82190a07b8 Remove temporary comments
> Removes unnecessary xmldoc comments
2020-05-13 02:01:38 +09:00