Commit Graph

269 Commits

Author SHA1 Message Date
374ef6ff83 Merge branch 'master' into sharpen 2019-11-20 17:30:58 +08:00
f05b83d7d4 Use typeparamref. 2019-11-17 20:48:23 +08:00
31cc0d13da Use 'out var'. 2019-11-12 19:55:26 +08:00
e9b8cbb516 Apply other styles. 2019-11-11 20:27:04 +08:00
ccc8aa6fa4 Apply brace style. 2019-11-11 20:13:13 +08:00
cf2d885099 Fix control points being flushed too late 2019-10-30 18:02:18 +09:00
514c9f1eef Merge branch 'master' into bindable-control-points 2019-10-30 16:20:54 +09:00
ced6042b3e Use internal type name 2019-10-30 15:51:09 +09:00
1a4817879e Fix precision changes in legacy control point types 2019-10-28 19:10:39 +09:00
8f87957c70 Make all control point attributes bindable
Properties are left intact for compatibility reasons.
2019-10-28 16:23:43 +09:00
8069674824 Merge remote-tracking branch 'upstream/master' into bindable-control-points 2019-10-28 11:52:04 +09:00
814b520e5e Avoid potential mis-cast in comparison 2019-10-27 11:35:45 +09:00
8baf569f59 Remove necessity of AutoGenerated flag 2019-10-25 19:58:42 +09:00
e987db37ec Add grouping of ControlPoints 2019-10-25 19:52:02 +09:00
e2f2638212 Replace local Equatable implementations with abstract EquivalentTo 2019-10-25 19:44:28 +09:00
7c2c537bc9 Allow fallback decoder overwrite
To fix the runtime crashes in difficulty calculation components, remove
the check for pre-existing fallback registration along with
the exception. The xmldoc for the registration function has been
extended to make users aware of possible consequences of calling it.
2019-10-04 18:20:20 +02:00
ffde389641 Add difficulty calculator beatmap decoder fallback 2019-10-04 13:28:32 +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
6e5cb8a318 implement video parsing 2019-08-30 23:19:34 +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
7b04fb1690 StoryboardSample -> StoryboardSampleInfo 2019-08-23 14:54:39 +03:00
48716f8f2b Update framework 2019-08-21 13:29:50 +09:00
ff4b271f64 Add extra quotations around output 2019-08-12 01:42:05 +09:00
ac2060f1cf Throw exceptions and let LegacyDecoder handle them 2019-08-08 14:44:04 +09:00
bde89adcb7 show exception message 2019-08-07 19:45:29 +09:00
b8ccba02f2 Log to runtime instead 2019-08-07 19:33:54 +09:00
15a592e25e Just assert doesn't throw and don't catch at LegacyDecoder 2019-08-07 19:25:40 +09:00
da15e19912 return on storyboard side 2019-08-07 18:40:58 +09:00
7bcec31ea3 mention that the event was the type 2019-08-07 17:08:41 +09:00
669c2462ec Don't consider the type 2019-08-07 16:25:38 +09:00
66b02c0283 log type as well 2019-08-06 12:27:10 +09:00
cd6fe91882 Log error for invalid events 2019-08-06 10:05:21 +09:00
60ea3d4e1a Fix skinning support for combobreak 2019-06-30 21:58:30 +09:00
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
7a56fe84f2 Remove ControlPoint.EquivalentTo 2019-05-21 14:27:57 +09:00
7e38aabe75 Remove equivalence check from controlpoint parsing 2019-05-21 14:27:41 +09:00
f1c9073338 Fix commented line check not working with whitespace 2019-05-14 16:16:55 +09:00
92f6f4d21a Apply same fix to other methods which were missed 2019-05-13 19:04:12 +09:00
66ebdbbe4c Fix control points with same timestamp potentially being parsed incorrectly 2019-05-08 18:13:07 +09:00
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
0bd35ab7bb Turn on warnings, resolve issues 2019-04-25 17:36:17 +09:00
612db31c38 Apply newline additions 2019-04-01 12:16:32 +09:00
e45c08ad23 Adjust comment 2019-03-29 14:02:19 +09:00
92184adef5 Add stable sorting of storyboard elements 2019-03-26 16:37:52 +09:00
8f00f2290a Log issues 2019-03-13 14:56:41 +09:00
241e336c21 Fix break parsing 2019-03-13 14:22:16 +09:00
f4c505709a Use parsing methods in more places
Limiting scope to beatmap decoding for this pass. Can expand to skin/storyboard in the future.
2019-03-13 13:56:31 +09:00