1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-30 22:37:32 +08:00
Commit Graph

506 Commits

Author SHA1 Message Date
Dean Herbert
3e0e01abdb Move bookmark parsing logic into LegacyBeatmapDecoder 2021-11-24 16:29:51 +09:00
Dean Herbert
692e846acd Rename BeatmapSetInfo.OnlineBeatmapSetID to OnlineID to match interface 2021-11-12 17:52:44 +09:00
Dean Herbert
6a098a8634 Rename BeatmapInfo.OnlineBeatmapID to OnlineID to match interface 2021-11-12 17:46:24 +09:00
Dean Herbert
51a353e12d Rename BeatmapInfo.Version to DifficultyName to match underlying interface 2021-11-11 17:20:53 +09:00
Dean Herbert
ed07ee8c61 Update all existing usages of AuthorString/AuthorId
Unfortunately the getters need to be left in place else EF breaks.
2021-11-04 18:59:37 +09:00
Dean Herbert
67d9590a79 Fix new inspections 2021-11-04 14:02:09 +09:00
Dean Herbert
15c770e155 Remove no longer used Section.None 2021-11-02 14:01:41 +09:00
Dean Herbert
ab28948744 Default legacy decoder to General section, rather than none
This is mainly to reach parity with how stable handles such cases for
skins specifically. It was brought to our attention after finding a skin
with a malformed `\[General]` tag which did not break further parsing of
the file on stable, but did on lazer.

Note that stable defaults to an "unknown" section for beatmaps, but
functionally I can't think of a regression case from changing this to a
"general" default.
2021-11-02 13:59:13 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Dean Herbert
e92def0ba2 Fix LegacyBeatmapEncoder using incorrect path length value 2021-10-26 17:34:52 +09:00
smoogipoo
bc37cb6f43 Merge branch 'master' into no-more-difficulty-control-points-info 2021-10-08 18:41:17 +09:00
Dean Herbert
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
Dean Herbert
4c28749d73 Fix incorrect legacy decoder usage 2021-10-01 19:05:08 +09:00
Dean Herbert
3faafd7200 Rename parameter to repeatCount and add guards 2021-10-01 18:26:29 +09:00
Dean Herbert
46bafb6252 Merge branch 'master' into no-more-difficulty-control-points-info 2021-09-28 13:53:56 +09:00
Bartłomiej Dach
80197bae48
Revert not decoding legacy difficulty points on scrolling rulesets for now 2021-09-18 15:32:08 +02:00
Bartłomiej Dach
76ccdd1340
Collect and sort points from nested objects before extracting 2021-09-18 14:38:38 +02:00
Bartłomiej Dach
8026968939
Move difficulty -> effect point conversion back to decoder 2021-09-18 14:38:38 +02:00
Bartłomiej Dach
af7c2b93e6
Add encoding support for SamplesMatchPlaybackRate 2021-09-12 16:47:38 +02:00
Bartłomiej Dach
cd181452be
Add decoding support for SamplesMatchPlaybackRate 2021-09-12 16:45:27 +02:00
Dean Herbert
943e0d49f7 Handle control point flattening of nested hit objects 2021-09-10 17:29:09 +09:00
Dean Herbert
3c7a34bdbd Move mania-specific conversion to converter 2021-09-06 21:06:13 +09:00
Dean Herbert
766d789845 Rename ApproachRate to ScrollSpeed for now (to reduce complexity/confusion) 2021-09-06 21:06:13 +09:00
Dean Herbert
0e6660da30 Replace todo with permanent comment 2021-09-03 17:11:12 +09:00
Dean Herbert
d587dc6203 Populate new approach rate where required 2021-09-03 17:11:12 +09:00
Dean Herbert
a3d9ab1e2e Move approach rate to EffectControlPoint 2021-09-03 16:58:16 +09:00
Dean Herbert
4eb09ea1a9 Update decoder to also extract DifficultyControlPoints from HitObjects 2021-09-03 16:58:16 +09:00
Dean Herbert
9fa8bee094 Remove outdated TODO 2021-08-31 14:51:19 +09:00
Dean Herbert
ce0d7cce2d Merge branch 'remove-ijsonserializable' into no-more-sample-control-points-info 2021-08-31 14:40:54 +09:00
Dean Herbert
015df282fe Simplify copy operations 2021-08-30 18:32:55 +09:00
Dean Herbert
d35c4da906 Add new control point to legacy regeneration logic 2021-08-30 17:14:53 +09:00
Dean Herbert
6ee4a6526c Don't block sample points from still being added to ControlPointInfo 2021-08-30 17:14:53 +09:00
Dean Herbert
7257aae7f2 Move samples to LegacyControlPointInfo 2021-08-30 17:14:53 +09:00
Dean Herbert
da7a871afa
Update inline comment to point to new variable location
Co-authored-by: PercyDan <50285552+PercyDan54@users.noreply.github.com>
2021-08-30 16:27:24 +09:00
Dean Herbert
ee49305cad Move taiko legacy speed multiplier to osu.Game project
Allows it to be used in local case in `LegacyBeatmapEncoder`.
2021-08-30 15:13:31 +09:00
Dean Herbert
6dcd9427ac Remove bindable usage in PathControlPoint
This is quite a breaking change, but I think it is beneficial due to the large amount of usage of this class.

