Dean Herbert
50ab5a7d07
Merge remote-tracking branch 'upstream/master' into LegacyDecoder_changes
2020-01-26 17:38:44 +09:00
Berkan Diler
219e14baa2
Address review and fix InspectCode
2020-01-24 17:05:27 +01:00
Berkan Diler
6658bdb223
Fix CodeFactor issues
2020-01-23 16:34:43 +01:00
Berkan Diler
316a764f6f
Minor cleanups for Legacy Storyboard/Beatmap decoder
2020-01-23 16:23:53 +01:00
smoogipoo
681a43a318
Refactor to support beatmap updates
2020-01-14 19:24:53 +09:00
Berkan Diler
34d8740ec4
Remove remaining usage of osuTK.MathHelper
2020-01-08 20:21:13 +01:00
Dean Herbert
145ac8e0b5
Remove redundant setter
2019-12-25 14:55:05 +09:00
Salman Ahmed
55be4478aa
Merge remote-tracking branch 'upstream/master' into fallback-to-skin-combo-colours
2019-12-21 12:36:09 +03:00
smoogipoo
1802e0ff11
Fix storyboard incorrectly re-ordering elements
2019-12-20 16:04:05 +09:00
Dean Herbert
5cdc7d3b18
Merge pull request #7183 from smoogipoo/legacy-beatmap-saving
...
Add initial implementation of a legacy beatmap encoder
2019-12-18 18:43:14 +09:00
Dean Herbert
1f3e1b3085
Remove unused using
2019-12-18 17:59:07 +09:00
Dean Herbert
4befabc257
Split out complex method
2019-12-18 17:35:51 +09:00
smoogipoo
602ce698d5
Fix storyboard vectorscale and scale cross-pollution
2019-12-18 17:21:38 +09:00
Dean Herbert
fa067b8799
Merge branch 'master' into legacy-beatmap-saving
2019-12-18 17:17:03 +09:00
Dean Herbert
272d7d0ca9
Merge branch 'master' into fallback-to-skin-combo-colours
2019-12-17 12:36:20 +09:00
smoogipoo
be7b00cc34
Fix potentially incorrect custom sample bank
2019-12-16 17:12:31 +09:00
smoogipoo
3c9884456f
Use writeline
2019-12-16 17:08:46 +09:00
smoogipoo
5278236458
Use invariant ToLower()
2019-12-16 17:07:30 +09:00
smoogipoo
27150d6bbc
Use char concatenation for performance
2019-12-16 17:06:52 +09:00
smoogipoo
9fa6954ac2
Refactor getSampleBank a bit
2019-12-16 17:05:24 +09:00
smoogipoo
98dd1c2590
Use SingleOrDefault() where possible
2019-12-16 17:03:58 +09:00
smoogipoo
d56e99865c
Throw not implemented exceptions
2019-12-16 16:57:49 +09:00
smoogipoo
596fda3c1f
Refactor switch
2019-12-16 16:57:40 +09:00
smoogipoo
58e3fb0d0f
Coalesce to -1
2019-12-16 16:43:20 +09:00
Huo Yaoyuan
c457571da6
Use index and range expressions
2019-12-15 20:17:35 +08:00
smoogipoo
ea4eb6b204
CI cleanups
2019-12-13 21:29:10 +09:00
smoogipoo
0ad28a9400
Start at version 128
2019-12-13 19:11:45 +09:00
smoogipoo
abf3f341b7
Merge remote-tracking branch 'refs/remotes/origin/master' into legacy-beatmap-saving
2019-12-13 19:01:25 +09:00
smoogipoo
654499d8b0
Remove whitespace
2019-12-13 17:33:18 +09:00
smoogipoo
97158fce7d
Always attach a new combo to spinners
2019-12-13 17:02:10 +09:00
smoogipoo
0b7c4f252c
Fix artist being written in place of version
2019-12-13 17:01:59 +09:00
smoogipoo
53a665a034
Fix sound types and banks not being written correctly
2019-12-13 17:01:44 +09:00
smoogipoo
ac984423bb
Fix only single sound type being written
2019-12-12 19:53:30 +09:00
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
Thomas Müller
a5dfa7ab06
Remove unnecessary using statements
2017-02-23 21:38:10 +01:00
Damnae
a504c73f33
Load beatmap data from an optional osb file.
2017-02-09 15:19:09 +01:00
Dean Herbert
6b011a50d2
Naming standardisation and enforcing.
2017-02-07 16:20:36 +09:00
Dean Herbert
50bd80cb0c
Update and standardise license headers.
2017-02-07 14:27:41 +09:00
Dean Herbert
756fd78a88
Fix incorrect line endings.
2017-02-07 13:52:19 +09:00
Dean Herbert
ee0b6be84b
Merge pull request #266 from kizayoi/master
...
Add support for old beatmaps
2017-01-16 16:02:22 +08:00
Drew DeVault
fa007e632d
Refactor colors to palette based design
2017-01-12 16:38:27 -05:00
Drew DeVault
70ecf48ca7
Add central color class
...
I didn't move _every_ color here, but most of them. The ones I left
behind are mostly just shades of gray.
Closes #126
2017-01-09 17:20:31 -05:00
柯十六夜
acfbf2e32e
Add prefix Online to BeatmapID and BeatmapSetID
2017-01-09 21:05:01 +08:00
柯十六夜
e578e50721
Add support for old beatmaps
2016-12-21 16:29:57 +08:00
Dean Herbert
f356640cb7
Add missing licence headers.
2016-12-06 19:07:15 +09:00
Dean Herbert
a506e91b7c
Fix compile issues.
2016-11-28 23:05:05 +09:00
Dean Herbert
49470318f2
Remove silly static using statement.
2016-11-28 22:48:28 +09:00
Dean Herbert
187a8bbfa7
Don't store beatmap reference in hitobjects.
2016-11-28 18:45:50 +09:00
Dean Herbert
bf63be0602
Add better slider duration calculation using bpm and difficulty information.
2016-11-28 15:31:54 +09:00
Dean Herbert
a5651427f6
Add basic ControlPoint parsing.
2016-11-28 15:12:11 +09:00
Dean Herbert
d3f810f72f
Introduce concept of HitObjectParsers, fix tests and stop using reflection (unreliable due to lazy loading).
2016-11-14 22:03:39 +09:00