1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-25 08:52:56 +08:00
Commit Graph

143 Commits

Author SHA1 Message Date
Dean Herbert
c0abce918f Add enum to snap method as alternative to mutliple nested invocations 2022-05-12 16:19:07 +09:00
Dean Herbert
c7e9bd7751
Merge branch 'master' into catch-editor-per-object-sv 2022-05-09 19:18:01 +09:00
Dan Balasescu
45c6f5edef
Merge pull request #18158 from ekrctb/fix-banana-shower-placement-negative-duration
Fix duration is negative while placing banana shower in catch editor
2022-05-09 11:26:06 +09:00
ekrctb
158f134260 Fix duration is negative while placing banana shower in catch editor.
Timeline blueprint is glitched when the hit object has negative duration.
Negative duration is unwanted anyways so placement implementation is fixed instead of supporting it in timline blueprint.
2022-05-09 00:01:05 +09:00
ekrctb
483a611c41 Fix BeginPlacement location. 2022-05-08 23:10:51 +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
ekrctb
125628dd20 Fix hit object not shown in timline while placement is waiting 2022-05-08 15:52:14 +09:00
Dean Herbert
f6fc926f1a Add xmldoc and rename methods in IPositionSnapProvider for legibility 2022-05-05 15:58:21 +09:00
Salman Ahmed
b6d2ca7709 Clarify TODO comment 2022-04-28 10:57:14 +03:00
Salman Ahmed
bfc6bfc91b Let CatchHitObjectComposer inherit from DistancedHitObjectComposer and hide control 2022-04-28 06:44:50 +03:00
Salman Ahmed
8ed39009fd Encapsulate distance spacing control handling to a "distance toolbox composite"
Encapsulated in a way which can allow further extensibility for the
right-side area of toolboxes.
2022-04-24 08:33:03 +03:00
Salman Ahmed
19ee05c232 Add "distance spacing" multiplier for osu! ruleset
While osu!catch also implements a distance snap grid, it doesn't rely on
`GetBeatSnapDistanceAt` (unlike osu!), therefore it can't have the
"distance spacing" multiplier yet.
2022-02-15 02:21:53 +03:00
Dean Herbert
5c0494f3ba Remove unnecessary precondition check and disallow vertical catch flips for now 2022-01-06 14:39:29 +09:00
Dean Herbert
6779503e57 Refactor logic to avoid TimelineSelectionHandler having to block base calls 2022-01-05 16:56:54 +09:00
Dean Herbert
866ae3472b Add global flip hotkeys 2022-01-05 16:48:07 +09:00
Darius Wattimena
d370f64ac3 Changed finding the spinner gaps via a dictionary instead of getting the thresholds via an array 2021-11-10 19:58:36 +01:00
Darius Wattimena
bd5caceeb1 Fixed typo in banana shower gap check message 2021-11-10 00:23:14 +01:00
Darius Wattimena
5d8f35f3c9 Code cleanup and added tests for the spinner check 2021-11-10 00:16:29 +01:00
Darius Wattimena
fbfed16756 Started on implementing a spinner gap check for catch 2021-11-09 23:05:25 +01:00
ekrctb
393d118eef Fix compilation failure overlooked in merge 2021-10-26 20:20:43 +09:00
ekrctb
e5050b90a5 Don't assume catcher dash speed is 2x the walk speed 2021-10-26 20:09:48 +09:00
ekrctb
de7a908be2 Cut distance snap lines at playfield border in catch editor 2021-10-26 14:51:52 +09:00
ekrctb
c5d765029c Don't compute source object for distance snap grid when it is not enabled 2021-10-26 11:17:04 +09:00
ekrctb
b7a719de71 Rename method 2021-10-26 11:14:12 +09:00
ekrctb
068217557e Add doc comment on catch distance snap grid 2021-10-26 11:12:10 +09:00
ekrctb
9f49a1df8b Handle the case of cursor below the start time of distance snap 2021-10-26 11:00:55 +09:00
ekrctb
865be5a10b Fix distance snap grid rendering inverted when out of bounds 2021-10-26 11:00:44 +09:00
ekrctb
2c92f1a0b7 Use array for fixed-size list 2021-10-26 10:41:17 +09:00
ekrctb
6d1cd0a3a1 Add distance snapping to catch editor 2021-10-25 16:37:44 +09:00
ekrctb
60df0151c0 Add very basic distance snap grid for catch editor 2021-10-25 15:25:59 +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
a92d499d7a Convert usages of BeatmapDifficulty to IBeatmapDifficultyInfo 2021-10-01 16:55:50 +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
Dean Herbert
a7d6c682de
Merge pull request #13983 from ekrctb/juice-stream-placement
Add initial implementation of juice stream placement
2021-07-23 13:52:25 +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
d49d303bae Call GetContainingInputManager at LoadComplete 2021-07-23 10:10:55 +09:00
ekrctb
9fff304554 Implement reversing of selected pattern in catch editor 2021-07-22 17:00:08 +09:00
ekrctb
dc90e4d24c EditorBeatmap.SelectedHitObjects -> SelectedItems (same thing) 2021-07-22 16:52:47 +09:00
ekrctb
64102d2972 Add initial implementation of juice stream placement 2021-07-22 15:47:23 +09:00
ekrctb
2beef89c23 Add empty juice stream placement blueprint (no implementation) 2021-07-22 15:47:23 +09:00
Dean Herbert
e8aaf4df16
Merge pull request #13961 from ekrctb/catch-editor-flip
Implement horizontal flipping of hit objects in catch editor
2021-07-22 15:27:59 +09:00
Dean Herbert
1d2fdd9841
Merge pull request #13937 from ekrctb/selection-editable-path
Add initial implementation of juice stream path editing
2021-07-22 14:48:02 +09:00
Dean Herbert
2151c1863e Rename variables for catch-specific casting to avoid any confusion 2021-07-22 14:07:32 +09:00
ekrctb
19657cd00e Guard against empty range in PositionRange 2021-07-22 13:29:32 +09:00
ekrctb
7b6981c632 Don't show the flip button when flipping is a no-op 2021-07-22 13:29:32 +09:00
ekrctb
d93bf5be80 Don't handle mouse down at fixed vertices 2021-07-22 12:58:39 +09:00
Dean Herbert
73866c2837
Merge branch 'master' into catch-editor-flip 2021-07-21 19:54:39 +09:00
ekrctb
d2d3214d47 Implement horizontal flipping of hit objects in catch editor 2021-07-21 16:07:02 +09:00
ekrctb
4c8b9c168e Use added position range computation in hit object move handling 2021-07-21 16:06:34 +09:00
ekrctb
60f876511d Add function of computing position range occupied by hit objects 2021-07-21 16:06:34 +09:00
ekrctb
cd447f0305 Add some doc comment to JuiceStreamSelectionBlueprint 2021-07-21 13:27:07 +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
50f9e5f362 Replace usage of CatcherArea.MovableCatcher with Catcher 2021-07-19 19:52:40 +09:00
ekrctb
c347584851 Use added utility function 2021-07-19 13:33:46 +09:00
ekrctb
70c9d7105f Add a function to compute hit object position in catch editor 2021-07-19 13:33:22 +09:00
Bartłomiej Dach
c5011865fc Invert strangely negated condition 2021-07-10 11:23:38 +02:00
Bartłomiej Dach
494089e402 Fix up English in comment 2021-07-10 11:22:54 +02:00
ekrctb
995ef953c6 Modify comment 2021-07-09 15:13:54 +09:00
ekrctb
7e14679606 Expand the selection movement limiting code with detailed comments 2021-07-09 12:58:08 +09:00
ekrctb
c937c45360 Don't move selected objects outside the playfield in catch editor 2021-07-08 18:49:32 +09:00
ekrctb
f1aa99e103 Fix catch selection blueprint not displayed after copy-pasted 2021-07-07 21:03:26 +09:00
ekrctb
7d76fcf2b6 Fix hit object placement not receiving input when outside playfield
The input area is vertical infinite, but horizontally restricted to the playfield due to `CatchPlayfield`'s `ReceivePositionalInputAt` override.
2021-07-07 16:18:21 +09:00
ekrctb
115376c538 Add playfield border to catch editor 2021-07-07 16:14:45 +09:00
Dean Herbert
fd46d30f29
Merge pull request #13795 from ekrctb/juice-stream-selection-1
Add path visualization to juice stream selection blueprint
2021-07-07 15:24:39 +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
0fa7716ced Show path of juice stream in selection blueprint 2021-07-06 16:46:12 +09:00
ekrctb
7ef7c5148f Add ScrollingPath for visualization of the real path of a JuiceStream 2021-07-06 16:41:53 +09:00
ekrctb
175d666906 Use getters of OriginalX and XOffset 2021-07-06 15:32:32 +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
69c8865a04 Use more consistent method names 2021-06-23 10:19:25 +09:00
ekrctb
a9b8736f70 Order field and properties consistently 2021-06-23 10:18:44 +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
1a7bfafc69 Add icon for composition tools 2021-06-23 09:34:11 +09:00
ekrctb
21331d3a13 Disable caught object stacking in editor 2021-06-22 17:20:13 +09:00
ekrctb
e8907b53a8 Add basic banana shower placement tool 2021-06-22 17:20:13 +09:00
ekrctb
4d7a877795 Add basic fruit 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
ekrctb
c28cd5dd75 Add basic juice stream selection blueprint 2021-06-22 17:20:13 +09:00
ekrctb
b8ccfe6ea7 Add basic selection blueprint movement logic 2021-06-22 17:20:13 +09:00
ekrctb
fbe44dac34 Add empty catch hit object composer 2021-06-22 17:20:13 +09:00