Dean Herbert
bca4d83af7
Revert previous player add flow via interface
2020-12-18 17:19:55 +09:00
Dean Herbert
cb3f89d0a5
Hook up with new leaderboard design
2020-12-18 17:13:51 +09:00
Dean Herbert
5e83605026
Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard
2020-12-18 17:07:43 +09:00
Dean Herbert
157a72ec5d
Revert previous player add flow via interface
2020-12-18 17:07:38 +09:00
smoogipoo
97ff500b0d
Make timeshift wait on score submission
2020-12-18 16:56:22 +09:00
Dean Herbert
96f23a1135
Merge branch 'master' into gameplay-leaderboard-update
2020-12-18 16:56:21 +09:00
Dean Herbert
70cda680c0
Update to match new implementation
2020-12-18 16:55:55 +09:00
Dean Herbert
869cac819d
Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard
2020-12-18 16:55:44 +09:00
smoogipoo
2db7433c0b
Refactor player score creation and submission process
2020-12-18 16:51:59 +09:00
Dean Herbert
9226a67f16
Merge branch 'master' into spectator-driven-leaderboard
2020-12-18 16:47:46 +09:00
Dean Herbert
99f2032fdf
Merge branch 'master' into gameplay-leaderboard-update
2020-12-18 16:44:52 +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
e6a38ffbce
Fix test failure due to polluted bindable value from previous test
2020-12-18 16:39:30 +09:00
Dean Herbert
c84807ed5c
Refactor implementation
2020-12-18 16:20:54 +09:00
Dean Herbert
91fbdc3aed
Merge branch 'api-friends-list' into gameplay-leaderboard-update
2020-12-18 15:43:24 +09:00
Dean Herbert
a749dca20b
Remove left over using statement
2020-12-18 15:43:15 +09:00
smoogipoo
c80ecec0b4
Reorder methods
2020-12-18 15:36:24 +09:00
Dean Herbert
4af508235e
Rename long variable
2020-12-18 15:35:18 +09:00
Dean Herbert
20175a884a
Merge branch 'api-friends-list' into gameplay-leaderboard-update
2020-12-18 15:28:07 +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
smoogipoo
208a9e596e
Set new room for each test iteration
2020-12-18 14:58:58 +09:00
Dean Herbert
fa524d64f8
Merge branch 'master' into spectator-driven-leaderboard
2020-12-18 13:34:03 +09:00
Dean Herbert
9079d33412
X before Y for sanity
2020-12-18 11:20:21 +09:00
Dean Herbert
44f4ed4fd3
Fix spacing
2020-12-18 11:19:40 +09:00
Graham Johnson
a0235a06e6
update comment
2020-12-17 19:40:21 -05:00
Salman Ahmed
92bf74ba29
localUser -> localOrReplayPlayer
2020-12-18 03:37:24 +03:00
Salman Ahmed
a8abefcd66
Make GameplayLeaderboardScore a model class
2020-12-18 03:34:33 +03:00
Graham Johnson
a01ed1827a
Align the drag circles on the selction box in the editor to be on the center of the border
2020-12-17 19:34:16 -05:00
Salman Ahmed
8a01e567a1
Fix API potentially getting stuck in connecting state
2020-12-18 03:06:28 +03:00
Salman Ahmed
9c22753f3f
Remove unnecessary inheritance to OverlayView
2020-12-18 02:51:19 +03:00
Salman Ahmed
5e4f667cff
Revert "Allow OverlayView fetching with no API requests required"
...
This reverts commit 449b9a21ae
.
2020-12-18 01:27:58 +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
0faf3fdfd3
Update gameplay leaderboard scores with the new design
2020-12-17 15:19:10 +03:00
Salman Ahmed
5d180753fa
Complete connection once friends list is succesfully fetched
2020-12-17 13:44:30 +03:00
Salman Ahmed
904a4daa98
Add todo comment reminding of updating friends list along
2020-12-17 13:33:49 +03:00
Salman Ahmed
94175d0532
Use global friends list instead of always fetching
2020-12-17 13:33:17 +03:00
Salman Ahmed
449b9a21ae
Allow OverlayView fetching with no API requests required
2020-12-17 13:31:57 +03:00
Salman Ahmed
78ce6f1cd2
Add friends list to API providers
2020-12-17 13:30:55 +03:00
Dean Herbert
3ff70d331a
Mark recordingScore as nullable
2020-12-17 16:17:13 +09:00
Dean Herbert
81b0db0401
Remove double construction of empty replay object
2020-12-17 16:17:08 +09:00
Dean Herbert
fe76a00621
Merge branch 'master' into add-bundle-header
2020-12-17 16:13:40 +09:00
Dean Herbert
f13683dc90
Correctly account for max combo of the input, rather than the global
2020-12-17 16:05:41 +09:00
Dean Herbert
de9c21e7d1
Tenatively mark leaderboard class as LongRunningLoad until final integration
2020-12-17 15:48:53 +09:00
Dean Herbert
41d8b84bd7
Revert MaxBaseScore to being a private field (no longe required to be public)
2020-12-17 15:47:20 +09:00
smoogipoo
9571157841
Use ints for userid parameters
2020-12-16 20:04:36 +09:00
Dan Balasescu
7321e59c4b
Merge pull request #11186 from peppy/mania-clamp-hit-position-offset
...
Clamp osu!mania's HitPosition offset to match osu-stable implementation
2020-12-16 18:52:59 +09:00
Dean Herbert
39957382f7
Merge pull request #11099 from Game4all/android-add-import-support
...
Add support for importing files on Android
2020-12-16 18:25:08 +09:00
Dean Herbert
c002184768
Clamp osu!mania's HitPosition offset to match osu-stable implementation
...
Closes #11184 .
2020-12-16 18:08:19 +09:00
Dean Herbert
a01bb3d5a3
Better limit bindable exposure of data class
2020-12-16 16:20:29 +09:00
Dean Herbert
6bce587b59
Pass users in via constructor and correctly unbind on disposal
2020-12-16 16:20:29 +09:00
Dean Herbert
6e2131c164
Don't track local user score in any special way
2020-12-16 16:20:29 +09:00
Dean Herbert
09d0ceb766
Add testing setup to get a better visual idea of how scoreboard will work
...
fixup! Add method to ScoreProcessor to calculate score and accuracy from statistics
2020-12-16 16:20:29 +09:00
Dean Herbert
d009a0be51
Move class to final location
2020-12-16 16:20:29 +09:00
Dean Herbert
2954218897
Add method to ScoreProcessor to calculate score and accuracy from statistics
2020-12-16 16:20:29 +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
Bartłomiej Dach
f5eab1047c
Merge branch 'master' into android-add-import-support
2020-12-15 21:26:12 +01:00
Dean Herbert
ea6c196f81
Remove unused using statement
2020-12-15 16:03:18 +09:00
Dean Herbert
e37089af5e
Further code cleanup
2020-12-15 15:44:56 +09:00
Dean Herbert
8b68ccc0ff
Rename class and move inside HUD namespace
2020-12-15 15:34:11 +09:00
Dean Herbert
dd5572b20a
Remove unnecessary methods and event
2020-12-15 15:26:20 +09:00
Dean Herbert
8362ad37e3
Bring up-to-date with code changes
2020-12-15 15:22:14 +09:00
Dean Herbert
70e5d4495a
Merge branch 'master' into ingame-leaderboard-general-implementation
2020-12-15 15:14:56 +09:00
Dean Herbert
3faf7db068
Merge pull request #10882 from PercyDan54/import-screen
...
Add File Import screen
2020-12-15 15:03:15 +09:00
Gagah Pangeran
f0e6b6eaf8
sort by ruleset id first then star diff
2020-12-15 11:09:09 +07:00
Dean Herbert
10ee8ed8e8
Reorder functions and simplify transform logic
2020-12-15 13:04:11 +09:00
Dean Herbert
0d4ac2f748
Refresh view after import completes
2020-12-15 12:57:28 +09:00
Dean Herbert
db4f2d5ffb
Refresh view after import succeeds
2020-12-15 12:52:45 +09:00
Dean Herbert
cafe81ab97
Further refactoring and bindable simplification
2020-12-15 12:52:38 +09:00
Dean Herbert
33f77f81f2
Disable the import button when no file is selected, rather than weird flash logic
2020-12-15 12:43:48 +09:00
Dean Herbert
cba4657021
Get handled file extensions from game itself, rather than duplicating locally
2020-12-15 12:37:41 +09:00
Dean Herbert
26fa010fed
Merge branch 'master' into import-screen
2020-12-15 12:37:27 +09:00
Dean Herbert
0d9c1cb5d3
Fix issues with data serialisation
2020-12-14 18:41:24 +09:00
Dean Herbert
c5112edd08
Add comment regarding the reasoning for encapsulating the task in another
2020-12-14 18:03:01 +09:00
Dean Herbert
f3e6c586f7
Change waitForReady back to private implementation
2020-12-14 17:59:04 +09:00
Dean Herbert
79768f0aa4
Update framework
2020-12-14 17:52:38 +09:00
Dean Herbert
29f3e8e486
Merge branch 'master' into fix-load-too-fast
2020-12-14 17:52:35 +09:00
Dean Herbert
ae22f75406
Bind replay recording score to judgement changes
2020-12-14 17:33:33 +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
1793385e96
Pass a score to the replay recorder to allow reading more general scoring data
2020-12-14 16:52:14 +09:00
Dean Herbert
51e8a05f18
Seal SetRecordTarget method to simplify modification
2020-12-14 16:44:29 +09:00
Dean Herbert
558955d65d
Merge pull request #11167 from Firmatorenio/mania-legacyskin-scoreposition
...
Adjust mania judgement position in legacy skins according to their ScorePosition setting
2020-12-14 16:36:11 +09:00
Dean Herbert
0d7f53b0b9
Fix gameplay loading too fast the first time entering a beatmap
2020-12-14 14:21:21 +09:00
smoogipoo
2e88e283d8
Remove unused using
2020-12-14 13:20:51 +09:00
smoogipoo
028909353c
Revert one more change
2020-12-14 13:15:52 +09:00
smoogipoo
e01b41b7d1
Merge branch 'master' into mania-legacyskin-scoreposition
2020-12-14 13:10:48 +09:00
smoogipoo
1794bfeddb
Move offset into legacy mania judgement
2020-12-14 13:07:55 +09:00
smoogipoo
ca11eeefdf
Merge branch 'master' into mania-legacyskin-scoreposition
2020-12-14 11:25:34 +09:00
Firmatorenio
6b78045ff1
fix codefactor empty line complaint
2020-12-14 06:57:43 +06:00
Firmatorenio
c83c3e92fc
apply a private setter in a protected property
2020-12-14 01:53:20 +06:00
Firmatorenio
3741c2339a
simplify implementation and adjust the default values
2020-12-13 22:43:36 +06:00
Firmatorenio
2108844319
apply ScorePosition to the judgement container
2020-12-13 22:01:08 +06:00
Firmatorenio
f14e49c72e
fetch ScorePosition from the skin
2020-12-13 21:59:04 +06:00
Grrum
635608ee3d
Merge branch 'master' into selectionRotation
2020-12-13 08:01:44 -05:00
Graham Johnson
7d2b77cdbd
improve selection box rotation UX
2020-12-13 07:58:58 -05:00
Lucas A
08b79bb921
Store and return unstarted task for consumers to await on.
2020-12-12 17:12:15 +01:00
Bartłomiej Dach
51840121b9
Merge branch 'master' into update-framework
2020-12-12 13:02:34 +01:00
Dean Herbert
f20c5a2bda
Update framework (again)
2020-12-12 15:29:26 +09:00
Bartłomiej Dach
d457926523
Merge branch 'master' into fix-player-load-stuck-at-empty-screen
2020-12-11 20:49:27 +01:00
Bartłomiej Dach
01833e8c9b
Merge branch 'master' into fix-single-threaded-seeking
2020-12-11 20:14:28 +01:00
Dan Balasescu
31ae79a140
Merge pull request #11149 from peppy/add-cache-suffix-online-db
...
Add a simple cache-busting query string to online.db retrieval
2020-12-11 20:20:52 +09:00
Dean Herbert
aedb18b9f2
Make RulesetID non-nullable
2020-12-11 18:14:33 +09:00
Dean Herbert
b5f6baf341
Update framework
2020-12-11 18:03:48 +09:00
Dean Herbert
a35060ea7a
Add a simple cache-busting query string to online.db retrieval
...
As we are finally pushing updates for this database, this adds a minimum
level of guarantee that a client will request a new version (without
having to worry about multiple levels of server-side caching).
2020-12-11 17:56:02 +09:00
Dean Herbert
2dd5911256
Rename method to better match purpose
2020-12-11 14:44:01 +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
Firmatorenio
b3d8347315
add support for ScorePosition into LegacyManiaSkin
2020-12-10 20:11:08 +06:00
Dean Herbert
01bd765384
Simplify pause handling by moving transform logic to bindable change event
2020-12-10 17:42:47 +09:00
Dean Herbert
679a550d83
Fix single threaded seeking not working due to unnecessary seek call
2020-12-10 17:42:28 +09:00
Dean Herbert
437c0506ce
Refactor to allow for special disposal handling to still work
2020-12-10 16:56:56 +09:00
Dean Herbert
67dd7be71a
Move cancelLoad call to OnResuming
...
This has no real effect; it just feels more readable to me.
2020-12-10 16:34:59 +09:00
Dean Herbert
491ab74059
Schedule pushWhenLoaded once ever
...
Previously it was being scheduled another time each OnResume, resulting
in more and more calls as a user retries the same beatmap multiple
times.
To simplify things I've decided to just schedule once ever. This means
that on resuming there's no 400ms delay any more, but in testing this
isn't really an issue (load time is still high enough that it will never
really be below that anyway). Even if gameplay was to load faster, the
animation should gracefully proceed.
2020-12-10 16:33:30 +09:00
Dean Herbert
cc996ec7fc
Ensure player is consumed at the point of scheduled push running the first time
2020-12-10 16:32:14 +09:00
Lucas A
6da854e37c
Move scheduled import logic to OsuGame.
2020-12-09 13:32:59 +01: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
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