1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-09 09:37:42 +08:00
Commit Graph

31628 Commits

Author SHA1 Message Date
Dean Herbert
c06703d662 Add ability to select which display the game runs on 2022-03-02 18:29:07 +09:00
Dean Herbert
dc6fa13337
Merge branch 'master' into mod-overlay/columns 2022-03-02 15:04:37 +09:00
Dean Herbert
763f881d4a Use more correct mod check to encompass more than just autoplay 2022-03-02 14:42:10 +09:00
Dean Herbert
e184b26cdd Remove Precision call for database write shortcutting
Shouldn't be required.
2022-03-02 14:39:29 +09:00
Dean Herbert
8bd66f1ed7 Fix incorrect precision specification for button disable check 2022-03-02 14:36:49 +09:00
Dean Herbert
3cbcb702f6 Fix calibration button disabled state not checking in corrrect direction 2022-03-02 14:36:15 +09:00
Dean Herbert
c07f754565 Enable nullable on BeatmapOffsetControl 2022-03-02 14:34:24 +09:00
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 HitEvents 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
Dean Herbert
28c9c5ab6a Remove unnecessary ShouldSerialize rules in Room 2022-02-23 17:10:10 +09:00
Dean Herbert
5d73691de4 Use existing HandleLink flow rather than reimplmenting 2022-02-23 17:02:39 +09:00
Dean Herbert
87da650dfb Update framework 2022-02-23 14:06:56 +09:00
Dean Herbert
5e7dd31f6d
Merge branch 'master' into mod-overlay/switches 2022-02-23 13:49:23 +09:00
Dan Balasescu
71a012bea6
Don't update count twice immediately
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-23 13:42:47 +09:00
Dan Balasescu
2bea485af8 Fix currently playing text not showing in lounge 2022-02-23 13:37:47 +09:00
Susko3
7bdcb5952e Fix handling badly-formatted osu:// urls 2022-02-23 00:36:56 +01:00
Bartłomiej Dach
d8fa443ea0
Extract default mod switch measurements to constants
For use later when specific sizes/scales of the mod switches are
desired.
2022-02-22 23:22:11 +01:00
Bartłomiej Dach
1a358698fb
Merge branch 'master' into startup-protocol-handling 2022-02-22 22:42:16 +01:00
Bartłomiej Dach
d1d6847d32
Add comment about split usage in osu:// protocol link handling 2022-02-22 22:24:37 +01:00
Dean Herbert
6de4e05e49 Fix current selection not being correctly maintained when BeatmapPicker updates its display 2022-02-22 17:17:08 +09:00
Dean Herbert
ed008267d7
Fix one more case of escaping not being present
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-22 16:45:18 +09:00
Dean Herbert
ca0a041153
Fix missing escaping causing test failures
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-22 16:45:04 +09:00
Dean Herbert
61b3280de1 Add missing property copies in Room.CopyFrom implementation 2022-02-22 15:47:00 +09:00
Dean Herbert
71ae425fb2 Merge branch 'master' into rooms-request-faster 2022-02-22 15:45:05 +09:00
Dean Herbert
057fd6c352 Add mention of StarRatingRangeDisplay fallback scenario being wrong for multiplayer 2022-02-22 15:37:42 +09:00
Dean Herbert
f12044b03e Add mention of PlaylistItem.Beatmap being a placeholder in many cases 2022-02-22 15:31:08 +09:00
Dean Herbert
cde3d9c08b Change precedence order to favour playlist as a source for beatmap count 2022-02-22 15:15:57 +09:00
Dean Herbert
e744840d07 Ensure old results are cleared from beatmap overlay on logout 2022-02-22 14:56:04 +09:00
Dean Herbert
d6032a2335 Fix beatmap overlay not re-fetching results after login 2022-02-22 14:55:52 +09:00
Dan Balasescu
a676acd80d
Merge pull request #16945 from peppy/three-column-playlist
Update playlist room display to a three column layout
2022-02-22 12:21:56 +09:00
Bartłomiej Dach
cfc41a0a36
Implement small mod switch 2022-02-22 00:26:35 +01:00
Bartłomiej Dach
5186693dad
Implement tiny mod switch 2022-02-22 00:26:35 +01:00
Bartłomiej Dach
cd3641137b
Add OsuColour method mapping colours from basic theme to mod types 2022-02-22 00:02:54 +01:00
Bartłomiej Dach
d71e511413
Merge branch 'master' into spotlights-on-top 2022-02-21 23:42:02 +01:00
Bartłomiej Dach
959f0330e0
Merge branch 'master' into three-column-playlist 2022-02-21 23:40:21 +01:00
Bartłomiej Dach
e3ae52360e
Merge branch 'master' into leaderboard-score-timeref 2022-02-21 20:50:00 +01:00
Susko3
3eee505aa2 Update "exit" flow when pressing back on Android 2022-02-21 20:24:17 +01:00
Susko3
8d70b85e41 Revert changes 2022-02-21 20:20:24 +01:00
Dean Herbert
897f0ecd5f
Merge pull request #16938 from smoogipoo/classic-score-hitobject-factor
Scale classic score by hitobject count instead of max combo
2022-02-22 00:40:56 +09:00
Dean Herbert
113153e6a3 Fix remaining filter tests 2022-02-22 00:25:00 +09:00
Dean Herbert
2aa0364092 Fix null reference in tests during attempted ruleset filtering 2022-02-22 00:14:33 +09:00
Dean Herbert
98c008b95f Fix test failures due to order change 2022-02-21 19:48:39 +09:00
Dean Herbert
655b23f408 Update playlist room display to a three column layout
Similar to the changes made to multiplayer.
2022-02-21 19:46:33 +09:00
Dean Herbert
c7e9cf904b Fix incorrect null check on now-bindable DifficultyRange 2022-02-21 19:38:26 +09:00
Dean Herbert
ffa5291b74 Add fallback handling for item count to support different request types 2022-02-21 19:37:36 +09:00
Dean Herbert
b5348e0407 Update ruleset filtering to use newly provided array return 2022-02-21 19:05:32 +09:00
Dean Herbert
b43008b9f6 Add cover and count handling from newer response version 2022-02-21 19:05:22 +09:00
Dean Herbert
39d64e779c Handle API returned difficulty range for rooms 2022-02-21 19:05:19 +09:00
Dean Herbert
7f4cc221d2 Add API versioning 2022-02-21 19:02:03 +09:00
Dan Balasescu
3e0e77394b
Merge branch 'master' into beatmap-decoder-ruleset-store 2022-02-21 18:26:22 +09:00
Dan Balasescu
0cfb85f3bb
Merge pull request #16939 from peppy/fix-intro-import-failure-ruleset-test-projects
Add safeties to skip attempted import of the intro beatmap when osu! ruleset not present
2022-02-21 18:24:56 +09:00
Dean Herbert
02a8500500 Ensure spotlights always show at the top of the lounge listing
As proposed at https://github.com/ppy/osu/discussions/16936. Spotlights
are intended to have focus, so let's make sure they are the first thing
the user sees for the time being.
2022-02-21 18:01:46 +09:00
Dean Herbert
1737128334 Allow room category to be copied even if Spotlight
I remember that this conditional copy was added to support making copies
of spotlight rooms without carrying across the `Spotlight` type, but in
testing this is already handled web side to the point that it's not
required.

