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

2114 Commits

Author SHA1 Message Date
smoogipoo
18e3f8c233 Sort beat lengths rather than linear search 2021-02-08 19:03:19 +09:00
smoogipoo
b40b159acb Round beatlength 2021-02-08 18:52:50 +09:00
smoogipoo
69ca440ae5 Merge branch 'master' into more-accurate-most-common-bpm 2021-02-08 18:40:58 +09:00
Bartłomiej Dach
b9a49d5589 Coerce undefined animation loop types to Forever 2021-01-31 15:43:58 +01:00
Dean Herbert
16f3d1815f Fix SQLite exception thrown is a beatmap lookup is attempted without an OnlineBeatmapID present
It turns out the SQLite API isn't smart enough to handle nullables
directly, so we need to help it out a bit.

Stops the following from being thrown:

```
System.InvalidOperationException: Value must be set.
   at Microsoft.Data.Sqlite.SqliteParameter.Bind(sqlite3_stmt stmt) = 3
at
   at Microsoft.Data.Sqlite.SqliteParameterCollection.Bind(sqlite3_stmt
stmt) = 3 at
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior
behavior)
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader()
   at
osu.Game.Beatmaps.BeatmapManager.BeatmapOnlineLookupQueue.checkLocalCache(BeatmapSetInfo
set, BeatmapInfo beatmap) in
/Users/dean/Projects/osu/osu.Game/Beatmaps/BeatmapManager_BeatmapOnlineLookupQueue.cs:line
166 = 166
```
2021-01-29 19:53:57 +09:00
Dean Herbert
c3d4044017 Avoid using Dapper to fix iOS compatibility of beatmap lookup cache 2021-01-28 16:53:56 +09:00
Lucas A
383c40b992 Address remaining reviews suggestions. 2021-01-26 20:35:42 +01:00
Lucas A
9f9206726a Fix typos. 2021-01-26 18:11:54 +01:00
Dean Herbert
4ac362ee1a Move cloning local to editor 2021-01-25 18:29:00 +09:00
Dean Herbert
f054b38105 Merge branch 'master' into revert-beatmap-controlpointinfo-cloning 2021-01-25 18:25:53 +09:00
Lucas A
51d4da565c Fix ArchiveModelManagers lookup paths. 2021-01-24 22:25:49 +01:00
Salman Ahmed
acfb2d2980 Refactor beatmap set covers into using ModelBackedDrawable<T> 2021-01-24 00:32:33 +03:00
Salman Ahmed
d83abfa7d2 Add test scene with failing test case 2021-01-24 00:32:20 +03:00
Dean Herbert
edb6d3907b
Merge pull request #11472 from frenzibyte/explicit-beatmap-markers
Add explicit content markers to beatmap panels and overlay
2021-01-17 21:44:10 +09:00
Dean Herbert
d6e6b4bbee Revert forced cloning of ControlPointInfo
This reverts commit 3c3e860dbc.

Closes https://github.com/ppy/osu/issues/11491.
2021-01-15 17:34:59 +09:00
smoogipoo
24e991a5ef Actually return beat length and not BPM 2021-01-15 14:35:09 +09:00
smoogipoo
c6e9a6cd5a Make most common BPM more accurate 2021-01-15 14:28:49 +09:00
Dean Herbert
8a0b975d71 Fix deadlock scenario when calculating fallback difficulty
The previous code would run a calcaulation for the beatmap's own ruleset
if the current one failed. While this does make sense, with the current
way we use this component (and the implementation flow) it is quite unsafe.

The to the call on `.Result` in the `catch` block, this would 100%
deadlock due to the thread concurrency of the `ThreadedTaskScheduler`
being 1. Even if the nested run could be run inline (it should be), the
task scheduler won't even get to the point of checking whether this is
feasible due to it being saturated by the already running task.

I'm not sure if we still need this fallback lookup logic. After removing
it, it's feasible that 0 stars will be returned during the scenario that
previously caused a deadlock, but I don't necessarily think this is
incorrect. There may be another reason for this needing to exist which
I'm not aware of (diffcalc?) but if that's the case we may want to move
the try-catch handling to the point of usage.

To reproduce the deadlock scenario with 100% success (the repro
instructions in the linked issue aren't that simple and require some
patience and good timing), the main portion of the lookup can be changed
to randomly trigger a nested lookup:

```
if (RNG.NextSingle() > 0.5f)
    return GetAsync(new
DifficultyCacheLookup(key.Beatmap, key.Beatmap.Ruleset,
key.OrderedMods)).Result;
else
    return new StarDifficulty(attributes);
```

