Commit Graph

1413 Commits

Author SHA1 Message Date
Dean Herbert 814b520e5e Avoid potential mis-cast in comparison 2019-10-27 11:35:45 +09:00
Dean Herbert e39016bf01 Fix known non-nulls 2019-10-25 20:04:27 +09:00
Dean Herbert e2f2638212 Replace local Equatable implementations with abstract EquivalentTo 2019-10-25 19:44:28 +09:00
iiSaLMaN 405ab07800 Check equality by ID -> OnlineBeatmapSetID -> Hash -> ReferenceEquals 2019-10-17 01:18:29 +03:00
iiSaLMaN 14c72f85fa Fix incorrect beatmap set info equality check on non-online set info 2019-10-15 23:40:48 +03:00
Bartłomiej Dach 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
smoogipoo ffde389641 Add difficulty calculator beatmap decoder fallback 2019-10-04 13:28:32 +09:00
Dean Herbert 6268bbcfc8
Merge branch 'master' into beatmap-parsing-fallback-v2 2019-10-03 15:12:21 +08:00
smoogipoo cc533e8fe4 Remove BindableBeatmap 2019-10-01 17:24:47 +09:00
smoogipoo 04ac414249 Fix memory leaks due to audio track recycle order 2019-10-01 13:49:09 +09:00
smoogipoo 45f2bcc440 Fix combo bindings not being bound to nested hitobjects 2019-09-26 17:39:19 +09:00
Dean Herbert a06cb54732
Merge branch 'master' into beatmap-parsing-fallback-v2 2019-09-20 15:28:08 +09:00
Dean Herbert cffee1fd5e Fix imported beatmap paths not correctly matching files 2019-09-19 20:02:45 +09:00
Dean Herbert 92556db9cd Add query-based filter modes to song select search field 2019-09-19 02:48:28 +09:00
Bartłomiej Dach dd9f620c23 Fix misleading xmldoc 2019-09-15 01:28:07 +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 65aa7b2016 Recreate beatmap video on each consumption
Should not be shared over multiple usages
2019-09-14 00:07:06 +09:00
Andrei Zavatski 437e121056 Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-video 2019-09-13 13:39:58 +03:00
Dean Herbert b80a8296cd Fix unavailable rulesets crashing at song select 2019-09-04 20:28:52 +09:00
Dean Herbert 043034a6ce Merge remote-tracking branch 'upstream/master' into beatmapset-genre-language 2019-09-02 13:45:25 +09:00
Andrei Zavatski 94512fea8e Apply naming suggestions 2019-08-31 16:20:33 +03:00
Andrei Zavatski 6e5cb8a318 implement video parsing 2019-08-30 23:19:34 +03:00
Dean Herbert 84e4748268 Remove duplicate getAnimation function and improve namespacing 2019-08-30 12:59:58 +09:00
Dean Herbert dc1046bf0c Merge remote-tracking branch 'upstream/master' into add-ruleset-legacy-skin 2019-08-30 12:53:05 +09:00
smoogipoo ae0a5504d7 Revert unnecessary change 2019-08-29 19:43:33 +09:00
smoogipoo 6ab2b20c70 Add an interface for working beatmaps 2019-08-29 19:38:44 +09:00
StanR 68ee7346b2 Remove usings 2019-08-29 12:49:44 +03:00
StanR d303083179 Update to match api 2019-08-29 12:29:31 +03:00
Dean Herbert 98626018fd
Encapsulate editor hitobject additions/removals (#5878)
Encapsulate editor hitobject additions/removals
2019-08-29 18:20:24 +09:00
StanR 3347ee8170 Merge branch 'master' into beatmapset-genre-language 2019-08-29 09:57:53 +03:00
Dean Herbert c6e757fdae Remove redundant qualifier 2019-08-28 22:11:23 +09:00
Dean Herbert f6ad95018a Centralise default beat length specification 2019-08-28 20:22:16 +09:00
smoogipoo 348d88846d Add IBeatmap<T> interface for typed hitobject retrieval 2019-08-28 20:19:22 +09:00
Dean Herbert 01aede3e29 Add comprehensive skin fallback integration testing 2019-08-28 19:57:17 +09:00
Dean Herbert 66223b9954
Merge branch 'master' into allow-fallback-to-samples-without-bank 2019-08-27 14:44:16 +09:00
Dean Herbert 289bd8e6b0 Don't return DefaultSkin on beatmap skin parsing failure 2019-08-26 14:25:35 +09:00
Dean Herbert 1d34124667 Revert all DifficultyIcon changes 2019-08-25 11:56:07 +09:00
Dean Herbert a19a9b90ed Simplify group filter display 2019-08-25 11:39:26 +09:00
iiSaLMaN af4adb6339 Add xmldoc 2019-08-24 09:43:55 +03:00
iiSaLMaN f6feef6b56 Remove redundant using directive 2019-08-24 00:33:14 +03:00
iiSaLMaN 83b6e0f30c Implement grouped difficulty icon 2019-08-23 23:36:23 +03:00
iiSaLMaN d4236c574f Allow difficulty icon to be updateable 2019-08-23 23:30:54 +03:00
iiSaLMaN f639df849f Allow for difficulty icon to contain content 2019-08-23 23:11:36 +03:00
iiSaLMaN 7b04fb1690 StoryboardSample -> StoryboardSampleInfo 2019-08-23 14:54:39 +03:00
Dean Herbert 48716f8f2b Update framework 2019-08-21 13:29:50 +09:00
Ganendra Afrasya 7143497441 Match up tooltip background color with OsuTooltipContainer 2019-08-19 10:32:01 +07:00
Dean Herbert ecc04baf14 Merge branch 'refactor-difficulty-colours' into difficulty-icon-tooltip 2019-08-17 15:35:28 +09:00
Dean Herbert 87dc6499fa Fix json decoding being a bit too eager to consume 2019-08-17 15:34:02 +09:00
Dean Herbert 097763bb1c Add auto size duration 2019-08-17 15:29:39 +09:00