1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 23:23:04 +08:00
Commit Graph

482 Commits

Author SHA1 Message Date
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
Dean Herbert
06f4f93918 Move play modes to Modes namespace. 2016-11-14 18:03:20 +09:00
Dean Herbert
0f4538f69f Rename GameModes namespace to Screens. 2016-11-14 17:23:33 +09:00
Drew DeVault
fe9034323b Get the game running, though not perfectly 2016-11-10 16:42:29 -05:00
Dean Herbert
da18e2d4f6 Fix off-by-one colour retrieval. 2016-11-04 15:43:53 +09:00
Dean Herbert
b72e9221fd Only add valid hitobjects. 2016-11-04 15:43:53 +09:00
Dean Herbert
b40ccccbe4 Add HitObject colours back in the mix. 2016-11-04 15:43:53 +09:00
Drew DeVault
8d4a211419 Fix initialization of BeatmapInfo 2016-10-24 11:39:18 -04:00
Drew DeVault
d21b7f0050 Fix up song select based on upstream changes 2016-10-24 11:39:18 -04:00
Drew DeVault
674f624bfc Improve song selection layout, database loading
Also adds event that notifes the song select when a beatmap is added.
2016-10-24 11:39:11 -04:00
Drew DeVault
449f04c07b Refactor the database code 2016-10-18 13:38:27 -04:00
John Leuenhagen
fedfb8a22a
Converted all .cs files to use CRLF line endings. 2016-10-13 23:33:58 -04:00
Drew DeVault
25d08c8e2c Improve beatmap loading and hydration 2016-10-13 10:29:30 -04:00
Drew DeVault
deff5ad61e Use @strings where appropriate 2016-10-13 12:19:10 +09:00
Drew DeVault
dd86e75ea7 Minor fixes 2016-10-13 12:19:06 +09:00
Drew DeVault
c7d12bc072 Remove unnecessary setters 2016-10-13 12:17:58 +09:00
Drew DeVault
880399f5a5 Fix casing on private properties 2016-10-13 12:17:52 +09:00
Drew DeVault
dc4bd48f29 Fix casing issues
Cheers @RemieRichards
2016-10-13 12:17:46 +09:00
Drew DeVault
7a4501323b Decode beatmap colours 2016-10-13 12:17:35 +09:00
Drew DeVault
c0022f3515 Add more tests for legacy decoder 2016-10-13 12:17:31 +09:00
Drew DeVault
9b4bc3e36d Implement most of the legacy beatmap decoder
Missing timing points, events, and hit object decoders remain to be
written
2016-10-13 12:17:03 +09:00
Drew DeVault
32ab8f97bb Add more decoding (including full BeatmapMetadata) 2016-10-13 12:16:58 +09:00
Drew DeVault
2a3f047895 Start implementing legacy decoder 2016-10-13 12:16:48 +09:00
Drew DeVault
bc69aa1455 Initial support code for beatmap loading 2016-10-12 11:32:40 -04:00