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
smoogipoo
f2e811928b
Rework slider hackery to not overwrite Samples
2021-04-09 15:28:08 +09:00
smoogipoo
7d291ed7d7
Don't serialise OriginalSamples
2021-04-08 20:57:50 +09:00
smoogipoo
7713c8a45f
Add support for sliderwhistle
2021-04-08 20:20:09 +09:00
Dan Balasescu
cb4d119f23
Merge pull request #11740 from peppy/editor-fix-slider-samples-new-placement
...
Fix newly placed sliders in the editor not playing hitsounds
2021-02-12 13:31:00 +09:00
Dean Herbert
db79080bc4
Fix GetNodeSamples potentially returning a live reference and overwriting existing samples
2021-02-11 17:14:49 +09:00
smoogipoo
2fcc4213e1
Rename IgnoreJudgement -> OnlyJudgeNestedObjects
2021-02-10 18:46:26 +09:00
smoogipoo
3aa3692ed4
Disable snaking out when tracking is disabled
2021-02-05 15:56:13 +09:00
smoogipoo
03b7817887
Add flags to return to classic slider scoring
2021-02-03 22:12:20 +09:00
smoogipoo
5760e1c1fc
Make HitSampleInfo immutable
2020-12-01 15:37:51 +09:00
smoogipoo
696e3d53af
Fix slider samples being overwritten by the last node
2020-10-09 20:50:09 +09:00
Dean Herbert
ad4cac13ac
Add preempt adjustment and fade in first end circle with slider to match stable
2020-10-02 15:21:52 +09:00
Dean Herbert
2427ae43da
Share fade in logic with repeats
2020-10-02 14:50:03 +09:00
Dean Herbert
a8b405791a
Fix non-convert slider and spinner serialization
2020-09-14 17:32:32 +09:00
Dan Balasescu
64d1b4b11b
Merge branch 'master' into move-setter-to-duration
2020-06-01 15:55:48 +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
4719fcc291
Actually use the cancellation token
2020-05-15 18:17:39 +09:00
smoogipoo
98125102a7
Add cancellation token support to CreateNestedHitObjects()
2020-05-15 18:07:41 +09:00
smoogipoo
0d20292992
Fix ticks/spinners contributing to notelock
2020-03-30 16:14:56 +09:00
Dean Herbert
0c1f385d5a
Add OsuIgnoreJudgement to get correct result type
2020-03-19 18:19:10 +09:00
Dean Herbert
114b46c4f0
Change slider tail to give repeat judgement; slider itself to give none (managed by head already)
2020-03-19 15:01:14 +09:00
Dean Herbert
08b5ab8ec4
SliderRepeatPoint -> SliderRepeat
2020-03-19 14:42:02 +09:00
Dean Herbert
94c3ffb6e5
Fix slider ticks contributing to accuracy
2020-03-19 14:36:15 +09:00
smoogipoo
958c891d15
Update with framework-side bindable list changes
2020-02-17 15:06:14 +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
a554ca728b
Don't reuse the same control point references
2019-12-16 15:27:54 +09:00
smoogipoo
883d5bc11d
Remove automatic slider path offsetting
2019-12-09 17:54:22 +09:00
smoogipoo
fa1468325e
Refactor hitobjects to remove default control point
2019-12-09 17:48:27 +09:00
smoogipoo
4905709ea4
Remove unused usings
2019-12-09 13:19:21 +09:00
smoogipoo
b9d12e5fe4
Fix nested hitobjects not updating
2019-12-06 20:53:40 +09:00
smoogipoo
16f8341a02
Handle control point positional updates within SliderPath
2019-12-06 18:49:01 +09:00
smoogipoo
3ebbf62b2a
Initial game-wide update with the new SliderPath
2019-12-05 19:53:36 +09:00
Dean Herbert
a43b0ee01b
Apply naming and styling changes
2019-11-12 10:45:46 +09:00
smoogipoo
df31acb294
Fix slider nested hitobject samples not getting updated
2019-11-08 15:43:34 +09:00
smoogipoo
6fc1be64c2
Make hitobject samples a bindable list
2019-11-08 14:04:57 +09:00
smoogipoo
7a3ebcd0b1
Fix path changes not updating tail circle
2019-10-31 15:52:38 +09:00
smoogipoo
5f8d46f666
Fix sliders not moving with stacking change
2019-10-21 16:24:06 +09:00
Dean Herbert
f3ed71d336
Move scoring distance constant to a central/shared location
2019-10-17 16:36:47 +09:00
Dean Herbert
51bf600ea7
Use empty hitwindows instead of null
2019-10-09 19:08:31 +09:00
smoogipoo
c5540048ab
Fix tail circle not moving with slider position changes
2019-10-01 19:39:06 +09:00
smoogipoo
45f2bcc440
Fix combo bindings not being bound to nested hitobjects
2019-09-26 17:39:19 +09:00
Dean Herbert
f925e781a9
Refactor HitWindows for legibility
2019-09-06 15:24:14 +09:00
smoogipoo
f3656475de
Return null hitwindows for non-time-based objects
2019-09-02 16:10:30 +09:00
Dean Herbert
90b1fe81f3
Update cached usage in line with framework changes
2019-08-09 19:12:29 +09:00
Dean Herbert
60ea3d4e1a
Fix skinning support for combobreak
2019-06-30 21:58:30 +09:00
Dean Herbert
c39c37a18d
Apply more missed cases
2019-04-01 12:44:46 +09:00
Dean Herbert
63fea65c0c
Clarify repeat index
2019-03-11 14:53:21 +09:00
Dean Herbert
489153579a
Add xmldoc and clarify struct variables
2019-03-11 14:36:29 +09:00
Dean Herbert
93a999396e
LegacyFinalTick -> LegacyLastTick to match existing variable
2019-03-08 20:13:11 +09:00
Dean Herbert
165a353a83
Add extensive commenting about LegacyLastTick usage
2019-03-08 20:12:48 +09:00
Dean Herbert
355705f0a5
Fix legacy tick handling
2019-03-08 19:57:30 +09:00
Dean Herbert
973f29b765
Apply review
2019-03-08 15:14:57 +09:00
Dean Herbert
551380dd42
Extract slider tick creation so it can be shared with osu!catch
2019-03-08 14:46:26 +09:00
Dean Herbert
26d53d06a9
Fix remaining issues
2019-02-28 13:31:40 +09:00
smoogipoo
d8c55bc729
Adjust namespaces
2019-02-21 19:05:52 +09:00
Dean Herbert
8617aaa2a7
Update licence header (and remove year)
2019-01-24 17:43:03 +09:00
smoogipoo
e44bc57a3d
Fix minDistanceFromEnd using seconds rather than milliseconds
...
Velocity in stable is defined as distance per SECOND, while lazer defines it as distance per MILLISECOND.
2019-01-15 19:18:56 +09:00
Roman Kapustin
4b5fc85875
Use Find instead of FirstOrDefault
2019-01-05 19:35:33 +03:00
smoogipoo
3fa5a33fb1
Inline const
2019-01-03 18:58:07 +09:00
smoogipoo
273b14b19c
Add a maximum length for slider ticks to be generated
2019-01-03 18:51:47 +09:00
smoogipoo
c56d8b75c1
Cache slider's endposition
2019-01-03 17:43:10 +09:00
smoogipoo
f27bd3ef3e
OpenTK -> osuTK
2018-11-20 17:14:59 +09:00
smoogipoo
050af88be9
Fix post-merge issues
2018-11-14 14:29:22 +09:00
smoogipoo
29422345f7
Merge remote-tracking branch 'origin/master' into fix-mask-disposal
...
# Conflicts:
# osu.Game.Rulesets.Osu/Edit/Blueprints/Sliders/Components/PathControlPointVisualiser.cs
# osu.Game.Rulesets.Osu/Edit/Blueprints/Sliders/Components/SliderCirclePiece.cs
# osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs
# osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderHead.cs
# osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderTail.cs
# osu.Game.Rulesets.Osu/Objects/Slider.cs
2018-11-14 14:03:25 +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
cc8531790a
Use bindables for hitobject events
2018-11-09 13:58:46 +09:00
smoogipoo
c6350c6efd
Remove IHasEditablePosition
2018-11-08 13:03:11 +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
acd703c27b
Make sliders respond to control point changes
2018-10-29 15:36:43 +09:00
smoogipoo
b0f5ace0e8
Implement slider control point visualisation
2018-10-29 15:29:34 +09:00
smoogipoo
9656186b64
Make the hitobject masks move within their placement/selection
...
# Conflicts:
# osu.Game.Rulesets.Osu/Edit/Masks/HitCircleMasks/Components/HitCircleMask.cs
# osu.Game.Rulesets.Osu/Edit/Masks/HitCircleMasks/HitCircleSelectionMask.cs
# osu.Game.Rulesets.Osu/Edit/Masks/HitCirclePlacementMask.cs
# osu.Game/Rulesets/Edit/PlacementMask.cs
2018-10-26 13:45:31 +09:00
Dean Herbert
cd718812b2
Merge branch 'master' into tighten-diffcalc-tolerances
2018-10-18 14:01:47 +09:00
smoogipoo
e8ce5a7e6c
Fix crashes when manually creating sliders
2018-10-16 18:27:09 +09:00
smoogipoo
47be95ce0b
Fix slider nodes using the wrong samples
2018-10-16 17:10:24 +09:00
smoogipoo
657bd5e371
Add some xmldocs
2018-10-15 12:32:59 +09:00
smoogipoo
2f943e77aa
Make Velocity and TickDistance private set
2018-10-15 12:31:52 +09:00
smoogipoo
26b91c96fb
Fix wrong number of ticks on some legacy beatmaps
2018-10-15 12:27:58 +09:00
smoogipoo
83fd251c7b
Pass sub-controlpoints as span slices
2018-10-11 17:44:25 +09:00
smoogipoo
3a7488767c
Make HitObject not store the judgement
2018-08-06 11:50:18 +09:00
smoogipoo
2a4994e5ce
Make hitobjects only have one judgement + result
2018-08-03 15:38:48 +09:00
smoogipoo
4548d2c87f
Make Rulesets.Osu use the new judgement result structure
2018-08-02 20:36:38 +09:00
smoogipoo
462f1033c0
Migrate Rulesets.Osu to the new judgement system
2018-08-02 15:21:23 +09:00
Dean Herbert
9d4bc7b630
Fix combo index being wrong
2018-06-29 01:34:47 +09:00
smoogipoo
0366b0f081
The tail circle will always be the last hitobject
2018-06-27 12:09:40 +09:00
smoogipoo
80501de4b9
Add legacy slider offsets
2018-06-27 12:09:21 +09:00
Dean Herbert
32a74f95a5
Normalize all the line endings
2018-04-13 18:26:38 +09:00
Dean Herbert
cb3d0db555
Move combo colours completely out of HitObjects
2018-03-20 15:50:12 +09:00
smoogipoo
4a48136e4f
Make hitobject positions adjustable
2018-03-09 23:12:34 +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
066abfbdbc
Rename PositionAt -> CurvePositionAt to represent its new meaning
2018-02-24 02:43:36 +09:00
smoogipoo
8c90abe0dc
Make slider control points relative to start position
2018-02-23 20:59:27 +09:00
smoogipoo
08bb25347c
Make DrawableSlider contain the slider body
2018-02-23 20:27:05 +09:00
smoogipoo
f903e6d241
Fix stacking not working with sliders
...
Fixes #2093 .
2018-02-21 17:46:45 +09:00
smoogipoo
c213e58eff
Make slider tails not play hitsounds
2018-02-08 14:40:35 +09:00
Dan Balasescu
cf665b717f
Merge branch 'master' into starrating-fix
2018-02-01 18:44:04 +09:00
Dan Balasescu
39e626f29e
Merge branch 'master' into fix-ticks-appearing-late
2018-02-01 18:28:42 +09:00