1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-29 08:07:39 +08:00
Commit Graph

1450 Commits

Author SHA1 Message Date
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
Dean Herbert
50046d5f69 Use new tooltip style 2019-08-17 15:20:27 +09:00
Dean Herbert
3dc81bdad5 Merge branch 'refactor-difficulty-colours' into difficulty-icon-tooltip 2019-08-17 15:19:46 +09:00
Dean Herbert
4fa9abeece Replace DifficultyColouredContainer with a more scalable solution 2019-08-17 15:16:24 +09:00
Dean Herbert
f355cff8bc Apply reviews 2019-08-15 12:11:54 +09:00
Dean Herbert
7e74953784 Merge remote-tracking branch 'upstream/master' into difficulty-icon-tooltip 2019-08-15 11:54:59 +09:00
Dean Herbert
ff4b271f64 Add extra quotations around output 2019-08-12 01:42:05 +09:00
Dean Herbert
ce62f6b56e ToString should never return null 2019-08-12 01:40:11 +09:00
Unknown
cc4ee2df05 add ToString() override to Beatmap class 2019-08-11 16:41:56 +02:00
Dean Herbert
dbb3b583cf
Log error for invalid beatmap/storyboard events instead of thro… (#5611)
Log error for invalid beatmap/storyboard events instead of throwing

Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2019-08-09 12:56:47 +09:00
Dean Herbert
7e9c100c9b Apply new resharper refactors 2019-08-09 12:29:33 +09:00
smoogipoo
ac2060f1cf Throw exceptions and let LegacyDecoder handle them 2019-08-08 14:44:04 +09:00
Dan Balasescu
54ee0cabd8
Merge branch 'master' into beatmap-events 2019-08-08 14:25:41 +09:00
Dean Herbert
a2e3ab6463
Merge branch 'master' into add-bindable-for-break-times 2019-08-08 10:13:14 +09:00
iiSaLMaN
ba269a49ee Expose break fade duration and add it in the calculation 2019-08-07 16:59:35 +03:00
David Zhao
bde89adcb7 show exception message 2019-08-07 19:45:29 +09:00
David Zhao
b8ccba02f2 Log to runtime instead 2019-08-07 19:33:54 +09: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
da15e19912 return on storyboard side 2019-08-07 18:40:58 +09:00
David Zhao
7bcec31ea3 mention that the event was the type 2019-08-07 17:08:41 +09:00
David Zhao
669c2462ec Don't consider the type 2019-08-07 16:25:38 +09:00
David Zhao
66b02c0283 log type as well 2019-08-06 12:27:10 +09:00
David Zhao
cd6fe91882 Log error for invalid events 2019-08-06 10:05:21 +09:00
Dean Herbert
69c2723d90
Merge branch 'master' into refactor-conversion-test 2019-08-02 05:34:05 +02:00
smoogipoo
e2420af10c Fix applying mods to the wrong beatmap 2019-08-01 13:37:52 +09:00
smoogipoo
0108700793 Make beatmap conversion test use WorkingBeatmap 2019-08-01 12:44:10 +09:00
smoogipoo
bc80fa11bb Mode IApplicableToBeatmap application to WorkingBeatmap 2019-08-01 12:41:46 +09:00
Dean Herbert
53ecb2ae82 Reduce notification span during beatmap imports 2019-07-26 13:48:29 +09:00
Andrei Zavatski
2a17ed5e18 Merge remote-tracking branch 'refs/remotes/ppy/master' into favourite-beatmap 2019-07-22 14:32:37 +03:00
smoogipoo
a631aac664 Fix workingbeatmap's disposal potentially null-refing 2019-07-22 15:01:01 +09:00
Andrei Zavatski
de8ac9a428 Simple implementation 2019-07-21 21:41:07 +03:00
StanR
1e04fcc6b5 Apply fixes 2019-07-11 17:47:09 +03:00
Dean Herbert
72da615dde
Fix track transfer not running when beatmap is retrieved from c… (#5296)
Fix track transfer not running when beatmap is retrieved from cache
2019-07-11 22:53:07 +09:00
StanR
cd7c03c13a Add genre and language sections to beatmapset overlay 2019-07-11 16:44:48 +03:00
iiSaLMaN
e73f22eff8 Convert length retrieved from online to milliseconds 2019-07-09 17:53:34 +03:00
iiSaLMaN
1485c273ab Describe the xmldoc mo 2019-07-09 17:31:15 +03:00
iiSaLMaN
f3329f4d79 Use a more readable code for calculating length 2019-07-09 17:22:21 +03:00
iiSaLMaN
11ef65e3e2 Remove unnecessary extension 2019-07-08 11:57:02 +03:00
iiSaLMaN
b62e69d170 Calculate length inside BeatmapManager 2019-07-08 11:56:48 +03:00
Dean Herbert
16c993579b Fix track transfer not running when beatmap is retrieved from cache 2019-07-08 17:12:34 +09:00
iiSaLMaN
129899f419 Add a BPM property in BeatmapInfo 2019-07-08 10:43:35 +03:00
iiSaLMaN
2d0c924bdf Add xmldoc for MaxStarDifficulty and MaxLength 2019-07-08 09:35:12 +03:00
iiSaLMaN
79ddb8d5d3 Change to a more convenient xmldoc 2019-07-08 09:23:01 +03:00
iiSaLMaN
90d5484818 Return BPM back to OnlineInfo
Revert commit of "Move BPM out of OnlineInfo"
2019-07-08 09:10:41 +03:00
iiSaLMaN
729f0901f7 Move Length out of OnlineInfo 2019-07-07 20:25:36 +03:00
iiSaLMaN
3ea9629daf Move BPM out of OnlineInfo 2019-07-07 20:11:44 +03:00
iiSaLMaN
b4ef64fa61 Add sorting by Length 2019-07-07 18:26:56 +03:00
iiSaLMaN
65c8249c94 Add beatmap extension for calculating length 2019-07-07 18:25:52 +03:00
iiSaLMaN
188c80374e Add sorting by BPM 2019-07-07 18:14:23 +03:00
Salman Ahmed
040dbfd2c1
Merge branch 'master' into remove-unnecessary-fading 2019-07-06 15:59:44 +03:00
iiSaLMaN
6fd3ad5c1d Remove unnecessary fading 2019-07-06 12:10:30 +03:00
Dean Herbert
598b0d668b
Merge branch 'master' into import-stable-scores 2019-07-05 15:54:33 +09:00
Dean Herbert
8346c50ce1 Rename delete method and improve xmldoc 2019-07-05 13:55:25 +09:00
Dean Herbert
32bb963393 Lock WorkingBeatmap cache to avoid threading issues 2019-07-04 14:33:00 +09:00
Dean Herbert
7575047db8
Merge branch 'master' into import-stable-scores 2019-07-04 01:00:42 +09:00
Dean Herbert
8e0b5f1622 Fix weird merge conflict 2019-07-02 23:21:13 +09:00
Dan Balasescu
2fafe9a651
Merge branch 'master' into async-beatmap-load 2019-07-02 23:19:10 +09:30
Dean Herbert
089eadb008
Add weak WorkingBeatmap cache (#5163)
Add weak WorkingBeatmap cache

Co-authored-by: Dan Balasescu <1329837+smoogipoo@users.noreply.github.com>
2019-07-02 22:40:47 +09:00
Dean Herbert
e7a7f2f660 Add statistic for count of alive WorkingBeatmaps 2019-07-02 22:39:49 +09:00
Dean Herbert
9e33fb35e9 Fix typo 2019-07-02 22:26:08 +09:00
Dean Herbert
a6acc1f99f Catch exception and return null for safety
.
2019-07-02 22:26:08 +09:00
Dean Herbert
0b66f13902 Add todo about beatmap load cancellation 2019-07-02 22:22:33 +09:00
Dean Herbert
a26b14a4f8 Move finaliser inside disposal region 2019-07-02 22:21:56 +09:00
Dean Herbert
31b1480263
Merge branch 'master' into async-beatmap-load 2019-07-02 20:44:53 +09:00