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

2662 Commits

Author SHA1 Message Date
Jamie Taylor
3d7ba0e18c
Add pop-in/pop-out sfx to more overlays 2023-08-17 18:36:37 +09:00
Bartłomiej Dach
19f892687a
Add precise rotation control to osu! editor 2023-08-16 11:37:52 +02:00
Bartłomiej Dach
bdf87e43db
Merge branch 'master' into slider-with-textbox-instantaneous 2023-08-16 10:48:45 +02:00
Dean Herbert
5bd7370439 Add log output when editor is creating a fresh beatmap 2023-08-16 14:23:17 +09:00
Joseph Madamba
49f5d6813e
Block beatmap editor from testing/exiting/exporting when saving fails 2023-08-04 22:08:25 -07:00
Bartłomiej Dach
2e2b0c4e41
Move SliderWithTextBoxInput to more general namespace 2023-08-01 01:01:36 +02: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
e208f38bcb
Merge pull request #24361 from peppy/fix-editor-global-music-hotkey-conflicts
Disallow interacting with the global track state in `Player` and `Editor`
2023-07-30 12:28:53 +02:00
Dean Herbert
945d89e955 Move disables to loading screens for better coverage of edge cases 2023-07-30 13:45:42 +09: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
Bartłomiej Dach
3b9f250c1b
Merge branch 'master' into menu-star-fountains 2023-07-25 21:58:13 +02:00
Dean Herbert
3485b72eaa Disallow interacting with the global track state in Player and Editor 2023-07-25 20:20:53 +09:00
Dean Herbert
157b1f301b Rename AllowTrackAdjustments to more understandable ApplyModTrackAdjustments 2023-07-25 20:20:53 +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
Bartłomiej Dach
9f68bb4e4a
Merge pull request #24333 from peppy/editor-menu-spacer
Adjust metrics of editor menu spacers (and make visible)
2023-07-23 15:25:27 +02:00
Dean Herbert
4bf300d64d
Merge pull request #24186 from OliBomby/legacy-export
Add ability to export beatmaps from editor in a stable-compatible format
2023-07-23 15:25:06 +09:00
Dean Herbert
4ea8495c61 Adjust metrics of editor menu spacers (and make visible) 2023-07-23 14:12:37 +09:00
Dean Herbert
fb34ee94c2 Move export/save options to bottom of menu 2023-07-23 14:07:31 +09:00
Dean Herbert
20359c90bc Adjust localisations slightly 2023-07-23 14:06:00 +09:00
Dean Herbert
d11e56b8bb Add common Export string and use in editor 2023-07-23 14:03:50 +09:00
Bartłomiej Dach
d1c69283b2
Merge branch 'master' into editor-key-count 2023-07-22 16:11:21 +02:00
Bartłomiej Dach
f985bdc10f
Make difficulty sliders private set 2023-07-22 15:55:20 +02:00
Dean Herbert
fd2bdc10c7 Fix "key count" setting showing as "circle size" in osu!mania editor
Closes https://github.com/ppy/osu/issues/12904.
2023-07-21 18:52:29 +09:00
Dean Herbert
82a5ba66e1 Align mode switcher with rest of interface 2023-07-21 15:27:42 +09: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
870f3e324a Adjust "test" button to better align with rest of interface 2023-07-21 14:26:33 +09:00
Dean Herbert
ca3d1538ae Merge branch 'master' into editor-metrics 2023-07-21 14:26:32 +09:00
Dean Herbert
b29a2081ac Merge branch 'master' into menu-star-fountains 2023-07-21 14:21:16 +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
Bartłomiej Dach
f3a95d4c13
Merge branch 'master' into menu-star-fountains 2023-07-19 21:26:41 +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
55a41b0887 Fix overlap between header text and menu items 2023-07-19 15:13:20 +09:00
Dean Herbert
871056790b Mark editor tile as non-localisable 2023-07-19 15:01:20 +09:00
OliBomby
395dd23966 Put 'Export package' and 'Export legacy package' in one nested menu 2023-07-18 12:37:37 +02:00
OliBomby
5d82190b70 Merge remote-tracking branch 'upstream/master' into legacy-export 2023-07-18 12:18:49 +02:00
Dean Herbert
fe70f24925 Update design of summary timeline current time marker 2023-07-14 17:00:42 +09:00
Dean Herbert
e6b8cd0c06 Add editor header 2023-07-14 16:55:12 +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
6b222cfafd Fix slight misalignment so timeline is now completely centered 2023-07-14 14:29:13 +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
Dean Herbert
20e4e2581a Change IBeatSyncProvider.Clock to always be non-null 2023-07-13 22:13:40 +09:00
Susko3
2dcd790442 Resolve Clipboard via DI 2023-07-11 11:42:31 +02:00
OliBomby
06e5ef88c0 legacy export broken 2023-07-11 02:30:16 +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
003949ac4e Merge branch 'master' into limited-distance-spacing 2023-06-16 16:56:22 +09:00
Dean Herbert
f553efba8a Fix playback controls in editor handling key repeat when they probably shouldn't
Closes https://github.com/ppy/osu/issues/23903.
2023-06-14 02:30:15 +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
Bartłomiej Dach
b66d1aa33d
Fix code quality inspection 2023-06-08 20:32:16 +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
281aae91ec
Merge pull request #23808 from peppy/working-beatmap-get-background
Refactor `IWorkingBeatmap.Background` to `GetBackground()`
2023-06-08 12:23:07 +02:00
Dean Herbert
a842f79ad4 Refactor IWorkingBeatmap.Background to GetBackground() 2023-06-08 16:19:32 +09:00
Bartłomiej Dach
b3ce7f7b43
Merge branch 'master' into fix-section-container-scroll-attempt-2 2023-06-08 09:19:26 +02: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
Bartłomiej Dach
9b665d2e1a
Merge branch 'master' into beat-snap-divisor-hotkeys 2023-06-07 23:38:03 +02:00
Dean Herbert
3a01498789 Use existing next/previous methods (and remove looping behaviour) 2023-06-08 01:01:29 +09:00
Bartłomiej Dach
1f4e79d79d
Merge pull request #23711 from timiimit/add-last-edit-time
Store timestamp of beatmap's last edit time in local database
2023-06-07 16:57:24 +02: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
Dean Herbert
7d49f5d7c6 Apply NRT to SectionsContainer 2023-06-07 16:32:29 +09:00
Salman Ahmed
62cb6a98ca Remove redundant nullable suppression directives 2023-06-07 08:20:41 +03:00
Dean Herbert
22f7fe1d79 Rename variable and ensure timestamp is updated even when not saving 2023-06-06 15:11:31 +09:00
Dean Herbert
3a50e0fb2f Merge branch 'master' into add-last-edit-time 2023-06-06 15:07:20 +09: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
Dean Herbert
f52ed41f10 Use better defaults of 1/4 and 1/6 when cycling types 2023-06-01 16:28:03 +09:00
timiimit
a58426dab6 Use LastEditTime in Editor 2023-05-31 19:07:04 +02:00
Andrei Zavatski
d119447a10 Fix editor timeline hitobjects popping in 2023-05-30 16:41:42 +03: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
Bartłomiej Dach
6ec4ecfdd7
Mention fallback default in GetDivisorForBeatIndex() 2023-05-24 22:17:51 +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
38b4bd8aef
Fix undo not behaving as expected sometimes 2023-05-22 22:45:39 +02:00
Bartłomiej Dach
e0b7539c2a
Fix sample changes not being applied in patcher 2023-05-22 22:45:23 +02:00
Bartłomiej Dach
f253d17a7f
Fix slider velocity changes not being applied in patcher 2023-05-22 22:19:10 +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
bdf8a78b42 Add the ability to adjust the beatmap tick rate in the editor 2023-05-09 20:53:20 +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
Dean Herbert
8c44d528e9 Use min/max values from stable 2023-05-08 13:52:16 +09: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
451af9d1b5 Fix beatmap values not being updated due to a varying data type 2023-05-08 13:23:13 +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
Dean Herbert
b109ee74a6 Add "base velocity" adjustment to difficulty setup screen 2023-05-08 13:13:09 +09:00