Dean Herbert
d4a2645510
Add localisation support for leaderboard error text
2022-03-02 14:14:44 +09:00
Dean Herbert
c342030b2c
Add specific placeholder message for custom rulesets rather than showing network error
2022-03-02 14:10:59 +09:00
Dean Herbert
09a74cdfc6
Merge pull request #17023 from peppy/realm-async-write
...
Add `RealmAccess.WriteAsync` method and more statistics of realm reads/writes
2022-03-02 12:31:16 +09:00
Henry Lin
c6934b4bce
Improve adaptive speed algorithm and add rewind support
2022-03-02 10:35:03 +08:00
Henry Lin
783f43ccfb
Add initial rate setting
2022-03-02 09:57:52 +08:00
Henry Lin
c9b205afeb
Add adaptive speed mod
2022-03-02 09:57:52 +08:00
Salman Ahmed
97c54de3bf
Fix performance statistic not handling rulesets with unimplemented calculator
2022-03-01 20:43:20 +03:00
Dean Herbert
222f50d211
Fix calibration being back-to-front
2022-03-01 20:41:54 +09:00
Dean Herbert
6c09237956
Reorder fields in BeatmapOffsetControl
and MasterGameplayClockContainer
2022-03-01 20:16:55 +09:00
Dean Herbert
7d11cfb301
Add detach mapping for BeatmapUserSettings
2022-03-01 20:12:59 +09:00
Dean Herbert
9792f0653a
Don't show calibration controls for autoplay
2022-03-01 20:12:59 +09:00
Dean Herbert
4aee57c9c1
Add localisation of all beatmap offset strings
2022-03-01 20:12:59 +09:00
Dean Herbert
4d9efe771b
Don't display calibration options when the previous play was too short to be useful
2022-03-01 20:12:59 +09:00
Dean Herbert
bc2a15db96
Handle cases of beatmaps not existing in realm for tests
2022-03-01 20:12:59 +09:00
Dean Herbert
99c1ba19aa
Allow BeatmapOffsetControl
to react to external changes to offset
2022-03-01 20:12:59 +09:00
Dean Herbert
bb8caabb8b
Subscribe to changes in offset
2022-03-01 20:12:59 +09:00
Dean Herbert
071ba5c1df
Make writes asynchronously to avoid synchronous overhead
2022-03-01 20:12:59 +09:00
Dean Herbert
047e801da9
Store and retrieve offset from realm
2022-03-01 20:12:59 +09:00
Dean Herbert
acf8db13ac
Store user settings to realm
2022-03-01 18:44:15 +09:00
Dean Herbert
2901d2a650
Hook offset adjustment control up to last play via PlayerLoader
2022-03-01 18:44:15 +09:00
Dean Herbert
7215f3f66b
Fix CalculateAverageHitError
throwing if there are zero HitEvent
s
2022-03-01 18:44:15 +09:00
Dean Herbert
350b0b488c
TODO: Get score from previous play session for further analysis
2022-03-01 18:44:15 +09:00
Dean Herbert
1847f69bf9
Add basic beatmap offset adjustment control
2022-03-01 18:44:15 +09:00
Dean Herbert
4117a6adf7
Move player loader audio settings to new group
2022-03-01 18:44:15 +09:00
Dean Herbert
9a117467b5
Add RealmAccess.WriteAsync
method
2022-03-01 18:44:05 +09:00
Dean Herbert
7fa5842783
Add global statistics output for all realm reads/writes
2022-03-01 18:31:18 +09:00
Dan Balasescu
f42c72c800
Merge branch 'master' into legacy-score-encoder-no-beatmap-required
2022-03-01 12:21:01 +09:00
Dean Herbert
eb75a29b20
Use constant for maximum legacy ruleset id
2022-03-01 12:07:03 +09:00
Bartłomiej Dach
899b95e61b
Do not delay inital mod update by a frame
2022-02-28 21:46:58 +01:00
Bartłomiej Dach
e8701f46f1
Add xmldoc to Filter
to explain usage
2022-02-28 21:39:21 +01:00
Bartłomiej Dach
6cc972aa6a
Fix test failures by waiting for panel load
2022-02-28 21:36:13 +01:00
Dean Herbert
159db38f8a
Add missing xmldoc
2022-02-28 19:14:43 +09:00
Dean Herbert
a41e1c80f1
Show hit error on results screen
...
Leading up to implementation of "local offset", this feels like a good
thing to have visible first and foremost.
2022-02-28 19:11:06 +09:00
Dean Herbert
52e50db6b9
Enable nullable
for LegacyScoreEncoder
2022-02-28 18:42:23 +09:00
Dean Herbert
723e96309a
Only convert non-legacy frames (and throw on conversion failure)
2022-02-28 18:42:23 +09:00
Dean Herbert
2e96f74c94
Allow LegacyScoreEncoder
to be used without a beatmap if frames are already legacy frames
2022-02-28 18:42:23 +09:00
Dean Herbert
2be40f36f7
Reword popup text to read better (or more vaguely)
...
Removed some words but also don't mention "smaller" because it's...
musically incorrect and also functionally incorrect – entering 1/[8]
will result in 1/16 also being populated for instance.
2022-02-28 15:26:50 +09:00
Dean Herbert
368eadd8d1
Remove unused using statement
2022-02-28 15:24:02 +09:00
Dean Herbert
3634e12e66
Automatically focus divisor textbox and hide popover after successful change
2022-02-28 15:23:01 +09:00
Dean Herbert
4a555d067d
Change ModPanel
to not handle OnMouseDown
to allow drag scrolling in ModColumn
2022-02-28 14:32:50 +09:00
Bartłomiej Dach
774952adda
Rescale components from figma to real dimensions
2022-02-27 23:08:31 +01:00
Bartłomiej Dach
16c6b9b3b3
Add keyboard selection support to mod column
2022-02-27 22:51:29 +01:00
Bartłomiej Dach
b690df05de
Hide multiselection checkbox if everything is filtered
2022-02-27 22:51:29 +01:00
Bartłomiej Dach
a83f96b026
Add filtering support to mod column
2022-02-27 22:51:29 +01:00
Bartłomiej Dach
a80b4334ff
Tweak layout of column display for better spacing
2022-02-27 22:51:28 +01:00
Bartłomiej Dach
53e8072632
Port multiselection from previous design
2022-02-27 22:51:28 +01:00
Bartłomiej Dach
f40bd39487
Add toggle all checkbox to column display
2022-02-27 22:51:28 +01:00
Bartłomiej Dach
2e04a83554
Implement column display for new mod design
2022-02-27 22:51:27 +01:00
Bartłomiej Dach
7de5dad4f0
Add test coverage for divisor behaviour
2022-02-27 19:23:02 +01:00
Bartłomiej Dach
423838a649
Add flow for specifying entirely custom snaps
2022-02-27 17:55:20 +01:00
Bartłomiej Dach
d0c01afc2e
Add flow for changing set of valid divisors between presets
2022-02-27 15:37:51 +01:00
Bartłomiej Dach
36137e0619
Add simple carousel divisor type selector
2022-02-27 15:37:51 +01:00
Dean Herbert
67082b8c5d
Remove verbose logging from SpectatorClient
for now
2022-02-25 22:25:36 +09:00
Dan Balasescu
e947c97e10
Merge branch 'master' into spectator-reliability
2022-02-25 20:20:30 +09:00
Dean Herbert
926abf7a0c
Merge pull request #16985 from smoogipoo/multi-spectator-chat
...
Add chat display to multiplayer spectator
2022-02-25 20:19:07 +09:00
Dan Balasescu
8eef1774d5
Use Logger.Log instead of console
2022-02-25 20:18:22 +09:00
Dan Balasescu
a86bc344da
Merge pull request #16977 from peppy/pause-at-results
...
Allow pausing audio via hotkey at multiplayer lobby and results screen
2022-02-25 19:13:06 +09:00
Dan Balasescu
3a03833912
Merge pull request #16890 from peppy/beatmap-decoder-ruleset-store
...
Fix `LegacyBeatmapDecoder` not populating correct rulesets
2022-02-25 19:03:43 +09:00
Dan Balasescu
387ae59bc4
Fix nullref in tests
2022-02-25 16:12:25 +09:00
Dan Balasescu
48ed9c6144
Enable high chat polling rate
2022-02-25 16:03:56 +09:00
Dan Balasescu
f9d9ad388b
Add chat display to multiplayer spectator screen
2022-02-25 16:03:28 +09:00
Dean Herbert
a9e7e8fb18
Merge pull request #16924 from Susko3/android-allow-exiting
...
Allow exiting/minimizing the game on Android when on the initial screen
2022-02-25 11:01:35 +09:00
Susko3
33a87976a8
Rewrite to read better
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2022-02-24 21:11:49 +01:00
Bartłomiej Dach
769dc9b00b
Merge branch 'master' into mod-overlay/panel
2022-02-24 21:02:28 +01:00
Bartłomiej Dach
c189cc5d00
Remove unused using directive
2022-02-24 21:01:37 +01:00
Dan Balasescu
80fc13fc1f
Merge pull request #16976 from peppy/dont-expose-mark-as-read-errors-to-user
...
Don't expose "mark as read" errors to the user via notifications
2022-02-24 23:20:34 +09:00
Dan Balasescu
16a3bbbcb4
Merge pull request #16944 from peppy/rooms-request-faster
...
Update playlists/multiplayer to use new compact response
2022-02-24 23:20:07 +09:00
Dean Herbert
35302aa297
Merge pull request #16980 from smoogipoo/fix-union-workaround-resolver
...
Fix SignalR union workaround resolver failing on multiple union'd types
2022-02-24 22:24:48 +09:00
Dan Balasescu
c5b1e5cbf8
Fix union resolver failing on multiple derived types
2022-02-24 20:27:22 +09:00
Dean Herbert
d69446ff6e
Merge pull request #16979 from smoogipoo/fix-playlists-partial-mod
...
Fix playlists not allowing entry with partial mods
2022-02-24 19:37:10 +09:00
Susko3
6f29cbccd1
Remove unused using
2022-02-24 10:36:10 +01:00
Susko3
255b3b067b
Remove track fade
2022-02-24 10:13:27 +01:00
Dan Balasescu
7193bc8554
Fix playlists comparing mod equality via APIMod
2022-02-24 17:04:16 +09:00
Dan Balasescu
2acaffd5e7
Fix APIMod storing bindables instead of value
2022-02-24 17:01:12 +09:00
Dean Herbert
bb1aa032bd
Combine SelectedItem
and CurrentPlaylistItem
into same storage
2022-02-24 16:21:20 +09:00
Dean Herbert
c6d78b9325
Fix several oversights in data linking causing drawable rooms not updating as expected
2022-02-24 16:12:15 +09:00
Dean Herbert
b4a54b38e7
Remove redundant parameter specification
2022-02-24 16:02:16 +09:00
Dean Herbert
401cf2a955
Allow pausing game-wide audio via hotkey as long as LocalUserPlaying
is not set
...
`Player` seems to handle this correctly locally already, which is to say
if the user attempts to toggle the pause state incorrectly, it will
still recover.
The logic stoppic this operation was only in the key binding handler,
which meant it was already possible from the now playing overlay this
whole time, so I *think* this should be quite safe.
2022-02-24 16:00:14 +09:00
Dean Herbert
3f6bdc5585
Don't expose "mark as read" errors to the user via notifications
...
This can happen if the user leaves the channel before the request is
fired. You can't mark a channel as read when you're not in the channel.
Addresses https://github.com/ppy/osu/discussions/16973 .
2022-02-24 15:40:07 +09:00
Dean Herbert
435bdd0b4a
Combine and simplify state management logic
...
This makes a few changes to bring things into a better shape during
mouse interactions with the mod panels:
- Dragging away from the panel now works in line with other buttons (ie.
`OsuButton`)
- Hovering now uses a lightened version of the current state, rather
than always using the active colour. I think this feels better.
- Mouse down now uses a transform point of 0.5. This is to give the
button a feeling of one of those latching light switches which resists
until reaching a point of overcoming the spring and switching state. I
think 0.4 (non-active) and 0.6 (from active) may work better, but left
at 0.5 for simplicity of implementation and I think it's good enough?
- Border always uses the gradiented version. I did this for simplicity
of implementation, but also think it looks better.
- Adjusted transform durations to feel better to me.
2022-02-24 15:25:30 +09:00
Dean Herbert
6e8daa06fa
Merge branch 'master' into mod-overlay/panel
2022-02-24 14:34:59 +09:00
Dean Herbert
2a2b8912c1
Merge branch 'master' into android-allow-exiting
2022-02-24 13:22:52 +09:00
Dean Herbert
8f951f8e8a
Merge pull request #16969 from peppy/update-framework
...
Update framework
2022-02-24 11:32:34 +09:00
Bartłomiej Dach
713f89a59c
Implement incompatibility-displaying variant of mod panel
2022-02-23 23:19:06 +01:00
Bartłomiej Dach
bbe2dfa458
Move out incompatibility displaying tooltip to own class
2022-02-23 23:18:15 +01:00
Bartłomiej Dach
8a0aba6c59
Implement mod panel for new mod select screen
2022-02-23 23:18:14 +01:00
Bartłomiej Dach
29d77a29aa
Merge branch 'master' into startup-protocol-handling
2022-02-23 21:10:27 +01:00
Dean Herbert
3f2ef030e4
Group SpectatorClient
private fields together
2022-02-24 02:31:55 +09:00
Dean Herbert
5ffdd57895
Rename weirdly named parameter
2022-02-24 02:28:13 +09:00
Dean Herbert
694c6ad872
Fix frames potentially getting lost due to non-matching Schedule
usage
2022-02-24 02:28:13 +09:00
Dean Herbert
260cf793fe
Add test coverage of more advanced frame delivery scenarios to TestSceneSpectatorPlayback
2022-02-24 02:28:13 +09:00
Dean Herbert
47b84295a6
Fix bundle send logic not correctly waiting for task completion (due to nested schedule)
2022-02-24 02:23:48 +09:00
Dean Herbert
c94e7e2abe
Add ability to simulate network failures to TestSpectatorClient
2022-02-24 02:23:48 +09:00
Dean Herbert
14c8ce50a0
Prefix all test send methods in TestSpectatorClient
with Send
2022-02-24 02:23:48 +09:00
Dean Herbert
cff6f85472
Add note about reconnection being insufficient currently
2022-02-24 02:23:48 +09:00
Dean Herbert
5ff4d3f8e5
Add support to SpectatorClient
to resend failed frame bundles
2022-02-24 02:21:29 +09:00
Susko3
5dd0d48df9
Move the key handling logic to MainMenu and simplify it
...
Also makes use of the host.SuspendToBackground() return value.
2022-02-23 14:06:22 +01:00
Dean Herbert
53bbd00675
Also make APIUser
opt-in and remove the remaining serialization exclusion rule
2022-02-23 17:12:38 +09:00
Dean Herbert
43c83d2de1
Add note about why RoomID
is nulled in DeepClone
2022-02-23 17:10:11 +09:00
Dean Herbert
f14a9af801
Make Room
opt-in rather than opt-out for json serialization
2022-02-23 17:10:10 +09:00