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

3040 Commits

Author SHA1 Message Date
OliBomby
b253d8ecbf Hide scroll speed in bottom timeline 2024-08-16 14:43:09 +02:00
OliBomby
5624c1d304 Make break periods in bottom timeline transparent 2024-08-16 13:22:09 +02:00
OliBomby
3a84409546 Use TimingPointAfter for seeking check 2024-08-16 01:36:51 +02:00
Dean Herbert
b5f615882f
Ensure the "Change Difficulty" menu uses up-to-date difficulty names
Closes https://github.com/ppy/osu/issues/29391.
2024-08-15 17:25:30 +09:00
Bartłomiej Dach
06c2952fe8
Merge branch 'master' into grids-3 2024-08-12 13:55:35 +02:00
Dean Herbert
8fdd94090b
Show object inspector values during placement 2024-08-09 18:02:37 +09:00
Bartłomiej Dach
437812eebe
Merge pull request #29279 from normalid-awa/bugfix/editor/delete-operation-wont-close-the-menu
Close context menus when deselecting items in editor
2024-08-07 13:25:13 +02:00
Dan Balasescu
c574551ee0
Simplify caching 2024-08-06 16:02:36 +09:00
Dan Balasescu
b91461e661
Refactor + CI fixes 2024-08-06 15:17:52 +09:00
jkh675
cb877b7675 Close the menu when selecting other object 2024-08-06 13:09:48 +08:00
jkh675
75c0c6a5f9 Make the OsuContextMenu nullable in SelectionHandler 2024-08-05 16:32:49 +08:00
Dean Herbert
0557b9ab79
Allow placement deletion with middle mouse
This is in addition to Shift + Right-click.

I thik middle mouse feels more natural and is a good permanent solution
to this issue.

Note that this also *allows triggering the context menu from placement
mode*. Until now it's done nothing. This may be annoying to users with
muscle memory but I want to make the change and harvest feedback. I
think showing the context menu is more correct behaviour (although
arguably it should return to placement mode on dismiss?).
2024-08-05 14:25:09 +09:00
jkh675
b32d97b4c0 Remove decreapted property 2024-08-04 21:27:25 +08:00
jkh675
2145368d17 Merge EditorContextMenuContainer into OsuContextMenuContainer 2024-08-04 21:00:43 +08:00
jkh675
7c83d6a883 Cleanup code 2024-08-04 19:56:41 +08:00
jkh675
5d31171fb0 Fix code quality 2024-08-04 19:43:43 +08:00
jkh675
3cc5466774 Refactor the code to follow IoC principle and more flexible 2024-08-04 19:39:06 +08:00
jkh675
27d6c4cecb Implement on beatmap editor 2024-08-04 19:16:14 +08:00
jkh675
5c5fcd7e7e Allow key event pass through selection handler 2024-08-04 19:11:21 +08:00
jkh675
1ff0c7cb46 Replace original menu container with custom one 2024-08-04 19:10:49 +08:00
jkh675
83aeb27c73 Replace original menu container to the custom one 2024-08-04 19:08:31 +08:00
jkh675
de6d8e7eb7 Add the custom context menu to handle the key event 2024-08-04 19:07:35 +08:00
Dean Herbert
548fd9cbf9
Show breaks behind objects in timeline
Closes https://github.com/ppy/osu/issues/29227.
2024-08-01 19:47:44 +09:00
Dean Herbert
2d52bab77b
Always show timing points in timeline when at the timing screen
Supersedes https://github.com/ppy/osu/pull/29196.
2024-07-31 19:43:08 +09:00
Dean Herbert
e329427d6e
Apply nullability to Timeline 2024-07-31 19:28:32 +09:00
Salman Ahmed
621f4dfece Enforce new line between X/Y coordinate in editor position inspector 2024-07-30 02:45:21 +03:00
Dean Herbert
4983e5f33e
Merge pull request #29039 from bdach/multiple-selection-sample-popover
Make sample popover change properties of all samples in multiple selection
2024-07-24 22:49:20 +09:00
Bartłomiej Dach
1ed7e4b075
Make sample popover change properties of all samples in multiple selection
Closes https://github.com/ppy/osu/issues/28916.

