1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 08:37:24 +08:00
Commit Graph

1298 Commits

Author SHA1 Message Date
OliBomby
847f04e63a reduce opacity of middle cardinal lines 2024-01-01 15:13:10 +01:00
OliBomby
8a331057b0 Make it actually possible to change grid type 2024-01-01 15:13:10 +01:00
OliBomby
f223487e1c improve code 2024-01-01 15:13:10 +01:00
OliBomby
0ce1a48e68 Add comment 2024-01-01 15:13:10 +01:00
OliBomby
a20c430d6f fix wrong grid cache being used 2024-01-01 15:13:10 +01:00
OliBomby
d0c8b285ce clean up code duplication 2024-01-01 15:13:10 +01:00
OliBomby
92c3b142a4 Added Triangular snap grid 2024-01-01 15:11:50 +01:00
OliBomby
f2edd705ea add rotation to snapped position 2024-01-01 15:11:49 +01:00
OliBomby
f3b88c318b Add rotation to snap grid visual 2024-01-01 15:11:49 +01:00
Bartłomiej Dach
99cddb6317
Use alternative workaround 2023-12-29 11:07:45 +01:00
Bartłomiej Dach
cd1f6b46c4
Fix crash after changing audio track in editor
Closes https://github.com/ppy/osu/issues/26213.

Reproduction scenario: switch audio track in editor after timeline
loads.

Happens because `beatmap.Value.Track.Length` is 0 immediately after a
track switch, until BASS computes the actual track length on the audio
thread.

Yes this is a hack. No I have no better immediate ideas how to address
this otherwise.
2023-12-29 10:37:36 +01:00
Bartłomiej Dach
288ac930e4
Use new icons in editor
Some that exist on figma are purposefully not used due to an editorial
request from @peppy.
2023-12-27 17:42:18 +01:00
Dean Herbert
f9e47242db
Add visual offset to better align editor waveforms with expectations 2023-12-26 17:44:49 +09:00
OliBomby
c167f10ad5 fix crash from dragging near zero-length repeating object in timeline 2023-12-19 21:20:45 +01:00
Bartłomiej Dach
d83b2e24e7
Merge pull request #25371 from RatinFX/open-editor-timestamp
Implement opening editor timestamp links
2023-11-21 15:48:36 +09:00
Bartłomiej Dach
234ef6f923
Rectify selection keep-alive logic 2023-11-20 21:57:14 +09:00
Dean Herbert
35e11c7c63
Rename diagonal scale variable and update xmldoc 2023-11-10 17:55:02 +09:00
Dean Herbert
ec3b6e47fb
Change selection handling to adjust Size instead of Scale for edge nodes 2023-11-10 14:22:28 +09:00
ratinfx
bdbeb2bce4 Renamed CollectionChanged event handler 2023-11-07 11:11:32 +01:00
ratinfx
44f127c8a8 Renamed method and made private 2023-11-07 01:02:45 +01:00
ratinfx
277cf7dc12 Ensure every SelectedItem is alive and has Blueprint 2023-11-05 18:26:51 +01:00
Bartłomiej Dach
144006fbe8
Update autoselect implementation to work correctly with framework changes 2023-10-31 08:38:22 +01:00
Bartłomiej Dach
8a68333425
Merge branch 'master' into beat-divisor-select-text-on-click 2023-10-31 08:36:53 +01:00
Dean Herbert
63e6eaf538
Fix failing tests 2023-10-30 18:06:11 +09:00
Dean Herbert
57d88a0ac4
Fix right clicks on timeline objects potentially getting eaten by playfield area
`SelectionHandler` is receiving input from anywhere out of necessity:

19f892687a/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs (L119-L125)

Also important is that `BlueprintContainer` will selectively not block
right clicks to make sure they fall through to the
`ContextMenuContainer`:

19f892687a/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs (L122-L126)

