Dean Herbert
66ebdbbe4c
Fix control points with same timestamp potentially being parsed incorrectly
2019-05-08 18:13:07 +09:00
smoogipoo
d7c09e7dbd
Merge remote-tracking branch 'origin/master' into fix-new-inspections
...
# Conflicts:
# osu.Game.Rulesets.Catch/Judgements/CatchDropletJudgement.cs
# osu.Game.Rulesets.Catch/Judgements/CatchJudgement.cs
# osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
# osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs
# osu.Game.Rulesets.Osu/UI/Cursor/CursorTrail.cs
# osu.Game.Tests/Visual/SongSelect/TestCaseBeatmapScoresContainer.cs
# osu.Game/Graphics/OsuFont.cs
# osu.Game/Online/API/Requests/Responses/APILegacyScoreInfo.cs
# osu.Game/Overlays/Profile/Header/BadgeContainer.cs
# osu.Game/Overlays/Profile/ProfileHeader.cs
# osu.Game/Screens/Select/PlaySongSelect.cs
# osu.Game/Skinning/LegacySkinDecoder.cs
2019-05-07 13:20:17 +09:00
smoogipoo
0bd35ab7bb
Turn on warnings, resolve issues
2019-04-25 17:36:17 +09:00
Dean Herbert
612db31c38
Apply newline additions
2019-04-01 12:16:32 +09:00
Dan Balasescu
e45c08ad23
Adjust comment
2019-03-29 14:02:19 +09:00
Dean Herbert
92184adef5
Add stable sorting of storyboard elements
2019-03-26 16:37:52 +09:00
Dean Herbert
8f00f2290a
Log issues
2019-03-13 14:56:41 +09:00
Dean Herbert
241e336c21
Fix break parsing
2019-03-13 14:22:16 +09:00
Dean Herbert
f4c505709a
Use parsing methods in more places
...
Limiting scope to beatmap decoding for this pass. Can expand to skin/storyboard in the future.
2019-03-13 13:56:31 +09:00
Dean Herbert
93b774104a
Fix NaN handling
2019-03-13 11:30:33 +09:00
Dean Herbert
73d9aef5bd
Fix filename
2019-03-12 20:38:04 +09:00
Dean Herbert
cc09ecbfcf
Increase validation performed on .osu files to avoid hard crashes
2019-03-12 20:31:15 +09:00
Dean Herbert
26d53d06a9
Fix remaining issues
2019-02-28 13:31:40 +09:00
Dean Herbert
8617aaa2a7
Update licence header (and remove year)
2019-01-24 17:43:03 +09:00
smoogipoo
f27bd3ef3e
OpenTK -> osuTK
2018-11-20 17:14:59 +09:00
Dean Herbert
a2b8904b1e
Merge branch 'master' into database-standardize-paths
2018-10-18 16:21:45 +09:00
smoogipoo
d431dd59a8
Cleanups
2018-10-17 10:53:21 +09:00
HoLLy
710b0a4664
Remove unnecessary PathSanitise call
2018-10-12 15:30:24 +02:00
HoLLy
bb07630743
Merge branch 'master' into database-standardize-paths
2018-10-12 14:08:25 +02:00
smoogipoo
5b544a0c97
Remove allocation of string.IndexOf()
2018-10-11 18:37:48 +09:00
smoogipoo
bd99a87298
Use ordinal comparison in LegacyBeatmapDecoder
2018-10-11 17:48:47 +09:00
smoogipoo
0c4403ef16
Don't apply version offset during diff calc
2018-10-11 13:53:49 +09:00
HoLLy
b35f88b8ba
Standardize AudioFile and BackgroundImage paths
2018-10-09 17:49:18 +02:00
smoogipoo
9facf707be
Add diffcalc beatmap decoder
2018-10-09 11:49:24 +09:00
smoogipoo
b7499fa956
Allow TimingControlPoint to be overridden
2018-10-09 11:34:38 +09:00
smoogipoo
794501cc5a
Fix incorrect result of ternary
2018-10-05 12:06:24 +09:00
smoogipoo
40c17cfa5a
Remove ugly if-statement
2018-10-05 11:55:59 +09:00
smoogipoo
cb1703c6e2
Fix colours with alpha components not being parsed
2018-10-05 11:19:01 +09:00
smoogipoo
55370165c0
Compare with invariant culture
2018-08-24 10:12:30 +09:00
smoogipoo
407968bb7e
Log the format line when a decoder isn't found
2018-08-24 10:03:56 +09:00
Dean Herbert
c6df93c438
Merge branch 'master' into invalid-obj-types
2018-08-22 16:21:17 +09:00
smoogipoo
551581e5cd
Skip invalid hitobject types, log error instead
2018-08-22 15:59:58 +09:00
smoogipoo
df84889646
Handle invalid origins as Anchor.TopLeft
2018-08-22 14:50:03 +09:00
smoogipoo
541c4daa81
Use ordinal string comparison in hot paths
2018-08-21 11:10:54 +09:00
smoogipoo
ce77473910
Simplify usage of ConvertHitObjectParser
2018-08-15 10:24:56 +09:00
smoogipoo
e360985d73
Replace variables into the entire line
2018-08-14 18:15:09 +09:00
smoogipoo
b8824a41b5
Fix certain control points not being replaced
2018-08-14 11:44:53 +09:00
Dean Herbert
da8fc0ee5d
ToLower -> ToLowerInvariant
2018-07-25 07:37:05 +02:00
smoogipoo
c087a73f40
Implement per-hitobject custom sample banks
2018-07-20 15:12:44 +09:00
Dean Herbert
84c13174d9
Merge branch 'master' into use-has-flags
2018-07-17 03:50:40 +09:00
morguldir
fc77e01ba9
Fix formatting, make StripComments protected
...
Don't strip comments when calling ParseLine
2018-07-16 16:35:55 +02:00
Dean Herbert
98cddc0c04
Fix some legacy cases
2018-07-16 16:26:37 +09:00
Dean Herbert
dbc538abbe
Use Enum.HasFlag
...
With .NET core 2.0+ this is as efficient as the ugly code we've been using.
2018-07-16 16:18:46 +09:00
morguldir
429306aa87
Fix casing, use ordinal string comparison when stripping comments
2018-07-16 01:54:20 +02:00
morguldir
87a4bf3d92
Remove using directive for regex in LegacyDecoder
2018-07-16 01:08:30 +02:00
morguldir
6c861a1638
Strip comments from everything except metadata
2018-07-16 01:04:41 +02:00
Criminalllz
a9f8c2acb8
Use Regex to only care about colors and commas when parsing a color.
2018-07-12 20:36:57 +02:00
Dean Herbert
ba258b8a05
Fix lack of fallback logic for custom bank samples
...
Closes #2966 .
---
Was causing some beatmaps to not play all of their hitsounds
2018-07-10 02:56:22 +09:00
Dean Herbert
44aecdc3a0
Rename method to EquivalentTo
2018-07-05 15:00:02 +09:00
smoogipoo
b664d3ef81
Fix time being a part of controlpoint change comparisons
2018-07-02 13:34:25 +09:00
smoogipoo
94f1b2eeb8
Only custom sample banks > 1 modify the filename
2018-06-28 18:29:17 +09:00
smoogipoo
3a9a82c80c
Add back legacy custom sample banks
2018-06-28 18:29:12 +09:00
smoogipoo
2882981f9c
Implement and use equality comparers for ControlPoint
2018-06-28 18:28:59 +09:00
Dean Herbert
955a78e76d
Remove OnlineBeatmapSetID from BeatmapInfo
...
It should now be retrieved via the linked BeatmapSetInfo
2018-06-08 15:26:27 +09:00
Dean Herbert
8220e0c79a
Remove OnlineBeatmapSetID from BeatmapMetadata
2018-06-08 12:46:34 +09:00
smoogipoo
8ae2a3696f
Apply platform universal offset at player level
2018-05-28 03:31:46 +09:00
smoogipoo
0f817d18d4
Add explanatory comment
2018-05-16 13:59:51 +09:00
smoogipoo
cf44357bdb
Use a stable sort for hitobjects
2018-05-16 13:30:48 +09:00
Adonais Romero González
06c6f55995
Apply offset to end times on legacy converter
2018-04-30 00:43:32 -07:00
Dean Herbert
b16e25c3e9
Add error handling on a per-line level in LegacyDecoder
...
Resolves #2306 .
2018-04-20 18:32:24 +09:00
Dean Herbert
32a74f95a5
Normalize all the line endings
2018-04-13 18:26:38 +09:00
Dean Herbert
ddba7254ca
Merge remote-tracking branch 'upstream/master' into linq
2018-04-03 13:05:08 +09:00
smoogipoo
fd9480cfb6
Handle timingpoint FormatException
2018-04-02 20:08:40 +09:00
smoogipoo
d24d81d8a9
De-pluralize some methods
2018-04-02 20:07:18 +09:00
Huo Yaoyuan
b842f682eb
Use Linq.Append and Prepend.
2018-04-02 12:06:34 +08:00
Dean Herbert
e39b7b8d35
Don't hard-crash when an unknown section is encountered in a legacy file
2018-03-22 12:58:02 +09:00
Dean Herbert
62e908e22c
Add default separator character
2018-03-19 20:06:44 +09:00
Dean Herbert
1d7be2ad0b
Fix incorrect variable name
2018-03-14 10:14:42 +09:00
Dean Herbert
16eab2eebf
Fix combo colours not working until now
2018-03-13 19:19:08 +09:00
Dean Herbert
e43de68ad3
Move colour parsing to LegacyDecoder
2018-03-13 19:13:50 +09:00
Dean Herbert
d6fa7d69d7
Add missing fonts section
2018-03-13 16:13:07 +09:00
Dean Herbert
1bcda4930e
Add back beatmap version set
2018-03-12 11:33:12 +09:00
Dean Herbert
217dd2ecdc
Initial push for better decoders
2018-03-09 21:24:15 +09:00
Dean Herbert
7b18e8a5ca
Merge branch 'master' into fix-taiko-conversion
2018-03-06 01:16:47 +09:00
smoogipoo
d44dc1a4f9
Fix SliderMultiplier/SliderTickRate parsing inaccuracy
2018-03-05 16:01:05 +09:00
Dean Herbert
e46f363fdc
Fix failing unit test
2018-03-04 22:46:50 +09:00
Dean Herbert
bc0bc8d459
Add legacy timing offsets
...
These have been in release builds since January, but implemented in a hacky way.
This brings them with a sane implementation.
2018-03-04 21:57:50 +09:00
Dean Herbert
572d3b1316
Move bpm clamping to TimingControlPoint, adjust range to 1-10000bpm
...
In line with stable editor restrictions
2018-02-28 22:53:28 +09:00
Dean Herbert
5b4fef0180
Add bare minimum sanity checking of beatmap input values to make broken maps load
...
Resolves ppy/osu#1988 .
2018-02-28 18:12:24 +09:00
Dean Herbert
968291c61e
Sort hitobjects imported from legacy beatmps
...
Apaprently some ranked maps contain unordered hitobjects. We probably never want to allow for this.
2018-02-28 18:11:28 +09:00
james58899
fa800f0977
fix storyboard path
2018-01-23 18:18:54 +08:00
Aergwyn
ae1adfd2f2
remove unnecessary empty lines
...
codefactor.io \(o.o)/
also one unnecessary semicolon
2018-01-12 19:30:34 +01:00
Dan Balasescu
86581b6451
Remove extra braces
2018-01-11 17:02:09 +09:00
james58899
fbffc8bb89
fix load storyboard in osu file
2018-01-10 18:55:04 +08:00
Dean Herbert
4c0259a040
Merge branch 'master' into fix-storyboard-variables
2018-01-09 11:50:03 +09:00
Dean Herbert
37d393bca0
Update licence headers
2018-01-05 20:21:19 +09:00
james58899
0158246ba1
AppVeyor
2018-01-04 19:23:00 +08:00
james58899
dcc4e863ab
move variables to StoryboardDecoder
2018-01-04 19:04:52 +08:00
james58899
89fe567496
use FileSafety.PathSanitise
2018-01-03 17:57:24 +08:00
Dean Herbert
5026c7a95e
SoundControlPoint -> SampleControlPoint
2017-12-23 16:34:34 +09:00
smoogipoo
58859f2ffb
Rework registration/instantiation of decoders to not rely on reflection
2017-12-21 15:34:00 +09:00
smoogipoo
e8e5e8270b
Rename decoder
2017-12-21 14:19:37 +09:00
smoogipoo
bfa4f1a2c3
Apply changes in line with master changes
2017-12-21 13:59:03 +09:00
smoogipoo
c99ea32574
Merge branch 'master' into beatmap-serialization
2017-12-21 13:39:39 +09:00
smoogipoo
0e3b001b13
Make maps with storyboards decode correctly with OsuJsonDecoder
2017-12-07 10:37:51 +09:00
smoogipoo
ed5f7e5353
Make OsuJsonDecoder apply defaults similar to OsuLegacyDecoder
2017-12-06 16:28:34 +09:00
smoogipoo
d2dc7c8937
Add OsuJsonDecoder
2017-12-06 00:38:12 +09:00
Aergwyn
cc76c58f5f
fall back to .osu file for storyboard if no .osb file is present
...
+ CI fixes
2017-12-02 16:05:39 +01:00
Aergwyn
c466296b14
reverted split at Decoder, moved logic down
...
I'm done experimenting, sorry
- `Decoder` only returns a "Beatmap"`Decoder` now
- "Storyboard"`Decoder` is retrieved from a "Beatmap"`Decoder`
- moved parse methods down in the hierarchy where I forgot to do that
- renamed `OsuLegacyDecoderTest` to `LegacyDecoderTest`
2017-12-01 22:05:01 +01:00
Aergwyn
a49f3479a2
Split retrieving of beatmap and storyboard decoder
...
Storyboard works again. Not satisfied with the solution though.
2017-12-01 19:11:52 +01:00
Aergwyn
db50ad794e
CI adjustments
...
- removing unnecessary `using`s
- name Fields/Methods according to rules
- removing unnecessary initializations
2017-12-01 17:58:11 +01:00
Aergwyn
806c0e3b26
restructured OsuLegacyDecoder into LegacyDecoder
...
Beatmap works, Storyboard not...
2017-12-01 17:43:33 +01:00
Aergwyn
be018a63c6
remove unnecessary lines
2017-11-30 19:17:11 +01:00
Aergwyn
c16925059c
split parsing a beatmap and parsing a storyboard
2017-11-30 19:16:13 +01:00
Miterosan
b2e49c1e71
line can not be null in OsuLegacyDecoder.cs
2017-11-07 23:17:26 +01:00
Miterosan
13e75780d7
beatmap and stream can not be null in OsuLegacyDecoder.cs
2017-11-07 23:17:07 +01:00
Miterosan
1e6f1d07d2
line can not be null in OsuLegacyDecoder.cs
2017-11-07 23:16:42 +01:00
Miterosan
a8acea9cdb
stream can not be null in BeatmapDecoder.cs
2017-11-07 23:12:30 +01:00
Miterosan
8dc24a52a7
beatmap and line can not be null in OsuLegacyDecoder.cs
2017-11-07 23:11:33 +01:00
Miterosan
d27dced3af
beatmap and line can not be null in OsuLegacyDecoder.cs
2017-11-07 23:11:16 +01:00
Miterosan
34083baa4d
beatmap and line can not be null in OsuLegacyDecoder.cs
2017-11-07 23:11:04 +01:00
Miterosan
0287d3d7a0
beatmap and line can not be null in OsuLegacyDecoder.cs
2017-11-07 23:10:54 +01:00
Miterosan
cf296d4bb2
beatmap and line can not be null in OsuLegacyDecoder.cs
2017-11-07 23:10:41 +01:00
Miterosan
2f47b336e2
beatmap and line can not be null in OsuLegacyDecoder.cs
2017-11-07 23:10:30 +01:00
Miterosan
1f620886cb
beatmap and line can not be null in OsuLegacyDecoder.cs
2017-11-07 23:09:16 +01:00
Dean Herbert
5d5ea5fb2e
Fix all remaining db structure issues
2017-10-19 14:05:11 +09:00
Dean Herbert
cd722e4abb
Fix beatmap author being stored in two different places
2017-10-14 11:39:55 +09:00
smoogipoo
b8d2a04fe1
Only split beatmap lines twice
2017-10-10 19:24:24 +09:00
smoogipoo
ad344eb719
Use IsNullOrWhiteSpace instead of trimming
2017-10-10 19:21:38 +09:00
smoogipoo
29c2a29798
Fix trimming too early in OsuLegacyDecoder crashing storyboards
2017-10-09 18:47:12 +09:00
Bang Sunghwan
bd9f2db477
Trim line
2017-10-08 17:30:21 +09:00
Bang Sunghwan
6c5c734ff1
Trim end of line
...
Fix ArgumentOutOfRangeException when parsing http://osu.ppy.sh/osu/1004136
2017-10-08 09:42:09 +09:00
Damnae
bab3ef0669
Rename storyboard classes.
2017-09-13 11:22:24 +02:00
Damnae
58e65397b0
Add support for storyboards using numerical values.
2017-09-12 10:13:55 +02:00
Damnae
9eaa1cb5cd
Fix sprites not being visible when all their commands are inside loops.
2017-09-11 12:06:00 +02:00
Damnae
bc01d9a1b0
Animate Additive / FlipH and FlipV.
2017-09-09 15:41:56 +02:00
Damnae
12de737084
Merge branch 'master' into storyboards
...
# Conflicts:
# osu.Game/Beatmaps/Beatmap.cs
2017-09-08 21:46:34 +02:00
Damnae
6cde687d87
Fix V commands parsing.
2017-09-08 12:36:13 +02:00
Damnae
13322b4293
Improve compatibility with older storyboards.
2017-09-08 12:09:45 +02:00
Dean Herbert
a528173943
Ensure that WorkingBeatmap's Beatmap is never null
...
Also ensures some extra fields inside Beatmap have non-null defaults.
2017-09-08 19:05:14 +09:00
Damnae
e547416193
Storyboards implementation.
2017-09-08 09:08:52 +02:00
smoogipooo
6a7b410bc3
Make DifficultyControlPoint.SpeedMultiplier actually increase with an increasing speed. Fixes #1147
2017-08-21 11:58:54 +09:00
Dan Balasescu
243a6ca774
Update OsuLegacyDecoder.cs
2017-08-18 13:27:16 +09:00
Shane Woolcock
df683d9114
Fix multiple difficulty control points sharing the same time and thus confusing slider velocity calculations
2017-08-17 23:28:26 +09:30
MillhioreF
e216bfcf10
Recommended fixes (obsolete try/catch, fix infinite loop during variable parsing in a better way)
2017-08-13 00:40:05 -05:00
MillhioreF
f819ffce2b
Make the legacy decoder more resilient against leading linebreaks
2017-08-10 00:08:39 -05:00
MillhioreF
64d92c1557
Fix infinite loop when importing maps that have storyboard elements with '$' in the filename
2017-08-09 23:31:18 -05:00
MillhioreF
10321497ca
Add decoder entries for v3/4
2017-08-09 21:21:43 -05:00
MrTheMake
be3c7ec5f8
Added missing space
2017-08-02 16:17:33 +02:00
MrTheMake
79724e8018
Fix OsuLegacyDecoder's parser being NULL if no ruleset was specified
2017-08-02 16:05:09 +02:00
Dean Herbert
898a601098
Introduce a reference counting file store
2017-07-26 20:22:02 +09:00
Dean Herbert
fce580d717
Reshuffle namespaces
2017-07-26 13:22:46 +09:00
smoogipooo
223c75327f
Remove key/val in favor of local variables + method call.
2017-05-30 20:59:53 +09:00
smoogipooo
5b5c2e4717
Back to using val...
2017-05-30 20:37:30 +09:00
smoogipooo
0728aea6a4
Fixes + cleanup.
2017-05-30 20:26:39 +09:00
smoogipooo
93a33be596
val -> value, val -> line (in cases where a key is not used).
2017-05-30 19:52:43 +09:00
smoogipooo
0175b91927
Cleanups.
2017-05-30 19:52:21 +09:00
Dan Balasescu
94ae730a20
Merge branch 'master' into storyboards
2017-05-29 17:49:51 +09:00
smoogipooo
6101fe98e1
Always ApplyDefaults after parsing beatmaps to make sure hit objects are in their most loaded state.
2017-05-29 12:10:29 +09:00
ColdVolcano
e46e1d96a7
Move logic to handleEvent
2017-05-27 00:20:19 -05:00