Commit Graph

470 Commits

Author SHA1 Message Date
tgi74000
a751c19cf7 Moved JsonProperty file_md5 and added file_sha2 2017-08-09 08:36:15 +02:00
tgi74000
3d4db427ff Pass RuleSet to ScoreStore, compute and store MD5 for legacy replays compatibility 2017-08-08 17:17:53 +02:00
Dean Herbert
de3b65e1fa Fix StoredBookmarks not being serialized 2017-08-07 09:45:44 +09:00
Dean Herbert
e75f438c29 Add difficulty application mods
Also fixes circular references when using IJsonSerializable.
2017-08-07 08:54:54 +09:00
Huo Yaoyuan
62b3540fd6 Merge branch 'master' into fixes 2017-08-04 13:49:03 +08:00
Huo Yaoyuan
eb9972581e Provide Autoplay mod in Ruleset. 2017-08-04 00:25:24 +08:00
Dean Herbert
248486f8f9 Merge branch 'master' into osulegacydecoder-parser 2017-08-03 16:30:37 +09:00
Dean Herbert
0d9ea97828 Allow Rulesets to create a non-FontAwesome icon
This also
- Renames TextAwesome to SpriteIcon.
- Removes the default size of "20" from SpriteIcon (now defaults to the underlying texture size).
2017-08-03 14:36:21 +09:00
MrTheMake
be3c7ec5f8 Added missing space 2017-08-02 16:17:33 +02:00
MrTheMake
79724e8018 Fix OsuLegacyDecoder's parser being NULL if no ruleset was specified 2017-08-02 16:05:09 +02:00
Dean Herbert
7cb87c7145 Run each import in a single transaction
Improves performance substantially.
2017-08-02 14:18:35 +09:00
Dean Herbert
6eb960010f Speed up startup cleanup operations. 2017-08-01 17:58:21 +09:00
Dean Herbert
3b1166d1e6 Optimise file lookups and other database operations
FirstOrDefault when called on a TableQuery with a predicate doesn't use table indices
2017-08-01 17:37:21 +09:00
Dean Herbert
941f3f0934 Tidy up osu-stable import process
Now can locate any osu-stable installation using registry lookup (with ample fallbacks). Also uses a much more controlled access method via StableStorage.
2017-08-01 15:12:38 +09:00
Dean Herbert
b4acdd5f90 Merge remote-tracking branch 'upstream/master' into fix-file-references 2017-08-01 11:05:38 +09:00
Dean Herbert
c73e139954 Add "migration"
Also simplify initial migration for BeatmapStore by just nuking everything.
2017-08-01 10:24:04 +09:00
Dean Herbert
c060d32765 Separate out startup tasks to ensure they run after migrations 2017-08-01 10:24:00 +09:00
Dean Herbert
ed3e78452e Lock beatmaps for good measure 2017-08-01 09:38:43 +09:00
Dean Herbert
6af0629cc0 Remove unnecessary newline 2017-08-01 09:37:33 +09:00
Dean Herbert
404497fa10 Allow a single beatmap to reference the same file multiple times
This fixes incorrect reference counts causing database desync.
2017-07-31 21:49:57 +09:00
Dean Herbert
f67822a59b Add progress for deleting all maps 2017-07-31 18:52:59 +09:00
Dean Herbert
92b3c7ac08 Fix the whole database being retrieved when importing each beatmap 2017-07-31 18:38:42 +09:00
Dean Herbert
df5094c0d4 Rework how notifications are distributed 2017-07-31 18:03:55 +09:00
Dean Herbert
57d45b180c Merge remote-tracking branch 'upstream/master' into import-from-stable 2017-07-31 17:31:10 +09:00
Dean Herbert
b45f1e5381 Merge branch 'master' into transaction-on-import 2017-07-28 17:43:18 +09:00
Dean Herbert
6807caa752 Use a transaction when adding a beatmap
Fixes flakey unit test.
2017-07-28 17:31:50 +09:00
Dean Herbert
c48bf3940e Add a progress notification when importing beatmaps 2017-07-28 16:57:33 +09:00
Dean Herbert
f5b0253e82 Apply CI fixes 2017-07-28 15:36:23 +09:00
Dean Herbert
d93d9e6190 Tidy up file deletion after import 2017-07-28 15:08:56 +09:00
Dean Herbert
6616721e37 Don't block imports and BeatmapStore operations using the same lock 2017-07-28 15:05:12 +09:00
Dean Herbert
d51ce896f9 Add locking to all BeatmapManager operations 2017-07-28 12:58:35 +09:00
Dean Herbert
7d4218ea6c Add option to import from osu-stable
Also adds an option to delete all beatmaps for testing purposes.
2017-07-28 12:58:35 +09:00
Dean Herbert
9ee59dd637 Add the ability to create migrations on a per-store level
Now stores store versions to the database itself.
2017-07-28 12:58:35 +09:00
Dean Herbert
3a6f3cdd8a Add the ability to create migrations on a per-store level
Now stores store versions to the database itself.
2017-07-27 20:38:40 +09:00
Dean Herbert
996e5e8b4a Use SHA2 for hashing 2017-07-27 17:40:08 +09:00
Dean Herbert
5f53426a9a *Database -> *Store
Welcome back BeatmapManager
2017-07-27 16:56:41 +09:00
Dean Herbert
fdc6666c71 Simplify hashing method
Also exit the import process before importing files to the file store to avoid incorrect reference count increments.
2017-07-27 15:55:55 +09:00
Dean Herbert
cbe7b08642 Make BeatmapStore's BeatmapDatabase private 2017-07-27 15:34:13 +09:00
Dean Herbert
96b08b8777 Simplify and document DatabaseStore API 2017-07-27 15:06:10 +09:00
Dean Herbert
a90eff69db Simplify BeatmapSetInfo deletion by relying on cascading deletes 2017-07-27 12:51:49 +09:00
Dean Herbert
c7a6343985 Never cascade-delete rulesets 2017-07-27 12:51:21 +09:00
Dean Herbert
aa81397df4 Recursively retrieve files 2017-07-27 12:41:34 +09:00
Dean Herbert
690b41b1e9 Fix join rows not being deleted when a beatmap is cleaned up 2017-07-27 12:37:37 +09:00
Dean Herbert
4e742959f2 CI fixes 2017-07-27 00:21:57 +09:00
Dean Herbert
87add0765e Initial documentation pass on BeatmapDatabase
Also a bit of tidying up.
2017-07-27 00:08:19 +09:00
Dean Herbert
07d4d2dbe4 Secondary documentation pass on BeatmapStore 2017-07-26 23:13:02 +09:00
Dean Herbert
99e53b5109 Initial documentation pass on BeatmapStore 2017-07-26 22:48:16 +09:00
Dean Herbert
898a601098 Introduce a reference counting file store 2017-07-26 20:22:02 +09:00
Dean Herbert
5fc68aabbf Fix reset function not running in correct order 2017-07-26 17:14:38 +09:00
Dean Herbert
9e20a02c0a Split out BeatmapDatabase into BeatmapStore
Hide database functionality at a lower level in preparation from eventually making it private.
2017-07-26 16:31:34 +09:00