But because the whole editor is sharing a `ContextMenuContainer` and
it's at a higher level than both components, we observe here the
playfield's `SelectionHandler` intercepting the right click before it
can reach the `ContextMenuContainer`.

The fix here is similar to what we're already doing in
`TimelineBlueprintContaienr`.
2023-10-30 18:06:11 +09:00
Bartłomiej Dach
12282fff5c
Disallow setting sample volume lower than 5% in editor 2023-10-20 15:50:21 +02:00
Dean Herbert
52c2eb93de
Merge branch 'master' into taiko-beat-snap-grid 2023-10-19 23:53:01 +09:00
Dean Herbert
5341a335a6
Bypass Parent nullability checks for now 2023-10-17 17:48:45 +09:00
Dean Herbert
2a89a25790
Add beat snap grid to osu!taiko editor
Addresses https://github.com/ppy/osu/discussions/25150.
2023-10-17 16:59:56 +09:00
Dean Herbert
1b9acdf55c
Abstract out common implementation of BeatSnapGrid 2023-10-17 16:42:52 +09:00
Dean Herbert
1a37543d28 Rename SliderVelocity to SliderVelocityMultiplier to distinguish from Velocity 2023-09-06 19:01:08 +09:00
Hồ Nguyên Minh
d5a89c4c45 Fix formatting 2023-09-04 13:32:42 +07:00
Hồ Nguyên Minh
b17a55d6a8 Add length check for slider velocity 2023-09-04 10:43:05 +07:00
Wleter
fc4069f794 let SelectionBox perform flip with scale handles 2023-09-01 13:01:51 +02:00
Wleter
14ee0ee395
Merge branch 'ppy:master' into skin-editor-selection-negative-scaling 2023-08-29 17:30:55 +02:00
Wleter
d56ab0fe9a change names 2023-08-29 17:25:52 +02:00
Wleter
07e126241d working negative scaling 2023-08-28 16:41:55 +02:00
Dean Herbert
081fb308e1 Merge branch 'master' into new-overlay-sfx 2023-08-24 18:29:00 +09:00
Jamie Taylor
d10d7b6ea4
Change some component samples to go better with overlay pop-in samples 2023-08-17 18:36:37 +09:00
OliBomby
88e6fe72dc fix code quality 2023-08-16 23:09:04 +02:00
OliBomby
fd54c329fa dont focus volume, so keybinds immediately available 2023-08-16 22:08:49 +02:00
OliBomby
a938b810b4 Add keybind for bank setting 2023-08-16 22:07:36 +02:00
OliBomby
02b7c8f27b Move sliderbody hs to middle of first span 2023-08-16 21:15:47 +02:00
Bartłomiej Dach
19f892687a
Add precise rotation control to osu! editor 2023-08-16 11:37:52 +02:00
Dean Herbert
f06b203067
Merge branch 'master' into edit-nodesample 2023-07-31 14:06:38 +09:00
Bartłomiej Dach
ebe5dd2ac9
Interface with SelectionRotationHandler via DI rather than explicit passing 2023-07-30 20:21:41 +02:00
Bartłomiej Dach
262f25dce8
Make SelectionRotationHandler a Component 2023-07-30 20:18:33 +02:00
Bartłomiej Dach
821cd08f34
Merge branch 'master' into selection-operations-refactor 2023-07-30 19:29:06 +02:00
Bartłomiej Dach
c6f0cf50ca
Use better safety in rectangular grid
- Checking `DrawSize != Vector2.Zero` is too specific. It could also
  crash on zero-height-but-non-zero-width, or
  zero-width-but-non-zero-height.

- Take the `gridCache.Validate()` call out of the zero checks, because
  even if the width or height are zero, not generating anything is valid
  and there is no reason to validate every frame until `gridCache` gets
  invalidated again.
