Bartłomiej Dach
dd9f620c23
Fix misleading xmldoc
2019-09-15 01:28:07 +02: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
Dean Herbert
65aa7b2016
Recreate beatmap video on each consumption
...
Should not be shared over multiple usages
2019-09-14 00:07:06 +09:00
Andrei Zavatski
437e121056
Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-video
2019-09-13 13:39:58 +03:00
Dean Herbert
b80a8296cd
Fix unavailable rulesets crashing at song select
2019-09-04 20:28:52 +09:00
Dean Herbert
043034a6ce
Merge remote-tracking branch 'upstream/master' into beatmapset-genre-language
2019-09-02 13:45:25 +09:00
Andrei Zavatski
94512fea8e
Apply naming suggestions
2019-08-31 16:20:33 +03:00
Andrei Zavatski
6e5cb8a318
implement video parsing
2019-08-30 23:19:34 +03:00
Dean Herbert
84e4748268
Remove duplicate getAnimation function and improve namespacing
2019-08-30 12:59:58 +09:00
Dean Herbert
dc1046bf0c
Merge remote-tracking branch 'upstream/master' into add-ruleset-legacy-skin
2019-08-30 12:53:05 +09:00
smoogipoo
ae0a5504d7
Revert unnecessary change
2019-08-29 19:43:33 +09:00
smoogipoo
6ab2b20c70
Add an interface for working beatmaps
2019-08-29 19:38:44 +09:00
StanR
68ee7346b2
Remove usings
2019-08-29 12:49:44 +03:00
StanR
d303083179
Update to match api
2019-08-29 12:29:31 +03:00
Dean Herbert
98626018fd
Encapsulate editor hitobject additions/removals ( #5878 )
...
Encapsulate editor hitobject additions/removals
2019-08-29 18:20:24 +09:00
StanR
3347ee8170
Merge branch 'master' into beatmapset-genre-language
2019-08-29 09:57:53 +03:00
Dean Herbert
c6e757fdae
Remove redundant qualifier
2019-08-28 22:11:23 +09:00
Dean Herbert
f6ad95018a
Centralise default beat length specification
2019-08-28 20:22:16 +09:00
smoogipoo
348d88846d
Add IBeatmap<T> interface for typed hitobject retrieval
2019-08-28 20:19:22 +09:00
Dean Herbert
01aede3e29
Add comprehensive skin fallback integration testing
2019-08-28 19:57:17 +09:00
Dean Herbert
66223b9954
Merge branch 'master' into allow-fallback-to-samples-without-bank
2019-08-27 14:44:16 +09:00
Dean Herbert
289bd8e6b0
Don't return DefaultSkin on beatmap skin parsing failure
2019-08-26 14:25:35 +09:00
Dean Herbert
1d34124667
Revert all DifficultyIcon changes
2019-08-25 11:56:07 +09:00
Dean Herbert
a19a9b90ed
Simplify group filter display
2019-08-25 11:39:26 +09:00
iiSaLMaN
af4adb6339
Add xmldoc
2019-08-24 09:43:55 +03:00
iiSaLMaN
f6feef6b56
Remove redundant using directive
2019-08-24 00:33:14 +03:00
iiSaLMaN
83b6e0f30c
Implement grouped difficulty icon
2019-08-23 23:36:23 +03:00
iiSaLMaN
d4236c574f
Allow difficulty icon to be updateable
2019-08-23 23:30:54 +03:00
iiSaLMaN
f639df849f
Allow for difficulty icon to contain content
2019-08-23 23:11:36 +03:00
iiSaLMaN
7b04fb1690
StoryboardSample -> StoryboardSampleInfo
2019-08-23 14:54:39 +03:00
Dean Herbert
48716f8f2b
Update framework
2019-08-21 13:29:50 +09:00
Ganendra Afrasya
7143497441
Match up tooltip background color with OsuTooltipContainer
2019-08-19 10:32:01 +07:00
Dean Herbert
ecc04baf14
Merge branch 'refactor-difficulty-colours' into difficulty-icon-tooltip
2019-08-17 15:35:28 +09:00
Dean Herbert
87dc6499fa
Fix json decoding being a bit too eager to consume
2019-08-17 15:34:02 +09:00
Dean Herbert
097763bb1c
Add auto size duration
2019-08-17 15:29:39 +09:00
Dean Herbert
50046d5f69
Use new tooltip style
2019-08-17 15:20:27 +09:00
Dean Herbert
3dc81bdad5
Merge branch 'refactor-difficulty-colours' into difficulty-icon-tooltip
2019-08-17 15:19:46 +09:00
Dean Herbert
4fa9abeece
Replace DifficultyColouredContainer with a more scalable solution
2019-08-17 15:16:24 +09:00
Dean Herbert
f355cff8bc
Apply reviews
2019-08-15 12:11:54 +09:00
Dean Herbert
7e74953784
Merge remote-tracking branch 'upstream/master' into difficulty-icon-tooltip
2019-08-15 11:54:59 +09:00
Dean Herbert
ff4b271f64
Add extra quotations around output
2019-08-12 01:42:05 +09:00
Dean Herbert
ce62f6b56e
ToString should never return null
2019-08-12 01:40:11 +09:00
Unknown
cc4ee2df05
add ToString() override to Beatmap class
2019-08-11 16:41:56 +02:00
Dean Herbert
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
Dean Herbert
7e9c100c9b
Apply new resharper refactors
2019-08-09 12:29:33 +09:00
smoogipoo
ac2060f1cf
Throw exceptions and let LegacyDecoder handle them
2019-08-08 14:44:04 +09:00
Dan Balasescu
54ee0cabd8
Merge branch 'master' into beatmap-events
2019-08-08 14:25:41 +09:00
Dean Herbert
a2e3ab6463
Merge branch 'master' into add-bindable-for-break-times
2019-08-08 10:13:14 +09:00
iiSaLMaN
ba269a49ee
Expose break fade duration and add it in the calculation
2019-08-07 16:59:35 +03:00