After switching beatmap once or twice, pausing debug and viewing the
state of threads should show exactly what is going on.
2021-01-14 18:25:34 +09:00
Salman Ahmed
e8daea91d2 Add online beatmap "explicit content" property 2021-01-13 12:13:14 +03:00
smoogipoo
9a22df2b88 Fix BPM multiplier not working in all cases 2021-01-12 17:50:22 +09:00
Dean Herbert
3c3e860dbc Move ControlPointInfo copying to base Beatmap.Clone method (and remove setter) 2021-01-07 23:52:04 +09:00
Dean Herbert
00dc98e3ab Make legacy control point's BpmMultiplier setter private again 2021-01-07 19:06:52 +09:00
Dean Herbert
69ac22dd7f Fix incorrectly copy pasted xmldoc 2021-01-07 19:06:10 +09:00
Dean Herbert
31a6e9b860 Remove unused using 2021-01-05 14:24:49 +09:00
Dean Herbert
afab35a31a Fix missing copy implementation in LegacySampleControlPiont 2021-01-05 13:41:31 +09:00
Dean Herbert
caa88c6100 Use CreateCopy instead of Clone interface
I was going for conformity by using the IClonable interface, but it
doesn't look like we use it anywhere else in the project.
2021-01-05 13:13:52 +09:00
Dean Herbert
ba4e411422 Clone and copy ControlPointInfo when retrieving a playable beatmap 2021-01-04 16:37:07 +09:00
Dean Herbert
d7279dab40
Merge pull request #11226 from peppy/fix-legacy-skin-texture-loader-store
Fix incorrectly provided texture loader store to skins
2020-12-23 16:41:01 +09:00
Dean Herbert
807c1ecd1f Refactor recommendation iteration code to read better 2020-12-22 14:57:32 +09:00
Dean Herbert
8cc2ed3fae Move from OsuGameBase to OsuGame
Also moves to a more suitable namespace.
2020-12-22 14:28:27 +09:00
Dean Herbert
85518b4d99 Enforce non-null for BeatmapManager WorkingBeatmap resources 2020-12-22 12:06:10 +09:00
Dean Herbert
a97a2b2a66 Add nullability to BeatmapManager's GameHost reference 2020-12-22 12:03:25 +09:00
Dean Herbert
10c2745682 Add region specifications around implicit interface implementations 2020-12-22 12:01:09 +09:00
Dean Herbert
a5bcf1dc20 Expose resources to skin via interface (and share common pieces with beatmap) 2020-12-21 15:18:52 +09:00
Dean Herbert
0ffbe12fcc Expose resources to beatmaps in a saner way 2020-12-21 14:22:34 +09:00
Dean Herbert
7c804be4d3 Rename textureStore to make its purpose more clear 2020-12-21 14:06:33 +09:00
Dean Herbert
a35060ea7a Add a simple cache-busting query string to online.db retrieval
As we are finally pushing updates for this database, this adds a minimum
level of guarantee that a client will request a new version (without
having to worry about multiple levels of server-side caching).
2020-12-11 17:56:02 +09:00
smoogipoo
2150cf1c52 Rename parameters 2020-12-02 10:55:48 +09:00
smoogipoo
5760e1c1fc Make HitSampleInfo immutable 2020-12-01 15:37:51 +09:00
Dean Herbert
25af091409 Fix storyboard animations of very old beatmaps playing too slow
Closes https://github.com/ppy/osu/issues/10772.
2020-11-12 17:03:43 +09:00
Dean Herbert
6cc0bf17a9 Add explicit lock object and some xmldoc for clarity 2020-11-10 14:31:52 +09:00
smoogipoo
66ea1572c7 Fix unsafe list manipulation in BeatmapDifficultyCache 2020-11-10 01:10:00 +09:00
Dan Balasescu
a2877fb00a
Merge pull request #10730 from peppy/fix-patcher-no-object-crash
Fix legacy patcher crash on no objects present
2020-11-09 18:51:00 +09:00
Bartłomiej Dach
6d4bb4316c Fix difficulty retrieval for online-sourced beatmaps 2020-11-08 00:12:25 +01:00
Dean Herbert
c5b6908e71 Always write [HitObjects] to file
I think this is expected. If not, there's an alternative solution.
2020-11-08 00:18:27 +09:00
Dean Herbert
c1c3d37720 Remove non-null assert 2020-11-06 17:24:28 +09:00
Dean Herbert
f51cb0dd14 Add ruleset fallback logic into cache lookup class 2020-11-06 16:58:53 +09:00
Dean Herbert
c5b172d0dd Remove synchronous lookup path from BeatmapDifficultyCache 2020-11-06 14:53:15 +09:00
Dean Herbert
b69ada64e8 Update BeatmapDifficultyCache to use base implementation logic 2020-11-06 14:31:21 +09:00
Dean Herbert
517a656899 Move StarDifficulty to own file 2020-11-06 13:51:25 +09:00
Dean Herbert
74ca2faa31 Remove unused using 2020-11-06 13:48:06 +09:00
Dean Herbert
0103b12575 Add basic base class to begin to standardise function across caching components 2020-11-06 13:26:39 +09:00
Dean Herbert
5113d4af8f Rename BeatmapDifficultyManager to BeatmapDifficultyCache 2020-11-06 13:14:29 +09:00
Dean Herbert
ab9e0aac58
Merge pull request #10258 from Game4all/results-dynamic-pp-calc 2020-11-02 15:40:55 +09:00
Dean Herbert
73b290aca3 Merge branch 'master' into results-dynamic-pp-calc 2020-11-02 14:47:33 +09:00
Dean Herbert
3adf451e82 Handle changes via SamplePoints list for simplicity 2020-11-02 14:40:40 +09:00
Bartłomiej Dach
3090b6ccb5 Resolve CA2249 inspections
"Use `string.Contains` instead of `string.IndexOf` to improve
readability"
2020-11-01 18:54:44 +01:00
Bartłomiej Dach
ca5de22ca5 Resolve CA1834 inspection
"Use `StringBuilder.Append(char)` instead of
`StringBuilder.Append(string)` when the input is a constant unit string"
2020-11-01 18:50:13 +01:00
Dean Herbert
89797d7a57
Merge pull request #9786 from Wieku/storyboard-skin-sprites
Allow storyboard elements to load textures from skins
2020-10-23 17:16:55 +09:00
Dean Herbert
9753dab93b Remove IOnlineComponent and change existing components to use bindable flow 2020-10-22 14:19:12 +09:00
Bartłomiej Dach
e2552d4c36 Merge branch 'master' into storyboard-skin-sprites 2020-10-20 23:01:54 +02:00
Bartłomiej Dach
cdd56ece87 Read UseSkinSprites when decoding storyboards 2020-10-20 22:49:56 +02:00
Dan Balasescu
bd4e0e1a60
Merge branch 'master' into epilepsy-warning 2020-10-20 17:43:37 +09:00
Dan Balasescu
13060b8575
Merge branch 'master' into beatmap-carousel-less-diffcalc-stutter 2020-10-20 14:26:16 +09:00
Bartłomiej Dach
fd4bab85cf Merge branch 'master' into epilepsy-warning 2020-10-20 01:06:46 +02:00
Bartłomiej Dach
1238e6c30f Add flag value to database
Unfortunately required, as loadBeatmaps() refreshes the decoded beatmap
with the database-stored values, which can end up overwriting the
decoded ones.
2020-10-20 00:46:08 +02:00
Bartłomiej Dach
a9f27a71a2 Fix code formatting issues 2020-10-19 23:53:41 +02:00
Bartłomiej Dach
ba818e3ae0
Merge branch 'master' into results-dynamic-pp-calc 2020-10-19 21:41:07 +02:00
smoogipoo
dfbc0965e4 Merge branch 'master' into peppy/skinnable-health-display 2020-10-16 23:17:17 +09:00
Berkan Diler
fe3a23750c Use char overloads for string methods 2020-10-16 11:52:29 +02:00
Dean Herbert
e89c5c3b3c Add dynamic compile exceptions to fix skin test scenes 2020-10-16 17:08:46 +09:00
Dean Herbert
88ffcb9234 Update EndsWith usages 2020-10-16 12:58:34 +09:00
Dean Herbert
cc41845f56 Add missing string function ordinal specifications 2020-10-16 12:49:31 +09:00
Dean Herbert
07e6609e6d Disable difficulty calculation for set-level difficulty icons 2020-10-14 14:16:22 +09:00
Bartłomiej Dach
1af17fbd5e
Merge branch 'master' into fix-early-break-cull 2020-10-13 18:02:08 +02:00
Bartłomiej Dach
7117fd0fba Add xmldoc and nullability annotations 2020-10-12 21:44:04 +02:00
Bartłomiej Dach
779e6e10a7 Split ctors to avoid passing fields one by one 2020-10-12 21:43:14 +02:00
smoogipoo
ccf7e2c49a Fallback to default ruleset star rating if conversion fails 2020-10-12 16:31:42 +09:00
smoogipoo
379971578d Remove culling notice from HasEffect 2020-10-12 15:28:16 +09:00
Bartłomiej Dach
8af78656e4 Add precision tolerance to difficulty rating range checks 2020-10-10 18:15:52 +02:00
smoogipoo
d536a1f75e Fix breaks being culled too early 2020-10-09 21:04:56 +09:00
Lucas A
7f5cf04b2b Fix merge conflicts. 2020-10-07 13:28:49 +02:00
Dean Herbert
afe3d3989a Force first hitobject to be a NewCombo in BeatmapProcessor preprocessing step 2020-10-06 22:10:13 +09:00
Dan Balasescu
783a463772
Merge branch 'master' into colourise-control-point-table 2020-10-05 20:47:06 +09:00
Dan Balasescu
051ea7eda9
Merge pull request #10329 from peppy/editor-file-drop-support
Add drag-drop support in editor setup screen for audio and background images
2020-10-05 20:05:41 +09:00
Dean Herbert
2ed43c14f8
Merge branch 'master' into editor-file-drop-support 2020-10-05 17:48:06 +09:00
Dean Herbert
365a38e92f
Merge branch 'master' into dynamic-difficulty-icon 2020-10-05 17:37:01 +09:00
Dean Herbert
50eca202f4 User IEnumerable for HandledExtensions 2020-10-02 16:17:10 +09:00
Dean Herbert
f501c88b46 Fix individual control points not being removed from group when group is removed 2020-10-02 15:28:21 +09:00
smoogipoo
40c153e705 Use component instead of drawable 2020-10-01 21:39:40 +09:00
smoogipoo
62b55c4c9c Use static method, add xmldoc + link to wiki 2020-10-01 20:50:47 +09:00
Dean Herbert
e96e30a19d Move control point colour specifications to common location and use for formatting timing screen table 2020-10-01 19:29:34 +09:00
smoogipoo
2213db2088 Use the given ruleset by default 2020-10-01 00:59:41 +09:00
smoogipoo
fde00d3431 Make DifficultyIcon support dynamic star rating 2020-10-01 00:53:25 +09:00
smoogipoo
917e8fc3ba Add difficulty rating to StarDifficulty 2020-10-01 00:53:01 +09:00
Lucas A
2766cf73b4 Reuse BeatmapDifficultyManager cache for beatmap difficulty attributes. 2020-09-29 18:32:02 +02:00
Lucas A
ddede85704 Split performance calculation to its own class. 2020-09-27 12:44:29 +02:00
Lucas A
84cc6068f5 Remove unnecessary XMLDoc comment and remove unecessary implicit null parm 2020-09-27 09:25:01 +02:00
Lucas A
4d94bf3163 Rename CalculateScorePerformance -> CalculatePerformance 2020-09-25 19:16:33 +02:00
Lucas A
77a9d92f42 Add dynamic pp calculation to score panels for local scores 2020-09-25 19:15:40 +02:00
Lucas A
4d743f64f5 Add a method to calculate asynchronously performance on a beatmap. 2020-09-25 18:17:01 +02:00
Dean Herbert
50ba320a51 Expand available file operations in ArchiveModelManager 2020-09-25 13:16:30 +09:00
smoogipoo
de5ef8a471 Rework to support obsoletion 2020-09-17 21:37:32 +09:00
smoogipoo
e71991a53c Add default token 2020-09-17 18:37:48 +09:00
smoogipoo
c7d24203ce Make beatmap conversion support cancellation tokens 2020-09-17 17:40:05 +09:00
smoogipoo
be2d34d5dc Merge branch 'master' into score-recalc 2020-09-09 21:31:31 +09:00
Dean Herbert
5b93752065
Merge pull request #10103 from smoogipoo/disable-online-lookups-tests
Disable online beatmap lookups in tests
2020-09-09 21:21:04 +09:00
smoogipoo
aeae009512 Disable online beatmap lookups in tests 2020-09-09 20:12:40 +09:00
smoogipoo
117c7ec6b2 Merge branch 'master' into score-recalc 2020-09-09 14:38:36 +09:00
Dean Herbert
2cd07b2d3c Fix editor crash on saving more than once
I'm fixing this in the simplest way possible as this kind of issue is
specific to EF core, which may cease to exist quite soon. Turns out the
re-retrieval of the beatmap set causes concurrency confusion and wasn't
actually needed in my final iteration of the new beatmap logic.
2020-09-09 12:48:12 +09:00
Dean Herbert
6b50d44dde Merge branch 'master' into editor-new-beatmap 2020-09-07 18:43:16 +09:00
Dean Herbert
4680728b9c Merge branch 'master' into update-dcc-exclusions 2020-09-07 18:01:44 +09:00
smoogipoo
9ab6d584d3 Merge branch 'master' into editor-new-beatmap 2020-09-07 14:30:41 +09:00
Dan Balasescu
e17ccdfe9f
Merge branch 'master' into combo-colors 2020-09-07 13:55:41 +09:00
Bartłomiej Dach
f138b92078
Merge branch 'master' into editor-new-beatmap 2020-09-06 18:24:02 +02:00
smoogipoo
1143d5d992 Update class exclusion for dynamic compilation 2020-09-04 20:41:08 +09:00
Dean Herbert
25e142965d Strongly type and expose default beatmap information icon implementations for other rulesets 2020-09-04 15:01:32 +09:00
Dean Herbert
fba253f131 Take user argument in CreateNew method parameters 2020-09-04 13:17:43 +09:00
Dean Herbert
f14a82e3a9 Remove unnecessary conversion 2020-09-04 13:13:53 +09:00
Dean Herbert
cd253ab055 Further tweaks to get closer to design originals 2020-09-04 13:05:39 +09:00
Dean Herbert
9d2dff2cb8 Add scale to allow legacy icons to display correctly sized 2020-09-04 12:55:39 +09:00
Dean Herbert
d32b77f045
Add missing extension to filename
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2020-09-03 21:33:25 +09:00
Dean Herbert
1c1c583d3b Fix regression in file update logic (filename set too early) 2020-09-03 19:31:40 +09:00
Dean Herbert
a555407f37 Fix various test failures due to missing beatmap info in empty beatmap 2020-09-03 19:25:18 +09:00
Dean Herbert
72cb65c22f Update and add missing beatmap statistic icons to info wedge 2020-09-03 17:52:22 +09:00
Dean Herbert
d849f7f2b5 Use the local user's username when saving a new beatmap 2020-09-03 13:20:23 +09:00
Dean Herbert
e337e6b3b0 Use a more correct filename when saving 2020-09-03 13:20:23 +09:00
Dean Herbert
faf9b0a528 Fix hard crash when trying to retrieve a beatmap's track when no file is present 2020-09-03 13:20:23 +09:00
Dean Herbert
e032844570 Start with a fresh beatmap when entering editor from main menu 2020-09-03 13:20:23 +09:00
Craftplacer
c2ade44656 Change types back 2020-09-01 17:58:06 +02:00
Craftplacer
9835d98942 Merge remote-tracking branch 'upstream/master' into combo-colors 2020-09-01 17:39:35 +02:00
Dan Balasescu
f08e7828da
Merge branch 'master' into beatmap-track-rework 2020-09-01 16:06:38 +09:00
Craftplacer
9b3a48ee5e
Revert "Add marker interface for beatmap skins" 2020-08-31 18:29:46 +02:00
Craftplacer
fb37a14d57 Update LegacyBeatmapEncoder.cs 2020-08-31 17:24:03 +02:00
Craftplacer
1484e78654 Update xmldoc 2020-08-31 17:24:00 +02:00
Craftplacer
eafa97af17 Revert changes done to SkinConfiguration and IHasCustomColours 2020-08-31 17:23:42 +02:00
Dan Balasescu
bd2f863b56
Merge branch 'master' into legacy-mirror-mod-replays 2020-08-31 12:41:17 +09:00
Craftplacer
7e668fc31a
Update osu.Game/Beatmaps/Formats/LegacyBeatmapEncoder.cs
Co-authored-by: Salman Ahmed <email@iisalman.me>
2020-08-30 16:11:49 +02:00
Craftplacer
1fdf8e6200 Fix xmldoc in LegacyBeatmapEncoder 2020-08-30 16:07:58 +02:00
Craftplacer
e428144f73 Use IBeatmapSkin 2020-08-30 11:34:50 +02:00
Craftplacer
00b68b050c Merge remote-tracking branch 'upstream/master' into combo-colors 2020-08-30 10:16:38 +02:00
Dean Herbert
814655770d
Merge branch 'master' into beatmapskin-interface 2020-08-30 12:22:55 +09:00
Dean Herbert
cd0a73883d
Merge pull request #9945 from smoogipoo/skin-colour-fix-2
Exactly reproduce osu!stable skin colour alphas
2020-08-29 20:06:26 +09:00
Bartłomiej Dach
658a1d159f Add legacy flag value for mirror mod 2020-08-29 11:45:59 +02:00
Craftplacer
82acb3506c Add and change xmldocs 2020-08-29 11:07:28 +02:00
Craftplacer
4cb9e1d443 Initial commit 2020-08-29 10:33:43 +02:00
smoogipoo
436dbafe57 Fix incorrect comparison for mods of different instances 2020-08-28 22:12:17 +09:00
smoogipoo
43c61e5830 Re-query beatmap difficulty before computing 2020-08-28 22:08:28 +09:00
smoogipoo
4d15f0fe52 Implement basic score recalculation 2020-08-28 19:16:46 +09:00
Craftplacer
e6646b9877 Resolve review comments 2020-08-23 15:08:02 +02:00
Dean Herbert
b72f06fef6 Centralise and clarify LoadTrack documentation 2020-08-22 19:42:34 +09:00
smoogipoo
88d50b6c47 Remove alpha mangling from LegacyDecoder 2020-08-22 00:15:37 +09:00
Dean Herbert
d2c2e8bbe8 Revert some more usage of MusicController back to WorkingBeatmap 2020-08-21 15:17:21 +09:00
Dean Herbert
526f06be4c Add back track loaded bool in WorkingBeatmap 2020-08-21 13:53:37 +09:00
Dean Herbert
357fb3a10e Merge branch 'master' into beatmap-track-rework 2020-08-21 12:53:09 +09:00
Dean Herbert
083bcde3cf Fix beatmap transfer not working 2020-08-18 13:01:35 +09:00
smoogipoo
583760100a Implement mania invert mod 2020-08-18 01:40:55 +09:00
Dean Herbert
d9debef156 Add explicit LoadTrack method 2020-08-17 15:38:16 +09:00
Dean Herbert
71f4e753f0 Merge branch 'master' into beatmap-track-rework 2020-08-16 22:35:32 +09:00
Craftplacer
1448c9e381 Merge remote-tracking branch 'upstream/master' into combo-colors 2020-08-15 23:01:38 +02:00
Craftplacer
c4a7fac760 Add required parameters and other various changes 2020-08-15 22:03:24 +02:00
Dean Herbert
c3757a4660 Fix beatmap covers not being unloaded in most overlays
Eventually we'll probably want something smarter than this, but for the
time being this helps stop runaway memory usage.
2020-08-14 19:22:26 +09:00
smoogipoo
91e28b849d Fix incorrect BeatmapManager construction 2020-08-13 00:29:23 +09:00
Craftplacer
8ffaa49839 Handle additional null case 2020-08-12 06:40:21 +02:00
Craftplacer
139c0c75f8 Add documentation for constructor 2020-08-12 06:40:21 +02:00
smoogipoo
b66f303e71 Add annotation 2020-08-12 00:48:45 +09:00
smoogipoo
faff0a70c4 Privatise BMWB 2020-08-11 13:48:57 +09:00
smoogipoo
338c01fa43 Remove track store reference counting, use single instance stores 2020-08-11 13:16:06 +09:00
Craftplacer
78692dc684 Initial commit 2020-08-10 05:21:10 +02:00
smoogipoo
e87f50f74f Rename method 2020-08-07 22:31:41 +09:00
smoogipoo
b6fb7a0d39 Fix possibly setting null track 2020-08-07 22:05:58 +09:00
smoogipoo
f53672193e Fix track stores being kept alive 2020-08-06 17:48:07 +09:00
smoogipoo
86ae61c6b7 Re-implement store transferral in BeatmapManager 2020-08-06 16:24:14 +09:00
smoogipoo
6e42b8219c Move track to MusicController, compiles 2020-08-06 16:24:14 +09:00
smoogipoo
4648362214 Safeguard against potential finalise-before-initialised 2020-07-29 11:30:25 +09:00
smoogipoo
a57b6bdc18 Remove cancellation of linked tokens 2020-07-29 11:29:38 +09:00
smoogipoo
fa25f8aef9 Dispose update scheduler 2020-07-28 17:23:35 +09:00
smoogipoo
96f68a3251 Reorder method 2020-07-28 16:53:07 +09:00
smoogipoo
ff3cb6487d Store all linked cancellation tokens 2020-07-28 16:53:07 +09:00
smoogipoo
44b0aae20d Allow nullable ruleset, reword xmldoc 2020-07-24 13:54:47 +09:00
smoogipoo
b10b99a670 Change method signatures to remove tracked/untracked 2020-07-24 13:52:43 +09:00
smoogipoo
de007cc1c6 Use IEnumerable mods instead of IReadOnlyList 2020-07-24 13:40:01 +09:00
smoogipoo
264bd7ced1 Apply general refactoring from review 2020-07-24 13:38:53 +09:00
smoogipoo
6b7f05740e Fix potential missing ruleset 2020-07-22 12:48:12 +09:00
smoogipoo
aca4110e36 Use existing star difficulty if non-local beatmap/ruleset 2020-07-22 12:47:53 +09:00
smoogipoo
00e6217f60 Don't store BeatmapInfo/RulesetInfo references, remove TimedExpiryCache 2020-07-21 23:50:54 +09:00
smoogipoo
107b5ca4f2 Add support for bindable retrieval 2020-07-21 23:13:04 +09:00
smoogipoo
599a15edb8 Merge branch 'master' into beatmap-difficulty-manager 2020-07-21 20:09:53 +09:00
Gagah Pangeran
055e31ddd5 update minor 2020-07-20 18:37:02 +07:00
Gagah Pangeran
acbf13ddc4 add epilepsy warning field 2020-07-20 17:36:42 +07:00
Dean Herbert
3823bd8343 Add back missing default implementations for lookup functions 2020-07-19 14:11:21 +09:00
Dean Herbert
7250bc351d Remove unnecessary new() specification 2020-07-18 12:06:41 +09:00
Dean Herbert
2f16b448ea Set beatLength inline 2020-07-18 12:03:49 +09:00
Dean Herbert
8147e67f53 Use static instances in all fallback ControlPoint lookups to reduce allocations 2020-07-18 11:53:04 +09:00
smoogipoo
3191bb506f Improve asynchronous process 2020-07-16 21:07:14 +09:00
smoogipoo
6df1b1d9ea Add a background beatmap difficulty manager 2020-07-16 20:43:14 +09:00
Dean Herbert
cc62d8911a
Merge pull request #9573 from smoogipoo/taiko-diffcalc-fixes-2 2020-07-16 14:59:06 +09:00
Dean Herbert
8ace06fcc5 Fix continuations attaching to the BeatmapOnlineLookupQueue scheduler 2020-07-14 16:03:40 +09:00
Dean Herbert
e35e9df4e1 Fix local online cache database not being used when offline / logged out 2020-07-14 12:02:03 +09:00
smoogipoo
0ea13dea55 Introduce legacy timing point fp errors 2020-07-13 17:06:00 +09:00
smoogipoo
1116703e92 Fix potential out-of-order objects after conversion 2020-07-13 16:52:05 +09:00
Dean Herbert
632f333ce2 Add ability to return protected beatmaps in GetAllUsable call 2020-07-10 17:20:27 +09:00
smoogipoo
04ce436f6a Dispose beatmap lookup task scheduler 2020-07-09 14:46:58 +09:00
ekrctb
3278a1d7d8 Standardize osu!catch coordinate system
There were two coordinate systems used:
- 0..512 (used in osu!stable)
- 0..1 (relative coordinate)

