1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-21 10:32:55 +08:00
Commit Graph

319 Commits

Author SHA1 Message Date
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
ColdVolcano
a523dfc388 Allow variables of variables
Some storyboards like to do tricky stuff
2017-05-27 00:13:46 -05:00
ColdVolcano
0b770d1225 Allow for variables in storyboards 2017-05-26 23:55:34 -05:00
smoogipooo
836bf930a0 More cleanups. 2017-05-23 15:29:38 +09:00
smoogipooo
2344f37a3c Always add TimingChange control points. 2017-05-23 15:26:07 +09:00
smoogipooo
002a0e99a2 Use SortedList + BinarySearch to find control points at time values. 2017-05-23 15:20:32 +09:00
smoogipooo
3cdfd2eef5 Split ControlPoint into different types.
# Conflicts:
#	osu.Game.Rulesets.Mania/UI/Column.cs
2017-05-23 14:03:40 +09:00
smoogipooo
0a0139aded Remove the concept of beatmap events, rename BreakEvent -> BreakPeriod. 2017-05-22 10:12:33 +09:00
smoogipooo
74c23ff6d8 Add base for event parsing code. 2017-05-17 20:46:23 +09:00
Huo Yaoyuan
dff05bec79 Use readonly fields. 2017-05-08 18:56:04 +08:00