Bartłomiej Dach
f3617eadad
Fix editing juice stream path sometimes changing its duration
...
I'm not *super* sure why this works, but it appears to, and my educated
guess as to why is that it counteracts the effects of a change in the SV
of the juice stream by artificially increasing or decreasing the
velocity when running the appropriate path conversions and expected
distance calculations. The actual SV change takes effect on the next
default application, which is triggered by the `Update()` call at the
end of the method.
2024-07-22 15:14:45 +02:00
Bartłomiej Dach
56af009e77
Fix EditablePath.UpdateHitObjectFromPath()
not automatically updating object
...
This is important because the editable path conversions heavily depend
on the value of `JuiceStream.Velocity` being correct. The value is only
guaranteed to be correct after an `ApplyDefaults()` call, which is
triggered by updating the object via `EditorBeatmap`.
2024-07-22 14:50:25 +02:00
Bartłomiej Dach
6b3c1f4e47
Unify juice stream piece UX with osu! control point pieces
...
- Use same hover state
- Use shift-right click for quick delete rather than shift-left click
2024-07-22 13:30:15 +02:00
Bartłomiej Dach
47964f33d7
Fix catch juice stream vertex remove operation not undoing
2024-07-22 13:21:49 +02:00
Bartłomiej Dach
64381d4087
Fix catch juice stream vertex add operation not undoing
2024-07-22 12:18:53 +02:00
Thomas Müller-Höhne
926636cc03
Generalize Bezier curves to BSplines of Nth degree
2023-11-11 13:32:53 +01:00
Dean Herbert
1a37543d28
Rename SliderVelocity
to SliderVelocityMultiplier
to distinguish from Velocity
2023-09-06 19:01:08 +09:00
OliBomby
d2d81bb82c
remove redundant zero check in sv calculation
2023-05-02 12:29:11 +02:00
OliBomby
79f3cfec91
fix 0 velocity juicestream
2023-04-30 16:43:26 +02:00
OliBomby
c44f71a737
remove all regular usage of DifficultyControlPoint
2023-04-26 17:55:38 +02:00
ekrctb
d664a66a37
Remove redundant canBeNull: true
2023-01-15 23:11:59 +09:00
ekrctb
a75fc5108a
Remove #nullable disable from Catch.Edit namespace
2023-01-15 17:29:32 +09:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Dean Herbert
105aa01e7d
Update usages of RemoveInternal
2022-08-29 15:57:40 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
ekrctb
7daa3d8eb7
Remove now-redundant velocity calculation
...
Velocity is computed from the up-to-date SV now.
2022-05-08 22:36:33 +09:00
ekrctb
37c9aac49f
Make ScrollingPath
use time instead of distance.
...
This is consistent as other components now use time instead of distance.
2022-05-08 22:36:33 +09:00
ekrctb
0e98bb28bd
Fix wrong resampling times are used for juice stream path
2022-05-08 22:36:33 +09:00
ekrctb
9ffa90602b
Automatically set slider velocity from juice stream path
2022-05-08 22:36:33 +09:00
ekrctb
4e0155fa4b
Make JuiceStreamPath
time based instead of distance based.
...
And remove the "slope limit" feature.
TODO: for a juice stream with a large slope, the slider velocity of the hit object should be changed.
2022-05-08 22:36:33 +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
ekrctb
bd3386e770
Fix previously placed vertices in juice stream placement
...
A different UX than not fixing vertices.
2021-07-23 10:18:37 +09:00
ekrctb
4509c8bcfb
Use the more consistent lastVertex
, with a comment
2021-07-23 10:13:55 +09:00
ekrctb
64102d2972
Add initial implementation of juice stream placement
2021-07-22 15:47:23 +09:00
ekrctb
d93bf5be80
Don't handle mouse down at fixed vertices
2021-07-22 12:58:39 +09:00
ekrctb
cc0110aa52
Add doc comment to VertexState
2021-07-21 13:17:18 +09:00
ekrctb
97fba5df58
Use existing method for the same code
2021-07-21 12:59:42 +09:00
ekrctb
ca3dfb2498
Fix comment
2021-07-21 12:53:48 +09:00
ekrctb
8586458704
Implement vertex deletion in juice stream selection blueprint
2021-07-19 22:53:32 +09:00
ekrctb
08f8d4e65e
Implement vertex addition in juice stream selection blueprint
2021-07-19 22:53:32 +09:00
ekrctb
8cc1630655
Add initial juice stream editing
2021-07-19 22:53:32 +09:00
ekrctb
c347584851
Use added utility function
2021-07-19 13:33:46 +09:00
ekrctb
7b21d1ecf9
Fix juice stream outline disappears away when start position is outside the screen.
2021-07-06 19:50:32 +09:00
ekrctb
2ba3003934
Add nested fruit outlines to juice stream selection blueprint
2021-07-06 17:15:51 +09:00
ekrctb
7833a1b09a
Allow FruitOutline
to be used for nested hit objects
2021-07-06 17:15:27 +09:00
ekrctb
7ef7c5148f
Add ScrollingPath
for visualization of the real path of a JuiceStream
2021-07-06 16:41:53 +09:00
ekrctb
125e143401
Fix banana shower placement outline initial opacity
2021-06-23 10:27:40 +09:00
ekrctb
5a5cb39c9f
Add some comments about logic
2021-06-23 10:27:40 +09:00
ekrctb
e96814bb86
Remove comment about using skin for blueprint
...
As the current game-wise direction is not using skin elements in blueprints.
The design of the blueprint could be improved somehow, though.
2021-06-23 09:37:30 +09:00
ekrctb
e8907b53a8
Add basic banana shower placement tool
2021-06-22 17:20:13 +09:00
ekrctb
0078d7dc18
Add outline to selected fruit
2021-06-22 17:20:13 +09:00