Dean Herbert
b38da34da9
Fix resetting database failing due to incorrect disposal logic
2018-07-24 12:13:48 +02:00
Dean Herbert
fc6deb6ab5
Merge remote-tracking branch 'upstream/master' into peppy-fix-model-import
2018-07-20 16:42:46 +09:00
Dean Herbert
0c24244340
Remove SingletonContextFactory
...
It is dangerous to use this as it doesn't correctly handle contexts and can cause issues that will never actually arise in normal execution.
# Conflicts:
# osu.Game/Database/SingletonContextFactory.cs
2018-07-18 16:50:56 +09:00
Dean Herbert
e3fb781a5a
Fix ArchiveModelManager's model import method not running import logic
2018-07-18 12:59:22 +09:00
Dean Herbert
4a19f22b3d
Remove custom migration exception
...
This was hiding the true error message from ever hitting logs.
Made to help disagnose #2711 .
2018-06-15 13:38:42 +09:00
Dan Balasescu
b59c45ca57
Merge branch 'master' into fix-database-migration-failure
2018-06-06 22:44:35 +09:00
Dean Herbert
a60c888ae5
Add comment about reasoning for local context variable
2018-06-06 22:05:25 +09:00
Dean Herbert
3b03a25ea5
Fix beatmaps with subfolders importing incorrectly on windows
...
Closes #2718 .
2018-06-05 11:36:44 +09:00
Dean Herbert
3a823d6c25
Fix multiple issues causing database reset to fail
2018-06-04 02:12:16 +09:00
smoogipoo
9da7bfd615
Merge remote-tracking branch 'origin/master' into fix-beatmap-import-conflicts
...
# Conflicts:
# osu.Game/Database/ArchiveModelManager.cs
2018-05-31 14:02:52 +09:00
Dean Herbert
eb89317494
Remove performance optimisation tracking disables to keep things simple for now
2018-05-30 13:43:43 +09:00
Dean Herbert
4a7de043e0
Recycle all contexts on beginning a write operation for the time being
2018-05-30 13:43:25 +09:00
Dean Herbert
e23e2bd348
Fix recycling never being performed due to incorrect ordering
2018-05-30 13:37:52 +09:00
Dean Herbert
31ab6f2408
Fix event flushing sticking on early return
2018-05-29 19:43:52 +09:00
Dean Herbert
4a18951cce
Report full error to log file
2018-05-29 18:37:45 +09:00
Dean Herbert
47d88a48a2
Add logging on import processes
2018-05-29 16:26:42 +09:00
Dean Herbert
de8c4e6d56
Remove unique constraints on hash columns
...
We are going to allow multiple instances of the same beatmap info hash as they could be in different beatmap sets.
2018-05-29 16:26:32 +09:00
Dean Herbert
c1f416b1cc
Add back missing rethrow
2018-05-29 16:23:38 +09:00
Dean Herbert
3d3026a80c
Report any error during import to the write context to allow for rollback
2018-05-29 16:23:38 +09:00
Dean Herbert
72da640059
Change order of event firing in Update calls
...
A remove event should not be fired before the update is successful.
2018-05-29 16:23:38 +09:00
Dean Herbert
80806be047
Don't start transactions for migration
...
It looks like transactions are used internally during migration.
2018-05-29 16:23:38 +09:00
Dean Herbert
a3287b8cf2
Correctly rollback failed imports
2018-05-29 16:23:38 +09:00
Dean Herbert
bcb04f6168
Improve transaction handling flexibility
2018-05-29 16:23:27 +09:00
Dean Herbert
d4e7f08c20
Bring entity framework up-to-date and re-enable transactions
2018-05-29 16:23:27 +09:00
Dean Herbert
2a87b851fa
Add proper transaction rollback logic on exception
2018-05-29 16:23:27 +09:00
Dean Herbert
32a74f95a5
Normalize all the line endings
2018-04-13 18:26:38 +09:00
smoogipoo
b97c4e8b44
Fix all possible cases of crossthread import data races
2018-04-09 12:45:44 +09:00
smoogipoo
5159127bce
Fix SQLite failing to initialize on test projects
2018-03-26 18:07:09 +09:00
Dean Herbert
0e669c9a3f
Fix many warnings
2018-03-24 18:23:22 +09:00
smoogipoo
ffa712dccb
Fix post-merge issues
2018-03-24 15:19:45 +09:00
smoogipoo
c29f7a4333
Merge remote-tracking branch 'origin/master' into netstandard
2018-03-24 14:49:46 +09:00
Dean Herbert
b8022070e8
Merge remote-tracking branch 'upstream/master' into beatmap-as-a-skin
2018-03-22 16:24:56 +09:00
Dean Herbert
9a20839b74
Merge branch 'master' into better-import-notice
2018-03-22 14:57:04 +09:00
smoogipoo
dc9fb84e25
Update progress with the current item, not the next item
...
In the case where there is no next item, the progress will not get updated, so we'll essentially skip one element from filling the progress bar further. In the future we may/will want to not hide the notification upon completion, so this will look better in such scenarios.
2018-03-22 14:46:25 +09:00
Dean Herbert
5104ba8118
Merge branch 'master' into beatmap-as-a-skin
2018-03-22 13:45:30 +09:00
Dean Herbert
101caf3064
Apply same logic fixes to delete/restore all notifications
2018-03-22 11:28:40 +09:00
Dean Herbert
625e561fc8
Fix whitespace
2018-03-20 18:01:09 +09:00
Dean Herbert
dbcf755618
Make Beatmaps parsable as skins
2018-03-20 16:05:29 +09:00
Dean Herbert
f565cc861d
Hard bail on attempting to import an invalid archive format
2018-03-19 20:41:12 +09:00
Dean Herbert
994c7bfabd
Further improvements to messaging
2018-03-19 20:40:14 +09:00
Dean Herbert
18368d2446
Make import notifications fail when any imports fail
2018-03-19 20:18:23 +09:00
Dean Herbert
e9c5834387
Add query method for now
2018-02-23 13:26:01 +09:00
Dean Herbert
402d71a8d9
Add user skin setting storage
2018-02-22 16:29:05 +09:00
Dean Herbert
4c14b32783
Add basic skin database model layout and importing
2018-02-22 15:46:11 +09:00
Dean Herbert
57e61b0b0e
Update xmldoc
2018-02-19 14:50:42 +09:00
Dean Herbert
8b89735e9e
Improve xmldoc for DatabaseContextFactory.Get
2018-02-19 14:17:41 +09:00
Dean Herbert
fa05822d7d
Add missing licence headers
2018-02-15 16:33:33 +09:00
Dean Herbert
b9ef32b09b
Further xmldoc and restoring of Cleanup method
2018-02-15 16:31:42 +09:00
Dean Herbert
1b13be1372
Cleanups and xmldoc additions
2018-02-15 16:24:14 +09:00
Dean Herbert
89cf794f98
Add a lower level ConsumableItems implementation
2018-02-15 16:15:40 +09:00
Dean Herbert
671475f3b4
Ensure undeleted items are populated with includes before firing events
2018-02-15 16:15:40 +09:00
Dean Herbert
e51450a064
Fix query construction
2018-02-15 15:24:28 +09:00
Dean Herbert
fe5df663be
Add more xmldoc
2018-02-15 15:14:46 +09:00
Dean Herbert
a0a65abcac
Crentalise all import logic
2018-02-15 14:22:39 +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
e0d28564d0
Move import logic to shared implementation
2018-02-15 14:22:39 +09:00
Dean Herbert
50cdb03cd9
Don't dispose read contexts
2018-02-13 15:08:45 +09:00
Dean Herbert
ab34123ba8
Remove unnecessary class variable
2018-02-13 15:05:19 +09:00
Dean Herbert
a738664167
Add interface for database context factory
2018-02-12 23:10:05 +09:00
Dean Herbert
64cda9fd0f
Remove incorrect assert assumption
2018-02-12 22:16:09 +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
e54de0c267
Remove sqlite-net migration
...
Anyone that may have benefited from this already has.
2018-02-12 15:25:09 +09:00
smoogipoo
b500b76407
Merge branch 'master' into update-branch
2018-02-08 23:35:48 +09:00
Dean Herbert
03154dbc63
Fix incorrect initial migration
...
Also adds variant to settings
2018-01-25 23:41:03 +09:00
Dean Herbert
5a00ae36d1
Add database-based configuration for rulesets
2018-01-24 17:45:28 +09:00
Dean Herbert
37d393bca0
Update licence headers
2018-01-05 20:21:19 +09:00
smoogipoo
7a793eaded
Merge master into netstandard
2017-12-27 20:48:53 +09:00
Dean Herbert
d02e1ae896
Update RulesetInfo and add migration
2017-12-10 12:15:55 +09:00
smoogipoo
267bb75458
Merge remote-tracking branch 'Aergwyn/master' into netstandard
2017-11-29 23:45:29 +09:00
Dean Herbert
85827f83eb
Perform a reload on objects when Refreshing them
...
Previously, it was possible for an object to be "refreshed" with a stale cached state from the current thread's context.
This ensures a check against the database is performed as well.
Resolves #1562 .
2017-11-23 17:04:39 +09:00
smoogipoo
b3bf6e7bee
Merge master into netstandard
2017-11-21 16:39:21 +09:00
smoogipoo
a66edea6dc
Move sqlite batteries to osu.Desktop
...
Fixes e_sqlite.dll not being copied to output on Windows
2017-11-21 15:33:05 +09:00
Dean Herbert
7d2bbc50a3
Add unique constraint on OnlineBeatmapID
2017-11-19 01:45:17 +09:00
smoogipoo
04b271cce9
Migrate osu.Game project to VS2017 project structure
2017-10-30 22:24:11 +09:00
Dean Herbert
ead3ca1f27
Merge branch 'master' into fix-threaded-context-issues
2017-10-25 23:42:08 +09:00
Dean Herbert
6f7ba55f80
Fill out xmldoc
2017-10-25 22:19:47 +09:00
Dean Herbert
c1d133977e
FirstOrDefault -> SingleOrDefault
2017-10-25 22:17:17 +09:00
Dean Herbert
5001e9f264
Fix Hide/Restore/Delete etc.
2017-10-25 22:08:34 +09:00
Dean Herbert
8452e315f4
Allow "refreshing" instances via DatabaseBackedStore
2017-10-25 22:06:25 +09:00
Dean Herbert
487b888f4f
Add missing database indices
...
Also add missing unique constraints where applicable.
2017-10-25 22:05:10 +09:00
Dan Balasescu
05e1a7a5f8
Merge branch 'master' into online-beatmap-id-sanity
2017-10-25 21:38:33 +09:00
TocoToucan
5107489cda
Remove DatabaseBackedStore Reset functions
2017-10-25 15:12:14 +03:00
TocoToucan
63fe569afa
Remove DatabaseBackedStore Prepare functions
2017-10-25 14:53:20 +03:00
Dean Herbert
66f1d2fb2e
Ensure all parsed "Online" IDs are above zero or null
...
Some .osu file sources (or database sources) may be in a bad state. We want to get these ones right as they cannot be enforced by the database itself (via FKs or constraints).
2017-10-25 14:34:39 +09:00
Dean Herbert
22b3f5dd19
Merge remote-tracking branch 'upstream/master' into import-test-fixes
2017-10-23 22:03:37 +09:00
Dean Herbert
dc9c474033
Move all TestCases to Testing project
...
This allows tests to successfully retrieve rulesets, as they are referenced.
2017-10-23 19:32:02 +09:00
Dean Herbert
1a3debc91d
Ensure thread safety on shared contexts
...
Let's call this one temporary.
2017-10-23 17:56:04 +09:00
Dean Herbert
df20845fbb
Share one context per file store for performance reasons
...
There is now a CreateContext method for retrieving a stand-alone context for threaded use.
We may want to add safety against this context being disposed (or just return a fresh one if it is).
2017-10-23 16:35:35 +09:00
Dean Herbert
4a68dd88cb
Centralise BeginTransaction and disable transaction use for now
2017-10-23 14:53:13 +09:00
Dean Herbert
61c1dd3636
Don't output database logs unless DEBUG_DATABASE is specified compile-time
2017-10-22 19:46:08 +09:00
Dean Herbert
1514d8451e
Use a more elegant method of setting the connection timeout
2017-10-22 16:20:04 +09:00
Dean Herbert
29fcd210aa
Centralise transaction committing
2017-10-22 16:17:40 +09:00
Dean Herbert
39b356880e
Fix typo
2017-10-22 15:32:47 +09:00
Dean Herbert
6818ebdaff
Change the way migrations are checked for
...
This method allows switching between sqlite-net and EF builds without completely breaking. Note that DB migration still only happens in a forward direction, but this will allow switching back and forth without eventually being unable to start the game.
2017-10-22 15:27:16 +09:00
Dean Herbert
47213d2498
Rely on storage.DeleteDatabase for guaranteed database deletion
...
Relies on https://github.com/ppy/osu-framework/pull/1100 being merged for most effectiveness.
2017-10-21 00:15:02 +09:00
Dean Herbert
d32059a7ba
Ignore include-ignore warnings for now
2017-10-20 09:25:54 +09:00
Dean Herbert
ca78078436
Add more logging output
2017-10-20 08:06:07 +09:00
Dean Herbert
efaf98c5cf
Allow recovery from a very broken database
2017-10-20 00:48:27 +09:00
Dean Herbert
d9fd05a5af
Hidden cannot be null
2017-10-19 23:19:30 +09:00
Dean Herbert
8aea6068ba
Add fallback logic for the case where previous database can't be migrated
2017-10-19 21:37:09 +09:00
Dean Herbert
1672e0d6b6
Add fallback logic in case migration fails
...
Nuke it all.
2017-10-19 21:11:43 +09:00
Dean Herbert
1fbbee14e4
Allow migration from sqlite-net to EF
...
Bonus stage
2017-10-19 20:04:59 +09:00
Dean Herbert
f7d0df1743
Fix beatmap difficulty and metadata deletion
2017-10-19 17:50:46 +09:00
Dean Herbert
b02dd196f6
Don't make one factory each context
...
A factory is supposed to be re-used.
2017-10-19 17:29:39 +09:00
Dean Herbert
36c00577af
Reduce database log output
...
Also hard-disables it for uninteresting log levels, providing a further performance boost.
2017-10-19 16:35:06 +09:00
Dean Herbert
5d5ea5fb2e
Fix all remaining db structure issues
2017-10-19 14:05:11 +09:00
Dean Herbert
4e8019b313
Add some more missing indices
2017-10-17 19:59:22 +09:00
Dean Herbert
e4a066dc5f
Run cleanup tasks only on startup via manual calls
2017-10-17 19:58:33 +09:00
Dean Herbert
b9d0fb96ed
Fix cascade deletions
2017-10-17 18:26:28 +09:00
Dean Herbert
12639c6819
Use a different database name for now to avoid conflicts when switching versions
2017-10-17 17:52:20 +09:00
Dean Herbert
3e415e3269
Fix tooling failures
2017-10-17 17:52:02 +09:00
Dean Herbert
0177fcbe5f
Fix xmldoc
2017-10-17 17:08:47 +09:00
Dean Herbert
ad54ca9268
Fix TestCasePlaySongSelect
2017-10-17 16:04:54 +09:00
Dean Herbert
e487b6f82a
Standardise context retrieval
2017-10-17 15:50:42 +09:00
Dean Herbert
cd41862e3b
Add back transaction support for beatmap importing
2017-10-17 15:00:27 +09:00
Dean Herbert
fe44a28d48
Add back startup tasks runner
2017-10-17 12:46:38 +09:00
Dean Herbert
66894d11ea
Connection -> context
2017-10-17 12:46:29 +09:00
Dean Herbert
ec51314e37
Remove duplicate command
2017-10-16 16:11:34 +09:00
Dean Herbert
7049a73490
Remove ValidTypes from databased stored; explicitly expose query methods instead
2017-10-16 14:47:33 +09:00
Dean Herbert
4981630131
Fix formatting regressions
2017-10-16 13:12:51 +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
Dean Herbert
e3d31bdd10
Not implemented instead of incorrect
2017-10-16 12:59:59 +09:00
Dean Herbert
129cca0704
Tidy up context creation
2017-10-16 12:59:59 +09:00
Dean Herbert
a232033469
Fix some file headers and unused files
2017-10-16 00:54:09 +09:00
TocoToucan
7cf5d63cd3
Return back DatabaseBackedStore's query and populate functions
2017-10-15 00:40:41 +03:00
smoogipoo
167eefa397
Add logging
2017-10-14 15:16:08 +09:00
TocoToucan
ef417c6388
Small DB-related refactoring
2017-10-09 23:30:32 +03:00
TocoToucan
81b9e08fb6
Fix foreign key constraint failure
2017-10-09 00:30:52 +03:00
TocoToucan
6a4198d0d6
Initial EF Core commit
2017-10-04 22:52:12 +03: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
b4acdd5f90
Merge remote-tracking branch 'upstream/master' into fix-file-references
2017-08-01 11:05:38 +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
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
bc8f8de049
Make QueryAndPopulate's filter non-optional (you basically *never* want this missing)
2017-07-31 18:41:54 +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
5f53426a9a
*Database -> *Store
...
Welcome back BeatmapManager
2017-07-27 16:56:41 +09:00
Dean Herbert
96b08b8777
Simplify and document DatabaseStore API
2017-07-27 15:06:10 +09:00
Dean Herbert
898a601098
Introduce a reference counting file store
2017-07-26 20:22:02 +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
Dean Herbert
fce580d717
Reshuffle namespaces
2017-07-26 13:22:46 +09:00
Dean Herbert
d6968ca09c
Remove FullyLoaded logic
...
Always parse storyboards for now.
Let's not optimise this until it is necessary. It was leading to weird threading problems due to the load call in Player's async load method.
2017-07-20 11:01:50 +09:00
Dean Herbert
d69470f2ae
Fix TestWorkingBeatmap broken by attempting to load storyboard
2017-07-20 09:22:39 +09:00
Dean Herbert
da92fccdb0
Merge branch 'master' into non-null-beatmap
2017-07-19 18:32:42 +09:00
Dean Herbert
d7dddec328
Set zero-difficulty values local to the dummy beatmap
2017-07-19 18:32:11 +09:00
Dean Herbert
35157ca6b8
Make DefaultBeatmap private get.
2017-07-19 18:09:59 +09:00
Dean Herbert
632d2e8ba5
Dummy beatmap has dummy ruleset
2017-07-19 15:16:48 +09:00
Dean Herbert
f168ee660c
Move dummy to BeatmapDatabase
2017-07-19 15:16:43 +09:00
Dean Herbert
6016310b09
Use a better default for difficulty values
2017-07-19 15:16:37 +09:00
Dean Herbert
f00140f0a4
Avoid crashes on attempting to import the same path twice in quick succession
2017-07-19 14:56:24 +09:00
Dean Herbert
5761eb30a0
Fix nullref error on re-importing a DeletePending beatmap
...
Callback was expecting the beatmap to be populated where it wasn't being.
2017-07-19 14:56:20 +09:00
Dan Balasescu
c13dc943f8
Merge branch 'master' into fix-track-rotation
2017-07-14 19:25:54 +10:00
Dean Herbert
2c1f3de47a
Rename 2X resources to be defaults
2017-07-13 10:27:39 +09:00
Dean Herbert
1bd3519ecb
Have beatmap return a zero-length TrackVirtual instead of null on load failure
2017-07-11 18:38:27 +09:00
DrabWeb
b448603d6c
CI fixes.
2017-07-11 01:42:51 -03:00
DrabWeb
69b290519f
Better BeatmapSetOnlineInfo comments.
2017-07-11 00:28:25 -03:00
DrabWeb
84701846ec
Merge https://github.com/ppy/osu into osu-direct-search
2017-07-11 00:26:49 -03:00
John Neijzen
d9a9616125
EOF remove blank spaces
2017-06-08 14:56:03 +08:00
DrabWeb
ddc4d45ae8
Unused usings
2017-06-07 11:39:04 -03:00
DrabWeb
add08e65ff
Result counts displaying
2017-06-07 11:30:52 -03:00
DrabWeb
8745948a01
Basic searching in osu!direct, move BeatmapSetOnlineInfo covers into their own class
2017-05-28 02:26:25 -03:00
DrabWeb
ab32e962ca
Make BeatmapOnlineInfo and BeatmapSetOnlineInfo separate classes, -OnlineWorkingBeatmap
2017-05-28 00:37:55 -03:00
DrabWeb
a25c504965
CI fixes
2017-05-24 03:08:48 -03:00
DrabWeb
ba2627d4e2
Merge branch 'osu-direct' of https://github.com/DrabWeb/osu into osu-direct
2017-05-24 02:40:00 -03:00
DrabWeb
e59c1879a2
Remove tabs
2017-05-24 02:38:55 -03:00
DrabWeb
4490596f5f
Keep one object per file
2017-05-24 02:37:27 -03:00
Dean Herbert
4ee11764b8
Merge branch 'master' into osu-direct
2017-05-24 12:16:34 +09:00
Dean Herbert
fe7ac20e29
Read menu music from osz resource
2017-05-23 16:38:43 +09:00
Dean Herbert
0b987be600
Merge branch 'master' into osu-direct
2017-05-20 16:17:59 +09:00
DrabWeb
c981a4a511
Formatting
2017-05-19 19:50:45 -03:00
DrabWeb
0a90965a5b
CI formatting
2017-05-19 19:22:42 -03:00
DrabWeb
7a60aa614d
Reword comment
2017-05-19 19:05:54 -03:00
DrabWeb
e1c4c36122
+BeatmapOnlineInfo, +OnlineWorkingBeatmap, minor cleanups, panel beatmap backgrounds
2017-05-19 15:43:18 -03:00
Dean Herbert
c51d640241
Add support for searching beatmap author at song select
...
Resolves #792
2017-05-19 13:13:27 +09:00
Dean Herbert
f730769186
Rewrite to make better
2017-05-15 12:54:56 +09:00
Dean Herbert
a9b3f74218
Fix ruleset not always getting populated in a WorkingBeatmap
2017-05-12 20:05:44 +09:00
Dean Herbert
a2f6d8a3e6
Fix broken test cases, remove some recursive lookup methods.
2017-05-11 19:38:28 +09:00
Dean Herbert
70ef503403
Merge branch 'master' into metadata
2017-05-11 12:23:00 +09:00
Huo Yaoyuan
4c26a02e99
Remove unnecessary arguments in WorkingBeatmap's constructor.
2017-05-08 16:42:53 +08:00
Huo Yaoyuan
4f8549f220
Standardise usages of exceptions.
2017-05-07 00:38:17 +08:00
Huo Yaoyuan
767cfaaac3
Access database recursively.
2017-05-06 15:37:53 +08:00
Huo Yaoyuan
146d57953d
Use metadata field of WorkingBeatmap.
2017-05-06 14:57:11 +08:00
Huo Yaoyuan
4f49151984
Make metadata a member of WorkingBeatmap.
2017-05-06 14:52:28 +08:00
Dean Herbert
a993790a66
Ensure all searchable terms are non-null non-empty.
2017-05-02 17:54:07 +09:00
Dean Herbert
6074cb5979
Make playlist filtering work.
...
Also standardises searchable terms in beatmap metadata.
2017-05-02 10:45:55 +09:00
Dean Herbert
28375ed1fc
Allow transfer of previously loaded background between WorkingBeatmaps
2017-04-28 15:03:07 +09:00
Dean Herbert
e1a2f1bc7a
Add beatmap metrics lookup.
2017-04-24 19:17:11 +09:00
smoogipooo
61090d918c
Temporary for taiko lagging on auto replays due to inImportantSection.
...
Note that this isn't a full "as intended" fix, because the full fix is quite big. I'll be saving it for a separate branch/pull-req.
2017-04-20 15:26:42 +09:00
Dean Herbert
873599b359
Fix conversion regression.
2017-04-20 11:36:50 +09:00
Dean Herbert
a47870b376
Apply Ruleset to Scores. Reduce complexity of score creation.
2017-04-20 11:16:08 +09:00
Dean Herbert
3e65cab9b7
Move replay creation logic to ScoreDatabase.
2017-04-20 10:25:07 +09:00
Dean Herbert
3b95fbab7d
Add score statistic tracking (osu!).
2017-04-19 16:29:27 +09:00
Dean Herbert
fbd26a1d5e
Mode -> Ruleset.
2017-04-18 16:05:58 +09:00
Dean Herbert
5939ba9143
Fix ruleset not always being initialised correctly.
2017-04-18 10:55:33 +09:00
Dean Herbert
f2174054ea
Fix song select.
2017-04-18 10:04:32 +09:00
Dean Herbert
d3c1520a2d
Fix beatmaps not getting the correct ruleset on import.
2017-04-18 09:47:29 +09:00
Dean Herbert
2734983564
Add unique constraints on RulesetInfo table to ensure things stay sane.
2017-04-18 09:47:16 +09:00
Dean Herbert
af13f97435
Fix regressions and test cases.
2017-04-17 19:44:03 +09:00
Dean Herbert
db6556a0f9
Index DeletePending for better performance.
2017-04-17 17:44:02 +09:00
Dean Herbert
a4e2f34ee7
Make a RulesetDatabase.
2017-04-17 17:43:48 +09:00
Dean Herbert
83b083ce64
Move SQLite connections out of database classes; make abstract Database.
2017-04-17 14:37:52 +09:00
smoogipooo
4a149c4ab8
Better default values + don't set Mode from outside.
2017-04-15 06:14:31 +09:00
smoogipooo
0a1376c2db
Remove PlayMode game-wide.
2017-04-15 05:22:41 +09:00
smoogipooo
a89af273be
Make BeatmapInfo expose Ruleset instead of PlayMode.
2017-04-15 05:01:36 +09:00
smoogipooo
59bfc7abad
Move statics to RulesetCollection to avoid conflicts later on.
2017-04-15 04:53:37 +09:00
Dean Herbert
2c3fa30386
Metric -> Metrics.
2017-04-12 21:09:39 +09:00
Dean Herbert
00cd2c8372
Better comments.
2017-04-12 21:08:28 +09:00
Jorolf
50b6bcd574
Merge branch 'master' into details
2017-04-11 19:06:58 +02:00
Jorolf
d4e5f55091
the power of linq
2017-04-11 18:43:48 +02:00
Jorolf
fb5952186c
changes and fixes
2017-04-11 14:02:56 +02:00
Dean Herbert
24fea2809b
Map beatmap md5 from online response to BeatmapInfo.
2017-04-11 13:44:55 +09:00
Jorolf
24b4b3ad7d
update to everything
2017-04-10 16:42:23 +02:00
Huo Yaoyuan
411988f038
Remove all trailing whitespaces in this repo.
2017-04-06 16:21:18 +08:00
Huo Yaoyuan
9b1e010dcc
Fix filename mismatch.
2017-04-06 16:05:41 +08:00
smoogipooo
0107772737
Fix using.
2017-04-06 16:25:46 +09:00
Dan Balasescu
6fc1384927
Merge branch 'master' into taiko-fixes
2017-04-06 16:23:22 +09:00
Dean Herbert
4783d17d94
Merge branch 'master' into better-hitsounds
2017-04-06 16:00:56 +09:00
smoogipooo
cec8bca78a
Implement IJsonSerializable, BeatmapInfo IJsonSerializable.
2017-04-06 15:54:50 +09:00
Dean Herbert
18ff8efd46
Mark TODO for BeatmapVersion.
2017-04-06 13:15:33 +09:00
Dean Herbert
f193af2a2a
Add better defaults for BaseDifficulty.
2017-04-06 13:15:21 +09:00
smoogipooo
eb82a4c090
Back to using SampleInfo + fix taiko beatmap conversion.
2017-04-06 11:41:16 +09:00
smoogipooo
4b424263ce
Fully parse control points.
2017-04-04 13:13:27 +09:00
smoogipooo
19b5555ef2
Slightly clean up archive readers + decoders. Read beatmap version into BeatmapInfo.
2017-04-03 20:26:46 +09:00
Dean Herbert
fa7c72a099
Refactor ReplayInputHandler creation for more flexibility.
2017-03-31 15:59:53 +09:00
smoogipooo
136665e52e
Add virtual method to instantiate legacy replays.
2017-03-24 14:28:17 +09:00
smoogipooo
2074812f46
Move ScoreProcessor and Score to Scoring/.
2017-03-24 09:51:52 +09:00
Dean Herbert
54e1b24fe9
Enforce readonly private members where possible.
2017-03-23 13:50:08 +09:00
Dean Herbert
859ee5d316
Tidy up DatabaseWorkingBeatmap.
2017-03-23 10:07:26 +09:00
Drew DeVault
2e1f596b2a
Move DatabaseWorkingBeatmap out of partial class
2017-03-22 06:50:48 -04:00
Drew DeVault
2b1d31e69c
Address linting issues
2017-03-22 06:25:49 -04:00
Drew DeVault
267238dc27
Simplify derived classes of WorkingBeatmap
2017-03-22 06:15:32 -04:00
Drew DeVault
cc2b4c5c5b
Refactor WorkingBeatmap
...
Gets ArchiveReader out of WorkingBeatmap and delegates extracting stuff
from it to subclasses. Should enable us to make an OnlineWorkingBeatmap
or so.
2017-03-22 05:57:08 -04:00
Dan Balasescu
cd30958086
Merge branch 'master' into song-select-loading-reoptimisation
2017-03-18 01:25:22 +09:00
Dean Herbert
3401759665
Don't batch imports for now.
2017-03-17 18:57:24 +09:00
Dean Herbert
cd98af29c4
Only calculate difficulties on import for now.
2017-03-17 11:53:13 +09:00
smoogipooo
9a4af8f194
GetScore -> CreateScore.
2017-03-17 02:03:12 +09:00
smoogipooo
e0a8c3b1e5
Rename BaseDifficulty -> Difficulty / BeatmapDifficulty.
2017-03-16 23:18:02 +09:00
smoogipooo
28e006eeb9
Move MapDifficultyRange into BaseDifficulty.
2017-03-16 23:17:27 +09:00
Dean Herbert
271dddc9a7
Merge branch 'master' into generic_scoreprocessor
2017-03-16 23:04:19 +09:00
Dean Herbert
4d84bf7350
Change difficulty sort to be based on MaxStarDifficulty.
2017-03-16 13:59:23 +09:00
smoogipooo
5cafec3b6a
Add back CreateScoreProcessor to Ruleset to instantiate a non-generic ScoreProcessor for ScoreDatabase.
2017-03-16 13:13:45 +09:00
smoogipooo
82033faaab
Warning/error fixing.
2017-03-16 12:57:50 +09:00
smoogipooo
c82ae011fb
Make ScoreProcessors take generic judgements.
2017-03-16 12:45:23 +09:00
Dean Herbert
ba10c3a8db
Revert "Merge pull request #441 from tacchinotacchi/archive-reader"
...
This reverts commit 6f20473e65
, reversing
changes made to c76a495d3d
.
2017-03-14 11:46:34 +09:00
Alex Amadori
c84a9d56f5
Fix namespace, comply with naming rules
2017-03-13 11:36:21 +01:00
Alex Amadori
caa6e9c82b
General improvements
2017-03-13 11:29:24 +01:00
Alex Amadori
971d8eb7c5
Merge remote-tracking branch 'upstream/master' into archive-reader
2017-03-13 10:56:31 +01:00
smoogipooo
3480dca0ad
Remove PlayMode enum requirement. Clean things up a lot.
2017-03-12 14:32:50 +09:00
Alex Amadori
c60353faf7
Merge branch 'archive-reader' of https://github.com/tacchinotacchi/osu into archive-reader
2017-03-09 17:07:37 +01:00
Alex Amadori
7374839923
Merge remote-tracking branch 'upstream/master' into archive-reader
2017-03-09 17:07:00 +01:00
Dean Herbert
d7497330b2
Reduce warning/suggestion count to zero.
2017-03-09 15:52:40 +09:00
Dean Herbert
0976e205d8
Remove redundant parentheses.
2017-03-09 14:00:17 +09:00
Alex Amadori
9f40a888ec
Update BeatmapArchiveReader's test
2017-03-08 21:55:38 +01:00
Alex Amadori
309019aab3
Merge remote tracking branch 'upstream/master' into archive-reader
2017-03-07 08:41:44 +01:00
Dean Herbert
5cbcf7a20a
Fix error-level inspections.
2017-03-07 14:31:54 +09:00
Dean Herbert
4430255ec4
Merge remote-tracking branch 'upstream/master' into replay
...
# Conflicts:
# osu.Desktop.VisualTests/Tests/TestCasePlayer.cs
# osu.Desktop/OsuGameDesktop.cs
# osu.Game.Modes.Osu/Objects/Drawables/DrawableHitCircle.cs
# osu.Game.Modes.Osu/Objects/Drawables/DrawableSlider.cs
# osu.Game/Database/BeatmapDatabase.cs
# osu.Game/Graphics/Cursor/OsuCursorContainer.cs
# osu.Game/IPC/BeatmapImporter.cs
# osu.Game/Modes/Mod.cs
# osu.Game/Modes/Objects/Drawables/DrawableHitObject.cs
# osu.Game/Modes/UI/Playfield.cs
# osu.Game/Screens/Play/Player.cs
# osu.Game/Screens/Play/PlayerInputManager.cs
2017-03-07 13:50:08 +09:00
Dean Herbert
0cad5d7d41
Fix most warnings.
2017-03-07 13:05:57 +09:00
Alex Amadori
fd53d10264
Refactor ArchiveReader for extensibility
2017-03-06 23:56:08 +01:00
Dean Herbert
95e2e2b027
Replay loading via drag-drop huzzah!
2017-03-04 19:02:43 +09:00
Dean Herbert
aa9d85624d
Change IPC to make sense.
2017-03-04 18:51:16 +09:00
Dean Herbert
398b1fcf03
Add comment about .ID == 0 check.
2017-03-03 20:51:07 +09:00
Mikal Stodal
c88c6c4c62
More summaries
2017-03-02 15:37:45 +01:00
Mikal Stodal
dfa21444b4
Ensure correct exception logged
2017-03-02 14:10:32 +01:00
Mikal Stodal
2498305174
Merged branch master into remove-source-on-import
2017-03-02 13:39:22 +01:00
Mikal Stodal
47162a3e91
Update summary and commentary
2017-03-02 13:39:02 +01:00
Mikal Stodal
6661195e92
Only add set if ID is 0
2017-03-02 13:36:01 +01:00
Dean Herbert
68a359698d
Fix potential nullref caused by test data.
2017-03-02 18:35:24 +09:00
Mikal Stodal
418ae24fea
Document private method getBeatmapSet(path)
2017-03-01 17:57:57 +01:00
Mikal Stodal
1e901a1604
Only set StoryBoardFile once
2017-03-01 17:08:12 +01:00
Mikal Stodal
eff66a1da6
Only delete on successful import.
2017-02-28 14:46:16 +01:00
Mikal Stodal
d54a75a5c5
Delete file after importing BeatmapSet w/error handling,
...
also changed batch-commit of multiple sets to database.
2017-02-28 14:35:42 +01:00
Dean Herbert
4a4f1f4d82
Actually delete all related database entries, not just the set.
2017-02-27 18:27:38 +09:00
Dean Herbert
27d31d1d30
Merge remote-tracking branch 'upstream/master' into better-container
2017-02-26 11:23:06 +09:00
Thomas Müller
1585ae842a
Update framework
2017-02-26 11:22:58 +09:00
Dean Herbert
7a60a5e499
Lock the BeatmapDatabase's connection during imports.
...
This should avoid any potential issues with intertwined transactions on the same connection while still allowing higher throughput when importing.
2017-02-25 10:39:13 +09:00
Thomas Müller
d150eb4450
Merge branch 'master' into better-star-counter
2017-02-24 19:37:04 +01:00
Thomas Müller
f7d985fe18
Fix and refactor star difficulty calculation boilerplate
...
Moves star difficulty calculation entry-point to Beatmap, and sets
star difficulty at the correct place for song select to display.
2017-02-24 19:36:17 +01:00
Dean Herbert
c178493877
Add support for undeleting beatmaps if they are imported during an undeleted state.
2017-02-24 18:13:38 +09:00
Dean Herbert
d24403e58e
Remove unused using statement.
2017-02-24 17:20:00 +09:00
Dean Herbert
958bf54c31
Add safe deletion support.
2017-02-24 17:08:13 +09:00
Dean Herbert
6c3bda18b6
Add beatmap deletion support.
...
Note that this is a very naive approach and will result in file access exceptions. This will be fixed in a further commit.
2017-02-24 14:37:54 +09:00
Dean Herbert
3a89348413
Centralise access to WorkingBeatmaps.
...
They can now only be instantiated from BeatmapDatabase and are abstract (to avoid misuse).
2017-02-24 13:43:21 +09:00
Thomas Müller
a5dfa7ab06
Remove unnecessary using statements
2017-02-23 21:38:10 +01:00
Dean Herbert
da2bfe6d3c
Framework updates.
2017-02-23 16:42:12 +09:00
Thomas Müller
417f146386
Add difficulty calculation
...
Adds base classes for difficulty calculations, hooks them up with
carousel container, and adds a port of the osu difficulty calculator.
2017-02-19 17:41:51 +01:00
Dean Herbert
11643d2e09
Remove unnecessary methods and local variables.
2017-02-13 18:30:51 +09:00
Thomas Müller
e3f35cd66e
Merge branch 'master' into osb_loading
2017-02-12 12:26:25 +01:00
Dean Herbert
870aa2750f
Don't attempt to import command line arguments as beatmaps.
2017-02-12 14:53:33 +09:00
Damnae
a504c73f33
Load beatmap data from an optional osb file.
2017-02-09 15:19:09 +01:00
Dean Herbert
50bd80cb0c
Update and standardise license headers.
2017-02-07 14:27:41 +09:00
Dean Herbert
756fd78a88
Fix incorrect line endings.
2017-02-07 13:52:19 +09:00
Dean Herbert
0272c4b559
Add StarDifficulty property and correct colouring of difficulty icons.
2017-01-30 15:26:28 +09:00
Dean Herbert
56fe69852d
Change beatmap database reset logic to only run a maximum of once.
2017-01-23 18:13:06 +09:00
Dean Herbert
ef8347fe53
Reset the beatmap database when it can't be read, rather than hard failing.
2017-01-23 13:02:03 +09:00
柯十六夜
acfbf2e32e
Add prefix Online to BeatmapID and BeatmapSetID
2017-01-09 21:05:01 +08:00
柯十六夜
ef11c3f389
Add default Beatmap ID
2016-12-21 14:47:56 +08:00
柯十六夜
02f6e46105
Add support for v9 beatmaps
2016-12-20 23:56:49 +08:00
Dean Herbert
f356640cb7
Add missing licence headers.
2016-12-06 19:07:15 +09:00
Dean Herbert
0c841cffdd
Change GetChildren recursive default to false (should be more common).
2016-11-23 15:34:32 +09:00
Dean Herbert
d71550d22a
Don't do a recursive fill by default, we don't need it.
2016-11-22 22:07:28 +09:00
Dean Herbert
2ba365657e
Tidy up some linq.
2016-11-22 17:21:42 +09:00
Dean Herbert
06f4f93918
Move play modes to Modes namespace.
2016-11-14 18:03:20 +09:00
Dean Herbert
0f4538f69f
Rename GameModes namespace to Screens.
2016-11-14 17:23:33 +09:00
Huo Yaoyuan
ef5968e243
More robust metadata handling.
2016-11-07 23:12:49 +08:00
Huo Yaoyuan
c59cad2478
AudioEquals method for BeatmapInfo.
2016-11-07 21:52:23 +08:00
Dean Herbert
a11d534067
Add beatmap backgrounds.
2016-11-05 20:00:14 +09:00
Dean Herbert
8fe63689a4
Fix thread safety issue when accessing files in beatmap (zip) files.
2016-11-05 18:19:01 +09:00
Dean Herbert
b86f308af6
Add async workflow.
2016-11-01 23:24:14 +09:00
Dean Herbert
10ef34b805
Lazy parse beatmap; Don't reload audio track if it hasn't changed.
2016-10-28 20:24:14 +09:00
Dean Herbert
74f1a9622f
Add initial game-wide beatmap flow.
2016-10-28 19:55:48 +09:00
Dean Herbert
feccb7286c
Add the concept of a "WorkingBeatmap" and make player load beatmaps and audio from SongSelect.
2016-10-28 14:14:45 +09:00
Dean Herbert
33ef55df88
Allow BeatmapDatabase to be constructed without a host.
2016-10-27 17:34:50 +09:00
Dean Herbert
f16cc430f8
Stop using memory database. Load sample data local to TestCase.
...
Also makes the connection private.
2016-10-27 17:08:53 +09:00
Drew DeVault
063fdd9a2d
Add test data to db for VisualTests
...
Also fixes the broken IPC condition
2016-10-24 14:57:00 -04:00
Dean Herbert
d3a857edb9
Make importing work properly.
...
Moves import code to BeatmapDatabase.
2016-10-24 11:39:53 -04:00
Dean Herbert
0c9e26e546
Return the populated item when calling GetChildren to write more elegant code.
2016-10-24 11:39:18 -04:00
Dean Herbert
6f80efdb29
Add a database reset method.
2016-10-24 11:39:18 -04:00
Dean Herbert
7650bb1707
Don't insert to database until we're completely finished importing a beatmap.
2016-10-24 11:39:18 -04:00
Dean Herbert
ee6c810df5
Fix cascading inserts.
2016-10-24 11:39:18 -04:00
Drew DeVault
42f8d19c73
Sort by difficulty and fix relationship
2016-10-24 11:39:18 -04:00
Drew DeVault
8d6431b35e
Add star counter to difficulty select
2016-10-24 11:39:18 -04:00
Drew DeVault
6da092ab30
Fix additional bugs, tweak L+F
2016-10-24 11:39:18 -04:00
Drew DeVault
8d4a211419
Fix initialization of BeatmapInfo
2016-10-24 11:39:18 -04:00
Drew DeVault
3ee0bf2b80
Fix cascade insert
2016-10-24 11:39:18 -04:00
Drew DeVault
641855c790
Fix issues with beatmap import file contention
2016-10-24 11:39:18 -04:00
Drew DeVault
c41b3d92c6
Fix up wrt upstream development
2016-10-24 11:39:18 -04:00
Drew DeVault
674f624bfc
Improve song selection layout, database loading
...
Also adds event that notifes the song select when a beatmap is added.
2016-10-24 11:39:11 -04:00
Drew DeVault
a14edc06c8
Pull beatmap list from db and render simple list
2016-10-24 11:39:11 -04:00
Dean Herbert
c81c4cbbcd
Fix missing Metadata initialisation.
2016-10-19 12:28:48 +09:00
Drew DeVault
7bdf1fe1bf
Drop BeatmapSet, only BeatmapSetInfo is necessary
2016-10-18 15:48:24 -04:00
Drew DeVault
768dd38fa0
s/AddBeatmap/ImportBeatmap/g
2016-10-18 15:42:07 -04:00
Drew DeVault
105bba6178
Rework duplicate detection in AddBeatmap
2016-10-18 15:41:46 -04:00
Drew DeVault
ad14462369
Add lifecycle management to BeatmapDatabase
2016-10-18 15:38:59 -04:00
Drew DeVault
449f04c07b
Refactor the database code
2016-10-18 13:38:27 -04:00
John Leuenhagen
fedfb8a22a
Converted all .cs files to use CRLF line endings.
2016-10-13 23:33:58 -04:00
Drew DeVault
25d08c8e2c
Improve beatmap loading and hydration
2016-10-13 10:29:30 -04:00
Drew DeVault
fd10e6e582
Copy imported beatmaps into beatmap storage
2016-10-13 10:15:08 -04:00
Drew DeVault
880399f5a5
Fix casing on private properties
2016-10-13 12:17:52 +09:00
Drew DeVault
0267eb7649
Fixup
2016-10-13 12:17:13 +09:00
Drew DeVault
c9a057b510
Update AddBeatmap accordingly
2016-10-12 11:32:40 -04:00
Drew DeVault
e9a45de51f
Refactor database to reuse existing types
2016-10-12 11:32:40 -04:00
Drew DeVault
bc69aa1455
Initial support code for beatmap loading
2016-10-12 11:32:40 -04:00
Drew DeVault
768c3bc31e
Use PlayMode instead of GameMode
2016-10-12 11:32:40 -04:00
Drew DeVault
e8de245032
Use @strings
2016-10-12 11:32:40 -04:00
Drew DeVault
f6b6446a9c
MetadataID -> BeatmapMetadataID
2016-10-12 11:32:27 -04:00
Drew DeVault
72c4a26aea
Move control of databases into osu-framework
2016-10-12 11:32:27 -04:00
Drew DeVault
2d810f72fa
Add initial DB schema and support code
2016-10-12 11:32:07 -04:00