The previous behaviour *may* have been intended, but it was honestly
quite baffling. This seems like a saner variant.
2024-07-24 12:15:12 +02:00
Dean Herbert
aded31bd07
Merge pull request #29021 from bdach/editor-breaks-respect-time-preempt
Respect pre-empt time when auto-generating breaks
2024-07-24 15:21:12 +09:00
Dean Herbert
aed7ba9508
Change order of application to avoid bias to side with more room to drag
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2024-07-23 20:56:21 +09:00
Bartłomiej Dach
c3062f96ee
Fix autogenerated breaks not invalidating on change to pre-empt time 2024-07-23 13:38:50 +02:00
Bartłomiej Dach
088e8ad0a2
Respect pre-empt time when auto-generating breaks
Closes https://github.com/ppy/osu/issues/28703.
2024-07-23 13:30:13 +02:00
Dean Herbert
cc4ed0ff3f
Use non-screen-space coordinates and add time-based drag ramping for better control 2024-07-23 18:59:22 +09:00
Bartłomiej Dach
38fc6f70f6
Add tolerance when drag-scrolling editor timeline
Closes https://github.com/ppy/osu/issues/28983.

While the direct cause of this is most likely mouse confine in
full-screen, it shouldn't/can't really be disabled just for this,
and I also get this on linux in *windowed* mode.

In checking other apps, adding some tolerance to this sort of
drag-scroll behaviour seems like a sane UX improvement anyways.
2024-07-23 11:10:18 +02:00
Dean Herbert
c2cc85e6f0
Use purple again for kiai time specifically 2024-07-19 19:59:38 +09:00
Dean Herbert
c4de2bbb60
Ignore "too many ticks" in timeline (triggers in normal cases) 2024-07-19 19:57:47 +09:00
Dean Herbert
5ee645ac8f
Increase opacity of control points slightly 2024-07-19 19:50:21 +09:00
Bartłomiej Dach
4dd225fdc8
Fix compose blueprint container not unsubscribing from event
Closes https://github.com/ppy/osu/issues/28938.

This is related to reloading the composer on timing point changes in
scrolling rulesets. The lack of unsubscription from this would cause
blueprints to be created for disposed composers via the
`hitObjectAdded()` flow.

The following line looks as if a sync load should be forced on a newly
created placement blueprint:

    da4d37c4ad/osu.Game/Screens/Edit/Compose/Components/ComposeBlueprintContainer.cs (L364)

however, it is not the case if the parent
(`placementBlueprintContainer`) is disposed, which it would be in this
case. Therefore, the blueprint stays `NotLoaded` rather than `Ready`,
therefore it never receives its DI dependencies, therefore it dies on
an `EditorBeatmap` nullref.
2024-07-19 08:32:36 +02:00
Salman Ahmed
a570949459 Fix selection box initialy visible despite no items selected 2024-07-19 03:00:44 +03:00
Bartłomiej Dach
ad2db3f853
Merge pull request #28882 from peppy/update-framework
Update framework
2024-07-16 12:28:51 +02:00
Dean Herbert
f1325386f0
Fix summary timeline timing points having x position applied twice 2024-07-16 18:32:54 +09:00
Dean Herbert
4ad7d900c1
Fix incorrect editor screen padding 2024-07-16 18:20:33 +09:00
Bartłomiej Dach
217b01d303
Apply tooltip to bookmark pieces too
Bookmarks don't show on real beatmaps, but they do show in test scenes
(namely `TestSceneEditorSummaryTimeline`).

