Commit Graph

145 Commits

Author SHA1 Message Date
Craftplacer
492be0e016 Fix formatting 2020-08-23 15:23:10 +02:00
Craftplacer
e6646b9877 Resolve review comments 2020-08-23 15:08:02 +02:00
Craftplacer
cfd82104db Minor changes and improvements 2020-08-16 01:00:28 +02:00
Craftplacer
434354c44c Properly implement SkinConfiguration equality 2020-08-16 00:21:26 +02:00
Craftplacer
3a6e378a08 Change skin testing 2020-08-15 23:41:53 +02:00
Craftplacer
0e8411f76c Rename fields and make readonly 2020-08-15 22:06:26 +02:00
Craftplacer
c4a7fac760 Add required parameters and other various changes 2020-08-15 22:03:24 +02:00
Craftplacer
69590113d6 Temporary changes 2020-08-12 06:40:21 +02:00
Dean Herbert
6b5b215299 Split out IHasPath from IHasCurve to better define hitobjects 2020-05-26 17:44:47 +09:00
Bartłomiej Dach
6e27247cdf Adjust storyboard decoder test in line with changes 2020-05-19 19:47:50 +02:00
smoogipoo
ca6e6f7496 Add required parameter for android build 2020-05-11 17:26:11 +09:00
Dean Herbert
7f7d5e6617 Fix apparently required argument 2020-05-11 16:37:08 +09:00
Dean Herbert
93440874db Refactor beatmap encoder test to be a bit easier to understand 2020-05-11 16:30:54 +09:00
smoogipoo
1e7e7417ed Fix testing relying on control point order 2020-04-22 09:04:44 +09:00
smoogipoo
8ea76244a2 Fix only single beatmap being tested 2020-04-22 09:04:44 +09:00
smoogipoo
9713d90388 Always apply beatmap converter/processor 2020-04-22 09:04:44 +09:00
smoogipoo
72fb34f82c Fix overriding control points incorrectly 2020-04-21 14:19:05 +09:00
Will Kennedy
877bd7837a Changed variable names 2020-04-02 22:02:57 -04:00
Will Kennedy
c042e709a5 Fix GetDecoder getting fallback decoder too often 2020-04-02 20:43:54 -04:00
Dean Herbert
6d81da5419
Merge branch 'master' into video-offset 2020-03-25 11:28:59 +09:00
Dean Herbert
368bf58521 Rename and make fields readonly 2020-03-25 11:08:08 +09:00
Dan Balasescu
1d556bfc5f
Merge branch 'master' into video-offset 2020-03-11 15:13:18 +09:00
smoogipoo
7a9c85d69d Fix now failing test due to parsing ranges 2020-03-10 12:21:40 +09:00
voidedWarranties
48282dea8b Remove individual setting to disable videos, fix tests 2020-03-07 22:08:38 -08:00
Dean Herbert
0677f746aa Provide the ruleset to converter classes 2019-12-24 16:02:16 +09:00
smoogipoo
705cdde148 Fix incorrect test 2019-12-20 16:42:45 +09:00
smoogipoo
c976427206 Refactor test to be more complete 2019-12-13 19:00:28 +09:00
smoogipoo
be000e13e4 Implement initial legacy beatmap encoding support 2019-12-12 18:34:40 +09:00
Huo Yaoyuan
d60493a961 Use discards. 2019-11-12 20:03:21 +08:00
Huo Yaoyuan
144812669d Use static local functions. 2019-11-12 19:56:54 +08:00
smoogipoo
cf2d885099 Fix control points being flushed too late 2019-10-30 18:02:18 +09:00
Dan Balasescu
514c9f1eef
Merge branch 'master' into bindable-control-points 2019-10-30 16:20:54 +09:00
Dean Herbert
7c6ccce3ba Add tests covering precision case 2019-10-29 18:02:30 +09:00
Dean Herbert
8baf569f59 Remove necessity of AutoGenerated flag 2019-10-25 19:58:42 +09:00
Bartłomiej Dach
76c74719a4 Add test for fallback decoder overwrite
LegacyDifficultyCalculatorBeatmapDecoder was registered as a fallback
decoder in commit ffde389 for future use in the server-side difficulty
calculation components. Due to the pre-existing fallback registrations
this causes a runtime crash when the diffcalc components are started.
Add a test reproducing this scenario to prevent the issue from
resurfacing in the future.
2019-10-04 17:00:51 +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
f925e781a9 Refactor HitWindows for legibility 2019-09-06 15:24:14 +09:00
iiSaLMaN
94b5caf740 Fix build issues 2019-08-23 15:18:56 +03:00
David Zhao
15a592e25e Just assert doesn't throw and don't catch at LegacyDecoder 2019-08-07 19:25:40 +09:00
David Zhao
497d2cb677 shorten tests and rename 2019-08-06 12:35:18 +09:00
David Zhao
2c32d886d7 Add better asserts 2019-08-06 10:39:54 +09:00
David Zhao
b8c38d4dfd remove unnecessary assert 2019-08-06 10:36:26 +09:00
David Zhao
a5c17ae26d Don't use GetDecoder 2019-08-06 10:14:36 +09:00
David Zhao
cd6fe91882 Log error for invalid events 2019-08-06 10:05:21 +09:00
Dean Herbert
60ea3d4e1a Fix skinning support for combobreak 2019-06-30 21:58:30 +09:00
Dean Herbert
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
smoogipoo
7e38aabe75 Remove equivalence check from controlpoint parsing 2019-05-21 14:27:41 +09:00
smoogipoo
e3ae858c87 Adjust testcase to avoid potential rounding issues 2019-05-21 14:01:41 +09:00
smoogipoo
f1c9073338 Fix commented line check not working with whitespace 2019-05-14 16:16:55 +09:00