Bartłomiej Dach
c5049b51c5
Mark normal-hitnormal sample as layered
2020-06-22 20:08:29 +02:00
Dan Balasescu
64d1b4b11b
Merge branch 'master' into move-setter-to-duration
2020-06-01 15:55:48 +09:00
smoogipoo
cac6e93575
Restore original IHasCurve implementation
2020-06-01 15:11:58 +09:00
Dean Herbert
e688033967
Fix incorrect xmldoc
2020-05-31 22:39:03 +09:00
Dean Herbert
cbd563e80b
Rename to IHasDuration
2020-05-27 12:38:39 +09:00
Dean Herbert
b8e0a6f127
Move sett from EndTime to Duration
2020-05-27 12:37:44 +09:00
Dean Herbert
6b5b215299
Split out IHasPath from IHasCurve to better define hitobjects
2020-05-26 17:44:47 +09:00
smoogipoo
44981431c5
Remove suffix hackery
2020-04-14 21:33:32 +09:00
smoogipoo
6935221463
Improve logic for CSB transfer
2020-04-14 21:05:07 +09:00
smoogipoo
58a7313091
Fix fallback for file hit samples
2020-04-13 20:09:17 +09:00
smoogipoo
cee4b005e6
Fix custom sample set 0 not falling back to default samples
2020-04-13 20:00:06 +09:00
smoogipoo
758bb3711f
Add more sane limit for maximum slider length
2020-03-11 18:07:11 +09:00
Dean Herbert
a047456354
Revert changes to make HitObject abstract
2020-02-25 19:07:15 +09:00
Dean Herbert
ffc7eaa3f2
Fix hitobjects with unknown lifetimes by enforcing non-null judgement
...
We've seen multiple cases where DrawableHitObject are stuck in the lifetime management container
due to not implementing a judgement (meaning they are never "hit" or "missed"). To avoid this going forward
CreateJudgement() must be implemented and return a non-null judgement.
This fixes BananaShower and JuiceStreams in osu!catch.
This also makes HitObject abstract and cleans up convert HitObject implementations.
2020-02-23 13:49:06 +09:00
Dean Herbert
daf5fa9da4
Throw NotSupportedException instead
2020-02-06 13:16:32 +09:00
Dean Herbert
cd6902a312
Make EndTime and RepeatCount settable
2020-02-05 17:52:51 +09:00
smoogipoo
91735ff367
Update MathUtils namespace usages
2020-01-09 13:43:44 +09:00
Dean Herbert
fa067b8799
Merge branch 'master' into legacy-beatmap-saving
2019-12-18 17:17:03 +09:00
Huo Yaoyuan
d5994ed484
CA2208: create exceptions correctly.
2019-12-17 13:00:10 +08:00
Huo Yaoyuan
c457571da6
Use index and range expressions
2019-12-15 20:17:35 +08:00
smoogipoo
c378e525da
Extract the rest of legacy enums
2019-12-10 20:23:15 +09:00
smoogipoo
e3f925f69a
Extract legacy hitobject type enum
2019-12-10 20:19:16 +09:00
smoogipoo
8012b21ffa
Extract legacy sound type enum
2019-12-10 20:18:44 +09:00
smoogipoo
ab0f2e7c6a
Apply suggested refactorings
2019-12-10 13:12:54 +09:00
smoogipoo
4905709ea4
Remove unused usings
2019-12-09 13:19:21 +09:00
smoogipoo
3ebbf62b2a
Initial game-wide update with the new SliderPath
2019-12-05 19:53:36 +09:00
Huo Yaoyuan
144812669d
Use static local functions.
2019-11-12 19:56:54 +08:00
Huo Yaoyuan
31cc0d13da
Use 'out var'.
2019-11-12 19:55:26 +08:00
Dean Herbert
b37bf4ea01
Merge remote-tracking branch 'upstream/master' into selection-hitsound-addition
2019-11-12 10:44:53 +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
smoogipoo
6fc1be64c2
Make hitobject samples a bindable list
2019-11-08 14:04:57 +09:00
Dean Herbert
51bf600ea7
Use empty hitwindows instead of null
2019-10-09 19:08:31 +09:00
Dean Herbert
f925e781a9
Refactor HitWindows for legibility
2019-09-06 15:24:14 +09:00
Dean Herbert
dbb3b583cf
Log error for invalid beatmap/storyboard events instead of thro… ( #5611 )
...
Log error for invalid beatmap/storyboard events instead of throwing
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2019-08-09 12:56:47 +09:00
Dean Herbert
7e9c100c9b
Apply new resharper refactors
2019-08-09 12:29:33 +09:00
smoogipoo
de4ad1f625
Fix bad log message
2019-08-08 14:44:49 +09:00
smoogipoo
ac2060f1cf
Throw exceptions and let LegacyDecoder handle them
2019-08-08 14:44:04 +09:00
smoogipoo
5862eb172a
Merge remote-tracking branch 'origin/master' into fix-zero-length-sliders
...
# Conflicts:
# osu.Game/Rulesets/Objects/Legacy/Catch/ConvertHitObjectParser.cs
# osu.Game/Rulesets/Objects/Legacy/ConvertHitObjectParser.cs
# osu.Game/Rulesets/Objects/Legacy/Mania/ConvertHitObjectParser.cs
# osu.Game/Rulesets/Objects/Legacy/Osu/ConvertHitObjectParser.cs
# osu.Game/Rulesets/Objects/Legacy/Taiko/ConvertHitObjectParser.cs
2019-07-05 15:48:04 +09:30
Dean Herbert
60ea3d4e1a
Fix skinning support for combobreak
2019-06-30 21:58:30 +09:00
smoogipoo
2e7922c3f9
Fix 0-length sliders not getting correct lengths
2019-06-15 23:53:28 +09:00
Dean Herbert
612db31c38
Apply newline additions
2019-04-01 12:16:32 +09:00
smoogipoo
6511234804
Fix catch spinners not being allowed for conversion
2019-03-20 13:53:22 +09:00
Dean Herbert
8f00f2290a
Log issues
2019-03-13 14:56:41 +09:00
Dean Herbert
f8b5cf8c8e
Add extra clamping of endTime to startTime
2019-03-13 13:46:41 +09:00
Dan Balasescu
a35d9ccc09
Apply clamping suggestion
...
Co-Authored-By: peppy <pe@ppy.sh>
2019-03-13 12:35:05 +09:00
Dean Herbert
93b774104a
Fix NaN handling
2019-03-13 11:30:33 +09:00
Dean Herbert
cc09ecbfcf
Increase validation performed on .osu files to avoid hard crashes
2019-03-12 20:31:15 +09:00
smoogipoo
a08086cc8a
Fix volume not being considered for file samples
2019-03-05 18:21:29 +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
Unknown
6eff79913b
remove blank lines
2019-01-11 10:34:56 +01:00
smoogipoo
f27bd3ef3e
OpenTK -> osuTK
2018-11-20 17:14:59 +09:00
smoogipoo
3aba462e52
Make Path.Distance a property again
2018-11-12 14:07:48 +09:00
smoogipoo
54ab256c8e
Instantiate a new path rather than setting properties on it
...
# Conflicts:
# osu.Game.Rulesets.Catch/Beatmaps/CatchBeatmapConverter.cs
# osu.Game.Rulesets.Catch/Objects/JuiceStream.cs
# osu.Game.Rulesets.Osu/Beatmaps/OsuBeatmapConverter.cs
# osu.Game/Rulesets/Objects/Legacy/Catch/ConvertHitObjectParser.cs
# osu.Game/Rulesets/Objects/Legacy/Mania/ConvertHitObjectParser.cs
# osu.Game/Rulesets/Objects/Legacy/Osu/ConvertHitObjectParser.cs
# osu.Game/Rulesets/Objects/Legacy/Taiko/ConvertHitObjectParser.cs
# osu.Game/Rulesets/Objects/SliderPath.cs
2018-11-12 13:50:19 +09:00
smoogipoo
ace1dce281
Merge remote-tracking branch 'origin/master' into fix-slider-samples
...
# Conflicts:
# osu.Game.Tests/Beatmaps/Formats/LegacyBeatmapDecoderTest.cs
2018-11-05 18:10:22 +09:00
smoogipoo
92d570342c
Fix sample additions not falling back to non-addition bank
2018-11-05 17:35:24 +09:00
smoogipoo
a4caaf56ef
Merge remote-tracking branch 'origin/master' into fix-slider-samples
...
# Conflicts:
# osu.Game.Tests/Beatmaps/Formats/LegacyBeatmapDecoderTest.cs
# osu.Game/Rulesets/Objects/Legacy/Catch/ConvertHitObjectParser.cs
# osu.Game/Rulesets/Objects/Legacy/ConvertHitObjectParser.cs
# osu.Game/Rulesets/Objects/Legacy/Mania/ConvertHitObjectParser.cs
# osu.Game/Rulesets/Objects/Legacy/Osu/ConvertHitObjectParser.cs
# osu.Game/Rulesets/Objects/Legacy/Taiko/ConvertHitObjectParser.cs
2018-11-05 16:38:28 +09:00
Dean Herbert
bb2f8deb18
ControlPoint -> PathControlPoint
...
Also Curve -> Path.
2018-11-01 03:56:51 +09:00
smoogipoo
47be95ce0b
Fix slider nodes using the wrong samples
2018-10-16 17:10:24 +09:00
smoogipoo
83fd251c7b
Pass sub-controlpoints as span slices
2018-10-11 17:44:25 +09:00
smoogipoo
551581e5cd
Skip invalid hitobject types, log error instead
2018-08-22 15:59:58 +09:00
smoogipoo
16d30f6756
Add explanatory comments
2018-08-17 13:31:12 +09:00
smoogipoo
eb6f1ae72c
Fix spinners providing one extra combo
2018-08-17 09:16:28 +09:00
smoogipoo
4c3e551295
Fix first object not receiving new combo
...
Note: If a normal catch fruit is the first object, it does not receive a new combo...
2018-08-15 11:48:28 +09:00
smoogipoo
31f324945e
Implement combo offsets
2018-08-15 11:47:31 +09:00
smoogipoo
da3e2cfee2
Catch/osu! spinners should have combo
2018-08-15 11:13:23 +09:00
smoogipoo
4f0305ffeb
Taiko convert hitobjects should not have combo
2018-08-15 10:58:59 +09:00
smoogipoo
83f75ac896
Mania convert hitobjects should not have combo
2018-08-15 10:57:11 +09:00
smoogipoo
8faf12579a
Fix field not being set correctly
2018-08-15 10:53:25 +09:00
smoogipoo
d2709613bc
Add combo offset to ConvertHitObjectParser
2018-08-15 10:49:45 +09:00
smoogipoo
ce77473910
Simplify usage of ConvertHitObjectParser
2018-08-15 10:24:56 +09:00
Dean Herbert
da8fc0ee5d
ToLower -> ToLowerInvariant
2018-07-25 07:37:05 +02:00
Dean Herbert
d561f54282
Merge branch 'master' into per-object-css
2018-07-23 03:01:17 +09:00
smoogipoo
c087a73f40
Implement per-hitobject custom sample banks
2018-07-20 15:12:44 +09:00
David V
9eb69a1e76
Restructure + corrects converting to support all systems
2018-07-19 17:47:55 +02:00
David V
4e72794101
Converts float to int.
2018-07-19 15:55:38 +02: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
smoogipoo
7f832e34c0
Reorder sample bank property setters
2018-07-02 14:29:18 +09:00
smoogipoo
73fac2115a
Implement hitobject sample files
2018-07-02 14:20:35 +09:00
smoogipoo
80501de4b9
Add legacy slider offsets
2018-06-27 12:09:21 +09:00
smoogipoo
f67d263596
Move ruleset-specific hitwindows to post-converted hitobjects
2018-05-17 13:35:15 +09:00
smoogipoo
bfad101d17
Standardise naming
2018-05-11 15:42:34 +09:00
smoogipoo
8563291796
Add convert mania HitWindows
2018-05-11 15:32:00 +09:00
smoogipoo
c052ee71c1
Add convert osu HitWindows
2018-05-11 15:31:36 +09:00
smoogipoo
9c65d347ba
Add convert taiko HitWindows
2018-05-11 15:31:12 +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
32a74f95a5
Normalize all the line endings
2018-04-13 18:26:38 +09:00
Dean Herbert
217dd2ecdc
Initial push for better decoders
2018-03-09 21:24:15 +09:00
smoogipoo
8a15d4e677
Fix linear perfect-curves not being cased to CurveType.Linear
...
Fixes #2151 .
2018-03-02 18:21:40 +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
smoogipoo
8c90abe0dc
Make slider control points relative to start position
2018-02-23 20:59:27 +09:00
smoogipoo
d37844c068
Clean up off-by-one offsets from repeat-related properties
2018-01-23 13:37:25 +09:00
Dean Herbert
37d393bca0
Update licence headers
2018-01-05 20:21:19 +09:00
smoogipoo
d288d8a51f
Remove SampleInfoList
2017-12-25 15:40:01 +09:00
smoogipoo
6a29f6020a
Make HitObjects construct nested hit objects
2017-12-22 21:42:54 +09: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
Dean Herbert
2610cadd3c
CI fixes
2017-11-21 12:11:29 +09:00
Dean Herbert
4f6263ef86
Make many internal classes and methods public
...
This is important when using dynamic compiling to rapidly iterate. Until we actually split projects out into pieces (like the abstract ruleset project we have talked about) there is no advantage to using internal in the osu! game code.
2017-11-21 12:06:16 +09:00