Also does some more changes to adjust the markers to the latest updates
to other markers.
2024-07-12 11:12:20 +02:00
Dean Herbert
2453e2fd00
Fix nullability issue 2024-07-12 18:11:23 +09:00
Bartłomiej Dach
5e00995948
Merge branch 'master' into tooltips 2024-07-12 11:01:03 +02:00
Bartłomiej Dach
518dc17518
Merge pull request #28788 from bdach/timeline-redesign
Redesign editor timelines to address most frequent user complaints
2024-07-12 10:58:59 +02:00
Dean Herbert
4be5d056c5
Reduce opacity of centre marker slightly 2024-07-12 17:23:48 +09:00
Dean Herbert
d2cb07b157
Add a bit more padding between node overlays and hitobjects in timeline 2024-07-12 17:22:36 +09:00
Dean Herbert
2454722601
Add tooltips to summary timeline display 2024-07-12 16:39:41 +09:00
Dean Herbert
275e7aa451
Adjust timeline centre marker visuals and bring in front of ticks 2024-07-12 16:37:03 +09:00
Dean Herbert
ca2fc72959
Adjust timeline centre marker visuals and bring in front of ticks 2024-07-12 16:29:40 +09:00
Dean Herbert
f65ab6736d
Adjust breaks in timeline to be centered with waveform / hitobjects 2024-07-12 15:45:58 +09:00
Dean Herbert
2ad2ae0c16
Add slight offset for timeline BPM display to avoid overlaps 2024-07-12 14:34:01 +09:00
Dean Herbert
9a7a0cdb34
Adjust timeline ticks to add a bit more body back 2024-07-12 14:29:18 +09:00
Dean Herbert
685b19a571
Adjust various visuals of summary timeline in a hope for user acceptance
.. with a somewhat appealing design.
2024-07-12 13:57:42 +09:00
Dean Herbert
fb4f620c90
Add back BPM and adjust sizing of bottom bar a bit more 2024-07-12 12:34:43 +09:00
Bartłomiej Dach
ccc4d288b2
Merge pull request #28821 from peppy/fix-editor-dim
Fix editor UI transparency being incorrectly opaque when hovering slider control points
2024-07-11 12:05:10 +02:00
Dean Herbert
95464ebf36
Merge branch 'master' into timeline-redesign 2024-07-11 18:38:17 +09:00
Bartłomiej Dach
6801ccbbc5
Fix editor UI remaining transparent when switching away from compose tab
Could still happen if using the keyboard F-key shortcuts. In that case
the composer becomes non-present, so its `Update()` can't really do
anything.
2024-07-11 11:23:09 +02:00
Bartłomiej Dach
f1fa34e5d5
Merge pull request #28800 from peppy/file-mounting-v3
Add ability to edit beatmap content externally
2024-07-11 10:47:36 +02:00
Dean Herbert
c139478aa2
Merge pull request #28805 from frenzibyte/select-all-on-focus
Select all text when focusing sample bank/volume textboxes in editor (and number boxes in general)
2024-07-11 17:33:30 +09:00
Dean Herbert
7b0c1e3498
Also apply to timing textboxes 2024-07-11 16:54:27 +09:00
Bartłomiej Dach
cc0d7e9981
Add error logging on failure to begin/end external edit 2024-07-11 09:54:12 +02:00
Bartłomiej Dach
ac467cf73a
Set locally modified state for all externally modified beatmap(sets) that could not be mapped to online 2024-07-11 09:44:33 +02:00
Dean Herbert
fe421edd8f
Fix editor UI transparency being incorrectly opaque when hovering slider control points
As mentioned at
https://github.com/ppy/osu/pull/28787#issuecomment-2221150025.
2024-07-11 16:41:21 +09:00
Dean Herbert
b5bb94e4ec
Merge branch 'master' into file-mounting-v3 2024-07-11 15:54:54 +09:00
Dan Balasescu
00cab0ec0a
Merge pull request #28809 from bdach/mania-timeline-zooms-composer
Match mania editor playfield time range with timeline zoom
2024-07-11 15:41:26 +09:00
Dean Herbert
bdbdc3592e
Move full export async flow inside screen and add error handling 2024-07-11 14:27:12 +09:00
Dean Herbert
599a765fd1
Add confirmation before saving for external edit 2024-07-11 12:20:33 +09:00
Dean Herbert
cd6b0e875a
Simplify save dialogs 2024-07-11 12:15:17 +09:00
Dean Herbert
b0d6c8ca6d
Abort operation on save failure 2024-07-11 11:42:06 +09:00
Bartłomiej Dach
92dc125d39
Match mania editor playfield time range with timeline zoom 2024-07-10 17:36:39 +02:00
Dean Herbert
b58ba5f5f1
Just give in to silly code quality inspection 2024-07-10 23:02:19 +09:00
Bartłomiej Dach
c8a64c5950
Remove setup screen controls that do nothing useful
Before I go with a hammer to redesign these, I want to remove stuff that
does nothing first.

Hard-breaks API to allow rulesets to specify an enumerable of custom
sections rather than two specific weird ones.

For specific rulesets:

- osu!:
  - Stack leniency slider merged into difficulty section.
- osu!taiko:
  - Approach rate and circle size sliders removed.
  - Colours section removed.
- osu!catch:
  - No functional changes.
- osu!mania:
  - Special style toggle merged into difficulty section.
  - Colours section removed.
