1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-23 09:42:56 +08:00
Commit Graph

422 Commits

Author SHA1 Message Date
smoogipoo
99574ecad8 Softly handle errors when no beatmap file exists in archive 2018-08-24 17:57:39 +09:00
smoogipoo
8f261988f7 Log all files when no beatmap files in archive error occurs 2018-08-23 10:59:21 +09:00
Dean Herbert
f1c6dfd735
Change grammar slightly 2018-08-22 16:22:29 +09:00
smoogipoo
bdd618a99d Log the archive when failing to create model 2018-08-22 15:42:43 +09:00
smoogipoo
4dfb63023f Update with recent changes 2018-08-15 15:49:48 +09:00
jorolf
123f304cf1 update storage usages 2018-08-02 19:24:17 +02:00
Dean Herbert
7fea2b3a8b
Add ToList 2018-07-20 16:38:02 +09:00
Dean Herbert
68614f1512 Ensure online IDs are validated for imports that don't have an associated archive too 2018-07-19 13:41:34 +09:00
Dean Herbert
e3fb781a5a Fix ArchiveModelManager's model import method not running import logic 2018-07-18 12:59:22 +09:00
Dan Balasescu
7a2dc3c674
Merge branch 'master' into clickable-download-notifications 2018-07-17 13:29:16 +09:00
Dean Herbert
a117b323e2
Merge branch 'master' into make-notifications-quieter 2018-07-16 13:15:07 +09:00
Dean Herbert
a12c47536b Change default to being important 2018-07-16 13:00:21 +09:00
Dean Herbert
6698f320fb
Merge branch 'master' into download-button-state 2018-07-13 22:05:26 +09:00
Dean Herbert
a1a077398c Merge remote-tracking branch 'upstream/master' into peppy-clickable-download-notifications 2018-07-13 21:04:17 +09:00
Dean Herbert
09be9c2ed2 Merge remote-tracking branch 'upstream/master' into naoey-download-button-state 2018-07-13 14:52:10 +09:00
Dean Herbert
7157428882 Fix import failure of beatmap sets containing duplicate beatmap difficulties 2018-07-11 02:59:00 +09:00
Dean Herbert
1418d1369f Add the ability to click completed download notifications to select beatmap
Closes #2731.
2018-07-11 01:32:10 +09:00
Dean Herbert
e223074876 Fix import failures if single set has multiple conflicting OnlineBeatmapIDs
Resolves #2970.
2018-07-09 00:24:55 +09:00
naoey
2a0b1f3615 Update direct panel download button for new design
- Add a download failed event to BeatmapManager
- Make DownloadButton aware of all 3 possible download states
- Change button appearance based on each state
2018-07-03 20:18:09 +05:30
Joehu
8518fce4a9 Fix osu!supporter naming 2018-06-27 17:57:55 -07:00
Dean Herbert
5d3b51b8d4
Merge branch 'master' into api-offline-early-return 2018-06-22 13:16:30 +09:00
Dean Herbert
5d105cd08d Avoid errors being logged when importing beatmaps while logged out 2018-06-15 17:23:03 +09:00
smoogipoo
8f7334874c Fix up performance calculators 2018-06-14 16:04:48 +09:00
Dean Herbert
a775d00bd8 Add online fetch support for online IDs 2018-06-08 15:59:45 +09:00
Dean Herbert
955a78e76d Remove OnlineBeatmapSetID from BeatmapInfo
It should now be retrieved via the linked BeatmapSetInfo
2018-06-08 15:26:27 +09:00
Dean Herbert
8220e0c79a Remove OnlineBeatmapSetID from BeatmapMetadata 2018-06-08 12:46:34 +09:00
Dean Herbert
645f6efce7 Fix web request failures not being correctly handled at an APIRequest level 2018-06-03 13:01:52 +09:00
Dan Balasescu
cd3ca68f03
Merge branch 'master' into song-selet-enumerable 2018-05-31 14:38:04 +09:00
Dean Herbert
a28e71995d Offload database query to task
Allows song select to load a touch faster, in theory.
2018-05-30 16:15:57 +09:00
Dean Herbert
0adc16f9bd Handle online ID mismatches and clashes on beatmap import 2018-05-29 16:26:50 +09:00
Dean Herbert
47d88a48a2 Add logging on import processes 2018-05-29 16:26:42 +09:00
smoogipoo
ad2c2a5fe6 Restore star difficulty calculation 2018-05-07 12:25:21 +09:00
smoogipoo
66b3b295e7 Use IBeatmap wherever possible 2018-04-19 20:44:38 +09:00
Dean Herbert
32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
Dean Herbert
d1c2aa71d0 Add beatmap sample override support 2018-03-20 16:24:06 +09:00
Dean Herbert
217dd2ecdc Initial push for better decoders 2018-03-09 21:24:15 +09:00
Dean Herbert
89cf794f98 Add a lower level ConsumableItems implementation 2018-02-15 16:15:40 +09:00
Dean Herbert
d3dd31dadb Make deletion and purging logic even more global 2018-02-15 14:22:39 +09:00
Dean Herbert
d340509b1d Move ArchiveReaders to a more global namespace
Also moves delete and action logic to a shared implementation
2018-02-15 14:22:39 +09:00
Dean Herbert
6ff63c2f0c Move deletion to ArchiveModelImportManager 2018-02-15 14:22:39 +09:00
Dean Herbert
d8f84fcca3 Give ArchiveReader a filename 2018-02-15 14:22:39 +09:00
Dean Herbert
e0d28564d0 Move import logic to shared implementation 2018-02-15 14:22:39 +09:00
Dean Herbert
8c42225646 Fix outdated xmldoc 2018-02-13 15:08:51 +09:00
Dean Herbert
3561326306 Remove fixed issue 2018-02-13 14:54:46 +09:00
Dean Herbert
e8e093d6f2 Fix incorrect xmldoc 2018-02-13 14:54:01 +09:00
Dean Herbert
a738664167 Add interface for database context factory 2018-02-12 23:10:05 +09:00
Dean Herbert
8b37fde15b Only write when writes occur
Also add finaliser logic for safety. Also better threading. Also more cleanup.
2018-02-12 19:57:21 +09:00
Dean Herbert
edc3638175 DatabaseWriteUsage 2018-02-12 17:55:11 +09:00
Dean Herbert
721bb7e4dd Add proper handling for OnlineBeatmapSetID conflicts
Not yet working
2018-02-09 21:31:33 +09:00
Dean Herbert
d547caa04e Further improve xmldoc 2018-02-09 19:44:17 +09:00
Dean Herbert
867b1b5f65 Move public methods up 2018-02-09 19:39:02 +09:00
Dean Herbert
c84cb0b33c Fix/add some xmldoc 2018-02-09 19:32:28 +09:00
Dean Herbert
db654004b7 Move BeatmapManagerWorkingBeatmap to its own file 2018-02-09 19:32:18 +09:00
Dean Herbert
fb6dc922c6 Reorder file 2018-02-09 19:25:55 +09:00
Dean Herbert
c7de79caf6 Remove storage class variable 2018-02-09 19:24:17 +09:00
Dean Herbert
5e0cb9d4b9 Simplify beatmap store retrieval 2018-02-09 19:12:29 +09:00
Dean Herbert
a166932468 Add deletion test 2018-02-09 17:51:29 +09:00
Dean Herbert
3b7018fcd6 Simplify beatmap import process 2018-02-09 17:22:48 +09:00
Dean Herbert
a931d6e381
Merge branch 'master' into fix-user-download-cancel 2018-01-22 16:27:26 +09:00
Dean Herbert
53e40a77dc Don't show error messages when a download is user-cancelled
Resolves #1941.
2018-01-22 13:25:49 +09:00
Dean Herbert
88beee2d1f Keep downloads active until their associated import operation finishes
This avoids race conditions where a second download can potentially be started while the first is still active.
2018-01-22 13:20:04 +09:00
Aergwyn
ae1adfd2f2 remove unnecessary empty lines
codefactor.io \(o.o)/
also one unnecessary semicolon
2018-01-12 19:30:34 +01:00
james58899
4fa038aa27
if not storyboard file 2018-01-11 13:53:41 +08:00
james58899
fbffc8bb89
fix load storyboard in osu file 2018-01-10 18:55:04 +08:00
Dean Herbert
37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
Dan Balasescu
7ba59d9d56
Merge branch 'master' into fix-import-context-state 2018-01-03 14:21:04 +09:00
Dean Herbert
7154efa1c6 Refresh import context on import error 2018-01-02 12:31:21 +09:00
Dean Herbert
f2d302f8dc Create a LargeTextureStore for cached (but not atlased) global textures
Also
- Fixes first transition depth being incorrect.
- Improves smoothness of transitions (and adds a slight delay to offset from screen switches).
2017-12-31 07:05:04 +09:00
Dean Herbert
3c8d30f8e6 Add a dialog offering to import beatmaps from stable 2017-12-26 00:52:11 +09:00
Dean Herbert
620e9737c3 Avoid many many unnecessary enumerations 2017-12-21 22:33:16 +09:00
FreezyLemon
e4ead36544 Added completion text 2017-12-21 13:01:14 +01:00
FreezyLemon
cbc1aacf5c Merge branch 'master' of https://github.com/ppy/osu into undelete-button-add 2017-12-21 13:00:11 +01:00
FreezyLemon
3644eda9a9 Changed notification from "installed" to "imported" on beatmap download 2017-12-19 11:34:23 +01:00
FreezyLemon
ba614883ea used Any() instead of manually checking count == 0 (CI) 2017-12-18 11:16:57 +01:00
FreezyLemon
f898481523 Changed existing implementations to have a custom CompletionText 2017-12-18 11:14:07 +01:00
FreezyLemon
d2b80fdbfc Moved "undelete all" logic to BeatmapManager and added a progress notification 2017-12-18 10:55:07 +01:00
Dean Herbert
4c45102d61
Merge branch 'master' into undelete-button-add 2017-12-18 16:28:32 +09:00
Dean Herbert
1146ba02d7 Make GetWorkingBeatmap return a sane default rather than exception on lookup failure 2017-12-15 14:36:51 +09:00
Dean Herbert
3880c7157b
Merge branch 'master' into fix-missing-metadata 2017-12-11 16:04:08 +09:00
FreezyLemon
8cbd6f32cb Moved menu music hash property back to intro and changed check (before undeleting) to "Protected" field. 2017-12-10 11:31:37 +01:00
FreezyLemon
1691a74b14 Merge branch 'undelete-button-add' of https://github.com/freezylemon/osu into undelete-button-add 2017-12-10 11:26:31 +01:00
FreezyLemon
e1c04a1f44 Added check for "menu music beatmap hash" before undeleting so circles.osu doesn't get imported on Undelete. Also moved the const property to BeatmapManager. 2017-12-08 12:50:04 +01:00
FreezyLemon
d93a1fdaae Merge branch 'master' of https://github.com/ppy/osu into undelete-button-add 2017-12-08 10:30:42 +01:00
Dean Herbert
31884a951a Remove "redundant" parenthesis 2017-12-08 15:53:59 +09:00
Dean Herbert
2e1dfa16a2 Fix checks disallowing import of older beatmaps with no embedded online IDs 2017-12-08 14:59:32 +09:00
Dean Herbert
f2eef6621a
Merge branch 'master' into fix-missing-metadata 2017-12-07 19:23:51 +09:00
Aergwyn
ad8cd7eb5d fix possible NullReference?
AppVeyor pls?
2017-12-02 17:04:42 +01:00
Aergwyn
cc76c58f5f fall back to .osu file for storyboard if no .osb file is present
+ CI fixes
2017-12-02 16:05:39 +01:00
Aergwyn
c466296b14 reverted split at Decoder, moved logic down
I'm done experimenting, sorry
- `Decoder` only returns a "Beatmap"`Decoder` now
- "Storyboard"`Decoder` is retrieved from a "Beatmap"`Decoder`
- moved parse methods down in the hierarchy where I forgot to do that
- renamed `OsuLegacyDecoderTest` to `LegacyDecoderTest`
2017-12-01 22:05:01 +01:00
Aergwyn
a49f3479a2 Split retrieving of beatmap and storyboard decoder
Storyboard works again. Not satisfied with the solution though.
2017-12-01 19:11:52 +01:00
Aergwyn
c16925059c split parsing a beatmap and parsing a storyboard 2017-11-30 19:16:13 +01:00
Aergwyn
016057ab01 readd storyboard to beatmap + minor cleanup 2017-11-30 16:49:53 +01:00
FreezyLemon
b09ba19d3f Used the already-existing private method to undelete a mapset 2017-11-30 11:02:53 +01:00
FreezyLemon
bf386598b6 Added a new "undelete" button that restores every beatmap with "DeletePending" set to true. 2017-11-30 10:58:32 +01:00
Aergwyn
cd653c1cbc split storyboard loading into GetStoryboard() 2017-11-29 21:28:02 +01:00
Dean Herbert
2dcc3b9e74
Merge branch 'master' into fix-missing-metadata 2017-11-27 12:28:33 +09:00
Aergwyn
e3a230320a compare metdata and remove duplicate from beatmap to prevent redundant storage 2017-11-23 19:46:58 +01:00
Dean Herbert
6e51664544
Merge branch 'master' into beatmap-overlay-download 2017-11-23 17:11:28 +09:00
Aergwyn
0df5432f5e removed line that set metadata per beatmap to null 2017-11-22 21:45:18 +01:00
Aergwyn
e5dfe4ff2e Make error more verbose when beatmap import fails (#1537)
Add name of beatmap set to error message if import fails
2017-11-22 19:35:25 +09:00
Dean Herbert
8919e98d13 Fix CI issue 2017-11-20 11:32:20 +09:00
Dean Herbert
d704e9cf7e Ensure we correctly handle importing beatmaps/sets when the onlineID already exists locally 2017-11-19 01:45:17 +09:00
naoey
5aeeb9aac6 Merge remote-tracking branch 'upstream/master' into beatmap-overlay-download 2017-11-15 17:38:38 +05:30
Unknown
16e48ed187 Hook up download logic with BeatmapSetOverlay download buttons.
- Add noVideo option to DownloadBeatmapSetRequest
- Make Download fire an event with new download instead of returning it
2017-11-12 18:41:10 +05:30
smoogipoo
04b271cce9 Migrate osu.Game project to VS2017 project structure 2017-10-30 22:24:11 +09:00
Dean Herbert
4d4b505ef7 Add AsNoTracking to common read-only queries 2017-10-25 23:56:05 +09:00
Dean Herbert
195d75d045 Flip flop let's expose IEnumerables for now 2017-10-25 22:12:20 +09:00
Dean Herbert
4e1922c556 Fix query methods not using IQueryable/Expressions
No database-level where clauses were being used in many cases they should be.
2017-10-25 22:10:45 +09:00
Dean Herbert
f1f7557f6e Add importing state to download notification 2017-10-25 11:49:00 +09:00
Dean Herbert
040fa3aa15 Fix import after direct download being scheduled to update thread
Caused a stall as experienced in #1364.
2017-10-25 11:43:30 +09:00
Dean Herbert
c765785d00 Mark several long-running tasks as long-running 2017-10-25 11:42:55 +09:00
Dean Herbert
4a68dd88cb Centralise BeginTransaction and disable transaction use for now 2017-10-23 14:53:13 +09:00
Dean Herbert
29fcd210aa Centralise transaction committing 2017-10-22 16:17:40 +09:00
Dean Herbert
12900a8b15 Remove unnecessary second call to AutoTransactionsEnabled 2017-10-19 15:53:11 +09:00
Dean Herbert
b73b4755eb Ignore r# locked context inspection here 2017-10-18 18:41:04 +09:00
Dean Herbert
4841d4a937 Fix deletion and use single context for imports and deletions for now 2017-10-18 18:27:17 +09:00
Dean Herbert
cf5290fead Remove unnecessary locking; operations are now thread-safe 2017-10-18 13:48:15 +09:00
Dean Herbert
4193004fbf Improve performance of imports by keeping a context hot 2017-10-17 20:29:47 +09:00
Dean Herbert
e4a066dc5f Run cleanup tasks only on startup via manual calls 2017-10-17 19:58:33 +09:00
Dean Herbert
7a18d373ec Improve performance of beatmap imports (still needs revision) 2017-10-17 17:08:42 +09:00
Dean Herbert
cd41862e3b Add back transaction support for beatmap importing 2017-10-17 15:00:27 +09:00
Dean Herbert
66894d11ea Connection -> context 2017-10-17 12:46:29 +09:00
Dean Herbert
31dc5c97f2 Fix intro and duplicate inserts 2017-10-17 11:22:42 +09:00
Dean Herbert
81476ebe75 Correct and simplify BeatmapStore and BeatmapManager 2017-10-17 10:17:21 +09:00
Dean Herbert
acc299c7b9 Correct and simplify RulesetStore 2017-10-16 17:02:31 +09:00
Dean Herbert
0a6dcdd405 Fix remaining warnings 2017-10-16 13:09:10 +09:00
Dean Herbert
8a0b184dd6 Revert "Return back DatabaseBackedStore's query and populate functions"
This reverts commit 7cf5d63cd3.
2017-10-16 12:59:59 +09:00
TocoToucan
56e8c7303c Revert "Fix inconsistent lock usage in BeatmapManager"
This reverts commit 4a064da30f.
2017-10-16 12:59:59 +09:00
TocoToucan
4a064da30f Fix inconsistent lock usage in BeatmapManager 2017-10-15 21:56:33 +03:00
TocoToucan
7cf5d63cd3 Return back DatabaseBackedStore's query and populate functions 2017-10-15 00:40:41 +03:00
smoogipoo
b178be21d1 Let's not rename columns yet 2017-10-14 14:30:58 +09:00
smoogipoo
b83d7cd4df Merge remote-tracking branch 'origin/master' into UselessToucan/EfCore
# Conflicts:
#	osu-framework
#	osu.Game.Tests/Beatmaps/IO/ImportBeatmapTest.cs
#	osu.Game/Beatmaps/BeatmapInfo.cs
#	osu.Game/Online/API/Requests/GetBeatmapSetsResponse.cs
2017-10-14 12:38:59 +09:00
Dean Herbert
8a5e25ce4b Simplify waveform construction 2017-10-12 19:19:42 +09:00
smoogipoo
df6409308a Merge remote-tracking branch 'origin/master' into editor-waveform-timeline
# Conflicts:
#	osu-framework
2017-10-12 15:32:11 +09:00
Huo Yaoyuan
cf7f3411fc Ignore filename case in BeatmapManager. Fixes #1295. 2017-10-11 15:01:02 +08:00
TocoToucan
4653470779 Fix RulesetStore preparation 2017-10-10 22:29:16 +03:00
smoogipoo
19b38983df Update in-line with framework 2017-10-09 17:18:11 +09:00
TocoToucan
887aa7496b Rework EF Core usage in model classes 2017-10-06 00:23:26 +03:00
TocoToucan
6a4198d0d6 Initial EF Core commit 2017-10-04 22:52:12 +03:00
Dean Herbert
c41ca10715 Allow files missing on disk to be restored on beatmap import
Previously, in the rare case the database became out of sync with the disk store, it was impossible to feasibly repair a beatmap. Now reimporting checks each file exists on disk and adds it back if it doesn't.
2017-09-19 18:35:52 +09:00
naoey
0c2bad1de4 Get rid of some properties and todos. 2017-09-09 12:44:27 +05:30
naoey
d12a5e927a Rename property. 2017-09-09 11:03:25 +05:30
naoey
e67606e203 Return existing download if it exists. 2017-09-09 10:25:28 +05:30
naoey
5f5dd54f9d Use a List instead of a Dictionary. 2017-09-09 09:56:01 +05:30
naoey
5a3814b02e
XMLdoc fixes and a cautionary check. 2017-09-09 01:04:55 +05:30
naoey
00306b6e38
Maintain download progress between switching result views.
- Check for existing download requests on creating DirectPanel
- Actually remove downloaded beatmap from results
2017-09-09 00:57:48 +05:30
naoey
20f93c83d6
Make downloads happen in BeatmapManager. 2017-09-09 00:57:40 +05:30
Dean Herbert
1f646e6d54 Add hiding support for beatmap difficulties 2017-09-01 17:57:12 +09:00
Dean Herbert
3b4b4b669b Add framework for deleting difficulties 2017-08-30 21:12:46 +09:00
tgi74000
dc31a0f0ac Merged ppy/master 2017-08-17 13:01:42 +02:00
MillhioreF
e216bfcf10 Recommended fixes (obsolete try/catch, fix infinite loop during variable parsing in a better way) 2017-08-13 00:40:05 -05:00
MillhioreF
2e5a7374a8 Actually use mapName whoops 2017-08-10 01:49:34 -05:00
MillhioreF
a8cf7ff93a Add a better error message for corrupt maps with no .osu files 2017-08-09 23:27:13 -05: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
7cb87c7145 Run each import in a single transaction
Improves performance substantially.
2017-08-02 14:18:35 +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
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
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
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