Commit Graph

125 Commits

Author SHA1 Message Date
ef10145d6f Rename MenuCursorContainer and clean up code 2022-07-26 14:11:52 +09:00
018da74fe8 Replace default with CountryCode.Unknown 2022-07-18 08:54:35 +03:00
100c53f9ef Country -> CountryCode 2022-07-18 08:40:34 +03:00
b2b2a4adaf Update tournament migration logic to check for null Country 2022-07-16 05:04:24 +03:00
11c8a2c16e Disable tournament client "save changes" button when there's no changes to save 2022-07-13 17:46:09 +09:00
a83c45b50e Fix compile failures from framework breaking change 2022-06-24 16:07:14 +02:00
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
f3c9f9a216 Merge pull request #18751 from frenzibyte/tournament-beatmap
Improve tournament beatmap JSON storage using lightweight model
2022-06-18 11:00:26 +09:00
4c47996130 TournamentPlayer -> TournamentUser 2022-06-18 02:33:26 +03:00
60903be566 Standardise naming for online ID
Rather than continuing with `ID` or `Id`, this should follow the new
standards and use `OnlineID` instead. Only updating this since it's a
newly introduced class.
2022-06-18 01:48:16 +03:00
9f97d1a7db Replace tournament beatmap storage type with lightweight model 2022-06-18 01:34:09 +03:00
b977ce7995 Replace tournament player storage type with lightweight model 2022-06-17 21:35:04 +03:00
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
afbb1fa750 Fix tournament user stat population potentially using wrong ruleset
`OsuGameBase.Ruleset` is bound
[late](7d0470794b/osu.Game.Tournament/TournamentGameBase.cs (L169))
so we must use the ladder one during user retrieval.

Closes https://github.com/ppy/osu/issues/18363.
2022-05-23 14:07:11 +09:00
218642c300 Update unsafe file write usages 2022-05-16 18:05:27 +09:00
a06b0a4966 Fix tournament bracket parsing's ruleset refetch logic not working correctly
Due to equality being based on `ShortName`, it was feasible that the
re-fetch exited early (in bindable shortcutting logic) causing the
ruleset's `OnlineID` to remain `-1` or something equally wrong.

Resolves issue pointed out at
https://github.com/ppy/osu/discussions/17538#discussioncomment-2471746.
2022-03-31 18:41:00 +09:00
a7a7584d3e Add test coverage ensuring ruleset ID is correct after bracket read
Historically, tournament client may have written incorrect `OnlineID`
values. We wanted to use `ShortName` to re-fetch the ruleset. This test
ensures this flow is working correctly.
2022-03-31 18:39:58 +09:00
b5f670cc5b Add far too many fixes for ruleset non-nullable requirements 2022-01-12 23:24:11 +09:00
51251e3204 Fix CI reported warnings 2022-01-12 22:39:00 +09:00
5158736839 Avoid saving bracket if parsing failed, at all costs 2021-12-03 16:06:38 +09:00
ba05a0a383 Centralise specification of bracket.json filename 2021-12-03 16:04:11 +09:00
0ecf5f201c Rename User to APIUser and move to correct namespace 2021-11-07 11:26:01 +09:00
f9ca7f5df1 Merge pull request #15319 from peppy/beatmap-refactor/tournament
Remove all usage of `BeatmapInfo` / `BeatmapSetInfo` from tournament mode
2021-10-28 16:26:06 +09:00
a6669a3892 Add mention of why the serialisation happens outside stream usage 2021-10-28 15:04:09 +09:00
ef26b0ba8a Fix serlialisation failure during ladder saving causing all existing file content to be deleted 2021-10-28 15:00:30 +09:00
f1499641f3 Rename all usages of APIBeatmap to beatmap in tournament namespace 2021-10-27 18:42:48 +09:00
5448b94039 Change repopulation rules to cover the fact that the serisalisation model has changed
This also adds a progress display to show how repopulation is going. It
can take a while on a large bracket.
2021-10-27 18:42:48 +09:00
35168948fe Fix PopulateUser not populating immediately when immediate is specified (due to scheduling) 2021-10-27 18:26:44 +09:00
3130616300 Update tournament components to use APIBeatmap directly 2021-10-27 18:26:44 +09:00
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
7111f58bfe Fix tournament client silently failing on error during parsing 2021-10-25 16:49:33 +09:00
b41fa41c85 Rename APIRequest.Result to Response 2021-10-05 14:28:56 +09:00
ec61c3c5ee Rename all remaining cases 2021-10-03 00:55:29 +09:00
77b354bfba Resolve ruleset from store after loading tournament ladder 2021-07-30 02:12:03 +09:00
b5954a55ad Remove empty <returns> xmldoc 2021-04-12 17:46:14 +09:00
51a5652666 Refetch tournament users on null country rank 2021-03-01 22:42:53 +03:00
b68dbbceff Merge branch 'master' into multiplayer-participant-rank 2021-02-19 13:16:44 +09:00
61bf9a64bb Revert failed user requests changes with returning user ID instead 2021-02-17 11:22:03 +03:00
a845e96b7a Replace Ranks.Global completely with a GlobalRank property 2021-02-17 08:52:04 +03:00
85ebc8e06c Fix potentially overwriting user ID from failed request 2021-02-17 07:50:14 +03:00
3b4e02e5c7 Fix user population not immediate on bracket loading 2021-02-17 07:50:14 +03:00
7d057ab6ce Fix two threading issues 2021-02-12 22:38:55 +09:00
725db56837 Add loading spinner while tournament bracket is loading / retrieving data 2021-02-12 16:55:34 +09:00
49057e8cbc Cache TournamentStorage explicitly for better safety 2021-01-11 14:38:42 +09:00
a6766e64de Add custom handling of Point serialization to fix startup crashes of tournament client
SixLabors moved their data types around in a recent update (see
https://github.com/ppy/osu-framework/pull/4025) and it was deemed that
we should prefer `System.Drawing` primitives where possible.

This was applied to the tournament client via
https://github.com/ppy/osu/pull/11072 without correct consideration
given to the fact that we serialize these types.

`System.Drawing.Point` serializes into a comma separated string, which
seems to be less correct than what we had, so I've switched back to the
old format for the time being. We can reasses this in the future; the
main goal here is to restore usability to the tournament client.

Closes #11443.
2021-01-08 17:08:10 +09:00
daceb0c049 Fix texture store not being initialised correctly
Without this change flags/mods would not work as expected. The video
store was being added as the texture store incorrectly.
2020-10-19 15:48:34 +09:00
9d2392b6b1 Cache TournamentStorage as Storage and only cast when necessary 2020-06-24 00:14:44 +02:00
291dadf0b2 Merge branch 'master' of https://github.com/ppy/osu into tourney-asset-refactor 2020-06-22 12:01:24 +02:00
29ae1c460a TournamentStorage now takes in a parent storage 2020-06-16 17:00:20 +02:00
1cd96b8002 Rework StableInfo into a DI'd data structure 2020-06-13 15:06:07 +02:00