The rationale for allowing the copy is that this method is used for
tests, where it was not being copied correctly from the input as
expected (used at
bdc3b76df0/osu.Game/Tests/Visual/OnlinePlay/TestRoomManager.cs (L38)).
2022-02-21 17:47:56 +09:00
Dan Balasescu
c466d6df94 Ensure to not multiply by 0 2022-02-21 17:19:35 +09:00
Dean Herbert
2f6e65a9a2 Gracefully handle undefined DateTimeOffset values
Only seems to happen in tests, but best to safeguard against this
regardless.
2022-02-21 16:35:40 +09:00
Dean Herbert
656c58567d Add safeties to skip attempted import of the intro beatmap when osu! ruleset not present
In general running this import will not cause any critical failures, but
the import itself *will* fail – and more loudly with the upcoming
changes to `RulesetStore` (https://github.com/ppy/osu/pull/16890). Due
to it being a loud failure, it will cause the notification overlay to
display a parsing error, which can interrupt the flow of some tests.

See test failure at
https://github.com/ppy/osu/runs/5268848949?check_suite_focus=true as an
example (video coverage at
https://github.com/ppy/osu/pull/16890#issuecomment-1046542243).
2022-02-21 16:21:38 +09:00
Dean Herbert
3d0caa44c8 Remove unused utils class 2022-02-21 13:43:30 +09:00
Dean Herbert
fc1877b6fa Move to extension method and revert logic to match previous implementation 2022-02-21 13:42:26 +09:00
Dan Balasescu
c3b365cf6b Scale classic score by hitobject count 2022-02-21 13:31:03 +09:00
Dean Herbert
79408f6afc Add xmldoc and clean up ScoreboardTimeUtils extension methods a touch 2022-02-21 13:30:58 +09:00
Dean Herbert
2ded7d281b Remove unused using statement 2022-02-21 13:17:19 +09:00
Dean Herbert
abe1a3990a
Merge branch 'master' into leaderboard-score-timeref 2022-02-21 12:11:10 +09:00
Bartłomiej Dach
36a00c1ee2
Remove static OverlayColourProviders 2022-02-20 21:09:08 +01:00
Bartłomiej Dach
ce0db9d4db
Remove all references to static OverlayColourProviders 2022-02-20 21:09:08 +01:00
Bartłomiej Dach
79ba37bbab
Add Colour0 to OverlayColourProvider 2022-02-20 21:09:08 +01:00
Bartłomiej Dach
2592f0900d
Add comments about OverlayColourProvider vs OsuColour distinction 2022-02-20 21:08:58 +01:00
Bartłomiej Dach
e20ae5b871
Add all colour constants for "basic" colour theme to OsuColour 2022-02-20 21:00:49 +01:00
dekrain
262751a98a
Revert highlighting recent scores 2022-02-19 21:23:35 +01:00
dekrain
31b7ce053d
Fix CI issues 2022-02-19 21:18:26 +01:00
dekrain
0d83c5a39a
Add colour highlighting recent scores 2022-02-19 20:47:30 +01:00
dekrain
15ed9ec4fa
Merge scoreboard and leaderboard implementations together 2022-02-19 20:47:02 +01:00
Susko3
7ef710de22 Allow exiting/minimizing on Android when on the initial cookie screen 2022-02-19 18:15:49 +01:00
Dean Herbert
c869be87d1 Update FlatFileWorkingBeatmap to not require a ruleset store 2022-02-19 20:53:04 +09:00
Dan Balasescu
65ffcefdf9
Merge pull request #16910 from peppy/fix-storyboard-background-replacement
Fix storyboard background replacement logic not working for beatmaps with multiple backgrounds
2022-02-18 19:08:52 +09:00
Dean Herbert
a029e418cf Use internal instead of protected internal 2022-02-18 17:06:04 +09:00
Dean Herbert
3abbf07fb3 Revert local registrations in test scenes 2022-02-18 16:52:34 +09:00
Dean Herbert
cf1dd1ebd3 Disallow registering a null RulesetStore 2022-02-18 16:52:34 +09:00
Dean Herbert
420e2c538f Automatically use an AssemblyRulesetStore if no custom store is registered 2022-02-18 16:52:34 +09:00
Dean Herbert
631c23ea3a Merge branch 'master' into beatmap-decoder-ruleset-store 2022-02-18 16:52:33 +09:00
Dean Herbert
e49da2948d Fix storyboard background replacement logic not working for beatmaps with multiple backgrounds
In the case where the background image of individual difficulties is
different, querying the beatmap *set*'s metadata as we were will cause
issues.

I haven't added test coverage for this but can if required. Can be
manually tested using https://osu.ppy.sh/beatmapsets/1595773#osu/3377474
(specifically the highest difficulty).

Closes https://github.com/ppy/osu/discussions/16873.
2022-02-18 16:24:19 +09:00
Dean Herbert
29c5683ba3 Add handling of beatmap links on startup 2022-02-18 16:14:37 +09:00
Dean Herbert
98aaf83177 Add a centralised constant for the osu URL schema protocol 2022-02-18 15:57:37 +09:00
dekrain
1abbb9ab39
Align the bar to be on baseline of score components
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-17 21:26:59 +01:00
OctopuSSX
08317b4265 Update ScreenshotManager.cs 2022-02-17 20:43:36 +03:00
Dean Herbert
d7ef0e4174
Merge pull request #16895 from bdach/better-new-difficulty-naming
Name newly created difficulties in a better way
2022-02-17 21:54:09 +09:00
Dean Herbert
9d0023c750 Fix incorrect mappings 2022-02-17 21:12:51 +09:00
Dean Herbert
3d5ed24e20 Fix beatmap overlay leaderboards and links not working
Completely aware that this isn't how it should be done, but would like
to get this out in a hotfix release today. Maybe changes opinions on
https://github.com/ppy/osu/pull/16890 structure?
2022-02-17 21:05:00 +09:00
Dean Herbert
bbc4ea1203
Merge branch 'master' into better-new-difficulty-naming 2022-02-17 19:21:33 +09:00
dekrain
f4d1e6f600
Add tests for timerefs 2022-02-17 10:38:29 +01:00
dekrain
7bd731ae08
Move the date next to the flag icon 2022-02-17 10:12:35 +01:00
Dean Herbert
2a1edcdf73
Merge branch 'master' into remove-playlistitem-beatmap 2022-02-17 17:19:26 +09:00
Dean Herbert
dc74d17478 Update framework 2022-02-17 16:45:20 +09:00
Dean Herbert
7307e68e9c Revert "Merge pull request #16889 from smoogipoo/remove-mod-multiplier"
This reverts commit 252b945d3b, reversing
changes made to a1b39a96cf.
2022-02-17 13:26:12 +09:00
Stedoss
aac1c53b06 Remove creator name from playlist item panel beatmap text 2022-02-17 03:04:16 +00:00
Bartłomiej Dach
8a08bb7aaf
Use best-name-finding helper in new difficulty creation flow 2022-02-17 00:28:18 +01:00
Bartłomiej Dach
e09570c31b
Implement best-name-finding helper method 2022-02-17 00:28:17 +01:00
Bartłomiej Dach
cb9ffc655a
Add tests showing expected behaviour of naming helper 2022-02-17 00:28:13 +01:00
dekrain
333a305af3
Use floor instead of ceiling 2022-02-17 00:09:17 +01:00
dekrain
c124034cf3
Add text displaying recent score time 2022-02-16 23:18:14 +01:00
Dean Herbert
23933fc881 Update xmldoc to mention that multipliers are not applied anywhere 2022-02-16 17:32:22 +09:00
Dean Herbert
5ffd3ff82a Add xmldoc and allow constructing an AssemblyRulesetStore with a directory path 2022-02-16 17:25:16 +09:00
Dean Herbert
5477af08c5 Register an AssemblyRulesetStore in tests which don't use OsuGameBase 2022-02-16 17:21:57 +09:00
Dean Herbert
d0efecfc9c Add RulesetStore for use where realm is not present (ie. other projects) 2022-02-16 17:13:54 +09:00
Dean Herbert
13086541f0 Add static RulesetStore to LegacyBeatmapDecoder 2022-02-16 17:13:54 +09:00
Dean Herbert
7a69de0060 Split out realm portion of RulesetStore 2022-02-16 17:13:31 +09:00
Dean Herbert
3d3f0a89c2 Remove legacy RulesetID property from BeatmapInfo 2022-02-16 16:46:53 +09:00
Dan Balasescu
4c1413e0c7 No longer require Mod implementation 2022-02-16 16:36:02 +09:00
Dan Balasescu
5dd9771c5f Remove mod multipliers from being applied to scores 2022-02-16 16:27:27 +09:00
Dan Balasescu
55d9f0b44b Store beatmap to a field instead 2022-02-16 16:03:08 +09:00
Dan Balasescu
edd31bf3aa Revert styling change 2022-02-16 15:51:18 +09:00
Dean Herbert
7e24b36f26 Merge branch 'master' into remove-playlistitem-beatmap 2022-02-16 14:24:57 +09:00
Dan Balasescu
84e82ef5e4 Add XMLDocs to difficulty attribute properties 2022-02-16 14:09:19 +09:00
Dan Balasescu
5db63a8751 Expose read-only list from request 2022-02-16 11:30:03 +09:00
Dean Herbert
6a08fd57ef Rename "client" fields in tests to specify whether spectator or multiplayer 2022-02-16 09:52:18 +09:00
Dean Herbert
187870b794 Merge branch 'master' into fix-multi-cache-dependencies 2022-02-16 09:44:37 +09:00
Dean Herbert
954ae60b81
Merge branch 'master' into copy-existing-difficulty 2022-02-16 08:55:12 +09:00
Dan Balasescu
ea5bb46fb8
Merge branch 'master' into net6 2022-02-16 00:40:04 +09:00
Dan Balasescu
b1dbd4abfe Fix incorrect playlist item <-> availability tracker logic
Results in revert to some prior logic for the tracker implementation.
2022-02-15 23:50:12 +09:00
Dan Balasescu
48573d2401 Move test request handling earlier in setup 2022-02-15 23:50:10 +09:00
Dan Balasescu
bdc3b76df0 Remove beatmap bindable from PlaylistItem 2022-02-15 23:50:08 +09:00
Dan Balasescu
94a974e1c9 Make OnlinePlayBeatmapAvailabilityTracker look up the online beatmap 2022-02-15 23:41:50 +09:00
Dan Balasescu
afcb7a4630 Make DrawableRoomPlaylistItem look up the online beatmap 2022-02-15 23:41:50 +09:00
Dan Balasescu
73ce1b324e Make DrawableRoom look up the online beatmap 2022-02-15 23:41:50 +09:00
Dan Balasescu
ccd265ebe7 Handle beatmap lookup requests in TestRoomRequestsHandler 2022-02-15 23:41:50 +09:00
Dan Balasescu
a5183cec77 Add helper to construct APIBeatmap 2022-02-15 23:41:08 +09:00
Dan Balasescu
2675bb87ff Add BeatmapLookupCache as another dependency 2022-02-15 21:05:25 +09:00
Dan Balasescu
c48a0dc993 Move UserLookupCache to online play test dependencies 2022-02-15 20:56:46 +09:00
Dan Balasescu
b2276baf71 Seal OnlinePlayTestScene.CreateChildDependencies() 2022-02-15 20:55:57 +09:00
Dan Balasescu
5b765581d8 Fix free mod selection not showing allowed mods 2022-02-15 16:28:15 +09:00
Dan Balasescu
efeba30b9f Remove ruleset and mod bindables from PlaylistItem 2022-02-15 16:28:15 +09:00
Dean Herbert
334fe1f120 Add AsSplitQuery specification to avoid optimisation recommendation log messages 2022-02-15 15:23:17 +09:00
Dean Herbert
8ec28dc8bc Update OsuDbContext in line with EF changes 2022-02-15 15:19:50 +09:00
Dean Herbert
28b45fa899 Add assertions against null reference for connection usages 2022-02-15 15:19:50 +09:00
Dean Herbert
60153bb69d Update nuget packages to highest usable versions
EF packages are intentionally pinned to 5.0.14 as higher versions no
longer support `netstandard2.1`, which we require for xamarin projects.
2022-02-15 15:19:23 +09:00
Salman Ahmed
f5d0eb41cb Update further ChangeFocus usages 2022-02-15 02:42:39 +03:00
Bartłomiej Dach
e45a2ae0fc
Restructure difficulty copy flow to adapt to latest changes 2022-02-14 22:02:37 +01:00
Bartłomiej Dach
6221447164
Append copy suffix on creating copy of difficulty 2022-02-14 20:19:12 +01:00
Bartłomiej Dach
40cfee3421
Explicitly reset online ID and beatmap status on copy 2022-02-14 19:54:40 +01:00
Bartłomiej Dach
7e75fa7117
Revert "Change BeatmapInfo copy logic to be opt-in rather than opt-out"
This reverts commit 5dabc9282c.
2022-02-14 19:52:08 +01:00
Bartłomiej Dach
4bd58cfde1
Update one more custom transform with BorderColour type change 2022-02-14 18:52:19 +01:00
Dean Herbert
8da0800d7f Update ChangeFocus usage in line with framework changes 2022-02-15 02:47:35 +09:00
Dean Herbert
b581ca14cc Update usages in line with BorderColour type change 2022-02-15 02:32:38 +09:00
Dean Herbert
e304c031dc Update framework 2022-02-14 22:06:37 +09:00
Dean Herbert
5b30921cbf Merge branch 'master' into net6 2022-02-14 22:06:35 +09:00
Dean Herbert
e324287f79 Reduce expansion delay on ExpandingButtonContainer
Felt too long.
2022-02-14 18:08:17 +09:00
Dean Herbert
3aa5908de8 Remove unused using statement 2022-02-14 18:01:56 +09:00
Dean Herbert
b9d9fc56af Move files to UI namespace 2022-02-14 17:51:39 +09:00
Dean Herbert
80ba06b0e3
Merge branch 'master' into expandable-controls 2022-02-14 16:57:45 +09:00
Bartłomiej Dach
5dabc9282c
Change BeatmapInfo copy logic to be opt-in rather than opt-out 2022-02-13 19:04:11 +01:00
Bartłomiej Dach
ecd6a68c6f
Clear hash when creating copy of existing difficulty 2022-02-13 14:01:23 +01:00
Bartłomiej Dach
6fd663a718
Apply some renames to convey difference between creation options better 2022-02-13 14:01:23 +01:00
Bartłomiej Dach
a144d6f8d6
Fix beatmap skin properties not copying 2022-02-13 14:01:22 +01:00
Bartłomiej Dach
1bf5375e74
Fix BeatmapInfo-associated member not copying 2022-02-13 14:01:21 +01:00
Bartłomiej Dach
a2c2b2bbb3
Add flow for copying existing difficulty content 2022-02-13 14:01:20 +01:00
Dan Balasescu
8b05b35b8c
Merge pull request #16854 from peppy/combine-score-submission-request-implementation
Standardise and combine base implementation of score submission requests
2022-02-11 17:31:55 +09:00
Dean Herbert
28bbf34b14 Remove unnecessary this. prefix 2022-02-11 16:21:49 +09:00
Dan Balasescu
43f1044987
Merge pull request #16850 from frenzibyte/readonly-pinned-scores
Add read-only pinned scores view in user profile overlay
2022-02-11 16:15:46 +09:00
Dean Herbert
908c31c687 Update stream read operations to use new helper methods 2022-02-11 16:02:25 +09:00
Dean Herbert
beb3731c0b Standardise and combine base implementation of score submission requests
These share too much yet have very different constructor signatures and
property exposure. Just a clean-up pass as I begin to look at replay
submission.
2022-02-11 15:53:47 +09:00
Salman Ahmed
ccd6648961 Update pinned score container header to use localised title 2022-02-11 09:22:09 +03:00
Salman Ahmed
b06caf2bf7 Update resources 2022-02-11 09:12:02 +03:00
Salman Ahmed
92e22c57a7 Introduce private APIRuleset for online ID equality comparison 2022-02-11 08:27:01 +03:00
Salman Ahmed
6f0e32826c Standardise ordering/grouping of IRulesetInfo/RulesetInfos 2022-02-11 04:27:11 +03:00
Salman Ahmed
26839f6ad8 Consider OnlineIDs during ruleset equality if available
Required for `APIBeatmap`s, which provide `Ruleset` instances with `OnlineID` available only.

Also consistent with the comparer implementation.
2022-02-11 04:26:58 +03:00
Salman Ahmed
1b729e891d Update pointless CompareTo implementation once again 2022-02-11 04:17:30 +03:00
Salman Ahmed
9574bc1382 Allow IRulesetInfos of same type to be comparable
At first I was planning on making `CompareTo` implemented at
`IRulesetInfo` itself and shared across classes, but turns out it only
implements it explicitly and not allow direct `IRulesetInfo.Equals`
calls.

It messed with my head enough that I decided to just let each class have
its own implementation and only allow same type.
2022-02-11 04:03:23 +03:00
Salman Ahmed
4f7003928a Add score container for pinned scores in ranks section 2022-02-10 21:32:18 +03:00
Salman Ahmed
9cd88ec2b8 Update API models with score pinning changes 2022-02-10 21:23:38 +03:00
Dean Herbert
2939bc4644 Update resources 2022-02-11 01:49:52 +09:00
Dean Herbert
eda213e4de
Merge pull request #16827 from smoogipoo/spectator-state-rework
Add user state to SpectatorState, allowing multiplayer to continue to results
2022-02-11 01:48:47 +09:00
Dean Herbert
44f2d8a448 Allow game folder migration to fail gracefully when cleanup cannot completely succeed 2022-02-10 19:30:26 +09:00
Dean Herbert
88bb9d4237 Fix migration errors not outputting the call stack to logs 2022-02-10 15:50:03 +09:00
Dan Balasescu
ebd105422f Remove unused using 2022-02-10 14:22:08 +09:00
Dan Balasescu
f7fb7825cc Simplify disposal 2022-02-10 14:21:51 +09:00
Dan Balasescu
a3896a8ebd Remove allowance of null dependency 2022-02-10 14:21:50 +09:00
Dan Balasescu
18251c9285 Clean up SpectatorScreen based on suggestions 2022-02-09 12:20:07 +09:00
Dan Balasescu
ffc4c64f7e Unify namings across the board 2022-02-09 12:10:07 +09:00
Dean Herbert
c242a63b11 Fix playlist overlay null reference when attempting an empty selection
As reported at https://github.com/ppy/osu/discussions/16829.
2022-02-09 10:16:45 +09:00
Dan Balasescu
886d1d2df6 Refactorings 2022-02-08 21:29:43 +09:00
Dean Herbert
79d1d54e33 Rename parameter to match other usages 2022-02-08 20:35:38 +09:00
Dan Balasescu
c1766d8a41 Add paused state 2022-02-08 20:29:53 +09:00
Dan Balasescu
4c76027178 Rename completed state to passed 2022-02-08 20:29:49 +09:00
Dan Balasescu
45b3f472ab Merge branch 'master' into spectator-state-rework 2022-02-08 19:51:50 +09:00
Dan Balasescu
b1a73996ba Fix incorrect check for beatmap availability 2022-02-08 19:36:42 +09:00
Henry Lin
10bdb7240f Pre-check for divisor zero and add explanation 2022-02-08 14:36:29 +08:00
Dean Herbert
8cca12da64
Merge branch 'master' into display-performance-attributes 2022-02-08 14:45:35 +09:00
Dan Balasescu
c2416c490e Fix crash on disconnection during multi-spectate 2022-02-08 11:29:39 +09:00
Henry Lin
56c90a21ce Add a todo 2022-02-06 11:22:12 +08:00
Henry Lin
f78c853bc7 Calculate max combo locally in PerformanceBreakdownCalculator 2022-02-06 10:59:53 +08:00
Henry Lin
0b1fef38af Use the playable beatmap provided in CreateStatisticsForScore 2022-02-05 21:36:34 +08:00
Henry Lin
c35ef917a1 Remove tooltip from performance statistic 2022-02-05 21:18:23 +08:00
Henry Lin
2e1a9f1379 Add performance breakdown as statistic item in extended statistics panel 2022-02-05 21:13:16 +08:00
Henry Lin
f29301cd1e
Merge branch 'master' into display-performance-attributes 2022-02-05 16:59:46 +08:00
Dean Herbert
eb25730b61 Revert "Merge pull request #16716 from peppy/carousel-less-invalidations"
This reverts commit 8d13e0514b, reversing
changes made to 95582a9023.
2022-02-05 16:12:58 +09:00
Dean Herbert
fd81842ade
Merge pull request #16778 from smoogipoo/simplify-test-spectator-client
Refactor TestSpectatorClient implementation
2022-02-05 00:26:44 +09:00
Salman Ahmed
5f5db2ae82
Merge branch 'master' into mvp-safe-area-support 2022-02-04 17:01:46 +03:00
Dan Balasescu
3a8ec205b3 Merge branch 'simplify-test-spectator-client' into spectator-state-rework 2022-02-04 22:42:53 +09:00
Dan Balasescu
09728a29ed Merge branch 'fix-broken-test-scene' into spectator-state-rework 2022-02-04 22:42:10 +09:00
Dan Balasescu
750f90e728 Simplify TestSpectatorClient implementation 2022-02-04 22:38:40 +09:00
Dean Herbert
d62885f30b
Don't schedule call to updateSize in LoadComplete to ensure following FinishTransforms runs as expected
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-02-04 22:31:41 +09:00
Salman Ahmed
5e47ce333c Change SafeAreaOverrideEdges to be get-only and protected 2022-02-04 16:10:49 +03:00
Dean Herbert
b5dde6f1ad Update resources 2022-02-04 21:38:52 +09:00