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