Commit Graph

78 Commits

Author SHA1 Message Date
Bartłomiej Dach
b144cfd55c
Add LegacyOnlineID handling to places that definitely need it
Mostly places that can interact with imported replays.

There are other places that use the online ID as a sort tiebreaker, or
to check presence of a score on results screens, but they should
probably still continue to only use `OnlineID`, since all scores with a
legacy online ID should have an online ID, but the converse is not
generally true.
2023-10-16 11:20:02 +02:00
Salman Ahmed
251f23b2c2 Handle culture code differences of Traditional Chinese 2023-06-08 03:27:05 +03:00
Dean Herbert
b8d9c9ff93 Move ApplyGameWideClock to extension method
I don't see an issue with applying this workaround to more places, even
though it is a workaround, because it marks each usage very clearly. If
we design a better solution in the future it should be easy to replace
the usages.
2023-06-06 16:07:50 +09:00
Dean Herbert
b1cf6d83d8 Move extension methods closer to serialisation classes 2023-02-15 18:37:41 +09:00
Dean Herbert
d159d6b970 Rename ISkinnableDrawable to ISerialisableDrawable 2023-02-15 18:37:41 +09:00
Dean Herbert
856efd9fd9 Rename SkinnableDrawableInfo to SerialisedDrawableInfo 2023-02-15 18:23:19 +09:00
Dean Herbert
9e651a7ca2 Rename SkinnableInfo to SkinnableDrawableInfo 2023-02-15 18:23:17 +09:00
Dean Herbert
6010dde86e Move SkinnableInfo to better namespace 2023-02-15 18:23:10 +09:00
Dean Herbert
778b8a9bf7 Fix default settings not being serialised / state tracked correctly 2023-02-06 15:00:42 +09:00
Dean Herbert
27c497145f Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0 2022-12-16 18:16:26 +09:00
Susko3
5b1e39abd5 Fix parsing of Language when using default system locale 2022-11-10 22:56:24 +01:00
Dean Herbert
66ed77ac91 Rename and add documentation to function 2022-10-28 18:04:28 +09:00
nullium21
6901ed997d One more little change
Damn, i forgor. Sorry, CI runners.
2022-10-28 09:22:08 +03:00
nullium21
c1e9398c19 Fix regex by allowing file extensions + typed new
Apparently, the _whole_ filename was checked with GetValidArchiveContentFilename,
not just the stem.
2022-10-28 09:19:34 +03:00
nullium21
68d1febe6e Use a regex for matching invalid characters instead
What the regex does is it matches everything except alphanumeric and [_()[] -], excluding EOL since regex101 seems to also match it, and we probably don't want that to happen.
2022-10-27 10:33:50 +03:00
nullium21
dffebdf7ed Only use 0-9A-Za-z-_()[] characters in filenames 2022-10-26 13:31:32 +03:00
Bartłomiej Dach
6f37487528
Replace calls to defective Humanizer methods with correct version 2022-07-18 22:34:58 +02:00
Bartłomiej Dach
ffa9a83a4f
Add own fixed copy of defective Humanizer methods 2022-07-18 21:37:31 +02:00
andy840119
48047f2e58 Move the null check in the outside.
AddCursor() should not accept the null value.
2022-06-30 23:29:49 +08:00
andy840119
a5b1f1a688 mark the string as nullable. 2022-06-30 23:23:14 +08:00
andy840119
26de34da84 Remove the nullable disable annotation. 2022-06-30 23:20:40 +08:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Salman Ahmed
c8665dc93b Update TimeSpan localisation to use ToLocalisableString 2022-04-28 11:12:50 +03:00
Dean Herbert
c99397f75a Add the ability to add settings to skinnable elements 2022-03-13 17:03:25 +09:00
Dean Herbert
42e07b7308 Convert to extension method to avoid recursive calls 2022-03-03 14:15:37 +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
fc1877b6fa Move to extension method and revert logic to match previous implementation 2022-02-21 13:42:26 +09:00
Dean Herbert
5736b7d978 Fix cursors sent to osu-web being potentially string formatted in incorrect culture
Fixed as per solution at https://github.com/JamesNK/Newtonsoft.Json/issues/874.

Note that due to the use of `JsonExtensionDataAttribute` it's not
feasible to change the actual specification to `JValue` in the
`Dictionary`.

In discussion with the osu-web team, it may be worthwhile to change the cursor
to a string format where parsing is not required at our end. We could already
do this in fact, but there are tests that rely on it being a `JToken` so the
switch to `JValue` seems like the easier path right now.
2022-01-04 17:20:46 +09:00
Dean Herbert
c9f6c5c673 Add MatchesOnlineID implementation for IScoreInfo 2021-12-10 18:34:31 +09:00
Dean Herbert
416ee2447a Move archive filename helper method to extension method 2021-11-25 16:35:54 +09:00
Dean Herbert
3946a39b65 Make BeatmapSet.Metadata non-null 2021-11-24 15:03:34 +09:00
Dean Herbert
6fb2757739 Remove usage of Nuget.Packaging extension methods for IList.AddRange 2021-11-23 15:02:02 +09:00
Dean Herbert
59e763467f Move StoragePath implementation to an extension method 2021-11-19 16:08:38 +09:00
Dean Herbert
66c307e0ee Remove usage of key repeat helper method 2021-11-18 13:13:36 +09:00
Dean Herbert
2cbdac91ad Add missing APIUser comparison method 2021-11-16 12:44:20 +09:00
Dean Herbert
fbc46941fa Add type safety to MatchesOnlineID extension methods 2021-11-16 12:37:47 +09:00
Dean Herbert
18f73b985b Make ModelExtensions nullable enabled 2021-11-15 14:38:01 +09:00
Dean Herbert
a4c11e8813 Use extension method to compare online IDs 2021-11-15 14:34:50 +09:00
Dean Herbert
98dcf487da Add fallback case for GetDisplayString if called on a null reference 2021-11-12 16:02:51 +09:00
Bartłomiej Dach
5ec8288508
Add GetDisplayString() extension to handle all model interface types globally 2021-11-09 13:53:07 +01:00
Bartłomiej Dach
baf9961934
Amend xmldoc of shake extension method 2021-09-14 22:50:45 +02:00
Dean Herbert
e17b800470 Move shake logic into extension method 2021-09-14 14:44:23 +09:00
Dean Herbert
7a44ddb36b Update incorrect xmldoc 2021-07-31 16:48:45 +09:00
Dean Herbert
472c0137ec Add new extension for formatting time durations 2021-07-31 16:45:53 +09:00
Dean Herbert
c751e087ca
Merge branch 'master' into skin-editor-closest-anchor 2021-06-18 18:54:07 +09:00
Bartłomiej Dach
cc5145a131 Fix languages with a sub-language part not working properly 2021-06-16 11:10:03 +02:00
Robin Avery
dc50ae40b9
Rename OverridesClosestAnchor to UsesFixedAnchor 2021-06-08 08:28:42 -04:00
Robin Avery
133d72a8c0
Rename UsingClosestAnchor
It is now "OverridesClosestAnchor". The logic is inverted accordingly.
2021-06-07 00:14:36 -04:00
Robin Avery
f28916e30f
Remove all UsingClosestAnchor() extension logic
It is replaced with ISkinnableDrawable.UsingClosestAnchor.
2021-06-07 00:04:53 -04:00