mirror of
https://github.com/ppy/osu.git
synced 2024-11-11 10:33:30 +08: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. |
||
---|---|---|
.. | ||
Audio | ||
Beatmaps | ||
Configuration | ||
Database | ||
Graphics | ||
Input | ||
IO | ||
IPC | ||
Migrations | ||
Online | ||
Overlays | ||
Properties | ||
Replays | ||
Rulesets | ||
Scoring | ||
Screens | ||
Skinning | ||
Storyboards | ||
Tests | ||
Users | ||
Utils | ||
osu!.res | ||
osu.Game.csproj | ||
OsuGame.cs | ||
OsuGameBase.cs |