This commit replaces the usage of
the relative coordinate system to
the coordinate system of 0..512.
2020-07-02 00:21:45 +09:00
Dean Herbert
e5a901cec7
Merge branch 'master' into results-screen-statistics-overlapping-transition 2020-06-28 22:14:22 +09:00
Dean Herbert
d0787ddf99
Merge pull request #9369 from smoogipoo/fix-hyperdash-alpha 2020-06-26 14:46:46 +09:00
Dean Herbert
b077a2856d Merge branch 'master' into results-screen-statistics-overlapping-transition 2020-06-25 18:44:08 +09:00
smoogipoo
4ff9a91012 Adjust at parse time instead 2020-06-25 14:15:26 +09:00
smoogipoo
6bc507d49e Increase coordinate parsing limits 2020-06-24 18:53:52 +09:00
smoogipoo
6afd6efdeb Return default beatmap if local beatmap can't be retrieved 2020-06-22 20:33:08 +09:00
smoogipoo
88aed1d504 Merge branch 'master' into update-inspectcode-version 2020-06-09 20:12:39 +09:00
Dan Balasescu
1476412eaa
Merge branch 'master' into startup-safety 2020-06-09 13:55:33 +09:00
Dean Herbert
63003757c4 Remove WorkingBeatmap cache when deleting or updating a beatmap 2020-06-08 14:48:26 +09:00
smoogipoo
443977aa8d Remove PreUpdate, update hash in Save() 2020-06-08 14:40:17 +09:00
smoogipoo
dfed27bd46 Add back stream seeking for sanity 2020-06-08 14:24:21 +09:00
Dean Herbert
b41384dde8
Merge branch 'master' into multiplayer-beatmap-checksum 2020-06-07 18:05:33 +09:00
smoogipoo
0107e9ba16 Change lookups to use SingleOrDefault() 2020-06-05 19:18:00 +09:00
Dean Herbert
c155ab8339 Check filenames and timestamps before reusing an already imported model 2020-06-03 18:03:10 +09:00
smoogipoo
f3b5149648 Move some suggestions to warnings, resolve issues 2020-06-03 16:48:44 +09:00
smoogipoo
dfb9687fb5 Extract update into PreUpdate(), add test 2020-06-02 17:22:09 +09:00
smoogipoo
b41bb5a682 Update databased MD5 hash on save 2020-06-02 14:04:00 +09:00
Dan Balasescu
64d1b4b11b
Merge branch 'master' into move-setter-to-duration 2020-06-01 15:55:48 +09:00
Dean Herbert
81b8898272 Fix incorrect type cast in encoder 2020-05-31 22:30:55 +09:00
Dean Herbert
cbd563e80b Rename to IHasDuration 2020-05-27 12:38:39 +09:00
Dean Herbert
6b5b215299 Split out IHasPath from IHasCurve to better define hitobjects 2020-05-26 17:44:47 +09:00
Dean Herbert
0cc6d6d97c
Merge pull request #9033 from smoogipoo/applydefaults-cancellation
Add cancellation token support to CreateNestedHitObjects()
2020-05-26 12:04:06 +09:00
smoogipoo
bc35bc5efb Merge branch 'master' into applydefaults-cancellation 2020-05-25 16:45:30 +09:00
Dean Herbert
c071fe6140 Add the ability to export skins 2020-05-24 13:44:11 +09:00
Salman Ahmed
3d3cc2c15e
Dispose BeatmapOnlineLookupQueue cache download request 2020-05-22 17:26:37 +03:00
smoogipoo
e5de382760 Merge branch 'master' into storyboard-overlay-layer 2020-05-20 15:08:45 +09:00
Dean Herbert
052ad79fc6 Convert dangerous events to IBindables 2020-05-19 16:44:22 +09:00
Bartłomiej Dach
9415e45aea Add overlay layer to enumeration type 2020-05-18 22:45:31 +02:00
smoogipoo
4719fcc291 Actually use the cancellation token 2020-05-15 18:17:39 +09:00
smoogipoo
4079642d58 Actually pass in the cancellation token 2020-05-15 18:13:47 +09:00
Dean Herbert
916d8245e6 Don't timeout on long beatmap load when debugging 2020-05-11 12:50:47 +09:00
smoogipoo
401c516503 Expose searchable terms from beatmap info instead 2020-05-07 13:04:08 +09:00
Dan Balasescu
0eae8d078b
Merge branch 'master' into master 2020-05-05 13:33:29 +09:00
alex
0e2ccac33b Add spaces to comments 2020-05-04 18:36:24 -07:00
Dean Herbert
a1cd007cad Fix song select tests potentially failing due to difficulty panels not yet displayed 2020-05-04 14:44:53 +09:00
Dean Herbert
68d40cf790 Fix test failures due to online cache download 2020-05-03 13:25:57 +09:00
Dean Herbert
6fef4eeb8f Rename class and extract out lookup method 2020-05-03 09:35:48 +09:00
Dean Herbert
035b513b68 Use QuerySingle instead of QueryFirst 2020-05-03 09:32:33 +09:00
Dean Herbert
b9b5779251 Move deletion to catch instead of finally 2020-05-03 09:31:56 +09:00
Dean Herbert
deb87517d0 Add local beatmap lookup cache 2020-05-02 14:35:12 +09:00
Dean Herbert
d0a8c0fa71 Add kiai support to osu!taiko skinned playfields 2020-04-30 16:43:00 +09:00
Dean Herbert
d1ec99ffd9 Further improve beatmap carousel load performance by avoiding incorrect query construction 2020-04-29 16:51:22 +09:00
Dean Herbert
119000f1ab Reduce database includes where possible 2020-04-28 21:43:35 +09:00
Tim Oliver
c1c930c472 Fixed linting warnings 2020-04-25 13:47:20 +08:00
smoogipoo
3b805daa0b Fix hold note end time being written incorrectly 2020-04-22 16:40:07 +09:00
smoogipoo
7cdc9a599c Fix mania holds written as spinners 2020-04-22 16:27:07 +09:00
Dean Herbert
223c822e57
Merge branch 'master' into all-ruleset-encoders 2020-04-22 13:04:16 +09:00
Dean Herbert
aaa0f908d5
Merge pull request #8818 from smoogipoo/fix-beatmap-encoder
Fix beatmap encoder by enabling untested test cases
2020-04-22 13:03:56 +09:00
Dean Herbert
360c9f8e38 Add test coverage and handle null creator 2020-04-22 09:19:34 +09:00
Dean Herbert
0c74f1aaa9 Fix now playing output showing empty brackets when no difficulty specified 2020-04-22 09:08:33 +09:00
smoogipoo
d8fdd73e17 Implement IHasCurve on DrumRoll 2020-04-22 09:06:04 +09:00
smoogipoo
ea0ebc8527 Implement beatmap encoding for all legacy rulesets 2020-04-22 09:06:04 +09:00
smoogipoo
516e6a4bb1 Fix overlapping control points not written correctly 2020-04-22 09:04:44 +09:00
smoogipoo
1421e876b1 Remove implicit new combo from spinners 2020-04-22 09:04:44 +09:00
smoogipoo
d8d85e5b08 Don't output certain properties if they don't exist 2020-04-22 09:04:44 +09:00
smoogipoo
3093c3e185 Fix custom sample set not being written correctly 2020-04-22 09:04:44 +09:00
Dean Herbert
aa153290a9
Merge pull request #8815 from smoogipoo/fix-controlpoint-decode
Fix control point overriding working incorrectly
2020-04-21 16:18:50 +09:00
smoogipoo
72fb34f82c Fix overriding control points incorrectly 2020-04-21 14:19:05 +09:00
smoogipoo
9252b7876b Don't serialise AllControlPoints 2020-04-21 13:58:23 +09:00
Dan Balasescu
367c3e69c4
Merge pull request #8788 from peppy/fix-editor-hard-crash
Fix hard crash in editor on legacy modes without encoder implementation
2020-04-20 15:25:48 +09:00
Dean Herbert
48cf7becd1
Merge branch 'master' into catch-hyperdash-fruit-colouring 2020-04-19 21:48:41 +09:00
Dean Herbert
6b16908c05 Move todo to appease dotnet-format 2020-04-18 21:51:37 +09:00
Dean Herbert
c00a386ff6 Remove exceptions instead 2020-04-18 21:46:04 +09:00
Dan Balasescu
4e22e569f5
Merge branch 'master' into timing-equivalence 2020-04-17 17:12:38 +09:00
smoogipoo
0fba93bf65 Add back null check 2020-04-17 17:10:13 +09:00
smoogipoo
9aac98664c Remove unnecessary time property 2020-04-17 17:06:12 +09:00
smoogipoo
69fb984e71 Remove EquivalentTo() and Equals() 2020-04-17 17:04:09 +09:00
smoogipoo
6935221463 Improve logic for CSB transfer 2020-04-14 21:05:07 +09:00
Dan Balasescu
eb968d2bdb
Merge branch 'master' into timing-equivalence 2020-04-14 14:02:02 +09:00
Dean Herbert
081a02f748
Merge branch 'master' into catch-hyperdash-fruit-colouring 2020-04-14 10:01:15 +09:00
smoogipoo
cee4b005e6 Fix custom sample set 0 not falling back to default samples 2020-04-13 20:00:06 +09:00
Alchyr
f115fecb23 Fix formatting 2020-04-09 09:34:40 -07:00
smoogipoo
b900f229e7 Fix possible legacy beatmap encoder nullref 2020-04-09 20:21:42 +09:00
Alchyr
65823fb2e1 Use redundancy test 2020-04-08 01:42:35 -07:00
Alchyr
66a474619c Adjust TimingControlPoint equivalency 2020-04-07 18:13:26 -07:00
Salman Ahmed
1b76a53d32 Move CatchTheBeat section handling to LegacySkinDecoder
Best place to reside at
2020-04-05 22:10:35 +03:00
Salman Ahmed
0eaea8ef9d Create a constructor for break period
For simple construction of break periods (e.g. filling a method with an array of break periods inside a test case)
2020-04-05 21:29:03 +03:00
Salman Ahmed
10e65c4f53 Add handling for legacy CatchTheBeat section in LegacyDecoder 2020-04-05 00:10:12 +03:00
Will Kennedy
57944bd335 fix(?) InspectCode warnings 2020-04-02 21:36:31 -04:00
Will Kennedy
c042e709a5 Fix GetDecoder getting fallback decoder too often 2020-04-02 20:43:54 -04:00
smoogipoo
a77933f5e0 Add support for parsing mania skin colours 2020-04-02 17:56:12 +09:00
Dan Balasescu
8964001423
Merge branch 'master' into fix-invalid-set-ids-on-import 2020-03-30 22:24:12 +09:00
smoogipoo
4719aac235 Add basic mania skin parsing 2020-03-30 17:18:09 +09:00
Dean Herbert
f71c8cb30f Only drop online set ID if beatmap IDs were stripped in online retrieval 2020-03-30 15:07:56 +09:00
Dean Herbert
7ecce713bb Keep provided IDs where possible if not online 2020-03-30 15:07:39 +09:00
Dean Herbert
09d860d5f5 Fix imports with no matching beatmap IDs still retaining a potentially invalid set ID 2020-03-30 11:52:25 +09:00
voidedWarranties
b8f20831a1 Video no longer modifies storyboard resolution 2020-03-24 20:04:09 -07:00
Dean Herbert
f2e0fba164 Remove VideoFile from BeatmapMetadata
Leaving in database because it's a pain to drop columns.
2020-03-25 12:00:02 +09:00
Dean Herbert
729e006c3a
Merge branch 'master' into video-offset 2020-03-21 20:03:46 +09:00
smoogipoo
9c5423734a Throw timeout exceptions instead 2020-03-16 11:33:26 +09:00
Dan Balasescu
f390c1995d
Apply comment suggestions
Co-Authored-By: Dean Herbert <pe@ppy.sh>
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-03-16 11:29:28 +09:00
voidedWarranties
c27751050b Switch back to strings and update setting labels 2020-03-12 23:29:11 -07:00
smoogipoo
f7c036726a Add beatmap loading timeout 2020-03-13 13:52:40 +09:00
smoogipoo
40ab860ab5 Remove unused using 2020-03-11 18:23:30 +09:00
smoogipoo
9667934ed9 Remove unlimited timing points in difficulty calculation 2020-03-11 18:17:32 +09:00
Dan Balasescu
1d556bfc5f
Merge branch 'master' into video-offset 2020-03-11 15:13:18 +09:00