1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-14 21:57:55 +08:00
Commit Graph

1515 Commits

Author SHA1 Message Date
Dean Herbert
d4fed43be7 Merge branch 'equivalent-to' into control-point-grouping 2019-10-25 23:15:15 +09:00
Dean Herbert
e39016bf01 Fix known non-nulls 2019-10-25 20:04:27 +09:00
Dean Herbert
8baf569f59 Remove necessity of AutoGenerated flag 2019-10-25 19:58:42 +09:00
Dean Herbert
e987db37ec Add grouping of ControlPoints 2019-10-25 19:52:02 +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
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
Dean Herbert
60ea3d4e1a Fix skinning support for combobreak 2019-06-30 21:58:30 +09:00
HoLLy
12350d18b5 Don't remove imported archives by default 2019-06-27 14:41:11 +02:00
HoLLy
55216dffb7 Merge remote-tracking branch 'origin/master' into import-stable-scores 2019-06-27 14:07:17 +02:00
naoey
61260cf599
Hand off comparison logic for database query to implementors
Equals overrides are not used in EF queries without running the comaprison locally instead of on the database, so to preserve that the comparison logic is instead implemented on a per manager basis.
2019-06-27 15:32:27 +05:30
Dean Herbert
ef384b8667 Add simple (weak) WorkingBeatmap cache 2019-06-27 14:09:09 +09:00
Dean Herbert
0bad86f6d9 Merge remote-tracking branch 'upstream/master' into async-beatmap-load 2019-06-27 13:58:59 +09:00
Dean Herbert
8b0aaccfe6 Add finaliser to WorkingBeatmap 2019-06-27 13:56:36 +09:00
Dean Herbert
a4929f19e5 Adjust background colour of non-loaded beatmap set cover to play better with black foreground elements 2019-06-27 12:17:28 +09:00
Dean Herbert
375a6f406d Merge remote-tracking branch 'upstream/master' into not-available-to-download 2019-06-27 11:44:41 +09:00
naoey
f3a84de7b5
Merge remote-tracking branch 'upstream/master' into generic-download-tracking-composite 2019-06-26 18:17:53 +05:30
Dean Herbert
c34f6180e6
Merge branch 'master' into generic-download-model-manager 2019-06-26 20:37:56 +09:00
smoogipoo
cb65fc6317 Don't throw exception for non-existent files 2019-06-26 17:23:12 +09:00
Dean Herbert
88b182ab3f
Merge branch 'master' into generic-download-model-manager 2019-06-24 18:35:58 +09:00
Dean Herbert
1830362337 Move task out of ctor to avoid initialisation ordering issues 2019-06-24 17:10:50 +09:00
Dean Herbert
6d864cb47e Load beatmap content asynchronously in the background 2019-06-24 13:38:30 +09:00
Ganendra Afrasya
d540565197
Merge branch 'master' into difficulty-icon-tooltip 2019-06-22 11:54:00 +07:00
HoLLy
f072a53e93 Merge remote-tracking branch 'origin/master' into import-stable-scores 2019-06-21 17:42:59 +02:00
HoLLy
802da225d4 Move responsibility for selecting paths to model managers 2019-06-21 17:32:47 +02:00
iiSaLMaN
a1c58b164c
Merge branch 'master' into not-available-to-download 2019-06-21 14:16:31 +03:00
Joehu
ca919f02e6 Remove bad words on code comments 2019-06-19 21:33:58 -07:00
HoLLy
15c75b4442 Add basic score import from stable 2019-06-19 18:33:51 +02:00
Dean Herbert
63d0324f96 Fix inspection 2019-06-20 01:10:14 +09:00
iiSaLMaN
5278c5f365
Merge branch 'master' into not-available-to-download 2019-06-19 01:14:32 +03:00
Dean Herbert
341dc74834 Simplify download method 2019-06-19 01:41:19 +09:00
Dean Herbert
d65c20bbdc
Merge branch 'master' into generic-download-model-manager 2019-06-19 01:29:06 +09:00
Ganendra Afrasya
aa53f14329 Make sure tooltip appear in specific cases 2019-06-17 22:44:28 +07:00
Ganendra Afrasya
1f2f26a503 Add color to star rating and star sprite icon 2019-06-16 00:40:44 +07:00
Ganendra Afrasya
515534cb34 Adding custom tooltip to DifficultyIcon 2019-06-16 00:02:26 +07:00
smoogipoo
0a79b444d9 Move metrics to beatmap set 2019-06-13 16:52:49 +09:00
smoogipoo
aef94ce9f1 Make BeatmapMetrics non-IEnumerables 2019-06-13 16:30:38 +09:00
naoey
9cd5519da3
Remove unused delegate, use model name in notifications, add more xmldoc
- Applies a `class` constraint to the generic type in `IModelManager`
- Add xmldoc
2019-06-12 19:26:06 +05:30
naoey
c5f1da0f71
Merge remote-tracking branch 'upstream/master' into generic-download-model-manager 2019-06-12 18:20:35 +05:30
naoey
951a5abccc
Merge remote-tracking branch 'upstream/master' into generic-download-model-manager 2019-06-12 17:41:16 +05:30
smoogipoo
a17d480f51 Use "beatmap" as the model name 2019-06-12 20:41:02 +09:00
smoogipoo
fd7dc9504e Remove async when not required 2019-06-12 17:08:50 +09:00