1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-11 23:07:26 +08:00
Commit Graph

976 Commits

Author SHA1 Message Date
Dan Balasescu
a39bd634c4
Merge pull request #21405 from LumpBloom7/Editor-DrawableRuleset-Dependencies
Provide DrawableRulesetDependencies from HitObjectComposer
2022-12-02 17:31:31 +09:00
Dean Herbert
8cf89fcb81 Use Highlight1 instead of dull grey 2022-12-02 15:30:47 +09:00
Dean Herbert
f34a79b1a9 Set a better default colour for timeline blueprints when no colour information is available 2022-12-01 17:03:53 +09:00
Derrick Timmermans
5c8fce1c08
Remove extra blank line 2022-11-30 13:05:14 +01:00
Derrick Timmermans
6a61e70766
Expose Ruleset from HitObjectComposer instead 2022-11-30 12:17:58 +01:00
Dean Herbert
4215f4f5d7 Merge branch 'master' into Editor-DrawableRuleset-Dependencies 2022-11-30 17:42:46 +09:00
Derrick Timmermans
70c320b2e8
Provide ruleset dependencies only to Compose Placement Blueprints 2022-11-27 21:43:33 +01:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Salman Ahmed
90cd386323 Fix timeline potentially scrolling at extents while not dragging 2022-11-18 09:43:16 +03:00
Salman Ahmed
7a28a7f2a0 Move IGameplaySettings override to compose screen to keep test mode unaffected 2022-11-17 01:45:16 +03:00
Dean Herbert
f6d93fcd5a Fix editor hard crash when beatmap file specified out-of-range timeline zoom value 2022-11-07 12:54:02 +09:00
Dean Herbert
2a88409dfe Fix time snap of sliders not matching when SV is not 1.0x
This regressed with https://github.com/ppy/osu/pull/20850 because the
function was used in other places which expect it to factor slider
velocity into the equation.

Rather than reverting, I've added a new argument, as based on the method
naming alone it was hard to discern whether SV should actually be
considered.

