e09bbf0315
Implement background/video/break encoding
2019-12-12 18:47:28 +09:00
d1dc3456d1
Fix incorrect repeat point count
2019-12-12 18:42:48 +09:00
c3475a2dde
Write control points in absolute coordinates
2019-12-12 18:41:13 +09:00
8f03599a62
Write default sampleset by name
2019-12-12 18:40:33 +09:00
a9125f6544
Merge remote-tracking branch 'upstream/master' into fallback-to-skin-combo-colours
2019-12-12 12:37:51 +03:00
be000e13e4
Implement initial legacy beatmap encoding support
2019-12-12 18:34:40 +09:00
b86a3dbfab
PathStandardise -> ToStandardisedPath
2019-12-11 16:06:56 +08:00
6b3c7c8421
Remove usages of FileSafety class.
2019-12-11 16:05:35 +08:00
c378e525da
Extract the rest of legacy enums
2019-12-10 20:23:15 +09:00
3c18872a16
Extract legacy effect flags enum
2019-12-10 20:19:31 +09:00
1e24ee7956
Remove ClearComboColours()
2019-11-24 02:07:56 +03:00
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
758c304d92
Merge branch 'master' into fallback-to-skin-combo-colours
2019-11-12 19:00:05 +09: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
cee16e9419
Merge remote-tracking branch 'refs/remotes/upstream/master' into fallback-to-skin-combo-colours
2019-11-07 19:11:29 +03:00
808543885f
Change ComboColours type to IReadOnlyList<Color4>
...
Also exposes functions to modify the internal list (AddComboColours, ClearComboColours)
2019-11-07 15:54:30 +03: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
5e3f0f6c95
Return default combo colours if none provided
2019-10-09 21:08:07 +03: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