1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-21 12:33:03 +08:00
Commit Graph

483 Commits

Author SHA1 Message Date
Dean Herbert
a06cb54732
Merge branch 'master' into beatmap-parsing-fallback-v2 2019-09-20 15:28:08 +09:00
Dean Herbert
f306fe27d8 Add test to cover corruption case 2019-09-20 15:05:48 +09:00
Dean Herbert
ddff9882cf Fix importing archives which are nested in a single folder within a zip 2019-09-19 19:11:04 +09:00
Bartłomiej Dach
86588778b1 Implement fallback decoder registration
After the preparatory introduction of LineBufferedReader, it is now
possible to introduce registration of fallback decoders that won't drop
input supplied in the first line of the file.

A fallback decoder is used when the magic in the first line of the file
does not match any of the other known decoders. In such a case,
the fallback decoder is constructed and provided a LineBufferedReader
instance. The process of matching magic only peeks the first non-empty
line, so it is available for re-reading in Decode() using ReadLine().

There can be only one fallback decoder per type; a second attempt of
registering a fallback will result in an exception to avoid bugs.

To address the issue of parsing failing on badly or non-headered files,
set the legacy decoders for Beatmaps and Storyboards as the fallbacks.

Due to non-trivial logic, several new, passing unit tests with possible
edge cases also included.
2019-09-15 01:28:07 +02:00
Bartłomiej Dach
11eda44d34 Migrate decoding to line-buffered reader
Migrate all usages of StreamReader in the context of decoding beatmaps,
storyboards or skins to the new LineBufferedReader.
2019-09-15 01:28:07 +02:00
Bartłomiej Dach
7b1ff38df7 Implement line-buffered reader
Add a line-buffered reader decorator operating on StreamReader
instances. The decorator has two main operations - PeekLine(), which
allows to see the next line in the stream without consuming it,
ReadLine(), which consumes and returns the next line in the stream, and
ReadToEnd() which reads all the remaining text in the stream (including
the unconsumed peeked line). Peeking line-per-line uses an internal
queue of lines that have been read ahead from the underlying stream.

The addition of the line-buffered reader is a workaround solution to
a problem with decoding. At current selecting a decoder works by
irreversibly reading the first line from the stream and looking for
a magic string that indicates the type of decoder to use.

It might however be possible for a file to be valid in format, just
missing a header. In such a case a lack of a line-buffered reader makes
it impossible to reparse the content of that first line. Introducing it
will however allow to peek the first line for magic first.

 - If magic is found in the first line, GetDecoder() will peek it and
   use it to return the correct Decoder instance. Note that in the case
   of JsonBeatmapDecoder the magic is the opening JSON object brace,
   and therefore must not be consumed.

 - If magic is not found, the fallback decoder will be able to consume
   it using ReadLine() in Decode().

This commit additionally contains basic unit tests for the reader.