2023-07-28 22:57:02 +02:00
Dean Herbert
0e4db9b439 Add safety in RectangularPositionSnapGrid that size is greater than zero
Would crash otherwise
2023-07-28 16:25:40 +09:00
Dean Herbert
7fd6bb9d5f Fix a couple of code style issues in SelectionBox 2023-07-26 14:04:38 +09:00
Dean Herbert
39c2bb240b Apply NRT to SelectionBoxRotationHandle. 2023-07-26 14:04:21 +09:00
Dean Herbert
eac6271bd0 Add new property to avoid overlapping usages 2023-07-25 18:14:03 +09:00
Bartłomiej Dach
a201152b04
Add xmldoc to SelectionRotationHandler 2023-07-23 20:56:22 +02:00
Bartłomiej Dach
aec3ca250c
Migrate SelectionHandler to use SelectionRotationHandler 2023-07-23 20:56:22 +02:00
Bartłomiej Dach
ba8ebefb50
Add basic structure for new rotation handler 2023-07-23 20:56:22 +02:00
Bartłomiej Dach
4622255cc7
Move out helper methods to static class 2023-07-23 18:24:20 +02:00
Dean Herbert
cdcb10e0e7 Fix timeline centre point being ever-so-slight off 2023-07-21 15:26:41 +09:00
Dean Herbert
f489dbd7a9 Reduce width of right toolbar ever so slightly (and use more shared constants) 2023-07-21 14:39:15 +09:00
Dean Herbert
ca3d1538ae Merge branch 'master' into editor-metrics 2023-07-21 14:26:32 +09:00
Bartłomiej Dach
07e0a703d7
Adjust inline comment 2023-07-20 20:51:39 +02:00
Bartłomiej Dach
708dd355cd
Merge branch 'master' into editor-cyclic-selection 2023-07-20 20:19:46 +02:00
Bartłomiej Dach
511948ba56
Add xmldoc to ApplySelectionOrder() 2023-07-20 19:16:04 +02:00
Dean Herbert
cf3949c9e2 Fix double-click handling when cyclic selection is enabled
Removes the limitations of cyclic selection as a result.
2023-07-19 17:21:20 +09:00
Dean Herbert
5ade093c5a Change editor to always perform selection of closest object 2023-07-19 16:56:16 +09:00
Dean Herbert
57abb15724 Update design of timeline centre marker and adjust surrounding paddings 2023-07-14 16:37:57 +09:00
Dean Herbert
00e9746174 Implement longer design for timing point piece 2023-07-14 16:37:56 +09:00
Dean Herbert
01750dd091 Update metrics of checkboxes and backgrounds to match design better 2023-07-14 14:29:02 +09:00
Dean Herbert
5b2e704264 Move beat divisor control inside of TimelineArea and adjust metrics to match design 2023-07-14 14:19:04 +09:00
Dean Herbert
ebaf63b764 Apply NRT to timeline related classes 2023-07-14 14:04:12 +09:00
Dean Herbert
56acc9e3dd Change BeatDivisorControl to retrive bindable divisor via DI 2023-07-14 14:03:25 +09:00
Susko3
2dcd790442 Resolve Clipboard via DI 2023-07-11 11:42:31 +02:00
Bartłomiej Dach
45194b2b4a
Fix pressing Ctrl-C in composer not copying timestamp to system clipboard 2023-07-09 18:21:43 +02:00
Bartłomiej Dach
9eec1337b3
Use slightly different condition for better UX 2023-07-01 21:39:08 +02:00
Bartłomiej Dach
183777f8df
Fix edge cases where selection buttons go outside playfield bounds
Addresses
https://github.com/ppy/osu/discussions/23599#discussioncomment-6300885.
2023-07-01 21:27:17 +02:00
Bartłomiej Dach
e4e08c0f5f
Fix selection handlers eating hotkey presses they didn't handle 2023-06-28 20:48:22 +02:00
Dean Herbert
29376ffcc0 Trigger state change when flipping via hotkey in the editor
This will trigger a change even if nothing happens. But I think that's
okay (not easy to avoid) because the change handler should be aware that
nothing changed, if anything.

