Commit Graph

1604 Commits

Author SHA1 Message Date
04ac414249 Fix memory leaks due to audio track recycle order 2019-10-01 13:49:09 +09:00
45f2bcc440 Fix combo bindings not being bound to nested hitobjects 2019-09-26 17:39:19 +09:00
a06cb54732 Merge branch 'master' into beatmap-parsing-fallback-v2 2019-09-20 15:28:08 +09:00
cffee1fd5e Fix imported beatmap paths not correctly matching files 2019-09-19 20:02:45 +09:00
92556db9cd Add query-based filter modes to song select search field 2019-09-19 02:48:28 +09:00
dd9f620c23 Fix misleading xmldoc 2019-09-15 01:28:07 +02:00
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
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
65aa7b2016 Recreate beatmap video on each consumption
Should not be shared over multiple usages
2019-09-14 00:07:06 +09:00
437e121056 Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-video 2019-09-13 13:39:58 +03:00
b80a8296cd Fix unavailable rulesets crashing at song select 2019-09-04 20:28:52 +09:00
043034a6ce Merge remote-tracking branch 'upstream/master' into beatmapset-genre-language 2019-09-02 13:45:25 +09:00
94512fea8e Apply naming suggestions 2019-08-31 16:20:33 +03:00
6e5cb8a318 implement video parsing 2019-08-30 23:19:34 +03:00
84e4748268 Remove duplicate getAnimation function and improve namespacing 2019-08-30 12:59:58 +09:00
dc1046bf0c Merge remote-tracking branch 'upstream/master' into add-ruleset-legacy-skin 2019-08-30 12:53:05 +09:00
ae0a5504d7 Revert unnecessary change 2019-08-29 19:43:33 +09:00
6ab2b20c70 Add an interface for working beatmaps 2019-08-29 19:38:44 +09:00
68ee7346b2 Remove usings 2019-08-29 12:49:44 +03:00
d303083179 Update to match api 2019-08-29 12:29:31 +03:00
98626018fd Encapsulate editor hitobject additions/removals (#5878)
Encapsulate editor hitobject additions/removals
2019-08-29 18:20:24 +09:00
3347ee8170 Merge branch 'master' into beatmapset-genre-language 2019-08-29 09:57:53 +03:00
c6e757fdae Remove redundant qualifier 2019-08-28 22:11:23 +09:00
f6ad95018a Centralise default beat length specification 2019-08-28 20:22:16 +09:00
348d88846d Add IBeatmap<T> interface for typed hitobject retrieval 2019-08-28 20:19:22 +09:00
01aede3e29 Add comprehensive skin fallback integration testing 2019-08-28 19:57:17 +09:00
66223b9954 Merge branch 'master' into allow-fallback-to-samples-without-bank 2019-08-27 14:44:16 +09:00
289bd8e6b0 Don't return DefaultSkin on beatmap skin parsing failure 2019-08-26 14:25:35 +09:00
1d34124667 Revert all DifficultyIcon changes 2019-08-25 11:56:07 +09:00
a19a9b90ed Simplify group filter display 2019-08-25 11:39:26 +09:00
af4adb6339 Add xmldoc 2019-08-24 09:43:55 +03:00
f6feef6b56 Remove redundant using directive 2019-08-24 00:33:14 +03:00
83b6e0f30c Implement grouped difficulty icon 2019-08-23 23:36:23 +03:00
d4236c574f Allow difficulty icon to be updateable 2019-08-23 23:30:54 +03:00
f639df849f Allow for difficulty icon to contain content 2019-08-23 23:11:36 +03:00
7b04fb1690 StoryboardSample -> StoryboardSampleInfo 2019-08-23 14:54:39 +03:00
48716f8f2b Update framework 2019-08-21 13:29:50 +09:00
7143497441 Match up tooltip background color with OsuTooltipContainer 2019-08-19 10:32:01 +07:00
ecc04baf14 Merge branch 'refactor-difficulty-colours' into difficulty-icon-tooltip 2019-08-17 15:35:28 +09:00
87dc6499fa Fix json decoding being a bit too eager to consume 2019-08-17 15:34:02 +09:00
097763bb1c Add auto size duration 2019-08-17 15:29:39 +09:00
50046d5f69 Use new tooltip style 2019-08-17 15:20:27 +09:00
3dc81bdad5 Merge branch 'refactor-difficulty-colours' into difficulty-icon-tooltip 2019-08-17 15:19:46 +09:00
4fa9abeece Replace DifficultyColouredContainer with a more scalable solution 2019-08-17 15:16:24 +09:00
f355cff8bc Apply reviews 2019-08-15 12:11:54 +09:00
7e74953784 Merge remote-tracking branch 'upstream/master' into difficulty-icon-tooltip 2019-08-15 11:54:59 +09:00
ff4b271f64 Add extra quotations around output 2019-08-12 01:42:05 +09:00
ce62f6b56e ToString should never return null 2019-08-12 01:40:11 +09:00
cc4ee2df05 add ToString() override to Beatmap class 2019-08-11 16:41:56 +02:00
dbb3b583cf Log error for invalid beatmap/storyboard events instead of thro… (#5611)
Log error for invalid beatmap/storyboard events instead of throwing

Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2019-08-09 12:56:47 +09:00