1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 20:27:30 +08:00
Commit Graph

167 Commits

Author SHA1 Message Date
Dylan Nantz
5dd0aaccef Merge branch 'master' of https://github.com/ppy/osu into 18469 2023-01-13 09:54:29 -05:00
Dylan Nantz
e38075c4ef Use PlacementState to check juice stream placement 2023-01-13 09:37:23 -05:00
Dean Herbert
4a7d7c6ed9 Use MaxBy in all locations that can and update inspection level to match dotnet-build 2022-12-19 16:47:10 +09:00
Dylan Nantz
4ab7ef9af9 Show distance snap for first juice stream object. Fixes #18469 2022-12-05 15:12:50 -05:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
andy840119
4d4d7cf863 Remove nullable disable annotation in the cache ruleset. 2022-11-05 16:49:55 +08:00
Dean Herbert
f8a4af5e0e Add osu!catch read-distance-spacing implementation 2022-10-26 13:45:06 +09:00
Dean Herbert
7d59bc6e2f Merge branch 'grid-momentary-shortcuts' into read-current-distance-snap 2022-10-26 13:28:04 +09:00
Dean Herbert
54ae16badc Move distance snap toggle button implementation to DistancedHitObjectComposer 2022-10-26 13:27:23 +09:00
Dean Herbert
2f0283e4d4 Simplify logic with new multi-grid snap support 2022-10-25 14:22:30 +09:00
Dean Herbert
645a84b1d6 Display current distance snap and add button to update to use it 2022-10-21 22:58:36 +09:00
Dean Herbert
1e09a21279 Remove unused using statement 2022-10-21 19:55:58 +09:00
Dean Herbert
16f5c2a7c6 Apply same fix to osu!catch composer 2022-10-21 17:15:36 +09:00
Dean Herbert
830b92d3ae Add momentary shortcuts to toggle grid/distance snap
Matching osu!stable. I use these quite a lot while mapping and I'm sure
others do as well.

Hold `Shift` = invert grid snap
Hold `Alt` = invert distance snap
2022-10-19 20:06:41 +09:00
Dean Herbert
ccbac08985
Merge pull request #20593 from ekrctb/catch-editor-height
Allow arbitrary height catch editor
2022-10-18 12:10:49 +09:00
Dean Herbert
1778120f3e Add inline comment mentioning binding issues 2022-10-18 12:10:30 +09:00
Dean Herbert
f41b79688f Avoid casting by accepting all Playfields but throwing on a bad choice 2022-10-11 16:54:41 +09:00
ekrctb
6ab29a62d0 Anchor drag box on time (catch, mania)
Not done for taiko because I cannot figure out how it should work with the overlapping scroll algorithm.
2022-10-11 14:23:17 +09:00
ekrctb
9247ff3e0a Allow changing scrolling speed in catch editor
Scroll speed is not saved and doesn't affect gameplay.
It is purely a feature for a better visualization.
It is currently bind to scroll speed increase/decrease.
Default F3/F4 crashes with editor shortcuts so it has to be changed.
2022-10-06 18:06:16 +09:00
ekrctb
e8cd9a5d11 Allow arbitrary height catch editor
Useful because can see more notes at once.
2022-10-06 17:26:03 +09:00
Dean Herbert
105aa01e7d Update usages of RemoveInternal 2022-08-29 15:57:40 +09:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dan Balasescu
64a371638e
Merge pull request #18236 from peppy/snap-unification
Add `enum` to snap method as alternative to multiple nested invocations
2022-05-20 11:35:05 +09:00
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