Closes https://github.com/ppy/osu/issues/24065.
2023-06-28 13:52:51 +09:00
Bartłomiej Dach
9be2d9d62e
Fix hotkey presses generating unnecessary undo history
The buttons don't check whether the operation they correspond to is
possible to perform in the current state of the selection box, so not
checking `Can{Reverse,Rotate}` causes superfluous undo states to be
added without any real changes if an attempt is made to reverse or
rotate a selection that cannot be reversed or rotated.
2023-06-27 22:25:04 +02:00
Bartłomiej Dach
17ed45d07c
Mention hotkeys in button tooltips 2023-06-27 22:04:15 +02:00
Bartłomiej Dach
54280f06be
Switch to == true 2023-06-27 22:02:15 +02:00
Bartłomiej Dach
ad3a470eaf
Enable NRT in SelectionBox 2023-06-27 22:01:44 +02:00
Dean Herbert
c6d952abe3 Add support for Ctrl + < / > to rotate selection in editor
As discussed in https://github.com/ppy/osu/discussions/24048.
2023-06-27 17:01:41 +09:00
Dean Herbert
7ddbf4eaa7 Add a visual effect when keyboard shortcuts are used to trigger selection box buttons 2023-06-27 17:01:13 +09:00
Dean Herbert
df5b389629 Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
Dean Herbert
0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Dean Herbert
84fc6e92db Fix slightly incorrect calculations 2023-06-19 20:23:46 +09:00
Dean Herbert
4314f9f46a Merge branch 'master' into fix-distance-snap-grid-centering 2023-06-19 20:22:09 +09:00
Bartłomiej Dach
28696f595f
Privatise setter 2023-06-16 16:24:07 +02:00
Dean Herbert
d965d39c44 Fix distance snap grid circles not correctly being centered on snap point 2023-06-16 17:21:32 +09:00
Dean Herbert
36954e55ad Fix incorrect mapping when distance spacing is not 1.0x 2023-06-16 17:15:45 +09:00
Dean Herbert
78b2e6f3df Add setting to limit distance snapping to current time
As discussed in https://github.com/ppy/osu/discussions/23815#discussioncomment-6124116.
2023-06-09 15:54:33 +09:00
Bartłomiej Dach
4b3b22f046
Merge branch 'master' into beat-divisor-better-defaults 2023-06-08 20:35:03 +02:00
Dean Herbert
c1743dbe1d Select all text when popover is initially shown
Depends on https://github.com/ppy/osu-framework/pull/5823.
2023-06-09 02:27:22 +09:00
Bartłomiej Dach
3c8f387a6c
Remove unused method 2023-06-07 23:38:06 +02:00
Bartłomiej Dach
d9281ac8c7
Remove unused virtual spec 2023-06-07 23:38:06 +02:00
Dean Herbert
3a01498789 Use existing next/previous methods (and remove looping behaviour) 2023-06-08 01:01:29 +09:00
Dean Herbert
2c89af608a Add ability to cycle beat snap divisor using hotkeys
Defaults to Ctrl+Shift+Wheel (as per stable).

