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
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