I originally intended just to remove the allocations of the two delegates handling the `Changed` flow internally, but as nothing was really using the bindables for anything more than a general "point has changed" case, this felt like a better direction.
2021-08-26 12:33:53 +09:00
Bartłomiej Dach
a6c2cbd2e5
Add countdown settings to beatmap info model 2021-08-24 21:55:10 +02:00
Bartłomiej Dach
d602dc9d90
Enable epilepsy warning setting persistence in encoder 2021-08-22 17:43:20 +02:00
Bartłomiej Dach
e744629a41
Fix broken obsoletion message 2021-08-16 01:01:56 +02:00
Bartłomiej Dach
7c88a1c6de
Add a way to change custom combo colours via IHasComboColours
`IHasComboColours` was already mutable (via a strange
`AddComboColours()` method) and exposing a straight list is easier to
work with. `IHasCustomColours` is also similarly externally mutable (in
a way which is not easily removable).
2021-08-15 20:06:06 +02:00
ekrctb
7f432665e5 Preserve Y position of hit objects in osu!catch 2021-07-14 14:38:38 +09:00
smoogipoo
9b0ce2999f Fix legacy encoder 2021-04-09 15:28:42 +09:00
Leon Gebler
dd902441b0 Add tests for consecutive perfect-curve segments 2021-04-06 13:32:17 +02:00
Leon Gebler
d81f270e21 Always encode perfect curves as explicit segments 2021-04-06 13:29:31 +02:00
smoogipoo
a2544100d4 Fix floating point error in slider path encoding 2021-04-06 14:10:59 +09:00
smoogipoo
d0510222ae Fix legacy beatmap encoding 2021-04-05 19:59:54 +09:00
Dean Herbert
4f8edcd336 Don't strip comments from metadata during parsin 2021-03-25 13:35:54 +09:00
Dean Herbert
5b0d75ee56 Only trim trailing spaces to avoid breakage in storyboard parsing 2021-03-18 16:30:30 +09:00
Dean Herbert
bb3c3f302a Fix skin parser not stripping whitespace before parsing 2021-03-18 15:36:11 +09:00
Dean Herbert
6d4c1ba2ae Fix a couple of new inspections introduced in Rider EAPs 2021-03-15 13:35:08 +09:00
smoogipoo
dff1d80f39 Update HasFlag usages to HasFlagFast 2021-02-25 15:38:56 +09:00
Bartłomiej Dach
b9a49d5589 Coerce undefined animation loop types to Forever 2021-01-31 15:43:58 +01:00
smoogipoo
9a22df2b88 Fix BPM multiplier not working in all cases 2021-01-12 17:50:22 +09:00
Dean Herbert
00dc98e3ab Make legacy control point's BpmMultiplier setter private again 2021-01-07 19:06:52 +09:00
Dean Herbert
afab35a31a Fix missing copy implementation in LegacySampleControlPiont 2021-01-05 13:41:31 +09:00
Dean Herbert
ba4e411422 Clone and copy ControlPointInfo when retrieving a playable beatmap 2021-01-04 16:37:07 +09:00
smoogipoo
2150cf1c52 Rename parameters 2020-12-02 10:55:48 +09:00
smoogipoo
5760e1c1fc Make HitSampleInfo immutable 2020-12-01 15:37:51 +09:00
Dean Herbert
25af091409 Fix storyboard animations of very old beatmaps playing too slow
Closes https://github.com/ppy/osu/issues/10772.
2020-11-12 17:03:43 +09:00
Dean Herbert
c5b6908e71 Always write [HitObjects] to file
I think this is expected. If not, there's an alternative solution.
2020-11-08 00:18:27 +09:00
Bartłomiej Dach
3090b6ccb5 Resolve CA2249 inspections
"Use `string.Contains` instead of `string.IndexOf` to improve
readability"
2020-11-01 18:54:44 +01:00
Bartłomiej Dach
ca5de22ca5 Resolve CA1834 inspection
"Use `StringBuilder.Append(char)` instead of
`StringBuilder.Append(string)` when the input is a constant unit string"
2020-11-01 18:50:13 +01:00
Bartłomiej Dach
e2552d4c36 Merge branch 'master' into storyboard-skin-sprites 2020-10-20 23:01:54 +02:00
Bartłomiej Dach
cdd56ece87 Read UseSkinSprites when decoding storyboards 2020-10-20 22:49:56 +02:00
Bartłomiej Dach
fd4bab85cf Merge branch 'master' into epilepsy-warning 2020-10-20 01:06:46 +02:00
Bartłomiej Dach
a9f27a71a2 Fix code formatting issues 2020-10-19 23:53:41 +02:00
Dean Herbert
cc41845f56 Add missing string function ordinal specifications 2020-10-16 12:49:31 +09:00
smoogipoo
d536a1f75e Fix breaks being culled too early 2020-10-09 21:04:56 +09:00
Craftplacer
c2ade44656 Change types back 2020-09-01 17:58:06 +02:00
Craftplacer
fb37a14d57 Update LegacyBeatmapEncoder.cs 2020-08-31 17:24:03 +02:00
Craftplacer
eafa97af17 Revert changes done to SkinConfiguration and IHasCustomColours 2020-08-31 17:23:42 +02:00
Craftplacer
7e668fc31a
Update osu.Game/Beatmaps/Formats/LegacyBeatmapEncoder.cs
Co-authored-by: Salman Ahmed <email@iisalman.me>
2020-08-30 16:11:49 +02:00
Craftplacer
1fdf8e6200 Fix xmldoc in LegacyBeatmapEncoder 2020-08-30 16:07:58 +02:00
Craftplacer
e428144f73 Use IBeatmapSkin 2020-08-30 11:34:50 +02:00
Craftplacer
00b68b050c Merge remote-tracking branch 'upstream/master' into combo-colors 2020-08-30 10:16:38 +02:00
Craftplacer
e6646b9877 Resolve review comments 2020-08-23 15:08:02 +02:00
smoogipoo
88d50b6c47 Remove alpha mangling from LegacyDecoder 2020-08-22 00:15:37 +09:00
Craftplacer
c4a7fac760 Add required parameters and other various changes 2020-08-15 22:03:24 +02:00
Craftplacer
8ffaa49839 Handle additional null case 2020-08-12 06:40:21 +02:00
Craftplacer
139c0c75f8 Add documentation for constructor 2020-08-12 06:40:21 +02:00
Craftplacer
78692dc684 Initial commit 2020-08-10 05:21:10 +02:00
Gagah Pangeran
acbf13ddc4 add epilepsy warning field 2020-07-20 17:36:42 +07:00
smoogipoo
0ea13dea55 Introduce legacy timing point fp errors 2020-07-13 17:06:00 +09:00
ekrctb
3278a1d7d8 Standardize osu!catch coordinate system
There were two coordinate systems used:
- 0..512 (used in osu!stable)
- 0..1 (relative coordinate)