Closes #23785.
2023-06-07 17:15:15 +09:00
Salman Ahmed
62cb6a98ca Remove redundant nullable suppression directives 2023-06-07 08:20:41 +03:00
OliBomby
3f96795bbf fix merge conflict 2023-06-02 01:02:35 +02:00
Olivier Schipper
3f7bebfda4
Merge branch 'master' into edit-nodesample 2023-06-02 00:57:15 +02:00
OliBomby
848f0e305e Change position of sliderbody hitsound piece for less overlap 2023-06-02 00:55:37 +02:00
OliBomby
da516b9039 Change purple to darker pink 2023-06-02 00:50:21 +02:00
Bartłomiej Dach
c2d89a32a9
Adjust inline comment 2023-06-01 21:18:00 +02:00
Andrei Zavatski
03eb7c7830 Fix nullability 2023-06-01 21:21:01 +03:00
Andrei Zavatski
949fe32740 Use combined area of children as a mask instead 2023-06-01 15:32:17 +03:00
Dean Herbert
32207d4112 Remember the last used custom divisor when cycling divisor types 2023-06-01 17:11:49 +09:00
Dean Herbert
bcde2cbc73 Apply NRT to BeatDivisorControl 2023-06-01 16:58:14 +09:00
OliBomby
eb8ac89513 rename sample update logic and add xmldoc for clarity 2023-06-01 09:50:14 +02:00
OliBomby
1eb9b8e135 added xmldoc and renamed GetSamples 2023-06-01 09:34:21 +02:00
Dean Herbert
f52ed41f10 Use better defaults of 1/4 and 1/6 when cycling types 2023-06-01 16:28:03 +09:00
OliBomby
63d9be9523 merge updateAdditionBankPlaceholderText and updateAdditionBankActivated 2023-06-01 09:27:04 +02:00
OliBomby
9e78a6b34e hide addition bank field when no additions active 2023-05-31 20:00:45 +02:00
OliBomby
fede432969 Make relevantObject and relevantSamples instance variables 2023-05-31 20:00:19 +02:00
OliBomby
b7bc49b1f4 Fix regressed bank inheriting behaviour on node samples 2023-05-31 16:28:43 +02:00
OliBomby
7a46b7b961 Invert colors 2023-05-31 14:33:06 +02:00
Andrei Zavatski
d119447a10 Fix editor timeline hitobjects popping in 2023-05-30 16:41:42 +03:00
Dean Herbert
114f12a790 Adjust CreateHitSampleInfo to handle additions correctly, rather than implementing locally 2023-05-30 14:04:02 +09:00
Dean Herbert
4a81d068af Merge branch 'master' into edit-nodesample 2023-05-30 14:03:43 +09:00
Dean Herbert
725734bc03
Merge pull request #23649 from peppy/keep-selection-buttons-on-screen
Ensure editor selection buttons remain on screen when selection is near edge
2023-05-26 20:51:45 +09:00
Bartłomiej Dach
96fe7cbe54
Merge branch 'master' into sample-set-controls 2023-05-25 21:58:16 +02:00
Bartłomiej Dach
7d8f08c0ea
Fix ComposeBlueprintContainer briefly assigning auto bank
Seems to have had no consequence due to the way
`AutomaticBankAssignment` works (that flag is checked in
`PlacementBlueprint.UpdateTimeAndPosition()`, which runs essentially
every frame), but let's avoid putting it there at all ever.
2023-05-25 21:49:29 +02:00
Bartłomiej Dach
3ad5f8b9c9
Polish a few extreme edge cases 2023-05-25 16:39:54 +02:00
Dean Herbert
949de35664 Ensure selection is reset after immediately deleting objects
Closes https://github.com/ppy/osu/issues/23518.
2023-05-25 23:20:32 +09:00
Bartłomiej Dach
beeca5a8dd
Use alternative layouting implementation 2023-05-25 16:17:44 +02:00
Dean Herbert
1049257b56 Simplify SelectionHandler's DeselectAll implementation
We are already doing other operations in this class directly on `SelectedItems`, so might as well change this one to match
2023-05-25 18:46:31 +09:00
Dean Herbert
1e14b02493 Fix bindable feedback loop 2023-05-25 17:58:38 +09:00
Bartłomiej Dach
578a0e7494
Merge branch 'master' into beat-divisor-visual-improvements 2023-05-24 22:28:26 +02:00
Dean Herbert
b14b1072c2 Allow deselecting any selection in the editor using the Back binding (escape key) 2023-05-24 19:24:14 +09:00
Dean Herbert
3b9e1e8a94 Ensure editor selection buttons remain on screen when selection is near edge
Addresses https://github.com/ppy/osu/discussions/23599.
2023-05-24 19:16:53 +09:00
Dean Herbert
3a05dffa50 Add "auto" bank selection during placement 2023-05-24 17:11:12 +09:00
Dean Herbert
fc22c75464 Don't use switch for single case statement 2023-05-24 16:14:05 +09:00
Dean Herbert
a9ba16a2be Update to support non-control-point sample changes 2023-05-24 14:20:38 +09:00
Dean Herbert
298989ffd2 Merge branch 'master' into sample-set-controls 2023-05-24 14:03:04 +09:00
Dean Herbert
561b759bf9 Tidy up implementation and ensure non-solid ticks start at zero alpha 2023-05-24 13:49:29 +09:00
Dean Herbert
8f1f1955df
Merge pull request #66 from Gyoshi/beat-divisor-visual-improvements
Add ghost ticks to exhibit current divisor on `BeatDivisorControl`
2023-05-24 13:41:48 +09:00
Gyoshi
7fe19d1992 Last instead of Max divisor to match code elsewhere 2023-05-23 18:45:49 +02:00
Gyoshi
c5ef3ae181 Code styling 2023-05-23 18:44:20 +02:00
Gyoshi
b5f8093941 Use RangePadding to align mouse with slider 2023-05-23 18:16:14 +02:00
Gyoshi
7b1e8ede54 Small format 2023-05-23 15:11:27 +02:00
Gyoshi
1b32370c6a Remove duplicate code by making GetDivisorForBeatIndex method more general 2023-05-23 15:05:38 +02:00
Gyoshi
37a796306d Small format & comment 2023-05-23 14:30:35 +02:00
Johannes vd Berg
ebda35c3c9 Add ghost ticks to exhibit current divisor on BeatDivisorControl 2023-05-23 12:57:25 +02:00
Bartłomiej Dach
afdddb0195
Merge pull request #23582 from peppy/placement-blueprint-timeline-combo-fixes
Fix timeline blueprint display not showing correct combo number / colour during placement
2023-05-20 15:02:55 +02:00
Dean Herbert
214d7e07fa Add TODO regarding failing stack display code 2023-05-17 17:52:17 +09:00
Dean Herbert
9563d4f730 Fix weird purple tint on placement object in timeline 2023-05-17 17:26:19 +09:00
Dean Herbert
87ff28b022 Update beat divisor control to show ticks in more visually correct locations
As proposed in https://github.com/ppy/osu/discussions/23527.
2023-05-17 16:34:12 +09:00
Dean Herbert
dc51d5ecf3 Rename GetSampleInfo to better describe what method does
Also add full xmldoc
2023-05-17 14:07:48 +09:00
Dean Herbert
d9ae822966 Fix bank not correctly being assigned when adding sample additions in editor 2023-05-16 18:52:52 +09:00
Dean Herbert
70e248b927 Force placement of in-progress object when changing tools in the editor 2023-05-12 16:06:01 +09:00
Dean Herbert
2085833a84 Fix missing delegate unsubscribe 2023-05-09 17:08:03 +09:00
Dean Herbert
944da06c10 Rename slider multiplier variable back for now 2023-05-09 16:58:19 +09:00
OliBomby
dd0fceaec6 add addition bank 2023-05-08 16:12:03 +02:00
OliBomby
7260dcac60 fix crash on multiselect and node sample piece popup 2023-05-08 15:57:30 +02:00
OliBomby
bb8285e2ef cleanup code duplication 2023-05-08 15:14:25 +02:00
OliBomby
4c36530435 allow editing additions in sample point piece 2023-05-08 15:08:40 +02:00
OliBomby
88d840a60d fix assigned hitsounds dont have bank or volume 2023-05-08 14:42:15 +02:00
OliBomby
3b5bae7742 Abbreviate common bank names on timeline 2023-05-08 13:16:30 +02:00
OliBomby
e945846759 Add node sample pieces to timeline blueprint 2023-05-08 13:10:24 +02:00
OliBomby
32f945d304 fix updating wrong samples 2023-05-08 13:08:28 +02:00
OliBomby
cb7b747d52 create NodeSamplePointPiece 2023-05-08 12:38:53 +02:00
OliBomby
b447018e5b remove editor beatmap 2023-05-08 11:55:58 +02:00
OliBomby
244ca4e8c7 Remove dependency on SamplesBindable 2023-05-08 11:55:17 +02:00
Dean Herbert
a6cb1f90e4 Change difficulty popover inspector display (yet again)
I think this makes the most sense of the iterations I've tested so far, albeit maybe being a touch too verbose.
2023-05-08 13:43:23 +09:00
Dean Herbert
a91edd68d9 Show post-multiplied velocity in main hit object inspector 2023-05-08 13:42:25 +09:00
Dean Herbert
d9dd35c020 Show base velocity in slider adjustment popover 2023-05-08 13:13:09 +09:00
Dean Herbert
31de4de720 Remove median/mode slider velocity display
The intention was to give an idea of what the most common velocity of
the beatmap is, but in hindsight, because the "base" velocity is being
set elsewhere this doesn't make sense. It will/should be 1.0x.

