APIUser
RoomID
DeepClone
Room
ShouldSerialize
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
Room.CopyFrom
StarRatingRangeDisplay
PlaylistItem.Beatmap
Update playlist room display to a three column layout
Add text displaying recent score time on the leaderboard
Scale classic score by hitobject count instead of max combo
Similar to the changes made to multiplayer.
DifficultyRange
Add safeties to skip attempted import of the intro beatmap when osu! ruleset not present
Allow room category to be copied even if `Spotlight`
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.
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 https://github.com/ppy/osu/blob/bdc3b76df0b58406796e2b08db13be7f2140fa7e/osu.Game/Tests/Visual/OnlinePlay/TestRoomManager.cs#L38).
DateTimeOffset
Only seems to happen in tests, but best to safeguard against this regardless.
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).
ScoreboardTimeUtils
Add all colour constants for "basic" colour theme to `OsuColour`
OverlayColourProvider
Colour0
OsuColour