This commit replaces the usage of
the relative coordinate system to
the coordinate system of 0..512.
2020-07-02 00:21:45 +09:00
Dean Herbert
d0787ddf99
Merge pull request #9369 from smoogipoo/fix-hyperdash-alpha 2020-06-26 14:46:46 +09:00
smoogipoo
4ff9a91012 Adjust at parse time instead 2020-06-25 14:15:26 +09:00
smoogipoo
6bc507d49e Increase coordinate parsing limits 2020-06-24 18:53:52 +09:00
smoogipoo
f3b5149648 Move some suggestions to warnings, resolve issues 2020-06-03 16:48:44 +09:00
Dan Balasescu
64d1b4b11b
Merge branch 'master' into move-setter-to-duration 2020-06-01 15:55:48 +09:00
Dean Herbert
81b8898272 Fix incorrect type cast in encoder 2020-05-31 22:30:55 +09:00
Dean Herbert
cbd563e80b Rename to IHasDuration 2020-05-27 12:38:39 +09:00
Dean Herbert
6b5b215299 Split out IHasPath from IHasCurve to better define hitobjects 2020-05-26 17:44:47 +09:00
Tim Oliver
c1c930c472 Fixed linting warnings 2020-04-25 13:47:20 +08:00
smoogipoo
3b805daa0b Fix hold note end time being written incorrectly 2020-04-22 16:40:07 +09:00
smoogipoo
7cdc9a599c Fix mania holds written as spinners 2020-04-22 16:27:07 +09:00
smoogipoo
d8fdd73e17 Implement IHasCurve on DrumRoll 2020-04-22 09:06:04 +09:00
smoogipoo
ea0ebc8527 Implement beatmap encoding for all legacy rulesets 2020-04-22 09:06:04 +09:00
smoogipoo
516e6a4bb1 Fix overlapping control points not written correctly 2020-04-22 09:04:44 +09:00
smoogipoo
1421e876b1 Remove implicit new combo from spinners 2020-04-22 09:04:44 +09:00
smoogipoo
d8d85e5b08 Don't output certain properties if they don't exist 2020-04-22 09:04:44 +09:00