2024-07-10 14:53:16 +02:00
Salman Ahmed
ce93455aa8 Extend behaviour to sample edit popover 2024-07-10 15:16:10 +03:00
Dean Herbert
b6741ee4ea
Fix back-to-front exit blocking conditionals 2024-07-10 20:00:34 +09:00
Dean Herbert
1381b3c0c5
Merge pull request #28801 from bdach/break-generation-caching
Improve performance of automatic break regeneration
2024-07-10 19:21:16 +09:00
Bartłomiej Dach
b881c25b17
Pool summary timeline break visualisations to reduce allocations 2024-07-10 11:42:28 +02:00
Bartłomiej Dach
343090e3b1
Do not regenerate breaks unless meaningful change to object start/end times is detected
Tangentially found when profiling https://github.com/ppy/osu/pull/28792.

For reproduction, import https://osu.ppy.sh/beatmapsets/972#osu/9007,
move any object on the playfield, and observe a half-second freeze
when ending the drag.
2024-07-10 11:42:25 +02:00
Dean Herbert
aa16c72e06
Add test coverage of external editing 2024-07-10 18:34:47 +09:00
Dean Herbert
3beca64cc5
Attempt to stay on correct difficulty 2024-07-10 18:34:46 +09:00
Dean Herbert
27ab54882b
Add loading segments and tidy things up 2024-07-10 18:34:46 +09:00
Dean Herbert
74aa05fa6e
Improve UX and styling of external edit screen 2024-07-10 18:34:45 +09:00
Dean Herbert
118162c631
Add sub screen to limit user interactions 2024-07-10 18:34:45 +09:00
Dean Herbert
d3c66e2404
Add basic flow for mounting beatmaps for external editing 2024-07-10 18:29:51 +09:00
Bartłomiej Dach
95783bd6c2
Merge pull request #28789 from peppy/fix-deletes-reappearing
Fix deleted beatmap sets potentially reappearing due to pending update requests
2024-07-10 09:14:10 +02:00
Dean Herbert
0e2e44a2f5
Add failing test case showing editor save then delete failure 2024-07-09 20:41:22 +09:00
OliBomby
306dc37ab5 Make hit object and sample point seek keybinds configurable 2024-07-09 12:28:23 +02:00
Bartłomiej Dach
ca4c0aa7e2
Remove unused using 2024-07-09 10:57:21 +02:00
Bartłomiej Dach
5d5dd0de00
Redesign bottom timeline pieces to match stable better 2024-07-09 09:25:22 +02:00
Bartłomiej Dach
29b8948609
Slim down bottom timeline
This removes the BPM display, which is commonly cited to have
no functional purpose by users, and reduces the height of the bottom bar
in exchange for more space for the playfield.
2024-07-09 09:25:22 +02:00
Bartłomiej Dach
50818da166
Ensure timeline ticks aren't hidden by other pieces
Addresses https://github.com/ppy/osu/issues/28667.
2024-07-09 09:25:22 +02:00
Dean Herbert
aadcc5384d
Adjust editor transparent tweens to be less "flashy"
Touched on in https://github.com/ppy/osu/discussions/28581.

After a bit more usage of the editor I do agree with this and think that
making the fades a bit more gentle helps a lot.
2024-07-09 16:16:19 +09:00
Dan Balasescu
9c2a0576fb
Merge pull request #28776 from bdach/fix-composer-disappearing
Fix composer disappearing when undoing change to control points
2024-07-09 00:54:38 +09:00
Bartłomiej Dach
275b959c02
Fix composer disappearing when undoing change to control points
As mentioned in https://github.com/ppy/osu/issues/28752.
Regressed in https://github.com/ppy/osu/pull/28444.
2024-07-08 16:28:54 +02:00
Bartłomiej Dach
877b5768fc
Merge branch 'master' into sorted-breaks 2024-07-08 15:59:32 +02:00
Salman Ahmed
b33e54d064 Enforce IBeatmap.Breaks to be sorted chronologically 2024-07-08 16:06:38 +03:00
Bartłomiej Dach
2cad8d3684
Merge branch 'master' into time-accurate 2024-07-08 14:19:57 +02:00
OliBomby
2822ba2377 Fix CurrentTimeAccurate being inaccurate if seeking smoothly in the same frame and a transform is already active 2024-07-08 13:30:11 +02:00
Bartłomiej Dach
0fe2c45e1d
Fix editor playback control not removing correct adjustment
Closes https://github.com/ppy/osu/issues/28768.

great job past me 🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦
2024-07-08 13:21:42 +02:00