Dean Herbert
6a7f6c76ff
Fix osu! editor padding being applied to toolboxes
...
The result of https://github.com/ppy/osu/pull/20739 and https://github.com/ppy/osu/pull/20738 having unintended side effects when applied together.
2022-10-18 14:32:00 +09:00
Dan Balasescu
10aabfc650
Merge pull request #20739 from peppy/settings-toolbox
...
Adjust visuals of settings toolboxes (gameplay loading screen and editor)
2022-10-14 20:31:05 +09:00
Dean Herbert
15f9697c9f
Roughly update design of editor buttons
2022-10-13 16:57:25 +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
f6f5d33f53
Add slight padding to playfield (roughly matches stable)
2022-10-13 15:44:23 +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 Playfield
s 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
Drison64
0b6a77bc8b
EditorBeatmap's TimelineZoom should never be zero
2022-09-17 15:59:42 +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
OliBomby
718f8c4ee2
revert the fix
2022-09-13 01:09:42 +02:00
OliBomby
8400de4b2e
invoking hitobject updated before invoking removed
2022-09-12 17:50:11 +02:00
Salman Ahmed
90207b6032
Merge branch 'master' into feature/EditorDeleteDiff
2022-09-06 18:48:06 +03:00
Dean Herbert
db15bd56e8
Invalidate working beatmap cache when calling DeleteDifficultyImmediately
rather than in editor code
2022-09-06 18:12:47 +09:00
Dean Herbert
57954bb8f5
Enable nullability on TimelineHitObjectBlueprint
2022-09-05 14:50:43 +09:00
Dean Herbert
4f18105e9d
Ensure next beatmap selected matches the menu ordering
2022-09-02 17:57:00 +09:00
Dean Herbert
840d1c4cd5
Disable delete difficulty menu item when only one difficulty is present
2022-09-02 17:14:48 +09:00
Dean Herbert
9fd8067e11
Tidy up dialog and deletion flow
2022-09-02 17:07:09 +09:00
Dean Herbert
605108c938
Refactor/rename deletion method to read better
2022-09-02 16:59:01 +09:00
Dean Herbert
b388428e1c
Merge branch 'master' into feature/EditorDeleteDiff
2022-09-02 16:48:38 +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
2dafa041a7
Account for offset being applied to editor clock time in TestSceneEditorClock
2022-08-29 16:42:50 +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
Dean Herbert
12d6d6793c
Move EditorClock
processing to Update
and always decouple
2022-08-26 18:08:43 +09:00
Dean Herbert
31e459364b
Use FramedBeatmapClock
in EditorClock
2022-08-26 17:28:58 +09:00
Dean Herbert
ec61a94dc9
Merge branch 'master' into no-gameplay-clock-gameplay-offset
2022-08-23 17:36:06 +09:00
Dean Herbert
af2e82d7d5
Move operation of setting GameplayClockContainer.StartTime
to Reset
call
2022-08-22 14:11:06 +09:00
Dean Herbert
cbdd870ecf
Merge pull request #19693 from its5Q/editor-localisation
...
Add localisation support for beatmap editor setup
2022-08-20 11:51:57 +09:00
its5Q
4c24d8ed58
Improve string consistency
2022-08-19 03:17:05 +10:00
Dan Balasescu
0cf3c5570a
Merge pull request #19800 from peppy/fix-editor-ear-rape
...
Fix slider ticks playing back at infinite rate while making changes to a slider in the editor
2022-08-17 15:50:58 +09:00
Dean Herbert
6b9dec5996
Restore original event flow to allow for OnSuspend
case to work correctly
2022-08-17 14:32:21 +09:00
Dean Herbert
8ce50e98a6
Move delegate debounce logic to Editor
itself
2022-08-17 14:04:57 +09:00
Dean Herbert
ee153a345c
Add a few more overlooked beatmap save states on setup screen modifications
2022-08-16 16:31:56 +09:00
Dean Herbert
ea50936d71
Fix slider ticks playing back at infinite rate while making changes to a slider in the editor
2022-08-16 15:27:58 +09:00
its5Q
e870ac6456
Fix code quality for CI
2022-08-16 15:51:54 +10:00
its5Q
797a8da996
Replace osu-web strings with new strings and merge to single file
2022-08-16 01:14:16 +10:00
Bartłomiej Dach
05ddfe7522
Merge branch 'master' into editor-setup-no-state-change
2022-08-14 18:21:31 +02:00
its5Q
2499b7f0cd
Add localisation support for beatmap editor setup
2022-08-11 03:53:20 +10:00
Dean Herbert
ac99c1ad69
Migrate the majority of existing file lookups to use new extension methods
2022-08-10 16:01:16 +09:00
Dan Balasescu
c4b9b2a14b
Merge branch 'master' into irenderer-glwrapper
2022-08-05 20:35:06 +09:00
Dean Herbert
de186f67e0
Limit metadata updates to once per frame
2022-08-02 22:02:30 +09:00
Dan Balasescu
b4e55f7309
Apply IRenderer changes
2022-08-02 19:50:57 +09:00
Dean Herbert
cc4cde2c79
Improve IBeatSyncProvider
interface and reduce beatmap track dependence
2022-08-02 17:59:18 +09:00
Dean Herbert
efa3c3b757
Fix multiple cases of mutations at editor setup screen not triggering a state save
2022-08-02 16:47:37 +09:00
Dean Herbert
6e7c298aaf
Fix changes to audio / background not triggering an editor state change
2022-08-01 16:53:49 +09:00
Dean Herbert
2f60f91a0e
Fix editor potentially using a track post-disposal
...
This changes the editor to track the current track as it is *loaded* by
`MusicController`, rather than haphazardly following the current global
`WorkingBeatmap` (with a potentially unloaded track) or relying on local
immediate-load behaviour (as implemented in `ResourcesSection`).
2022-08-01 16:53:49 +09:00
Dean Herbert
acf9ad1429
Apply nullability to EffectPointVisualisation
2022-07-29 23:26:38 +09:00
Dean Herbert
8f1e3b0154
Fix editor summary timeline not responding to kiai changes correctly
2022-07-29 19:31:49 +09:00
Micahel Kelly
dd315ff97b
Adds hard-delete for a beatmap diff
2022-07-27 21:21:16 +10:00
Micahel Kelly
3febd6d644
Dialogue touchups
2022-07-27 19:23:55 +10:00
Micahel Kelly
e6fad601cc
Adds delete difficulty option to editor
2022-07-27 19:15:43 +10: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
1774a96455
Merge pull request #19278 from Cwazywierdo/timeline-relative-zoom
...
Make editor timeline zoom relative to song length
2022-07-22 15:37:47 +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
Dean Herbert
f713253d1b
Fix formatting inconsistencies in empty ctor
s
2022-07-22 14:00:29 +09:00
LukynkaCZE
ed94d7fce8
Fix requested changes
2022-07-22 02:46:17 +02: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
LukynkaCZE
5987acfbca
Fixed code formatting
2022-07-19 22:59:25 +02:00
LukynkaCZE
a00da279b7
Beatmap Editor Save Toast
2022-07-19 21:38:23 +02:00
Dean Herbert
7ac04d0478
Fix potential crash when exiting editor test mode
2022-07-14 01:00:18 +09:00
Dean Herbert
952d97c66e
Update comment regarding LoadTrack
safety
2022-07-13 19:02:22 +09:00
Joseph Madamba
834bb1f187
Fix editor playing object samples while paused after cancelling exit
2022-07-09 12:14:39 -07:00
Dean Herbert
98938821e5
Merge branch 'master' into beatmap-update-flow
2022-06-30 16:44:17 +09:00
Dean Herbert
569fde4b47
Add messages to all InvalidOperationException
s
...
Without this, they can be very non-descript and hard to track down
2022-06-28 01:34:25 +09:00
Dean Herbert
0ba29b6fa6
Use currentScreen
instead to make sure the screen we care about is loaded
2022-06-27 18:28:00 +09:00
Dean Herbert
5a7d339cc8
Centralise and harden editor-ready-for-use check
...
Not only does this combine the check into one location, but it also adds
a check on the global `WorkingBeatmap` being updated, which is the only
way I can see the following failure happening:
```csharp
05:19:07 osu.Game.Tests: osu.Game.Tests.Visual.Editing.TestSceneEditorBeatmapCreation.TestAddAudioTrack
05:19:07 Failed TestAddAudioTrack [161 ms]
05:19:07 Error Message:
05:19:07 TearDown : System.NullReferenceException : Object reference not set to an instance of an object.
05:19:07 Stack Trace:
05:19:07 --TearDown
05:19:07 at osu.Game.Database.ModelManager`1.<>c__DisplayClass7_0.<AddFile>b__0(TModel managed) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 36
05:19:07 at osu.Game.Database.ModelManager`1.<>c__DisplayClass8_0.<performFileOperation>b__0(Realm realm) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 49
05:19:07 at osu.Game.Database.RealmExtensions.Write(Realm realm, Action`1 function) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\RealmExtensions.cs:line 14
05:19:07 at osu.Game.Database.ModelManager`1.performFileOperation(TModel item, Action`1 operation) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 46
05:19:07 at osu.Game.Database.ModelManager`1.AddFile(TModel item, Stream contents, String filename) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 36
05:19:07 at osu.Game.Screens.Edit.Setup.ResourcesSection.ChangeAudioTrack(FileInfo source) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Screens\Edit\Setup\ResourcesSection.cs:line 115
05:19:07 at osu.Game.Tests.Visual.Editing.TestSceneEditorBeatmapCreation.<TestAddAudioTrack>b__13_0() in C:\BuildAgent\work\ecd860037212ac52\osu.Game.Tests\Visual\Editing\TestSceneEditorBeatmapCreation.cs:line 101
05:19:07 at osu.Framework.Testing.Drawables.Steps.AssertButton.checkAssert()
05:19:07 at osu.Framework.Testing.Drawables.Steps.StepButton.PerformStep(Boolean userTriggered)
05:19:07 at osu.Framework.Testing.TestScene.runNextStep(Action onCompletion, Action`1 onError, Func`2 stopCondition)
```
2022-06-27 16:22:01 +09:00