mirror of
https://github.com/ppy/osu
synced 2025-01-20 21:10:49 +00:00
86588778b1
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. |
||
---|---|---|
.. | ||
ControlPoints | ||
Drawables | ||
Formats | ||
Legacy | ||
Timing | ||
Beatmap.cs | ||
BeatmapConverter.cs | ||
BeatmapDifficulty.cs | ||
BeatmapInfo.cs | ||
BeatmapManager_WorkingBeatmap.cs | ||
BeatmapManager.cs | ||
BeatmapMetadata.cs | ||
BeatmapMetrics.cs | ||
BeatmapOnlineInfo.cs | ||
BeatmapProcessor.cs | ||
BeatmapSetFileInfo.cs | ||
BeatmapSetInfo.cs | ||
BeatmapSetMetrics.cs | ||
BeatmapSetOnlineInfo.cs | ||
BeatmapSetOnlineStatus.cs | ||
BeatmapStatistic.cs | ||
BeatmapStore.cs | ||
BindableBeatmap.cs | ||
DifficultyRating.cs | ||
DummyWorkingBeatmap.cs | ||
IBeatmap.cs | ||
IBeatmapConverter.cs | ||
IBeatmapProcessor.cs | ||
IWorkingBeatmap.cs | ||
WorkingBeatmap.cs |