Showing this range is still valuable, though.
2023-05-08 13:13:09 +09:00
Bartłomiej Dach
e808a47811
Fix delegate leak 2023-05-05 20:33:27 +02:00
Bartłomiej Dach
f536238554
Use shorter copy 2023-05-05 20:30:50 +02:00
Dean Herbert
b7a287869a Add display of beatmap slider velocity when adjusting 2023-05-05 15:57:38 +09:00
Dean Herbert
cc70d89bf9 Move editor inspector classes out of ruleset namespace 2023-05-05 15:57:38 +09:00
Dean Herbert
6b017ac05f
Merge pull request #23308 from OliBomby/sample-control-points
Remove SampleControlPoint and DifficultyControlPoint from HitObject
2023-05-03 14:21:51 +09:00
Dean Herbert
8a536c1cdb Fix non-block namespace usage 2023-05-02 15:09:24 +09:00
OliBomby
1dc34ee25d fix infinite repeat count when adjusting length of 0 length slider 2023-05-01 15:48:54 +02:00
OliBomby
608fa3cc73 Merge remote-tracking branch 'upstream/master' into sample-control-points 2023-04-30 19:47:03 +02:00
OliBomby
c44f71a737 remove all regular usage of DifficultyControlPoint 2023-04-26 17:55:38 +02:00
OliBomby
87ca0f5335 Update SamplePointPiece.cs 2023-04-26 13:45:58 +02:00
OliBomby
e4b64bdc3e clean up code stuff 2023-04-25 19:06:29 +02:00
OliBomby
755ad25dbe clean code 2023-04-25 18:27:20 +02:00
OliBomby
c23a7b014e add missing } 2023-04-25 18:17:07 +02:00
OliBomby
065464d90c Fixed DifficultyPointPiece 2023-04-25 18:12:53 +02:00
Dean Herbert
9f4b1f0f24 Always round editor rotation to integer values 2023-04-20 14:30:01 +09:00
Bartłomiej Dach
73bd0feef5
Fix incorrectly implemented localisation 2023-04-10 15:03:33 +02:00
Bartłomiej Dach
6fec476147
Simplify snap implementation 2023-04-10 14:55:30 +02:00
Dean Herbert
8d2e852ffd Fix overbearing key down handling 2023-04-08 22:30:36 +09:00
Dean Herbert
a1fc4def1d Remove redundant method override 2023-04-08 22:18:07 +09:00
Micha Lehmann
3c4a25e53f Fix tooltip text not resetting when ending an editor rotation 2023-04-08 14:28:52 +02:00
Micha Lehmann
580d5745c0 Add "(snapped)" to the tooltip when snap-rotating in the editor 2023-04-08 14:15:49 +02:00
Dean Herbert
f72dd86b42 Fix code quality issues and avoid updating bindable twice per operation 2023-04-08 10:40:36 +09:00
Micha Lehmann
c827c2810b Improve editor selection rotation value wrapping
This fixes two issues the previous algorithm had:
1.  A half-turn rotation used to show up as -180°.
2.  Rotating more than 180° in one drag event would overwhelm it
    and cause the value to go outside its range.

