1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-17 20:02:58 +08:00
Commit Graph

197 Commits

Author SHA1 Message Date
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