Suggested-by: Aergwyn <aergwyn@t-online.de>
2019-09-15 01:26:15 +02:00
Dean Herbert
f925e781a9 Refactor HitWindows for legibility 2019-09-06 15:24:14 +09:00
iiSaLMaN
94b5caf740 Fix build issues 2019-08-23 15:18:56 +03:00
David Zhao
15a592e25e Just assert doesn't throw and don't catch at LegacyDecoder 2019-08-07 19:25:40 +09:00
David Zhao
497d2cb677 shorten tests and rename 2019-08-06 12:35:18 +09:00
David Zhao
2c32d886d7 Add better asserts 2019-08-06 10:39:54 +09:00
David Zhao
b8c38d4dfd remove unnecessary assert 2019-08-06 10:36:26 +09:00
David Zhao
a5c17ae26d Don't use GetDecoder 2019-08-06 10:14:36 +09:00
David Zhao
cd6fe91882 Log error for invalid events 2019-08-06 10:05:21 +09:00
smoogipoo
f2b940f930 Add tests 2019-08-01 17:31:37 +09:00
Dean Herbert
60ea3d4e1a Fix skinning support for combobreak 2019-06-30 21:58:30 +09:00
Dean Herbert
9e1cb90dd8 Remove existing argument for ItemAdded event
For all usages, it looks like this was unnecessary.
2019-06-26 11:40:41 +09:00
Dean Herbert
12aa264657 Consolidate tests and check for file reference counts 2019-06-10 18:35:23 +09:00
Dean Herbert
28b2a516e3 Ensure exception is only thrown once on rollback 2019-06-10 18:13:33 +09:00
Dean Herbert
dcdb806120 Catch newly thrown exception in test 2019-06-10 17:26:56 +09:00
Dean Herbert
5b75060b94 Add test for rollback logic correctly dereferencing files 2019-06-10 16:45:45 +09:00
smoogipoo
f090e292c9 Move ArchiveModelManager import process to async flow 2019-06-10 13:42:22 +09:00
Dean Herbert
58efa7a177
Merge pull request #4729 from peppy/fix-control-point-ordering
Fix control points with same timestamp potentially being parsed incorrectly
2019-05-21 15:33:27 +09:00
smoogipoo
7e38aabe75 Remove equivalence check from controlpoint parsing 2019-05-21 14:27:41 +09:00
smoogipoo
e3ae858c87 Adjust testcase to avoid potential rounding issues 2019-05-21 14:01:41 +09:00
smoogipoo
f1c9073338 Fix commented line check not working with whitespace 2019-05-14 16:16:55 +09:00
smoogipoo
19bc6b72cc More tests to showcase failures 2019-05-14 10:13:42 +09:00
smoogipoo
7aa10956b5 Add unit test 2019-05-14 09:46:42 +09:00
smoogipoo
d7c09e7dbd Merge remote-tracking branch 'origin/master' into fix-new-inspections
# Conflicts:
#	osu.Game.Rulesets.Catch/Judgements/CatchDropletJudgement.cs
#	osu.Game.Rulesets.Catch/Judgements/CatchJudgement.cs
#	osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
#	osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs
#	osu.Game.Rulesets.Osu/UI/Cursor/CursorTrail.cs
#	osu.Game.Tests/Visual/SongSelect/TestCaseBeatmapScoresContainer.cs
#	osu.Game/Graphics/OsuFont.cs
#	osu.Game/Online/API/Requests/Responses/APILegacyScoreInfo.cs
#	osu.Game/Overlays/Profile/Header/BadgeContainer.cs
#	osu.Game/Overlays/Profile/ProfileHeader.cs
#	osu.Game/Screens/Select/PlaySongSelect.cs
#	osu.Game/Skinning/LegacySkinDecoder.cs
2019-05-07 13:20:17 +09:00
smoogipoo
0222424aef Make mods IReadOnlyList<Mod> gamewide
Prevents potential multiple evaluations of enumerable.
2019-04-10 17:20:36 +09:00
smoogipoo
c584967eb1 Remove mods from workingbeatmap 2019-04-09 12:59:32 +09:00
Dean Herbert
c39c37a18d Apply more missed cases 2019-04-01 12:44:46 +09:00
Dean Herbert
4c77899738 Add storyboard ordering test 2019-03-26 16:37:52 +09:00
Dean Herbert
461a0a5038
Merge branch 'master' into remove-unnecessary-code 2019-03-20 10:22:24 +09:00
Dean Herbert
0241148385 Add extensive tests 2019-03-13 11:30:38 +09:00
smoogipoo
00191ca940 Actually set the beatmap difficulty 2019-03-12 15:24:35 +09:00
smoogipoo
059397ac50 Remove unnecessary early return for maching beatmap IDs 2019-03-12 14:40:13 +09:00
Dean Herbert
d0ae75af6e Add tests and fix scenario where all matching are contained by duplicate candidate 2019-03-11 18:13:33 +09:00
Dean Herbert
cfac47413c Disable failing tests temporarily 2019-03-08 10:42:25 +09:00
smoogipoo
a08086cc8a Fix volume not being considered for file samples 2019-03-05 18:21:29 +09:00
Dean Herbert
80737b9ef8 Remove "silent" parameter; consolidate import logic 2019-02-25 18:24:06 +09:00
Dean Herbert
628b3e1119 Move osu-resources to nuget 2019-01-28 18:33:39 +09:00
Dean Herbert
8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
Unknown
6eff79913b remove blank lines 2019-01-11 10:34:56 +01:00
Dean Herbert
c45c34d400 Make beatmap importing possible elsewhere in tests 2018-12-25 19:17:21 +09:00
smoogipoo
eb88768bd0 Fix incorrect controlpoint being applied to samples 2018-12-03 17:21:27 +09:00
smoogipoo
a8ad7d4670 Add silent import parameter 2018-11-30 18:27:13 +09:00
Dean Herbert
10095d09c3 Fix test namespace 2018-11-30 17:02:01 +09:00
Dean Herbert
3727955911 Refactors/renames 2018-11-30 16:35:45 +09:00
Dean Herbert
831cd3ed59 ScoreInfo scoreInfo -> ScoreInfo score 2018-11-30 15:18:52 +09:00
smoogipoo
2bedffc00f Add tests 2018-11-30 14:27:34 +09:00
smoogipoo
a88b69ec43 Notify of existing imports 2018-11-28 20:19:35 +09:00
smoogipoo
f27bd3ef3e OpenTK -> osuTK 2018-11-20 17:14:59 +09:00
smoogipoo
ace1dce281 Merge remote-tracking branch 'origin/master' into fix-slider-samples
# Conflicts:
#	osu.Game.Tests/Beatmaps/Formats/LegacyBeatmapDecoderTest.cs
2018-11-05 18:10:22 +09:00
smoogipoo
92d570342c Fix sample additions not falling back to non-addition bank 2018-11-05 17:35:24 +09:00
smoogipoo
a4caaf56ef Merge remote-tracking branch 'origin/master' into fix-slider-samples
# Conflicts:
#	osu.Game.Tests/Beatmaps/Formats/LegacyBeatmapDecoderTest.cs
#	osu.Game/Rulesets/Objects/Legacy/Catch/ConvertHitObjectParser.cs
#	osu.Game/Rulesets/Objects/Legacy/ConvertHitObjectParser.cs
#	osu.Game/Rulesets/Objects/Legacy/Mania/ConvertHitObjectParser.cs
#	osu.Game/Rulesets/Objects/Legacy/Osu/ConvertHitObjectParser.cs
#	osu.Game/Rulesets/Objects/Legacy/Taiko/ConvertHitObjectParser.cs
2018-11-05 16:38:28 +09:00
smoogipoo
8a2a6a3ecb Preserve the beatmap's version 2018-10-23 14:59:21 +09:00
smoogipoo
47be95ce0b Fix slider nodes using the wrong samples 2018-10-16 17:10:24 +09:00
smoogipoo
cb1703c6e2 Fix colours with alpha components not being parsed 2018-10-05 11:19:01 +09:00
smoogipoo
557a2ee39d Add more comprehensive tests 2018-08-17 10:04:00 +09:00
smoogipoo
05b5144dac Add parsing test 2018-08-15 13:36:22 +09:00
smoogipoo
e360985d73 Replace variables into the entire line 2018-08-14 18:15:09 +09:00
smoogipoo
c087a73f40 Implement per-hitobject custom sample banks 2018-07-20 15:12:44 +09:00
smoogipoo
967d0c3c72 Adjust testcase 2018-07-20 15:12:04 +09:00
smoogipoo
65d351c31a Fix failing test cases 2018-07-10 16:26:04 +09:00
smoogipoo
c1b8799253 Add simple testcase 2018-07-02 14:40:43 +09:00
smoogipoo
c78bfbfa55 Fix failing json conversion testcases 2018-07-02 13:34:19 +09:00
smoogipoo
9fd9af22f0 Remove unused using 2018-06-28 18:40:12 +09:00
smoogipoo
94f1b2eeb8 Only custom sample banks > 1 modify the filename 2018-06-28 18:29:17 +09:00
smoogipoo
3a9a82c80c Add back legacy custom sample banks 2018-06-28 18:29:12 +09:00
smoogipoo
6c100caba7 Use existing instance of beatmap rather than adding more resources 2018-06-17 19:00:58 +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
smoogipoo
3745f9000b Merge remote-tracking branch 'origin/master' into remove-decoder-offset 2018-06-07 13:37:19 +09:00
ekrctb
aeeb03ff9c simpler temporary path generation 2018-06-06 18:36:43 +09:00
ekrctb
b84441ab87 Fix TestImportOverIPC 2018-06-04 22:25:18 +09:00
Dean Herbert
203691b1c7 Add import rollback test 2018-05-29 16:23:38 +09:00
Dean Herbert
cc081cad5a Simplify test osz instantiation 2018-05-29 16:23:38 +09:00
Dean Herbert
015fd9d0e7 Fix loading test method returning oldest import rather than newest 2018-05-29 16:23:38 +09:00
smoogipoo
b267ec3178 Fix failing test 2018-05-28 03:48:09 +09:00
smoogipoo
3e7fa45ad1 Fix tests 2018-05-11 16:13:00 +09:00
smoogipoo
1aefd71b65 Merge remote-tracking branch 'origin/master' into i-beatmap 2018-05-07 09:58:53 +09:00
Dean Herbert
de424648d2 Update to .NET 4.7.1
Resolves #2368.
2018-04-20 14:46:52 +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
smoogipoo
c21e820a45 One more level of nesting (we can do this better in the future) 2018-03-25 02:43:45 +09:00
Dean Herbert
9a0fc9e29a Move combo colours completely out of beatmap 2018-03-20 16:24:06 +09:00
Dean Herbert
e43de68ad3 Move colour parsing to LegacyDecoder 2018-03-13 19:13:50 +09:00
Dean Herbert
217dd2ecdc Initial push for better decoders 2018-03-09 21:24:15 +09:00
Dean Herbert
7b18e8a5ca Merge branch 'master' into fix-taiko-conversion 2018-03-06 01:16:47 +09:00
smoogipoo
a6b6c016d6 Fix beatmap decoder tests 2018-03-05 16:14:36 +09:00
Dean Herbert
e46f363fdc Fix failing unit test 2018-03-04 22:46:50 +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
e0d28564d0 Move import logic to shared implementation 2018-02-15 14:22:39 +09:00
Dean Herbert
9ed05543d7 Fix post-test conditionals from being inverse of what we want to test 2018-02-12 15:39:00 +09:00
Dean Herbert
264a0f59e2 Fix duplicate test name 2018-02-12 12:22:13 +09:00
Dean Herbert
721bb7e4dd Add proper handling for OnlineBeatmapSetID conflicts
Not yet working
2018-02-09 21:31:33 +09:00
Dean Herbert
541068235d Test import twice in a row 2018-02-09 18:23:06 +09:00
Dean Herbert
623ba652ed Share more code between tests 2018-02-09 18:20:18 +09:00
Dean Herbert
981fa379b7 Count() -> Count 2018-02-09 18:02:28 +09:00
Dean Herbert
a771ca4077 Add try-finally to ensure host is exited 2018-02-09 18:02:06 +09:00
Dean Herbert
8140ffea15 Add test for deleting then reimporting 2018-02-09 17:59:27 +09:00
Dean Herbert
a166932468 Add deletion test 2018-02-09 17:51:29 +09:00
Dean Herbert
d8da68c55f Disable test again (accidentally re-enabled) 2018-02-08 17:22:23 +09:00
Dean Herbert
789e25069f Fix non-visual tests not cleaning up previous executions 2018-02-08 17:07:59 +09:00
smoogipoo
4f5bfdb888 Remove explicit .Exit on IPC test 2018-02-08 14:03:37 +09:00
smoogipoo
74016a1482 Make sure the import tests exit their hosts 2018-02-07 15:57:16 +09:00
james58899
fa800f0977
fix storyboard path 2018-01-23 18:18:54 +08:00
TocoToucan
3c11978cfa Use local functions 2018-01-15 21:42:17 +03:00
Dean Herbert
37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
smoogipoo
823a430d30 Nothing to see here, move along 2018-01-03 22:02:54 +09:00
smoogipoo
da5bc959ad Fix testcase 2018-01-03 21:46:39 +09:00
Dean Herbert
5026c7a95e SoundControlPoint -> SampleControlPoint 2017-12-23 16:34:34 +09:00
smoogipoo
a3fcc0b60c Back to using SortedLists 2017-12-21 19:40:41 +09:00
smoogipoo
e8e5e8270b Rename decoder 2017-12-21 14:19:37 +09:00
smoogipoo
bfa4f1a2c3 Apply changes in line with master changes 2017-12-21 13:59:03 +09:00
smoogipoo
c99ea32574 Merge branch 'master' into beatmap-serialization 2017-12-21 13:39:39 +09:00
smoogipoo
b0684cb194 Add storyboard test case but disable for now 2017-12-07 12:02:34 +09:00
smoogipoo
499ecb4edd Add parity checking OsuJsonDecoder test cases 2017-12-07 11:11:38 +09:00
smoogipoo
b584178e85 Make Beatmap ISerializable and add more JsonIgnores 2017-12-06 00:37:37 +09: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
2bbfe0dda1 expanded BeatmapDecoder tests, added StoryboardDecoder tests 2017-12-02 15:28:00 +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
806c0e3b26 restructured OsuLegacyDecoder into LegacyDecoder
Beatmap works, Storyboard not...
2017-12-01 17:43:33 +01:00
Aergwyn
c16925059c split parsing a beatmap and parsing a storyboard 2017-11-30 19:16:13 +01:00
Dean Herbert
0316ec3098 Remove no-longer-necessary Thread.Sleep 2017-10-24 10:08:00 +09:00
Dean Herbert
c704c0349a Disable IPC test for now 2017-10-24 06:50:33 +09:00
Dean Herbert
7dadb7e21e Mark IPC non-parallelizable 2017-10-24 06:13:39 +09:00
Dean Herbert
aff30db89d Add thread sleep as a temporary workaround for failing tests 2017-10-22 16:21:41 +09:00
Dean Herbert
5d5ea5fb2e Fix all remaining db structure issues 2017-10-19 14:05:11 +09:00
Dean Herbert
71d614b813 FIx missing columns yet again 2017-10-18 21:57:54 +09:00
Dean Herbert
00be98dba7 Query test assert conditions less often 2017-10-18 20:37:53 +09:00
Dean Herbert
799f510217 FileStore logic fixes 2017-10-17 10:25:18 +09:00
Dean Herbert
d73c0c0c98 Fix test regression 2017-10-16 13:09:01 +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
smoogipoo
9924f518b7 Merge remote-tracking branch 'origin/master' into UselessToucan/EfCore
# Conflicts:
#	osu-framework
#	osu.Game/Beatmaps/BeatmapMetadata.cs
#	osu.Game/osu.Game.csproj
#	osu.Game/packages.config
2017-10-14 16:36:37 +09:00
smoogipoo
b178be21d1 Let's not rename columns yet 2017-10-14 14:30:58 +09:00
smoogipoo
674ad4a30c Fix compile errors 2017-10-14 12:49:03 +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
ed152c08ac Fix regressions 2017-10-14 12:27:32 +09:00
Dean Herbert
bf6ab77b0e Always use live queries to ensure waiting asserts actually get dynamic data 2017-10-11 13:37:24 +09:00
Dean Herbert
b6cfc49b06 Improve resilience of beatmap import test
Fixes this happening https://ci.appveyor.com/project/peppy/osu/build/master-4694/tests
2017-10-11 12:41:43 +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
990ef3ca56 Make import tests more resilient to race condition failures
Also centralises wait-or-assert logic.
2017-09-27 14:51:01 +08:00
Dean Herbert
bbc990a6fd Assign a name to individual import tests to avoid file contention 2017-09-27 11:26:56 +08:00
Dean Herbert
1e6c480791 Add back missing tests 2017-09-25 11:58:37 +08:00
Dean Herbert
393aa12eec Remove old files 2017-09-19 16:06:59 +09:00
Dean Herbert
e777ccc339 Avoid threading conflicts when resetting the database in unit tests 2017-08-23 14:42:46 +09:00
Dean Herbert
5f53426a9a *Database -> *Store
Welcome back BeatmapManager
2017-07-27 16:56:41 +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
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
Thomas Müller
96675965d8 Fix broken test case 2017-07-22 12:16:46 +02:00
Dean Herbert
55d999e4a1 Fix comment 2017-07-11 10:45:43 +09:00
Dean Herbert
e9b397f06f Remove assert which is not always true on some operating systems 2017-07-11 10:41:18 +09:00
Thomas Müller
4134f84559 Increase test timeout to 1 minute 2017-07-10 12:54:11 +03:00
John Neijzen
d9a9616125 EOF remove blank spaces 2017-06-08 14:56:03 +08:00
Dean Herbert
0f59645e17 Increase timeout in TestImportOverIPC
Has been failing CI randomly, so let's increase the timeout a bit.
2017-05-31 15:51:52 +09:00
Dean Herbert
a2f6d8a3e6 Fix broken test cases, remove some recursive lookup methods. 2017-05-11 19:38:28 +09:00
Huo Yaoyuan
f37c857af8 CI fixes. 2017-05-06 16:06:38 +08:00
Huo Yaoyuan
767cfaaac3 Access database recursively. 2017-05-06 15:37:53 +08:00
Dean Herbert
d06b3c898f Update framework with new DI changes. 2017-05-02 15:32:47 +09:00
Dean Herbert
fbd26a1d5e
Mode -> Ruleset. 2017-04-18 16:05:58 +09:00
smoogipooo
1be1683a4f Merge remote-tracking branch 'smoogipooo/remove-playmode' into better-conversion 2017-04-18 09:58:39 +09:00
Dean Herbert
4393c2cb25
Add unit tests to ensure all rulesets' beatmaps are added successfully. 2017-04-18 09:46:14 +09:00
smoogipooo
786446354e Fix post-rebase errors. 2017-04-18 09:00:53 +09:00
smoogipooo
09208adf81 Re-implement legacy hit object conversion. 2017-04-18 08:58:21 +09:00
Dean Herbert
4b6ba565f8
Fix forgotten revert. 2017-04-17 20:10:51 +09:00
Dean Herbert
af13f97435
Fix regressions and test cases. 2017-04-17 19:44:03 +09:00
Dean Herbert
a4e2f34ee7
Make a RulesetDatabase. 2017-04-17 17:43:48 +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
Huo Yaoyuan
411988f038 Remove all trailing whitespaces in this repo. 2017-04-06 16:21:18 +08:00
smoogipooo
4cc309e5a7 Make hit sounds into consts. 2017-04-06 12:14:06 +09:00
smoogipooo
2a16eafe8f Fix assertions. 2017-04-06 11:54:05 +09:00
smoogipooo
eb82a4c090 Back to using SampleInfo + fix taiko beatmap conversion. 2017-04-06 11:41:16 +09:00
smoogipooo
d607207b69 Ability to contain multiple sample banks. Get default bank name from control point. 2017-04-05 21:59:07 +09:00
smoogipooo
2d8239a3f7 Re-implement the SampleBank/Sample structure. No parsing support yet. 2017-04-05 21:34:28 +09:00
smoogipooo
4b424263ce Fully parse control points. 2017-04-04 13:13:27 +09:00
smoogipooo
15db37d9e0 Cleanup. 2017-04-03 20:27:25 +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
a61cb078e3
Increase timeout on IPC wait. 2017-03-23 17:32:57 +09:00
smoogipooo
e0a8c3b1e5 Rename BaseDifficulty -> Difficulty / BeatmapDifficulty. 2017-03-16 23:18:02 +09:00
smoogipooo
1f43370886 Fix failing unit test, move legacy hitobjects to Objects/Legacy/. 2017-03-14 18:06:32 +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
1751532a01
Fix a few regressions. 2017-03-07 13:30:36 +09:00
Dean Herbert
0cad5d7d41
Fix most warnings. 2017-03-07 13:05:57 +09:00
Dean Herbert
aa9d85624d
Change IPC to make sense. 2017-03-04 18:51:16 +09:00
Mikal Stodal
866dbf0b1d Added new test
When file is in use, we expect it to presist removal, in other words, fail to delete.
2017-03-02 15:24:12 +01:00
Mikal Stodal
7e72911d3a Update tests 2017-02-28 14:36:11 +01:00
Dean Herbert
686372a7f9
Update with framework structural changes. 2017-02-26 20:54:32 +09:00
Thomas Müller
6a67ffa5b3 Attempt to fix failing beatmap import test case 2017-02-25 08:31:29 +01:00
Dean Herbert
9067907789 Better assertions. 2017-02-25 11:55:30 +09:00
Dean Herbert
fdf5867a1a Add more informative asserts in unit tests. 2017-02-25 11:46:04 +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
Dean Herbert
c5552dfb27
Merge remote-tracking branch 'upstream/master' into remove-usings 2017-02-24 11:29:34 +09:00
Thomas Müller
2689de0c0c Update framework and add "Async" suffix to asynchronous methods 2017-02-23 22:32:10 +01: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
f207da6041
Add/update license headers. 2017-02-14 18:17:35 +09:00
Dean Herbert
11643d2e09
Remove unnecessary methods and local variables. 2017-02-13 18:30:51 +09:00
柯十六夜
acfbf2e32e Add prefix Online to BeatmapID and BeatmapSetID 2017-01-09 21:05:01 +08:00
Dean Herbert
027d71ffd8 Fix unit tests failing. 2016-11-21 12:34:03 +09:00
Dean Herbert
da1f6eeab5 Circle -> HitCircle. 2016-11-16 16:16:45 +09:00
Dean Herbert
d3f810f72f Introduce concept of HitObjectParsers, fix tests and stop using reflection (unreliable due to lazy loading). 2016-11-14 22:03:39 +09:00
Dean Herbert
4590be552f Move play modes to their own projects. 2016-11-14 18:54:24 +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
Drew DeVault
19fd6fe249 Introduce dependency injection 2016-11-10 16:38:25 -05:00
Dean Herbert
cc140c9634 Fix broken tests. 2016-11-05 22:48:32 +09:00
Dean Herbert
a11d534067 Add beatmap backgrounds. 2016-11-05 20:00:14 +09:00
Dean Herbert
7a54fdfffb Fix ImportBeatmapTest. 2016-11-03 16:59:16 +09:00
Dean Herbert
5ce102b36c Fix outdated test attributes. 2016-10-28 16:09:55 +09:00
Drew DeVault
fd867b2eb7 Fix use of obsolete NUnit attribute 2016-10-26 10:37:36 -04:00
Dean Herbert
d3a857edb9 Make importing work properly.
Moves import code to BeatmapDatabase.
2016-10-24 11:39:53 -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
2f8fbee364 Moved test osz file into osu-resources 2016-10-13 12:18:29 +09:00
Drew DeVault
c39179d299 Add test for hit objects 2016-10-13 12:17:40 +09:00
Drew DeVault
7a4501323b Decode beatmap colours 2016-10-13 12:17:35 +09:00
Drew DeVault
c0022f3515 Add more tests for legacy decoder 2016-10-13 12:17:31 +09:00
Drew DeVault
34b24e1399 Use embedded resources for test assets 2016-10-13 12:17:23 +09:00
Drew DeVault
9b4bc3e36d Implement most of the legacy beatmap decoder
Missing timing points, events, and hit object decoders remain to be
written
2016-10-13 12:17:03 +09:00
Drew DeVault
32ab8f97bb Add more decoding (including full BeatmapMetadata) 2016-10-13 12:16:58 +09:00
Drew DeVault
2a3f047895 Start implementing legacy decoder 2016-10-13 12:16:48 +09:00