The reason for the change in #20850 was to avoid the SV coming in from a
reference object which may not have a correct SV in the first place. In
such cases, passing `false` to the function will give the expected
behaviour.
2022-11-01 15:12:58 +09:00
andy840119
a753369d3e Reuse function TimeAtPosition() and PositionAtTime(). 2022-10-30 17:21:50 +08:00
Dean Herbert
2016d33055 Offset start of distance snap grid drawing if reference object's start time doesn't align
Closes #20938.
2022-10-26 13:11:26 +09:00
Dean Herbert
1d5df15027 Add ability to use Shift+Number to set current beat divisor in editor 2022-10-24 15:20:15 +09:00
Dean Herbert
849b50a38f
Use ToUpperInvariant for added safety
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-10-21 00:16:33 +09:00
Dean Herbert
372a655be1 Ensure placement uses currently selected bank 2022-10-19 21:39:51 +09:00
Dean Herbert
50e24ddd87 Add icon and radio button logic 2022-10-19 21:35:08 +09:00
Dean Herbert
9222cb379f Add sample bank suport to editor selection handler 2022-10-19 20:53:18 +09:00
Dean Herbert
c3902728f6 Reorganise beatmap snap control to work better in compact mode 2022-10-13 15:47:54 +09:00
Dean Herbert
a525b3f9f8 Reorder and rename toggle checkboxes to fit better 2022-10-13 15:44:33 +09:00
Dean Herbert
ab24e87013
Merge branch 'master' into improve-drag-selection 2022-10-12 13:20:17 +09:00
ekrctb
fcb9e2cc00 Refactor blueprint container drag code 2022-10-11 22:39:53 +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
1a24762f9b Improve drag box selection logic
`AllowDeselectionDuringDrag` is remove.
Instead, selected hit objects are not automatically deselected
when clock is seeked to a later time (the hit object is dead).
Update drag box selection even if mouse is not moved
(in case clock is running or scroll wheel is used).
2022-10-11 14:11:45 +09:00
ekrctb
6164e0896a Don't reselect already selected items in SelectAll 2022-10-07 10:46:07 +09:00
ekrctb
29cc554632 Ensure blueprint is added for selected hit object 2022-10-06 13:59:54 +09:00
ekrctb
0d448e6cc8 Fix items without blueprints are not deselected 2022-10-06 13:50:56 +09:00
ekrctb
b0213c29e9 Use mid time instead of start time
It is closer to the old blueprint-based behavior
2022-10-05 22:19:22 +09:00
ekrctb
6753f6b01a Move AllowDeselectionDuringDrag down
Because it is now ignored in the timeline implementation anyways
2022-10-05 22:14:11 +09:00
ekrctb
3108c42ece Fix inspect issues 2022-10-05 22:04:43 +09:00
ekrctb
00b3d97f69 Improve timeline selection performance
But selecting a large number of hit objects is still very slow
because all DHOs must be added
and also `AddBlueprintFor` has quadratic behaviors
2022-10-05 21:58:05 +09:00
ekrctb
0613388aaa Make sure all selected items get deleted 2022-10-05 21:58:05 +09:00
ekrctb
0ffde02f79 Use hit object time for timeline selection 2022-10-05 21:51:01 +09:00
ekrctb
8d29e9e76b Move selection logic from DragBox to BlueprintContainer 2022-10-05 21:51:01 +09:00
Dean Herbert
58217b6839 Fix weird conditional 2022-09-27 20:09:21 +09:00
Dean Herbert
a9088d9231 Add assert/log output when too many ticks are being displayed 2022-09-27 17:18:46 +09:00
Dean Herbert
e227519b09 Don't attempt to render timeline ticks until DrawWidth is above zero 2022-09-27 17:18:46 +09:00
Dean Herbert
ccae721af2 Ensure ZoomableScrollContainer content isn't shown until zoom is set 2022-09-27 17:07:11 +09:00
Dean Herbert
9dc0eb7fd0 Remove unused static 2022-09-27 17:04:56 +09:00
Drison64
c075d3de08 Create a test and a check if initial zoom value of ZoomableScrollContainer is in range 2022-09-17 22:43:40 +02:00
Ondřej Vajďák
9d94343317
Update osu.Game/Screens/Edit/Compose/Components/Timeline/Timeline.cs
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-09-17 19:51:44 +02:00
Drison64
c8768eb399 Changed == to <= on TimelineZoom check 2022-09-17 19:00:50 +02:00
Drison64
3c7ea5c8fa Update 2022-09-17 18:57:09 +02:00
Dean Herbert
f53507828c Rename event to be more generic (and add comprehensive xmldoc) 2022-09-13 14:59:30 +09:00
OliBomby
fd48249eef fix with new event 2022-09-13 02:20:52 +02:00
Dean Herbert
57954bb8f5 Enable nullability on TimelineHitObjectBlueprint 2022-09-05 14:50:43 +09:00
Dean Herbert
6a35b233e5 Merge branch 'master' into remove-dispose-updates 2022-09-01 23:03:19 +09:00
Dean Herbert
cfc7c32aff
Merge pull request #20009 from frenzibyte/fix-back-to-front-comparison
Adjust weirdly back-to-front fallback comparison in `HitObjectOrderedSelectionContainer`
2022-08-31 14:14:10 +09:00
Dean Herbert
a215d009fe Update Remove/RemoveRange/RemoveAll calls in line with framework changes 2022-08-29 15:57:40 +09:00
Salman Ahmed
3ff2058975 Fix back-to-front fallback comparison in HitObjectOrderedSelectionContainer 2022-08-29 09:23:53 +03:00
Dean Herbert
cd90536e4b Remove Track access in Timeline 2022-08-26 18:25:48 +09:00
Dan Balasescu
1b2158ff04 Remove unused method 2022-07-26 14:15:59 +09:00
Salman Ahmed
48bcf57066 Mark SetupZoom and parameterless ZoomableScrollContainer ctor as protected 2022-07-25 12:07:50 +03:00
Salman Ahmed
07c6b44864 Fix Timeline attempting to setup zoom with unloaded track 2022-07-25 12:07:50 +03:00
Salman Ahmed
123930306b Refactor ZoomableScrollContainer to allow setting up zoom range and initial zoom after load 2022-07-25 12:07:50 +03:00
Dan Balasescu
e1df50c8ff Fix timeline zoom focus point when using buttons 2022-07-22 17:03:05 +09:00
Dean Herbert
72916d708c
Merge pull request #19294 from peppy/fix-timeline-feedback-loop
Fix timeline `alt`+`scroll` zoom not correctly zooming to current mouse position
2022-07-22 16:05:38 +09:00
Dean Herbert
6eb42d08ce Fix timeline zoom receiving feedback from bindable changes
This causes the focal point zooming to not work (as the focal point is
lost). There's no need to handle ongoing changes to
`BeatmapInfo.TimelineZoom` because it is not a property which is changed
at runtime.
2022-07-22 15:25:57 +09:00
Dean Herbert
4cec9a085a Combine both calls to use same pathway 2022-07-22 14:59:20 +09:00
Adam Baker
997fe00cdc Fix zoom delta math 2022-07-21 17:29:13 -05:00
Adam Baker
d69dc457ba Extract zoom delta method 2022-07-21 17:28:43 -05:00
Adam Baker
a4f071fe53 Make zoom sensitivity relative to containers max zoom 2022-07-21 08:26:48 -05:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dean Herbert
f71f6302fd Remove unnecessary null casts 2022-06-24 14:50:11 +09:00
Dan Balasescu
e0c82d11ab Convert == usages to ReferenceEquals 2022-06-20 16:56:19 +09:00
Salman Ahmed
a5e5172b91 Fix BlueprintContainer eating input from skin editor buttons 2022-06-18 18:28:36 +03:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert
87bf53485a
Merge pull request #18649 from frenzibyte/selection-context-outside-bounds
Fix context menus not appearing when clicking outside of editor playfield's bounds
2022-06-15 17:08:09 +09:00
Salman Ahmed
d3feb07bc1 Split zoom updating to named method with value as optional 2022-06-15 07:57:16 +03:00
Salman Ahmed
268a7e1334 Fix ZoomableScrollContainer attempting to update zoom with overlapping range 2022-06-15 05:43:41 +03:00
Salman Ahmed
fa4930c586 Remove no longer necessary ReceivePositionalInputAt overrides in timeline components 2022-06-14 00:19:47 +03:00
Salman Ahmed
c49b8e4a5c Allow BlueprintContainer and SelectionHandler to receive input outside bounds 2022-06-14 00:19:15 +03:00
Salman Ahmed
9fc04924eb Revert "Provide context menu items at BlueprintContainer for out-of-bounds support"
This reverts commit 85fc218edf.
2022-06-14 00:02:02 +03:00
Salman Ahmed
85fc218edf Provide context menu items at BlueprintContainer for out-of-bounds support 2022-06-11 20:53:53 +03:00
Dan Balasescu
b897e1464f
Merge pull request #18462 from frenzibyte/fix-timeline-zooming
Fix timeline objects disappearing prematurely on wide-screens
2022-06-05 11:49:44 +09:00
Dean Herbert
cd3edc869c Remove unnecessary nesting of IconButton and update design a touch 2022-06-03 17:00:00 +09:00
Salman Ahmed
b51e0a5047 Share button repeating logic with TimelineButton for better UX 2022-06-03 05:23:49 +03:00
Salman Ahmed
21385655fe Fix ZoomableScrollContainer not updating on parent size changes 2022-06-03 02:34:10 +03:00
Salman Ahmed
60fb5d5e6c Revert "Fix timeline objects disappearing prematurely on wide-screens"
This reverts commit 02baf9a97a.
2022-06-03 02:03:04 +03:00
Salman Ahmed
8471b24659 Merge branch 'master' into fix-timeline-zooming 2022-06-03 02:00:09 +03:00
Dan Balasescu
be998cdb0a
Merge pull request #18477 from frenzibyte/fix-timeline-context-menu
Fix context menu no longer opening for hitobjects in timeline
2022-05-30 11:49:06 +09:00
Bartłomiej Dach
c892ec83ef
Fix wrong sizing of editor timeline ticks 2022-05-29 20:15:17 +02:00
Salman Ahmed
9cc5df9b13 Fix context menu no longer open on hitobjects in timeline 2022-05-29 15:23:32 +03:00
Salman Ahmed
02baf9a97a Fix timeline objects disappearing prematurely on wide-screens 2022-05-28 17:45:38 +03:00
Dan Balasescu
f468d1eb16
Merge branch 'master' into editor-tidy-up 2022-05-25 11:58:34 +09:00
Bartłomiej Dach
5f6baaca13
Merge branch 'master' into editor-beat-divisor-size-static 2022-05-24 23:17:02 +02:00
Dan Balasescu
25f35b3408
Merge pull request #18394 from peppy/editor-beat-divisor-on-mouse-down
Handle beat divisor input on mouse down, rather than mouse up
2022-05-24 19:06:14 +09:00
Dean Herbert
a905731053 Update timeline colours and paddings to match new designs 2022-05-24 18:43:22 +09:00
Dean Herbert
741cfcc614 Merge branch 'editor-beat-divisor-on-mouse-down' into editor-combined 2022-05-24 18:43:01 +09:00
Dean Herbert
3ace5f135e Adjust marker to match design proportions 2022-05-24 18:26:01 +09:00
Dean Herbert
3c2e57bf00 Update BeatDivisorControl to better match new designs and metrics 2022-05-24 18:26:01 +09:00
Dean Herbert
e6087f5f5b Handle beat divisor input on mouse down, rather than mouse up
It felt way too unresponsive.
2022-05-24 18:16:19 +09:00
Dean Herbert
4a88affd03 Move beat divisor tick size retrieval to static methods 2022-05-24 18:15:20 +09:00
Dean Herbert
1137545d4a Fix Timeline potentially not updating visuals to correct state on first display 2022-05-24 18:11:05 +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
83e781d5a1 Allow localisation of PlaceholderText 2022-05-17 17:42:46 +09:00
Dean Herbert
c0abce918f Add enum to snap method as alternative to mutliple nested invocations 2022-05-12 16:19:07 +09:00
Dan Balasescu
c54ca937c5 Fix CI inspections 2022-05-12 14:55:20 +09:00
Dean Herbert
f51607521c Fix distance snap providing zero-distance snaps incorrectly 2022-05-12 13:11:55 +09:00
Dean Herbert
5800d7e99d
Merge pull request #18220 from frenzibyte/control-popover-focus
Focus textbox upon opening control point popovers
2022-05-11 19:41:25 +09:00
Salman Ahmed
96db530de6 Focus textbox on control point popovers 2022-05-11 09:55:34 +03:00
Salman Ahmed
0b597e712e Fix timeline not handling mouse down events 2022-05-11 09:39:27 +03:00
Bartłomiej Dach
202a603d72
Merge branch 'master' into distance-snap-grid-current-tiume 2022-05-07 08:49:30 +02:00
Dean Herbert
dd63657dfb
Merge pull request #18065 from huoyaoyuan/code-style
Enforce code style analysis shipped with .NET SDK
2022-05-07 14:58:19 +09:00
Dean Herbert
71758390b5 Fix time based distance grid alpha not correctly accounting for distance spacing multiplier 2022-05-07 13:37:36 +09:00
Salman Ahmed
723fce8174 Move inverting value to happen outside clamp
Looks to have no effect, but makes sense to happen outside instead.
2022-05-06 18:54:13 +03:00
Salman Ahmed
d78f1d158d Use GetEndTime() instead of StartTime
Companion to
246479bf34
2022-05-06 18:51:35 +03:00
Salman Ahmed
112496204d Make nested class private 2022-05-06 18:50:28 +03:00
Salman Ahmed
3077d398ef
Merge branch 'master' into distance-snap-grid-current-tiume 2022-05-06 18:20:22 +03:00
Salman Ahmed
144d33f0d2
Merge branch 'master' into distance-snapping-test 2022-05-06 17:29:27 +03:00
Bartłomiej Dach
29a3ab7e7a
Halve drag box padding
Allows the drag box borders to collapse in on themselves to a single
line if the drag selection has zero width or height.
2022-05-06 15:21:35 +02:00
Dean Herbert
fad1f727bb Fix editor drag box visuals 2022-05-06 20:34:44 +09:00
Dean Herbert
69592722f8 Highlight distance snap grid rings that are close to the current time value 2022-05-06 18:30:46 +09:00
Dean Herbert
118e58888b Rename incorrectly named variable (radius is not diameter) 2022-05-06 17:51:51 +09:00
Dean Herbert
37cbc79283 Fix clamping logic to always clamp to the last displayed tick 2022-05-06 17:09:38 +09:00
Dean Herbert
684fef7f8c Fix MaxIntervals incorrectly factoring distance spacing multipiler into snap calculation 2022-05-06 17:09:02 +09:00
Dean Herbert
246479bf34 Fix snap extent not working correctly on sliders (and providing incorrect time values) 2022-05-06 15:54:37 +09:00
Dean Herbert
32b40bdabf Rename DistanceBetweenTick to be plural 2022-05-06 15:45:36 +09:00
Dan Balasescu
39d10487b9
Merge branch 'master' into snapping-tidy-distance 2022-05-05 19:55:55 +09:00
Dean Herbert
e83604a1fc Merge branch 'master' into cache-at-interface 2022-05-05 18:54:24 +09:00
Dean Herbert
b9d8b7e413 Fix end time extent not being accounted for in new snap implementation 2022-05-05 18:49:12 +09:00
Dean Herbert
b2e9be70a5 Rewrite CircularDistanceSnapGrid snapping implementation to use snap provider 2022-05-05 17:52:36 +09:00
Dean Herbert
4c884aea5d Fix CircularDistanceSnapGrid returning an incorrect time value when distance spacing is not 1.0 2022-05-05 17:09:14 +09:00
Dean Herbert
786c7f14d3 Expose DistanceSpacingMultiplier to distance 2022-05-05 17:08:53 +09:00
Dean Herbert
de9b3d33eb Rename misleading DistanceSpacing variable 2022-05-05 17:08:09 +09:00
Dean Herbert
4226583afd Merge branch 'cache-at-interface' 2022-05-05 16:52:03 +09:00
Dean Herbert
19cf9dc20b Merge branch 'snapping-tidy-distance' 2022-05-05 16:51:32 +09:00
Dean Herbert
1c6a233cc0 Move snap provider caching to interfaces 2022-05-05 16:44:37 +09:00
Dean Herbert
b411b59006 Move IPlacementHandler caching to interface 2022-05-05 16:43:02 +09:00
Dean Herbert
977e6d8a80 Add xmldoc for IDistanceSnapProvider and related properties 2022-05-05 16:25:45 +09:00
Dean Herbert
f6fc926f1a Add xmldoc and rename methods in IPositionSnapProvider for legibility 2022-05-05 15:58:21 +09:00
Dean Herbert
df530cb5ab Add highlighting to the position snap grid edges in addition to centre lines 2022-05-04 13:49:04 +09:00
Dean Herbert
0bb90c7b07 Fix gridline centering and ensure lines are always rendered using a fixed screen-space width 2022-05-04 13:41:55 +09:00
Huo Yaoyuan
7cf4dabe29 Fix IDE0005 and IDE0034 2022-05-03 13:09:19 +08:00
Salman Ahmed
173a6188eb Add back float cast to distance spacing computation 2022-04-29 08:41:37 +03:00
Salman Ahmed
fef94d49f4 Revert "Convert data type of DistanceSpacing to float"
This reverts commit 7aaa88cac2.
2022-04-29 08:02:07 +03:00
Salman Ahmed
abb88b0907 Move distance spacing application to DistanceSnapGrid 2022-04-28 10:54:38 +03:00
Salman Ahmed
7aaa88cac2 Convert data type of DistanceSpacing to float 2022-04-28 10:24:36 +03:00
Salman Ahmed
2e8372fe90 Minor cleanup
Just from reading diff.
2022-04-28 07:14:43 +03:00
Salman Ahmed
59cf3ff50f Move distancing methods from IPositionSnapProvider to IDistanceSnapProvider 2022-04-28 05:48:45 +03:00
Salman Ahmed
70a93c0e7e Move DistanceSpacingMultiplier bindable to its own IDistanceSnapProvider interface 2022-04-24 08:33:00 +03:00
Salman Ahmed
4f8f27a58b Merge branch 'master' into osu-distance-spacing 2022-04-24 05:23:30 +03:00
Joseph Madamba
5e5c8e78a6 Use existing web localisation for most hardcoded strings 2022-04-20 16:31:11 -07:00
Dean Herbert
68aedd63a7 Move SelectionHandler's SelectedItems binding to the base implementation
Until now it was up to each implementation to connect
`BlueprintContainer` to its `SelectionHandler`, which didn't make much
sense at all.
2022-03-10 23:22:19 +09:00
Bartłomiej Dach
e1eeb9c6bb
Allow tabbing between textboxes in sample point popover 2022-03-06 01:43:56 +01:00
Dean Herbert
2be40f36f7 Reword popup text to read better (or more vaguely)
Removed some words but also don't mention "smaller" because it's...
musically incorrect and also functionally incorrect – entering 1/[8]
will result in 1/16 also being populated for instance.
2022-02-28 15:26:50 +09:00
Dean Herbert
368eadd8d1 Remove unused using statement 2022-02-28 15:24:02 +09:00
Dean Herbert
3634e12e66 Automatically focus divisor textbox and hide popover after successful change 2022-02-28 15:23:01 +09:00