1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 12:37:47 +08:00
Commit Graph

490 Commits

Author SHA1 Message Date
smoogipoo
dedae69db8 Prefer legacy curve format if possible 2019-12-12 19:52:15 +09:00
smoogipoo
d35d34c01b Fix hanging semicolon for per-node bank output 2019-12-12 19:01:43 +09:00
smoogipoo
4760307bbb Don't output the first slider control point 2019-12-12 19:01:15 +09:00
smoogipoo
60063eefd2 Fix up background/video events 2019-12-12 18:51:05 +09:00
smoogipoo
51bdb73b91 Don't write empty file names 2019-12-12 18:49:47 +09:00
smoogipoo
f89042cd0a Add missing section header 2019-12-12 18:48:22 +09:00
smoogipoo
e09bbf0315 Implement background/video/break encoding 2019-12-12 18:47:28 +09:00
smoogipoo
d1dc3456d1 Fix incorrect repeat point count 2019-12-12 18:42:48 +09:00
smoogipoo
c3475a2dde Write control points in absolute coordinates 2019-12-12 18:41:13 +09:00
smoogipoo
8f03599a62 Write default sampleset by name 2019-12-12 18:40:33 +09:00
Salman Ahmed
a9125f6544 Merge remote-tracking branch 'upstream/master' into fallback-to-skin-combo-colours 2019-12-12 12:37:51 +03:00
smoogipoo
be000e13e4 Implement initial legacy beatmap encoding support 2019-12-12 18:34:40 +09:00
Huo Yaoyuan
b86a3dbfab PathStandardise -> ToStandardisedPath 2019-12-11 16:06:56 +08:00
Huo Yaoyuan
6b3c7c8421 Remove usages of FileSafety class. 2019-12-11 16:05:35 +08:00
smoogipoo
c378e525da Extract the rest of legacy enums 2019-12-10 20:23:15 +09:00
smoogipoo
3c18872a16 Extract legacy effect flags enum 2019-12-10 20:19:31 +09:00
iiSaLMaN
1e24ee7956 Remove ClearComboColours() 2019-11-24 02:07:56 +03:00
Huo Yaoyuan
374ef6ff83 Merge branch 'master' into sharpen 2019-11-20 17:30:58 +08:00
Huo Yaoyuan
f05b83d7d4 Use typeparamref. 2019-11-17 20:48:23 +08:00
Huo Yaoyuan
31cc0d13da Use 'out var'. 2019-11-12 19:55:26 +08:00
Dean Herbert
758c304d92
Merge branch 'master' into fallback-to-skin-combo-colours 2019-11-12 19:00:05 +09:00
Huo Yaoyuan
e9b8cbb516 Apply other styles. 2019-11-11 20:27:04 +08:00
Huo Yaoyuan
ccc8aa6fa4 Apply brace style. 2019-11-11 20:13:13 +08:00
iiSaLMaN
cee16e9419 Merge remote-tracking branch 'refs/remotes/upstream/master' into fallback-to-skin-combo-colours 2019-11-07 19:11:29 +03:00
iiSaLMaN
808543885f Change ComboColours type to IReadOnlyList<Color4>
Also exposes functions to modify the internal list (AddComboColours, ClearComboColours)
2019-11-07 15:54:30 +03:00
smoogipoo
cf2d885099 Fix control points being flushed too late 2019-10-30 18:02:18 +09:00
Dan Balasescu
514c9f1eef
Merge branch 'master' into bindable-control-points 2019-10-30 16:20:54 +09:00
Dan Balasescu
ced6042b3e
Use internal type name 2019-10-30 15:51:09 +09:00
Dean Herbert
1a4817879e Fix precision changes in legacy control point types 2019-10-28 19:10:39 +09:00
Dean Herbert
8f87957c70 Make all control point attributes bindable
Properties are left intact for compatibility reasons.
2019-10-28 16:23:43 +09:00
Dean Herbert
8069674824 Merge remote-tracking branch 'upstream/master' into bindable-control-points 2019-10-28 11:52:04 +09:00
Dean Herbert
814b520e5e Avoid potential mis-cast in comparison 2019-10-27 11:35:45 +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
5e3f0f6c95 Return default combo colours if none provided 2019-10-09 21:08:07 +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
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
Andrei Zavatski
6e5cb8a318 implement video parsing 2019-08-30 23:19:34 +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
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
Dean Herbert
ff4b271f64 Add extra quotations around output 2019-08-12 01:42:05 +09:00
smoogipoo
ac2060f1cf Throw exceptions and let LegacyDecoder handle them 2019-08-08 14:44:04 +09: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
60ea3d4e1a Fix skinning support for combobreak 2019-06-30 21:58:30 +09:00
Dean Herbert
58efa7a177
Merge pull request #4729 from peppy/fix-control-point-ordering
Fix control points with same timestamp potentially being parsed incorrectly
2019-05-21 15:33:27 +09:00
smoogipoo
7a56fe84f2 Remove ControlPoint.EquivalentTo 2019-05-21 14:27:57 +09:00
smoogipoo
7e38aabe75 Remove equivalence check from controlpoint parsing 2019-05-21 14:27:41 +09:00
smoogipoo
f1c9073338 Fix commented line check not working with whitespace 2019-05-14 16:16:55 +09:00
Dean Herbert
92f6f4d21a Apply same fix to other methods which were missed 2019-05-13 19:04:12 +09:00
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
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
smoogipooo
2af9bf1423 Prefix everything inside Rulesets.Objects.Legacy with "Convert" to avoid naming clashes with Ruleset projects. 2017-04-22 21:33:11 +09:00
Dean Herbert
fbd26a1d5e
Mode -> Ruleset. 2017-04-18 16:05:58 +09:00
smoogipooo
786446354e Fix post-rebase errors. 2017-04-18 09:00:53 +09:00
smoogipooo
09208adf81 Re-implement legacy hit object conversion. 2017-04-18 08:58:21 +09:00
Dean Herbert
a4e2f34ee7
Make a RulesetDatabase. 2017-04-17 17:43:48 +09:00
smoogipooo
0333e1a050 Remove unused usings. 2017-04-15 05:57:18 +09:00
smoogipooo
a89af273be Make BeatmapInfo expose Ruleset instead of PlayMode. 2017-04-15 05:01:36 +09:00
Dean Herbert
1942ef9e8f
Fix merge fail. 2017-04-06 16:06:02 +09:00
smoogipooo
982dbb5bba Cleanup + bow down to resharper. 2017-04-06 12:27:35 +09:00
smoogipooo
c65ab5b6f1 General cleanup. 2017-04-06 11:56:19 +09:00
smoogipooo
eb82a4c090 Back to using SampleInfo + fix taiko beatmap conversion. 2017-04-06 11:41:16 +09:00
smoogipooo
e903241c7b Implement sample + addition sample reading from hit objects. 2017-04-06 09:43:47 +09:00
smoogipooo
1ef465716d Proper legacy timing point parsing. 2017-04-05 21:59:40 +09:00
smoogipooo
2d8239a3f7 Re-implement the SampleBank/Sample structure. No parsing support yet. 2017-04-05 21:34:28 +09:00
smoogipooo
1d4a371ded A few general fixes. 2017-04-04 14:38:50 +09:00
smoogipooo
4b424263ce Fully parse control points. 2017-04-04 13:13:27 +09:00
smoogipooo
2e80ecfda8 Don't need explicit null value. 2017-04-03 20:33:10 +09:00
smoogipooo
19b5555ef2 Slightly clean up archive readers + decoders. Read beatmap version into BeatmapInfo. 2017-04-03 20:26:46 +09:00
smoogipooo
a272675705 Parse time signature from legacy beatmap control points. 2017-03-21 21:18:08 +09:00
Dean Herbert
6c12da54f1 Merge pull request #499 from smoogipooo/legacy_beatmap_flag
Add legacy beatmap flag.
2017-03-19 12:39:41 +09:00
smoogipooo
862c4c408f Add legacy beatmap flag. 2017-03-17 14:24:46 +09:00
smoogipooo
a06c195e1f Add reading of KiaiMode/OmitFirstBarLine from legacy control points. 2017-03-17 13:23:39 +09:00
smoogipooo
e0a8c3b1e5 Rename BaseDifficulty -> Difficulty / BeatmapDifficulty. 2017-03-16 23:18:02 +09:00
smoogipooo
5137338c7c Replace List<ControlPoint> with TimingInfo in Beatmap. 2017-03-16 17:11:24 +09:00
smoogipooo
7141bc86d3 Rework beatmap post-processing into HitRenderer. 2017-03-14 17:01:21 +09:00
smoogipooo
e42c790df2 Refactorings. 2017-03-14 15:45:27 +09:00
smoogipooo
072eea82ea Fix up combo colours + a few nullrefs. 2017-03-14 14:50:12 +09:00
smoogipooo
f50e0bbf3c Rework/rewrite beatmap parsing to parse to base hit objects, which mode-specific beatmap converters can then use. 2017-03-13 19:15:25 +09:00
Dean Herbert
0cad5d7d41
Fix most warnings. 2017-03-07 13:05:57 +09:00