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