Bartłomiej Dach
e13e9abda9
Disallow running save-related operations concurrently
...
Closes https://github.com/ppy/osu/issues/25426 .
Different approach to prior ones, this just disables the relevant
actions when something related to save/export is going on. Still ends up
being convoluted because many things you wouldn't expect to touch save
do touch save, so it's not just a concern between export and save
specifically.
2024-06-07 08:13:51 +02:00
OliBomby
e873698221
Add some in-depth xmldoc to GetSamples
2024-06-06 14:57:25 +02:00
OliBomby
fcc8671cbd
undo useless change
2024-06-06 14:50:24 +02:00
OliBomby
71ce400359
Fix wasteful recreating of container
2024-06-06 14:48:17 +02:00
Bartłomiej Dach
7a8a37dae6
Use established constants
2024-06-06 13:42:31 +02:00
Bartłomiej Dach
86b13074a0
Merge branch 'master' into edit-nodesample
2024-06-06 13:42:25 +02:00
Dean Herbert
212be6b9a7
Merge branch 'master' into grids-1
2024-06-05 15:20:04 +09:00
Bartłomiej Dach
ecfcf7a2c0
Add xmldoc mention about performance overhead of PerformOnSelection()
2024-06-04 10:36:30 +02:00
Bartłomiej Dach
f13ca28d5e
Fix performance overhead from ternary state bindable callbacks when selection is changing
...
Closes https://github.com/ppy/osu/issues/28369 .
The reporter of the issue was incorrect; it's not the beat snap grid
that is causing the problem, it's something far stupider than that.
When the current selection changes,
`EditorSelectionHandler.UpdateTernaryStates()` is supposed to update the
state of ternary bindables to reflect the reality of the current
selection. This in turn will fire bindable change callbacks for said
ternary toggles, which heavily use `EditorBeatmap.PerformOnSelection()`.
The thing about that method is that it will attempt to check whether any
changes were actually made to avoid producing empty undo states, *but*
to do this, it must *serialise out the entire beatmap to a stream* and
then *binary equality check that* to determine whether any changes were
actually made:
7b14c77e43/osu.Game/Screens/Edit/EditorChangeHandler.cs (L65-L69)
As goes without saying, this is very expensive and unnecessary, which
leads to stuff like keeping a selection box active while a taiko beatmap
is playing under it dog slow. So to attempt to mitigate that, add
precondition checks to every single ternary callback of this sort to
avoid this serialisation overhead.
And yes, those precondition checks use linq, and that is *still* faster
than not having them.
2024-06-04 10:32:12 +02:00
Bartłomiej Dach
4fcb902341
Merge branch 'master' into grids-1
2024-06-03 12:33:51 +02:00
Bartłomiej Dach
4c881b5633
Use better name if we're renaming
2024-05-29 09:40:29 +02:00
OliBomby
d143a697d2
refactor CanScaleFromPlayfieldOrigin and GetClampedScale to derived class
2024-05-28 17:12:16 +02:00
OliBomby
8eb23f8a60
remove redundant CanScaleFromSelectionOrigin
2024-05-28 16:19:57 +02:00
OliBomby
a89ba33b47
rename CanScaleSelectionOrigin/PlayfieldOrigin to make clear its not the origin being scaled
2024-05-28 16:14:16 +02:00
OliBomby
37530eebcc
Enable scale buttons at the correct times
2024-05-25 20:35:06 +02:00
OliBomby
4eeebdf60c
calculate max scale bounds for scale slider
2024-05-25 20:17:27 +02:00
OliBomby
497701950d
fix nitpick
2024-05-24 18:11:28 +02:00
Bartłomiej Dach
9f19ab092d
Merge branch 'master' into grids-1
2024-05-24 14:39:55 +02:00
Bartłomiej Dach
7255cc3344
Fix tests dying on a nullref
2024-05-24 11:25:29 +02:00
Bartłomiej Dach
807d982a72
Move workaround to subscreen
2024-05-24 10:35:33 +02:00
Bartłomiej Dach
a80dbba9d0
Update to not use obsoleted method
2024-05-24 10:35:31 +02:00
Bartłomiej Dach
4089071299
Merge branch 'master' into fix-editor-didnt-save
2024-05-24 10:16:46 +02:00
Bartłomiej Dach
8a2dd4d816
Merge branch 'master' into scaling
2024-05-23 15:10:40 +02:00
Bartłomiej Dach
128029e2af
Fix aspect ratio lock applying when shift pressed on a non-corner anchor
...
It doesn't make sense and it wasn't doing the right thing.
2024-05-23 15:08:43 +02:00
Bartłomiej Dach
9e86a08405
Simplify scale origin computation
2024-05-23 14:07:43 +02:00
Bartłomiej Dach
070668c96f
Use ShiftPressed
instead of explicitly checking both physical keys
...
Not only is this simpler, but it also is more correct (for explanation
why, try holding both shift keys while dragging, and just releasing one
of them - the previous code would briefly turn aspect ratio off).
2024-05-23 13:57:34 +02:00
Dean Herbert
66ceda1d67
Update focus specifications in line with framework changes
2024-05-22 21:32:49 +08:00
Dean Herbert
d0b1ebff5a
Revert "Temporary rollback of framework / SDL3"
...
This reverts commit d7d569cf4e
.
2024-05-22 16:29:39 +08:00
Dean Herbert
d7d569cf4e
Temporary rollback of framework / SDL3
2024-05-21 14:36:16 +08:00
OliBomby
c4ac6d20a0
fix code quality
2024-05-15 23:40:51 +02:00
OliBomby
8df5f22b4e
Merge remote-tracking branch 'upstream/master' into scaling
2024-05-15 23:05:19 +02:00
Dan Balasescu
3b8b56cbcb
Apply required changes after framework masking updates
2024-05-09 20:18:53 +09:00
Dean Herbert
fd3f4a9e7b
Preserve storyboard events when saving a beatmap in the editor
...
Until we have full encoding support for storyboards, this stop-gap
measure ensures that storyboards don't just disappear from existence.
2024-04-30 00:01:56 +08:00
Dan Balasescu
52addc775e
Merge pull request #27965 from bdach/generic-math
...
Apply generic math-related changes
2024-04-26 01:33:54 +09:00
Bartłomiej Dach
19d006d818
Fix deleting modified difficulty via editor leaving user in broken state
...
Closes https://github.com/ppy/osu/issues/22783 .
If the difficulty being edited has unsaved changes, the editor exit flow
would prompt for save *after* the deletion method has run. This is
undesirable from a UX standpoint, and also leaves the user in a broken
state.
Thus, just fake an update of the last saved hash of the beatmap to fool
the editor into thinking that it's not dirty, so that the exit flow will
not show a save dialog.
2024-04-25 12:55:34 +02:00
Joseph Madamba
4f7c9f2970
Remove unused using
2024-04-24 01:00:03 -07:00
Joseph Madamba
f97c519451
Add chevron to distinguish all menus with submenus
2024-04-24 00:19:10 -07:00
Dean Herbert
436203a8c1
Add a chevron to distinguish editor menus with submenus
2024-04-23 21:37:01 +08:00
Bartłomiej Dach
09b0f3005e
Apply generic math-related changes
2024-04-22 10:15:56 +02:00
Andrei Zavatski
1d3fd65d86
Adjust execution order
2024-04-22 07:02:49 +03:00
Andrei Zavatski
722fa228ce
Don't consider editor table content for input
2024-04-21 17:40:35 +03:00
Salman Ahmed
9e69268676
Change editor screen selection logic to use SelectItem
for sound feedback
2024-04-17 11:20:17 +03:00
Dean Herbert
aa7b357063
Merge pull request #27768 from 64ArthurAraujo/editor-fix-sliders-same-start-time-merge
...
Fix merging sliders with the same `StartTime` causing a Unhandled Exception
2024-04-03 01:45:55 +08:00
Arthur Araujo
2a2a372595
Check if blueprint
is in SelectionBlueprints
before changing its depth
2024-04-02 07:45:27 -03:00
Nguyên Minh Hồ
5d497ba4a8
Simplify TooltipText for EditorRadioButton
2024-03-30 16:04:22 +07:00
Nguyên Minh Hồ
9950395e5f
Merge branch 'fix-rotate-editor-button-disabled' of https://github.com/honguyenminh/osu into fix-rotate-editor-button-disabled
2024-03-30 13:57:44 +07:00
Nguyên Minh Hồ
113dbcd10f
Merge branch 'master' into fix-rotate-editor-button-disabled
2024-03-30 13:56:31 +07:00
Dean Herbert
fd509c82f5
Adjust code structure slightly
2024-03-20 12:52:54 +08:00
Andrei Zavatski
7ca45c75b3
Don't iterate backwards on children without a reason
2024-03-18 20:46:38 +03:00
Andrei Zavatski
0edc249637
Make Timeline non-nullable
2024-03-18 20:38:19 +03:00
Andrei Zavatski
57399e9899
Merge branch 'master' into editor-performance
2024-03-18 20:34:48 +03:00
Andrei Zavatski
34a5e2d606
Don't update subtree masking in TimelineTickDisplay
2024-03-16 15:20:37 +03:00
Andrei Zavatski
981ee54cdc
Fix transforms overhead in TimelineTickDisplay
2024-03-16 15:05:52 +03:00
Andrei Zavatski
e825db61ee
Fix enumerator allocation
2024-03-16 12:26:56 +03:00
Andrei Zavatski
ea3a9314f9
Improve TimelineControlPointDisplay performance
2024-03-16 11:57:18 +03:00
Andrei Zavatski
6ecef33fd7
Fic incorrect ExtendableCircle gradient
2024-03-10 22:45:29 +03:00
Andrei Zavatski
549a8d678e
Reduce allocations in ControlPointList
2024-03-09 20:50:54 +03:00
Dan Balasescu
ca92a31cf9
Fix missing event unbinds
2024-03-07 21:10:11 +09:00
Salman Ahmed
0fe139a189
Adjust editor screen switcher control design and behaviour
2024-03-07 08:20:46 +03:00
Dean Herbert
6455c0583b
Update usage of CircularProgress.Current
2024-03-06 12:13:10 +08:00
Dean Herbert
c6201ea5de
Remove unused ruleset parameter when testing beatmap in editor
2024-03-01 20:28:52 +08:00
Andrei Zavatski
eb0933c3a5
Fix allocations in EffectPointVisualisation
2024-02-29 20:35:20 +03:00
Bartłomiej Dach
f86b7f0702
Enable NRT in EditorBeatmapSkin
2024-02-23 14:52:44 +01:00
Bartłomiej Dach
d1d32fc16c
Fix editor displaying combo colours in effectively incorrect order
...
Addresses https://github.com/ppy/osu/discussions/27316 .
Stable lies about the first combo colour being first; in the `.osu`
file it is actually second. It does a thing in editor itself to correct
for this.
https://github.com/peppy/osu-stable-reference/blob/master/osu!/GameModes/Edit/Forms/SongSetup.cs#L233-L234
2024-02-23 14:49:46 +01:00
Andrei Zavatski
4cefa8bb8d
Reduce allocations in TimelineBlueprintContainer
2024-02-21 23:13:10 +03:00
Dean Herbert
9c40ff2911
Merge pull request #27278 from EVAST9919/grid-update
...
Apply padding to `GridContainer`s directly where possible
2024-02-21 17:29:21 +08:00
Andrei Zavatski
2543a48ac8
Apply padding to GridContainers directly
2024-02-20 23:18:37 +03:00
Andrei Zavatski
871bdb9cf7
Reduce string allocations in TimeInfoContainer
2024-02-20 20:31:18 +03:00
Andrei Zavatski
6678c4783b
Fix PlaybackControl string allocations
2024-02-20 19:31:28 +03:00
Berkan Diler
6adf0ac01e
Use new LINQ Order() instead of OrderBy() when possible
2024-02-08 18:01:00 +01:00
Dan Balasescu
b44f77cee1
Update R# + fix inspections
2024-02-02 21:00:28 +09:00
OliBomby
1428cbfbc3
Remove Masking from PositionSnapGrid
...
This caused issues in rendering the outline of the grid because the outline was getting masked at some resolutions.
2024-02-01 16:56:57 +01:00
Bartłomiej Dach
8a11ff1227
Apply local precision workaround to editor effect section
2024-01-29 11:52:38 +01:00
Dean Herbert
45f2980dc0
Fix potential editor data loss if exiting while a textbox is focused
2024-01-26 13:59:32 +09:00
OliBomby
c2d57dc77c
Merge remote-tracking branch 'upstream/master' into edit-nodesample
2024-01-25 11:33:29 +01:00
Mike Will
a264ac9f38
Change name and description of force
parameter in SetArbitraryDivisor
2024-01-25 05:12:54 -05:00
Nguyên Minh Hồ
d5b70ed09a
Move CanRotatePlayfieldOrigin bindable to generic rotation handler
2024-01-25 16:58:44 +07:00
Nguyên Minh Hồ
2fa52de87a
Fix formatting
2024-01-25 16:29:44 +07:00
Nguyên Minh Hồ
94ada87cba
Un-hardcode tooltip from EditorRadioButton and add disabled tooltip for rotation popover
2024-01-25 14:32:48 +07:00
Nguyên Minh Hồ
500bed0121
Split editor toolbox radio button disabling logic from EditorRadioButton, then add disabling logic for rotate popover
2024-01-25 14:24:35 +07:00
Nguyên Minh Hồ
e1f8bc9692
Rename CanRotate property of SelectionRotationHandler to a more descriptive name
2024-01-25 12:10:50 +07:00
Mike Will
9e1c242713
Prevent custom divisor ranges from halting preset cycling
...
A custom divisor like 24 or 32 will result in a range containing
many divisors that are already in the `Common` and `Triplets` presets.
When this happens, it can become impossible to cycle between presets,
because the preset can only be changed if the new divisor isn't already
contained within the current preset's range.
2024-01-24 18:31:39 -05:00
Salman Ahmed
2bd9cd5d34
Fix blueprint container not handling right clicks correctly while moveing an element
2024-01-22 04:39:08 +03:00
OliBomby
78e87d379b
fix divide by zero
2024-01-20 16:53:11 +01:00
OliBomby
5f40d3aed9
rename variable
2024-01-20 16:29:26 +01:00
OliBomby
9b9485f656
fix adjust axes detection
2024-01-20 15:39:38 +01:00
OliBomby
1596776a81
fix imports
2024-01-20 15:15:49 +01:00
OliBomby
0fc448f4f3
fix adjusting scale from anchor
2024-01-20 15:12:48 +01:00
OliBomby
6a4129dad8
fix aspect ratio transform
2024-01-20 15:11:35 +01:00
OliBomby
fcaa5ec20e
remove debug logs
2024-01-20 13:26:08 +01:00
OliBomby
6a57be0a50
clean up code and fix flipping
2024-01-20 13:04:05 +01:00
OliBomby
a4f771ec08
refactor CanScale properties
2024-01-20 01:13:01 +01:00
OliBomby
26c0d1077a
Refactor scale handling in editor to facilitate reuse
2024-01-20 00:22:53 +01:00
Salman Ahmed
46429c5074
Schedule control point switch for settings modifications to apply first
2024-01-17 08:15:01 +03:00
Dean Herbert
bdfaa4b583
Fix crash when dragging rotation control in editor with both mouse buttons
...
Closes https://github.com/ppy/osu/issues/26325 .
2024-01-03 13:34:50 +09:00
OliBomby
de14da95fa
Remove other grid types
2024-01-01 15:44:20 +01:00
OliBomby
f649fa106f
Added bindables and binding with BindTo
2024-01-01 15:13:11 +01:00
OliBomby
d0ca3f2b2b
Add circular grid
2024-01-01 15:13:11 +01:00
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