This comes at the cost of a negligible performance hit,
since a division (modulo) is performed instead of just addition/subtraction.
2023-04-08 01:30:29 +02:00
Micha Lehmann
f1de560d57 Snap editor selection rotation when holding shift 2023-04-08 01:30:29 +02:00
Dean Herbert
e31a90e043 Don't cycle selection when more than one items are selected 2023-03-21 21:31:10 +09:00
Dean Herbert
1cf870d956 Add test coverage and fix fail case where a drag selection ends incorrectly with cyclic selection 2023-03-15 15:16:48 +09:00
Dean Herbert
4f7be332f3 Revert isDraggingBlueprint to field 2023-03-08 19:24:03 +09:00
Dean Herbert
245c3c025c Refactor endClickSelection to reduce nesting 2023-03-08 19:23:32 +09:00
Dean Herbert
21bdbb20e6 Add optional support for cyclic selection to BlueprintContainer 2023-03-07 14:22:12 +09:00
Dean Herbert
16d94b4ea2 Improve visuals of skin blueprint 2023-02-17 18:19:46 +09:00
Dean Herbert
b437501b0f Fix beatmap editor positional nudging not being undoable 2023-02-03 17:28:58 +09:00
Bartłomiej Dach
7483967157
Merge branch 'master' into SliderEnd-Snap 2023-01-23 21:33:16 +01:00
Bartłomiej Dach
1f40b2daf6
Clean up xmldocs 2023-01-23 21:22:18 +01:00
Wleter
f8d8a627b8 change property name 2023-01-18 22:00:39 +01:00
Wleter
40e99069fc fix typos and newlines 2023-01-18 21:43:09 +01:00
Wleter
ab78dd0436 add collection of selection points. 2023-01-18 21:34:23 +01:00
Wleter
c9375c056e revert back name change 2023-01-18 15:54:24 +01:00
Dean Herbert
ecb4727aec Fix formatting issues 2023-01-18 17:33:14 +09:00
Wleter
788033e1b8 fix unnecessary newline 2023-01-17 21:13:54 +01:00
Wleter
b8e6a2d87b filter currentEndPointPositions 2023-01-17 20:41:49 +01:00
ansel
8777d5349b Use existing strings 2023-01-15 14:39:34 +03:00
ansel
78e562903d Localise part of editor 2023-01-15 01:50:47 +03:00
Dylan Nantz
6028abff39 Code Quality 2023-01-13 10:16:52 -05:00
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
ansel
2365b065a4 Enable nullability for editor components 2023-01-12 18:07:54 +03:00
Wleter
98ffcd33c7
Merge branch 'ppy:master' into SliderEnd-Snap 2023-01-10 21:22:13 +01:00
Wleter
88060a3ea0 add snapping for slider's end 2023-01-10 21:21:09 +01:00
Dean Herbert
c0cfa66510
Merge pull request #21754 from Feodor0090/waveform-invalidate
Reload waveform on track replacement in editor
2023-01-06 19:57:27 +08:00
Salman Ahmed
0cb9b79834 Fix ZoomableScrollContainer potentially not updating content width on setup 2022-12-23 00:56:38 +03:00
Salman Ahmed
30de9ba795 Dispose previous waveform on track reload 2022-12-23 00:35:59 +03:00
ansel
f2e8776529 Bind to clock instead of music controller 2022-12-22 15:35:53 +03:00
ansel
7089bb6c23 Listen for track reload in timeline 2022-12-22 01:23:59 +03: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
Dean Herbert
27c497145f Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0 2022-12-16 18:16:26 +09:00
Dean Herbert
d1296a22ce Update timeline blueprint's end time logic to better match new blueprint implementation 2022-12-02 17:57:15 +09:00
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