Dean Herbert
b3856c9005
Fix editor crashing on custom rulesets due to ChangeHandler
not being supported
...
As per https://github.com/ppy/osu/discussions/16668 , even without proper
saving support some ruleset developers do want to work on the editor.
This brings things back into a workable state.
2022-01-28 14:03:31 +09:00
Dean Herbert
91be77ad3d
Fix null ref in ComposeScreen
when ruleset doesn't provide a composer
2022-01-28 14:01:10 +09:00
Dean Herbert
a5d422e82c
Merge branch 'master' into ruleset-id-fixes
2022-01-27 17:07:18 +09:00
Dean Herbert
5288eedd31
Update all usages of RulesetID
and Ruleset.ID
to use Ruleset.OnlineID
2022-01-27 15:38:03 +09:00
Bartłomiej Dach
d760283665
Ensure edited beatmap is restored to a baseline state on exit
2022-01-26 21:15:49 +01:00
Dean Herbert
bdf215c576
Merge branch 'master' into improve-timeline-zoom
2022-01-26 03:40:53 +09:00
Salman Ahmed
4169e5592e
Reword event handler name and update xmldoc
2022-01-25 19:36:19 +03:00
Salman Ahmed
d1cbdf63f0
Add support for reading/saving timeline zoom in editor
2022-01-25 18:57:39 +03:00
Salman Ahmed
f7f58b06a1
Fix beat divisor not saving in editor
2022-01-25 11:56:38 +03:00
Salman Ahmed
5a9524a74e
Decrease default timeline zoom to "6 seconds visible" range
2022-01-25 10:43:51 +03:00
Bartłomiej Dach
bd748686fa
Adjust spacing of time signature numerator input box
2022-01-23 15:21:32 +01:00
Salman Ahmed
e4758c9dbb
Mark LabelledTimeSignature
as public
2022-01-23 10:14:37 +03:00
Bartłomiej Dach
54f7b1b8d0
Use new time signature control on timing screen
2022-01-22 20:50:32 +01:00
Bartłomiej Dach
f39f2c93b5
Add control for arbitrary-numerator time signatures
2022-01-22 20:50:31 +01:00
Bartłomiej Dach
735414bc49
Replace TimeSignatures
enum with struct for storage of arbitrary meter
2022-01-22 20:50:31 +01:00
Dean Herbert
5f5765d6a2
Reduce redundancy time range to create a bit more visual blending on the timeline
2022-01-19 14:57:01 +09:00
Dean Herbert
03ac91a3ee
Consider all points in a group to meet redundancy check
2022-01-19 14:56:44 +09:00
Dean Herbert
93cd07f7fb
Merge branch 'master' into summary-timeline-control-point-optimisation
2022-01-19 14:50:45 +09:00
Dean Herbert
67bf95bc91
Remove all usage of AuthorString
2022-01-18 23:30:40 +09:00
Dean Herbert
d10d657073
Merge pull request #16421 from Susko3/textbox-AllowIme-false
...
Add `AllowIme => false` to text boxes where applicable
2022-01-18 18:02:47 +09:00
Dean Herbert
39c9c4985b
Merge branch 'master' into textbox-AllowIme-false
2022-01-18 17:03:51 +09:00
Dean Herbert
566d341b1e
Split conditions out for readability
2022-01-16 22:04:29 +09:00
Dean Herbert
565611ee00
Fix typo in inline comment
2022-01-15 23:57:20 +09:00
Dean Herbert
236fa6da7e
Rename ControlPointVisualisation
interface type to be less specific
2022-01-15 23:56:00 +09:00
Dean Herbert
c5cae4e3ee
Rename methods and add xmldoc
2022-01-15 23:55:11 +09:00
Bartłomiej Dach
03e4ec4214
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-15 14:45:42 +01:00
Dean Herbert
64c499d9d6
Revert unintended temporary commenting (was used during benchmarking)
2022-01-15 15:24:30 +09:00
Susko3
19467e58c1
Remove unused params from BDL methods
2022-01-15 01:06:39 +01:00
Dean Herbert
c64a919a9d
Reduce number of redundant control points displayed on summary timeline
...
As pointed out in https://github.com/ppy/osu/discussions/16435 , beatmaps
with too many control points (usually added via external automation
apps) could cause the lazer editor to grind to a halt.
The overheads here are mostly from the GL side. An eventual goal would
be to render this in a smarter way, rather than using thousands of
drawables. Until that, this optimisation should help reduce the overhead
by omitting control points in close proximity that are redundant for
display purposes.
I've tried to contain this in the display logic directly, with the goal
that it can be ripped out as fast as it was added. Certainly required
more changes than I hoped for, but I don't think it's too ugly.
2022-01-14 17:13:26 +09:00
Dean Herbert
51251e3204
Fix CI reported warnings
2022-01-12 22:39:00 +09:00
Dean Herbert
7509a9ff8f
Update BeatmapModelManager.Save
to work for editor scenarios
2022-01-12 17:49:11 +09:00
Dean Herbert
3811bd8520
Fix some null inspections
2022-01-12 17:00:16 +09:00
Dean Herbert
a3276758b8
Remove unnecessary re-query of beatmap set in editor menu construction
2022-01-12 17:00:16 +09:00
Dean Herbert
b8cd3cdbbc
Various updates to ruleset and primary key usages to move closer to realm support
2022-01-12 16:57:13 +09:00
Dean Herbert
83cbee39de
Mark cases where BeatmapSet
is generally guaranteed to be non-null
2022-01-12 16:39:36 +09:00
Susko3
a0842838e7
Add AllowIme => false
where applicable
...
Also adds `AllowWordNavigation => false` to password text box.
2022-01-12 00:15:17 +01:00
Bartłomiej Dach
d76c674abc
Add tooltip with relative rotation in degrees to rotation handles
2022-01-08 20:24:15 +01:00
Bartłomiej Dach
24d377fddb
Move implementation of drag handle operations to concrete classes
2022-01-08 20:24:00 +01:00
Bartłomiej Dach
9370e84460
Fix effect point multiplier text box displaying too much decimal digits
2022-01-08 16:12:52 +01:00
Dean Herbert
6779503e57
Refactor logic to avoid TimelineSelectionHandler
having to block base calls
2022-01-05 16:56:54 +09:00
Dean Herbert
866ae3472b
Add global flip hotkeys
2022-01-05 16:48:07 +09:00
Dean Herbert
13cce50fa7
Remove existing handling of flip hotkeys
2022-01-05 16:30:42 +09:00
Joseph Madamba
7de43e3aba
Fix most open compound words in identifiers being closed
2021-12-27 20:26:28 -08:00
Joseph Madamba
98524d60a4
Fix clear identifier typos
2021-12-27 20:26:28 -08:00
Bartłomiej Dach
7ab1c0c99d
Improve contrast of timeline blueprint foreground content for pastel combo colours
2021-12-21 12:54:17 +01:00
Dan Balasescu
63a017bc8e
Use Array.Empty instead
2021-12-11 19:33:37 +09:00
Dean Herbert
c1b3ee6bb2
Fix editor not resetting mods when entering
...
Would leave the user potentially in a test mode that is in a weird
state (ie. if cinema mod was enabled). Eventually we'll add the ability
to choose mods for test play, but that will be done in a saner way.
Closes #15870 .
2021-12-10 18:57:45 +09:00
Bartłomiej Dach
10dd64e07c
Fix being able to paste objects while composer is loading
...
Would lead to exceptions due to modification of `Beatmap.HitObjects`
during its enumeration by `DrawableRuleset`, which was happening as an
async load via `EditorScreenWithTimeline.CreateMainContent()`.
2021-12-07 21:00:25 +01:00
Dean Herbert
1eed2436e6
Clean up unused resolved properties
2021-12-03 18:49:49 +09:00
Dean Herbert
a7e4e7be3a
Remove the ability to specify a filename in ReplaceFile
2021-11-29 18:11:51 +09:00
Dean Herbert
e2ebcf7a26
Remove unnecessary manager parameter
...
Confused why I added this in the first place..
2021-11-25 18:36:03 +09:00
Dean Herbert
cc1b91e4bd
Split out legacy model export logic into LegacyModelExporter
classes
2021-11-25 16:41:12 +09:00
Dean Herbert
0eea026afb
Remove null checks on CreateInstance()
calls
2021-11-24 12:23:09 +09:00
Dean Herbert
7599efac30
Update editor cases where repeat should not be handled
2021-11-18 13:13:36 +09:00
Dean Herbert
5471994450
Merge branch 'master' into sample-point-multiple
2021-11-15 14:13:58 +09:00
Bartłomiej Dach
6b4b6de554
Fix test gameplay starting in a hidden state
2021-11-13 22:11:00 +01:00
Bartłomiej Dach
2562412125
Propagate clock state from gameplay test back to editor
2021-11-13 22:11:00 +01:00
Bartłomiej Dach
d2ddc25ab3
Propagate clock state from editor to gameplay test
2021-11-13 22:10:59 +01:00
Bartłomiej Dach
9a19a516f9
Adjust spacings on sample point piece popover
2021-11-13 21:59:45 +01:00
Bartłomiej Dach
73ca1d39a2
Improve sample bank text box UX in case of multiple selection
2021-11-13 21:59:44 +01:00
Bartłomiej Dach
3fee6b0938
Add support for setting sample bank & volume for multiple objects at once
2021-11-13 21:24:59 +01:00
Bartłomiej Dach
9800cd4903
Add test coverage for sample control point piece operation
2021-11-13 18:14:50 +01:00
Dean Herbert
983d5a6cb8
Merge branch 'master' into difficulty-point-multiple
2021-11-13 23:47:12 +09:00
Bartłomiej Dach
5f2a789a6d
Ensure editor clock is stopped before testing gameplay
2021-11-13 14:01:00 +01:00
Bartłomiej Dach
eb8c5292d5
Ensure editor background is dimmed after return from gameplay test
2021-11-13 13:50:57 +01:00
Bartłomiej Dach
b47c0b63f4
Tweak loader transition when testing gameplay in editor
2021-11-13 13:39:18 +01:00
Bartłomiej Dach
a5ba3bd012
Move gameplay test pieces to own namespace
2021-11-13 13:39:17 +01:00
Bartłomiej Dach
e1c28ddd76
Adjust difficulty point popover content spacing
2021-11-12 23:32:12 +01:00
Bartłomiej Dach
d567d2be97
Fix multiple issues with textbox content display
...
- Sometimes would display too many decimal digits due to floating point
representation errors.
- Placeholder would also look wrong if text was removed during a
multiple (but determinate) selection.
2021-11-12 23:32:12 +01:00
Bartłomiej Dach
e55e2a1697
Allow to adjust slider velocity on multiple objects simultaneously
2021-11-12 23:32:11 +01:00
Bartłomiej Dach
7ba93aac27
Add test coverage for difficulty point piece operation
2021-11-12 22:16:09 +01:00
Dean Herbert
54ae307a3d
Trigger test via button click when using keyboard shortcut
2021-11-12 14:42:33 +09:00
Dean Herbert
e891c0ce53
Add keyboard shortcut to start test mode in editor
2021-11-12 14:13:11 +09:00
Dean Herbert
321aa456a7
Adjust button size slightly
2021-11-12 14:04:34 +09:00
Bartłomiej Dach
c465bcb821
Ensure track is stopped on player completion
2021-11-11 20:54:36 +01:00
Bartłomiej Dach
385df51b06
Ensure editor test player is exited on completion
2021-11-11 20:54:36 +01:00
Bartłomiej Dach
59727ce836
Add minimal implementation of gameplay testing from editor
2021-11-11 20:54:35 +01:00
Bartłomiej Dach
32b5a736c8
Add preview gameplay button to bottom editor bar
2021-11-11 17:12:21 +01:00
Dean Herbert
51a353e12d
Rename BeatmapInfo.Version
to DifficultyName
to match underlying interface
2021-11-11 17:20:53 +09:00
Dean Herbert
ebe58cee11
Rename BeatmapInfo.StarDifficulty
to StarRating
to match underlying interface
2021-11-11 17:19:46 +09:00
Bartłomiej Dach
b25ad8dfcb
Copy editor timestamp to OS clipboard even when triggered via menu bar
...
Would only work when triggered via Ctrl+C before, and not work at all
for Ctrl+X.
2021-11-10 12:49:10 +01:00
Bartłomiej Dach
5e31e890ae
Extract class for clipboard contents for DI purposes
2021-11-10 12:36:23 +01:00
Bartłomiej Dach
042b05a250
Move clipboard action availability logic down to editor screens
2021-11-09 19:54:37 +01:00
Bartłomiej Dach
286754f6f7
Move clipboard operation implementation down to current screen
2021-11-09 19:54:37 +01:00
Dean Herbert
ed07ee8c61
Update all existing usages of AuthorString
/AuthorId
...
Unfortunately the getters need to be left in place else EF breaks.
2021-11-04 18:59:37 +09:00
Dean Herbert
09701d0af1
Use explicit primitive type specification
2021-11-04 16:02:37 +09:00
Dean Herbert
0f4f1349db
Merge branch 'master' into editor-context-menu-on-select
2021-11-04 15:59:06 +09:00
Bartłomiej Dach
11de924704
Use LocalisableString
s where possible to leverage localisable text flow
2021-11-02 21:42:02 +01:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Jason Won
c633e2e952
only propagate unmodified right click
2021-10-26 16:24:53 -04:00
Jason Won
f64fa65fd5
right click on unselected object shows context menu
2021-10-26 14:52:15 -04:00
Dean Herbert
c47497923a
Schedule drag events for now
2021-10-15 19:52:44 +09:00
Dean Herbert
30c3fcb4ea
Merge branch 'master' into slider-timeline-velcotiy-adjust-v2
2021-10-15 19:45:04 +09:00
Dean Herbert
3909fd8caa
Fix wonkiness when dragging slider end at high input refresh rates
2021-10-15 19:43:57 +09:00
Dean Herbert
874d722820
Merge branch 'master' into fix-editor-difficulty-name-update
2021-10-15 11:14:45 +09:00
Dean Herbert
ad0732484f
Just wait for metadata section to be loaded
2021-10-14 22:12:38 +09:00
smoogipoo
901f107b2e
Merge branch 'master' into slider-timeline-velcotiy-adjust-v2
2021-10-14 17:25:51 +09:00
Dan Balasescu
fb9c3fe72e
Merge pull request #14619 from peppy/no-more-difficulty-control-points-info
...
Move `DifficultyControlPoint`s to be specified at a per-`HitObject` level
2021-10-14 17:24:32 +09:00
Dean Herbert
09536cd733
Add logging of WorkingBeatmapCache.Invalidate
calls
2021-10-14 14:05:33 +09:00
Bartłomiej Dach
d067159435
Recolour elements of editor setup screen to match dropdown theming
2021-10-13 22:32:54 +02:00
Dean Herbert
02689a1b60
Use actual BeatmapInfo
rather than PlayableBeatmap.BeatmapInfo
for editor writes
2021-10-13 14:50:12 +09:00
smoogipoo
bc37cb6f43
Merge branch 'master' into no-more-difficulty-control-points-info
2021-10-08 18:41:17 +09:00
Dean Herbert
ef64c64f0b
Merge branch 'master' into popup-filter-effect
2021-10-07 18:56:07 +09:00
Dean Herbert
f98dd1b811
Merge branch 'master' into popup-filter-effect
2021-10-07 18:40:21 +09:00
Dean Herbert
0df409c050
Move difficulty copy to BeatmapModelManager.Save
2021-10-07 17:16:45 +09:00
Dean Herbert
4ca97bc60a
Merge branch 'master' into difficulty-move-to-beatmap
2021-10-06 16:14:21 +09:00
Dean Herbert
222997f2b9
Copy difficulty settings back out to BeatmapInfo
on editor changes
2021-10-06 15:19:26 +09:00
Dean Herbert
b339c149d8
Copy BaseDifficulty
to Beatmap<T>
and move all write operations across
2021-10-06 15:10:45 +09:00
Dean Herbert
d9849bcf49
Fix dragging on an editor file selection text box causing repeated popover display
...
Local fix and no tests as this is a pretty weird usage of `TextBox`.
We'll probably want to change it to not use a textbox eventually.
Closes #14969 .
2021-10-06 13:15:05 +09:00
Dean Herbert
ec61c3c5ee
Rename all remaining cases
2021-10-03 00:55:29 +09:00
Dean Herbert
ac471a0ec1
Merge branch 'no-more-difficulty-control-points-info' into slider-timeline-velcotiy-adjust-v2
2021-10-01 17:46:58 +09:00
Jamie Taylor
4d91204faf
Pause Editor
sample playback while popup dialog is shown
2021-09-29 20:46:41 +09:00
Dean Herbert
46bafb6252
Merge branch 'master' into no-more-difficulty-control-points-info
2021-09-28 13:53:56 +09:00
Bartłomiej Dach
ca6cbca04a
Fix range selection crashing after non-mouse selection
2021-09-27 20:54:29 +02:00
Dean Herbert
df85092426
Resolve inner items early in process and rename variable
2021-09-27 14:24:17 +09:00
Dean Herbert
41fb3371e5
Merge branch 'master' into blueprint-container-sorting
2021-09-27 14:12:09 +09:00
Bartłomiej Dach
d3203f83dd
Add implementation of range selection
2021-09-26 20:12:26 +02:00
Bartłomiej Dach
81d160c85a
Add test covering expected UX of range selection
2021-09-26 19:27:47 +02:00
Bartłomiej Dach
6dc3e66c93
Include combo information when determining ordering if available
2021-09-26 15:52:25 +02:00
Bartłomiej Dach
a86b9893ac
Always re-sort blueprints before adding/removing one
2021-09-26 15:48:56 +02:00
Bartłomiej Dach
4e094b2127
Implement grid size toggling matching stable
2021-09-19 20:26:02 +02:00
Bartłomiej Dach
56e80a0706
Add rectangular position snap grid
2021-09-19 18:07:19 +02:00
smoogipoo
e8dea0138c
Fix one more issue
2021-09-16 18:34:13 +09:00
smoogipoo
f9d5abff8a
Update with keybinding changes
2021-09-16 18:26:12 +09:00
Dean Herbert
fa693bb8a8
Move MusicController
adjustment set to inside OsuScreen
itself (and result nullable
)
2021-09-16 16:08:09 +09:00
AbstractQbit
318f0941ca
Move all the "inherit previous AllowTrackAdjustments
" logic into OsuScreen
2021-09-15 21:25:39 +03:00
Dean Herbert
931e873a7e
Merge branch 'master' into inheritable-allow-track-adjust
2021-09-15 22:26:13 +09:00
Dean Herbert
13f88cbc4e
Fix EditorClock
retaining a reference to potentially outdated ControlPointInfo
2021-09-14 23:56:57 +09:00
AbstractQbit
b9193aae6d
Make IOsuScreen.AllowTrackAdjustments nullable
...
Allows for inheriting value from the previous screen if undefined
2021-09-14 17:37:57 +03:00
Dean Herbert
57f8ccca16
Remove nullability from EditorState
properties
...
Also update the xmldoc to not be specific to difficulty switching
2021-09-14 23:36:28 +09:00
Dean Herbert
f8bdca542d
Make restoring state a public
call on Editor
2021-09-14 23:36:17 +09:00
Dean Herbert
2a894e7a3f
Make EditorLoader
state private
2021-09-14 23:26:02 +09:00
Dean Herbert
563bf92529
Also update the full object on sample changes to make them apply immediately
2021-09-14 19:21:23 +09:00
Dean Herbert
d825da3983
Add note about a better way to adjust velocity
2021-09-14 18:54:29 +09:00
Dean Herbert
e4dd59aee2
Add popovers to adjust SV and samples from the timeline
2021-09-14 18:51:22 +09:00
Dean Herbert
9d17f84681
Adjust timeline height to account for less global control points
2021-09-14 18:51:11 +09:00
Dean Herbert
9551e77553
Remove difficulty and sample sections from timing screen
2021-09-14 18:51:11 +09:00
Dean Herbert
87cfcf706e
Add ability to change slider velocity with shift-drag
2021-09-14 18:26:17 +09:00
Dean Herbert
b19dc5e41f
Remove all legacy ControlPoint
s when entering the editor
2021-09-14 18:26:16 +09:00
Dean Herbert
6015b5037a
Display difficulty and sample control points associated with hitobjects
2021-09-14 18:26:16 +09:00
Bartłomiej Dach
35ee889e5b
Restore clipboard content after difficulty switch
2021-09-13 21:04:27 +02:00
Bartłomiej Dach
79d0f4835e
Add failing tests for preserving clipboard content
2021-09-13 21:03:30 +02:00
Bartłomiej Dach
3fc72271f1
Restore editor clock time after difficulty switch
2021-09-13 20:59:31 +02:00
Dean Herbert
65fdceee79
Merge branch 'master' into editor-test-scenes-through-loader
2021-09-13 14:02:55 +09:00
Bartłomiej Dach
345cde251d
Add "samples match playback rate" to editor setup screen
2021-09-12 16:54:17 +02:00
Bartłomiej Dach
22fa9a303e
Expose test helper for switching between difficulties
2021-09-12 13:55:48 +02:00
Bartłomiej Dach
8357efc74f
Make EditorTestScene
go through EditorLoader
2021-09-12 13:26:04 +02:00
Dean Herbert
9edd010b1d
Fix unnecessary background screen transition
2021-09-07 14:34:54 +09:00
Dean Herbert
7921ad4516
Add loading spinner in case load takes longer than expected
2021-09-07 14:34:47 +09:00
Dean Herbert
ddaa95a1ca
Fix pushEditor
function running twice on returning to loader
2021-09-07 14:34:18 +09:00
Bartłomiej Dach
5b9f37702b
Remove unnecessary delay before pushing editor from loader
2021-09-06 21:32:23 +02:00
Bartłomiej Dach
2d59008f52
Move screen management logic to EditorLoader
2021-09-06 21:30:50 +02:00
Bartłomiej Dach
bd7d6dd35d
Rename method
2021-09-06 21:27:17 +02:00
Dean Herbert
ce197b6322
Fix missing attribute text (and give slightly more space for "10.00x" cases
2021-09-06 21:40:30 +09:00
Dean Herbert
3c7a34bdbd
Move mania-specific conversion to converter
2021-09-06 21:06:13 +09:00
Dean Herbert
52b6b05883
Update terminology in timing screen for now
2021-09-06 21:06:13 +09:00
Dean Herbert
0500cd578a
Merge branch 'master' into no-more-difficulty-control-points-info
2021-09-06 21:06:12 +09:00
Bartłomiej Dach
d6a47fd99c
Sort difficulties by ruleset and star rating in menu
2021-09-05 21:48:11 +02:00
Bartłomiej Dach
7012a1d934
Fix issues with main menu -> editor loader transition
2021-09-05 21:48:11 +02:00
Bartłomiej Dach
382269b362
Test staying on same difficulty due to unsaved changes
2021-09-05 21:48:10 +02:00
Bartłomiej Dach
c72523bc14
Add basic test for difficulty switching
2021-09-05 21:48:10 +02:00
Bartłomiej Dach
a9403b65b3
Eliminate dependency on OsuGame
2021-09-05 21:48:10 +02:00
Bartłomiej Dach
c397cc2027
Restructure proof of concept
2021-09-05 21:48:09 +02:00
Bartłomiej Dach
fe2520c599
Add intermediary screen to avoid going back to menus
2021-09-05 21:48:09 +02:00
Bartłomiej Dach
7befd030df
Minimal working example of switching difficulties
2021-09-05 21:48:09 +02:00
Bartłomiej Dach
90f0b6874f
Highlight current difficulty in switcher
2021-09-05 21:48:08 +02:00
Bartłomiej Dach
e8fb5d2e66
Add non-functional difficulty switcher to menu
2021-09-05 21:48:08 +02:00
Dean Herbert
e0ee2a5533
Change section title to read better
2021-09-05 13:34:57 +09:00
Dean Herbert
25420af078
Rename method to drop redundant ruleset suffix
2021-09-05 13:34:23 +09:00
Bartłomiej Dach
1a90fb1ef3
Fix cached property being assigned twice
2021-09-04 19:52:42 +02:00
Dean Herbert
f42131ff89
Add back editor functionality for now
2021-09-03 19:08:23 +09:00
Dean Herbert
d4e5a612ea
Update IPositionalSnapProvider
to take a HitObject
as reference, rather than raw time
...
This allows fetching the correct `DifficultyControlPoint` from the
hitobject. Nothing more.
2021-09-03 17:11:12 +09:00
Dean Herbert
a3d9ab1e2e
Move approach rate to EffectControlPoint
2021-09-03 16:58:16 +09:00
Dean Herbert
071c56e90b
Update usages of DifficultyPointAt
2021-09-03 16:58:16 +09:00
Bartłomiej Dach
ce1912781e
Add extension point for ruleset-specific beatmap setup sections
2021-09-02 23:29:14 +02:00
Dan Balasescu
6c649b7bbe
Merge branch 'master' into no-more-sample-control-points-info
2021-09-02 18:09:05 +09:00
Dean Herbert
0319177c5c
Fix pixels poking out of the top edge of editor setup screen
2021-09-01 16:46:19 +09:00
Dean Herbert
edf29e405b
Merge pull request #14581 from bdach/setup-screen-countdown-settings
...
Add countdown settings to setup screen
2021-09-01 15:35:46 +09:00
Bartłomiej Dach
5dc938cc9f
Update tests to match expectations
2021-08-31 22:41:47 +02:00
Bartłomiej Dach
04773b51bb
Remove countdown toggle transition for now
...
Tricky to get right and the design isn't final as is anyway, so leaving
*something* functioning as a best-effort for now.
2021-08-31 22:41:40 +02:00
Dean Herbert
ce0d7cce2d
Merge branch 'remove-ijsonserializable' into no-more-sample-control-points-info
2021-08-31 14:40:54 +09:00
Dean Herbert
c25ab6835c
Remove IJsonSerializable interface
...
Was pretty pointless and made it hard to use the custom serialisation
terms arbitrarily in tests.
2021-08-31 14:39:20 +09:00
Bartłomiej Dach
ddf9d2aa6c
Add test coverage
2021-08-30 22:55:58 +02:00
Bartłomiej Dach
eec9f6d191
Add countdown settings to design section
2021-08-30 22:51:41 +02:00
Dean Herbert
ccacf56dd8
Move to legacy namespace
2021-08-30 17:14:53 +09:00
Dean Herbert
7257aae7f2
Move samples to LegacyControlPointInfo
2021-08-30 17:14:53 +09:00
Bartłomiej Dach
fcc3e57d5d
Move overlay colour provider up to editor screen
2021-08-28 20:05:58 +02:00
Bartłomiej Dach
e94d96f250
Add local popover container to editor screens
2021-08-28 20:05:58 +02:00
Salman Ahmed
b4d6495f99
Fix editor skin providing container not providing playable beatmap
2021-08-25 17:52:36 +03:00
Salman Ahmed
3ad0b529fb
Make EditorScreen
inherit from VisibilityContainer
rather than unsafe transforms
2021-08-25 17:14:52 +03:00
Bartłomiej Dach
ccf337bdc2
Merge branch 'master' into editor-setup-file-selector-popovers
2021-08-23 18:28:44 +02:00
Salman Ahmed
bd42d7aada
Hide popover on file selection
2021-08-23 18:01:01 +03:00
Dean Herbert
c2c9a93e2c
Show editor file choosers in a popover rather than inline
...
Supersedes and closes #14370 .
Closes #14367 .
2021-08-23 18:12:36 +09:00
Dean Herbert
2f6b95da39
Add descriptions for the remaining settings
2021-08-23 17:41:03 +09:00
Dean Herbert
1de84e1c98
Change description to include mention of video
...
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2021-08-23 17:34:19 +09:00
Bartłomiej Dach
2e80e2be51
Reword epilepsy warning description text
2021-08-22 21:47:37 +02:00
Bartłomiej Dach
9816af688e
Add basic design settings to setup screen
2021-08-22 17:43:20 +02:00
Dean Herbert
98357d51da
Merge pull request #14323 from minetoblend/editor-seek
...
Prevent seeking before mp3 start time while editor is playing
2021-08-20 13:28:20 +09:00
Salman Ahmed
8c5d99ab21
Override CreateInstance()
in osu! bindable subclasses
...
Three bindables are left which don't have this overriden due to them
already not having a value-only constructor and not supporting
`GetBoundCopy()` properly:
- `BeatmapDifficultyCache.BindableStarDifficulty`.
- `TotalScoreBindable`
- `TotalScoreStringBindable`
I could add support for them by passing the required data to them, as
they seem to be able to have that shared, but I'm hesitant to support
something which was already broken and never used, not sure.
2021-08-18 04:19:58 +03:00
Dean Herbert
f16468b706
Improve visibility of repeat ticks / drag areas on timeline
2021-08-17 18:17:55 +09:00
Marvin Schürz
78f9f4a230
Move time clamp to Seek
/transformSeekTo
methods
2021-08-16 20:39:09 +02:00
Dean Herbert
1c7cbc8621
Add missing readonly
keyword to new bindable
2021-08-16 17:14:13 +09:00
Bartłomiej Dach
6108451449
Retrieve separated skin instance from working beatmap for editing
2021-08-15 21:18:09 +02:00
Bartłomiej Dach
81280dfd25
Use editable skin structure in combo colour picker
2021-08-15 21:18:08 +02:00
Bartłomiej Dach
0d64da8c63
Add skin providing container responding to beatmap skin edits
2021-08-15 21:18:08 +02:00
Bartłomiej Dach
df43e758ee
Add editable beatmap skin
2021-08-15 21:18:07 +02:00
Marvin Schürz
d287db7961
Clamping seekTime to beatmap length
2021-08-15 14:48:56 +02:00
Jamie Taylor
c1d8a7e2ad
Add and use 'Submit' select sample variant for particular components
2021-07-30 21:35:28 +09:00
Jamie Taylor
be3c02ff7f
Remove 'Soft' select sample variant usage (soft is the new default)
2021-07-30 21:35:27 +09:00
Bartłomiej Dach
0691c0dd63
Switch Colour{Display,Palette}
to use Colour4
2021-07-29 23:14:32 +02:00
Henry Lin
89e8296eb1
Reset all types of adjustments in MusicController
; Rename AllowRateAdjustments
to AllowTrackAdjustments
2021-07-29 15:39:26 +08:00
Bartłomiej Dach
239b38a0ab
Reduce implicit conversions by using default
2021-07-27 21:46:29 +02:00
Lucas A
94877117b9
Apply changes in-line with framework changes.
2021-07-27 18:22:47 +02:00
Dean Herbert
50a2abbe7f
Merge pull request #12683 from frenzibyte/legacy-beatmap-combo-offset
...
Apply combo offsets "colour hax" only on beatmap skins
2021-07-23 14:30:18 +09:00
Salman Ahmed
7bc30b46ff
Use BindValueChanged
with last running immediately instead
2021-07-23 07:51:58 +03:00
Salman Ahmed
ee3791ccf2
Update colours once on TimelineHitObjectBlueprint
2021-07-23 06:25:56 +03:00
Salman Ahmed
523c154f15
Add ComboIndexWithOffsetsBindable
and bind similar to ComboIndexBindable
2021-07-22 16:40:33 +03:00
Dean Herbert
29ffae4025
Merge pull request #13967 from nekodex/new-select-sounds
...
Add new 'soft' select sound variant and use it in some places
2021-07-22 16:21:03 +09:00
Dean Herbert
8b1202153a
Merge pull request #13951 from LumpBloom7/timeline-object-interactions
...
Make timeline blueprints outside of TimelineBlueprint boundaries interactable
2021-07-22 16:20:22 +09:00
Dean Herbert
957a0686ed
Split out nested classes from TimelineBlueprintContainer
...
They got too big.
2021-07-22 15:48:08 +09:00
Dean Herbert
b5cc9010de
Move resolved property to top of class
2021-07-22 15:39:01 +09:00
Jamie Taylor
507b53dc73
Use 'Soft' hover/select samples for EditorTable row selection
2021-07-21 22:02:40 +09:00
Derrick Timmermans
9d43ca122f
Allow context menus to be triggered as well
2021-07-21 12:04:09 +02:00
Derrick Timmermans
f85ff40a6b
Add back LeftMouse button check
2021-07-21 11:47:21 +02:00
Dean Herbert
adda96ac86
Merge pull request #13962 from ekrctb/platform-action
...
Adapt to framework `PlatformAction` type change
2021-07-21 18:17:38 +09:00
ekrctb
1bac471b49
Adapt to PlatformAction
type change
2021-07-21 16:12:53 +09:00
ekrctb
1bff4373b3
Allow specifying flipping support of selection box different from scaling
2021-07-21 15:59:45 +09:00
Derrick Timmermans
a8cf6a6854
Fix slight Y position offset in HandleDrag
2021-07-20 23:00:58 +02:00
Derrick Timmermans
bfec87b082
Let TimelineBlueprintContainer only accept positional input within timeline quad
2021-07-20 22:30:50 +02:00
Derrick Timmermans
8b09ddbcd6
Merge branch 'ppy:master' into timeline-object-interactions
2021-07-20 16:36:39 +02:00
Salman Ahmed
1af230c48c
Merge branch 'master' into refactor-combo-colour-retrieval
2021-07-20 10:08:25 +03:00
Dan Balasescu
f3bcaf7f11
Merge pull request #13929 from peppy/i-deep-cloneable
...
Create a deep clone of score for score submission purposes
2021-07-19 21:58:27 +09:00
Dean Herbert
bde35d9f21
Rename radio button classes to be local to editor
2021-07-19 16:57:12 +09:00
Dean Herbert
3c028ce05c
Add IDeepCloneable
interface and update existing CreateCopy
methods to use it
2021-07-19 12:54:17 +09:00
Derrick Timmermans
2e2a2bdd99
Allow moving timeline selection when mousedown event is outside of blueprint container
2021-07-18 18:06:59 +02:00
Derrick Timmermans
ee220feecf
Avoid using guesses to determine whether inputs blocked
2021-07-18 16:04:23 +02:00
Dean Herbert
50eed26bd1
Rename radio button item
to label
2021-07-17 02:32:23 +09:00
Dean Herbert
eac9b1ec7e
Disable toolbox composition buttons when beatmap is not timed
2021-07-17 02:30:13 +09:00
Dean Herbert
3ae5f6707a
Expose whether an EditorBeatmap
has timing present or not via bindable
2021-07-17 02:30:00 +09:00
Dean Herbert
7a671754f2
Change RadioButton
's object
to a string
2021-07-17 02:29:31 +09:00
Derrick Timmermans
e35cff99c7
Pass on mouseDown input to timeline if no selection modification is made with that input
2021-07-16 17:21:43 +02:00
Derrick Timmermans
3e8a13bfbf
Allow interacting with timeline objects outside of drawable bounds
2021-07-16 16:16:34 +02:00
Bartłomiej Dach
f45418dde7
Replace game-side directory/file selector with framework extensions
2021-07-06 22:11:54 +02:00
Bartłomiej Dach
50c27d2635
Update usages of IHasTooltip
in line with framework localisation changes
2021-06-25 19:10:04 +02:00
Dean Herbert
f62b4f2d24
Merge pull request #13617 from ekrctb/catch-editor
...
Add "placeholder" (pre-MVP) implementation of osu!catch editor
2021-06-23 14:00:34 +09:00
ekrctb
0b351c9922
Fix "possible NRE" inspection
2021-06-23 10:57:04 +09:00
ekrctb
eec4457473
Add [CanBeNull]
to methods returning null by default
2021-06-23 09:40:07 +09:00
ekrctb
a9c7830252
Fix NRE when hit object blueprint is not implemented
2021-06-22 17:20:13 +09:00
Dean Herbert
4b45d8318e
Merge branch 'master' into transformers-per-skin
2021-06-16 16:37:28 +09:00
Dean Herbert
04413f1634
Merge pull request #13444 from peppy/editor-timeline-taiko-hit-colouring
...
Show osu!taiko centre/rim colouring in editor timeline
2021-06-11 15:10:24 +09:00
Dan Balasescu
97375d9625
Merge pull request #13438 from bdach/more-metadata-fields
...
Add remaining metadata fields to editor setup screen
2021-06-11 14:17:34 +09:00
Dean Herbert
bc3b7233ab
Show osu!taiko centre/rim colouring in editor timeline
...
Closes #13443 .
2021-06-11 14:17:30 +09:00
Dean Herbert
38bf04d7ff
Give more space for time values to allow for negative offsets
2021-06-11 13:25:09 +09:00
Bartłomiej Dach
417aaacc53
Add test coverage for romanised data transfer
2021-06-10 22:18:39 +02:00
Bartłomiej Dach
e41a5a0fcd
Add romanised author & title fields
2021-06-10 22:17:45 +02:00
Bartłomiej Dach
252fe0a6cc
Add source and tags text boxes to metadata section
2021-06-10 14:13:59 +02:00
Bartłomiej Dach
5a2e710095
Split common method for metadata textbox creation
2021-06-10 13:55:34 +02:00
Salman Ahmed
dde84e5cbd
Merge branch 'master' into transformers-per-skin
2021-06-10 11:58:52 +03:00
Salman Ahmed
e30f6581b3
Wrap gameplay content within a RulesetSkinProvidingContainer
2021-06-09 22:49:31 +03:00
Bartłomiej Dach
410cb16340
Apply fixed label width to setup screen items
2021-06-08 17:18:00 +02:00
Bartłomiej Dach
78213e09d4
Merge branch 'master' into editor-exit-stability
2021-05-30 23:03:50 +02:00
Dean Herbert
9b239e308b
Merge branch 'master' into beatmap-skin
2021-05-29 15:36:43 +09:00
Dean Herbert
f1b5aced6f
Merge branch 'master' into editor-exit-stability
2021-05-28 14:32:32 +09:00
Dean Herbert
14a4095140
Merge branch 'master' into beatmap-skin
2021-05-26 18:39:47 +09:00
Dean Herbert
268230c8c4
Merge branch 'master' into fix-taiko-editor-sample-mutations
2021-05-25 19:01:47 +09:00
Dean Herbert
4fc6ba50b7
Fix editor placement ending early if a blueprint becomes alive from a pool
...
Closes https://github.com/ppy/osu/issues/12630 .
2021-05-24 17:04:02 +09:00
Dean Herbert
4c9d72e62a
Ensure EditorBeatmap.Update
is called inside PerformOnSelection
calls
2021-05-23 21:22:35 +09:00
Joseph Madamba
2fd0038154
Fix checkmark being hidden after clicking current waveform opacity setting
2021-05-22 16:42:20 -07:00
Salman Ahmed
4f6de6fdc6
Implement GetSkin()
for other working beatmaps
2021-05-21 20:21:29 +03:00
Dean Herbert
bb2fae55ce
Merge branch 'master' into refactor-selection-rotate-logic
2021-05-21 19:19:54 +09:00
Dean Herbert
df5970fab4
Create base implementations of the two most common TernaryStateMenuItem
s
2021-05-20 19:34:53 +09:00
Dean Herbert
27e81d6504
Implement proper rotation algorithm for skin editor
2021-05-20 18:21:16 +09:00
Dean Herbert
dbfaaecd9c
Reword comment to not mention tests driectly
2021-05-20 15:39:29 +09:00
Dean Herbert
a639132825
Avoid doing any re-fetch on beatmap from test scenes
2021-05-19 17:58:28 +09:00
Dean Herbert
a0f67ef3bc
Move scaling logic out of OsuSelectionHandler
for reuse
2021-05-19 17:37:28 +09:00
Dean Herbert
44e22b31a9
Refactor editor exit sequence to avoid any scenario where a dialog could go stray
2021-05-19 16:51:54 +09:00
Dean Herbert
41d8bc291c
Merge pull request #12783 from smoogipoo/hoc-event-queue
...
Add a HitObjectUsageEventBuffer to handle HOC events appropriately
2021-05-18 22:22:53 +09:00
smoogipoo
d93ac7ac98
Change class xmldoc a bit
2021-05-18 19:15:46 +09:00
smoogipoo
ab6a79f84c
Simplify
2021-05-18 19:15:46 +09:00
smoogipoo
97f4f7bbd1
Remove Component inheritance
2021-05-18 18:59:45 +09:00
smoogipoo
633f841a0f
Rename to HitObjectUsageEventBuffer
2021-05-18 18:57:02 +09:00
smoogipoo
bfc0205e9b
Fix (began, finished) event
2021-05-18 18:49:11 +09:00
Dean Herbert
d661e98fa6
Move common functionality out of OsuSelectionHandler
and implement flip support
2021-05-18 18:34:06 +09:00
smoogipoo
61a41d97a4
Add some xmldocs + comments
2021-05-18 17:39:45 +09:00
Dean Herbert
ed957df162
Add simple xmldoc to TransferBlueprintFor
method
2021-05-18 16:40:56 +09:00
Dean Herbert
55cc533a37
Merge branch 'master' into hoc-event-queue
2021-05-18 16:31:20 +09:00
Dean Herbert
a96603f025
Merge pull request #12782 from smoogipoo/rework-hitobject-blueprints
...
Rename hitobject blueprints and tie them to HitObjects
2021-05-18 16:30:58 +09:00
smoogipoo
75c0d4d972
Merge branch 'rework-hitobject-blueprints' into hoc-event-queue
2021-05-18 14:33:52 +09:00
smoogipoo
882d54a8f8
Remove now unnecessary Apply() method
2021-05-18 14:26:26 +09:00
smoogipoo
e621cfc4ea
Add Apply() method for applying new DHOs
2021-05-18 14:14:10 +09:00
smoogipoo
f1f3606fd0
Fix unresolved xmldocs
2021-05-18 13:11:58 +09:00
Dan Balasescu
9d423245d8
Fix up xmldocs
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-05-18 13:02:23 +09:00
Dean Herbert
bdcb1a624e
Merge pull request #12759 from Naxesss/beatmap-verifier-context
...
Encapsulate check arguments in context object
2021-05-15 15:39:12 +09:00
Dean Herbert
67a99c83a3
Tidy bindable changed code up
2021-05-14 16:24:52 +09:00
Dean Herbert
b36c991ba1
Fix single case of incorrect usage
2021-05-14 12:04:38 +09:00
smoogipoo
362a09ca73
Fix up + reduce complexity of HOCEventQueue
2021-05-13 21:41:49 +09:00
smoogipoo
aaf31af326
Add blueprint transferral
2021-05-13 21:16:19 +09:00
smoogipoo
86042e1763
Implement HitObjectContainerEventQueue
2021-05-13 21:15:47 +09:00
Dan Balasescu
746862dcb1
Merge pull request #12750 from peppy/skin-serialisation
...
Add skin editor saving / loading support
2021-05-13 20:58:03 +09:00
smoogipoo
ffb6135a1b
Rework hitobject blueprints to take in hitobject models
2021-05-13 19:53:32 +09:00
Dan Balasescu
3c471837f8
Merge branch 'master' into skin-serialisation
2021-05-13 19:49:55 +09:00
Dan Balasescu
a3869c02f4
Merge branch 'master' into fix-two-hovered-handles
2021-05-13 19:24:42 +09:00
Naxess
19800f5f7f
Move IBeatmap
arg into context
2021-05-13 11:24:22 +02:00
Naxess
b37cb3bdbe
Change interpreted difficulty from bindable to regular value
...
There's no reason for why checks would need this to be bindable. A 1-directional binding is more appropriate.
2021-05-13 09:00:30 +02:00
Naxess
4eeeaf6a1a
Keep track of local bound copy
2021-05-13 07:57:32 +02:00
Naxess
e7c7786db3
Merge branch 'master' into beatmap-verifier-context
2021-05-13 07:40:33 +02:00
Dean Herbert
b81f86bd4d
Move DI resolution to inside BDL parameters
2021-05-13 13:54:06 +09:00
Dean Herbert
c6648112e5
Simplify binding flow in InterpretationSection
2021-05-13 13:51:41 +09:00
Dean Herbert
cdcbaf4291
Tidy up specification of SettingsSection
2021-05-13 13:45:10 +09:00
Naxess
47948d7b34
Set default for bindable in object initializer
...
Fixes the CI failure.
2021-05-13 06:08:48 +02:00
Naxess
fb305130de
Also refresh when interpreted difficulty changes
2021-05-13 06:00:21 +02:00
Naxess
ee0a6ba93e
Use local bound copy in InterpretationSection
as well
...
Else we're relying on the `VerifyScreen`'s bindable instance, and by extension the `VerifyScreen` instance itself.
2021-05-13 05:59:49 +02:00
Naxess
e80d8f6922
Keep track of local bound copy
2021-05-13 05:46:47 +02:00
Naxess
04c1585eb2
Use more consistent lambda discards
2021-05-13 05:38:45 +02:00
Naxess
e86834b740
Use local bound copy for HiddenIssueTypes
2021-05-13 05:25:20 +02:00
Naxess
c8d21f2c3f
Isolate refreshing to IssueList
2021-05-13 05:25:02 +02:00
Naxess
fbb76ba598
Split ShowIssueTypes
dict into hidden and configurable lists
...
This way `VerifyScreen` is decoupled from which options `VisibilitySection` provides.
Bindings are a bit less neat, though.
2021-05-13 04:50:32 +02:00
Naxess
dd8423c4c4
Set interpreted difficulty to correct default
2021-05-13 04:36:20 +02:00
Naxess
6806e40ad9
Remove unnecessary local variable
...
This now exists in `VerifyScreen`, which we can access from here.
2021-05-13 04:30:40 +02:00
Naxess
56bd897666
Move ShowIssueTypes
to VerifyScreen
2021-05-13 04:29:27 +02:00
Salman Ahmed
96d3586294
Fix rotation handle visibility logic not handling two handles hovered at once
2021-05-12 11:42:55 +03:00
Dean Herbert
d2e0e8ad94
Reverse direction of binding to allow for better abstract class definitions
2021-05-12 16:53:58 +09:00
Dean Herbert
17e3764576
Rename Settings
to have a more localised name
2021-05-12 16:38:04 +09:00
Naxess
64d96b06a6
Add interpreted difficulty info to BeatmapVerifierContext
...
Enables checks to make use of the difficulty level as shown in the settings UI.
2021-05-12 02:30:21 +02:00
Naxess
c13b93e6f1
Replace IWorkingBeatmap
arg with BeatmapVerifierContext
in checks
...
This simplifies passing of contextual information by enabling addition without needing to refactor lots of classes.
See next commit for example.
2021-05-12 02:29:18 +02:00
Naxess
4aeaec6ecc
Add InterpretationSection
and its bindable in IssueList
...
We'll eventually connect that bindable so that checks can access it.
2021-05-12 01:32:18 +02:00
Naxess
ad78aec1ef
Refresh IssueList
on changes in VisibilitySection
2021-05-12 01:30:45 +02:00
Naxess
1bb7d412da
Add IssueList
filtering based on those bindables
2021-05-12 01:29:46 +02:00
Naxess
2e4399f0c1
Add VisibilitySection
and its bindables in IssueList
2021-05-12 01:27:21 +02:00
Naxess
01b8794757
Add abstract Section
class
...
Similar to `Section` in the timing screen, but does not make use of checkboxes, nor specific to control points.
So there's a lot of things that differ, hence new class instead of factoring that out.
2021-05-12 01:26:12 +02:00
Naxess
1de35f880b
Separate IssueList
into own class
2021-05-12 01:23:31 +02:00
Naxess
d3c1ec55ee
Take IssueList
in IssueSettings
constructor
...
We'll be using this for bindables later.
2021-05-12 01:22:32 +02:00
Naxess
97bd482d4d
Factor out load
from settings into new Settings
class
2021-05-12 01:21:38 +02:00
Dean Herbert
a4e0529617
Replace polling logic with direct bindable reactions
2021-05-11 18:39:15 +09:00
Dean Herbert
6bb52ebcf8
Merge pull request #12570 from frenzibyte/corner-rotation-controls
...
Add rotation controls to editor selection box corners
2021-05-10 23:09:44 +09:00
Salman Ahmed
fc2a527e9d
Revert "Guard against potentially null track if ever"
...
This reverts commit b1134c3857
.
2021-05-07 09:57:08 +03:00
Salman Ahmed
7c4e54a1d4
Unrevert null-colaescing/conditionals removal
2021-05-07 09:54:14 +03:00
Salman Ahmed
b1134c3857
Guard against potentially null track if ever
2021-05-07 08:30:50 +03:00
Salman Ahmed
37f44d2e37
Revert wrong not-null track changes
...
This reverts commit f9d99a9882
.
This reverts commit 71547bece0
.
2021-05-07 08:28:44 +03:00
Salman Ahmed
71547bece0
Remove any null-coalescing/conditionals in WorkingBeatmap.Track
usages
2021-05-07 07:46:23 +03:00
Salman Ahmed
539643c72b
Set loadable beatmap track to clock immediately in BDL
...
This reverts commit 84da247002
.
Use loadable beatmap track for clock directly in BDL
2021-05-07 07:21:56 +03:00
Salman Ahmed
84da247002
Fix editor clock using the wrong beatmap track on creation
2021-05-07 05:32:55 +03:00
Salman Ahmed
2a67361dc0
OnOperation -> TriggerOperation
2021-05-05 21:50:16 +03:00
Bartłomiej Dach
3cac837acf
Merge branch 'master' into skin-bindables
2021-05-05 20:16:27 +02:00
Salman Ahmed
eeeb001d62
Refactor combo colour retrieval logic to request skin lookups instead
2021-05-05 07:17:27 +03:00
Salman Ahmed
1ac80d42f9
Merge branch 'master' into corner-rotation-controls
2021-05-04 23:53:23 +03:00
Bartłomiej Dach
4185053120
Merge branch 'master' into fix-selection-handler-visibility
2021-05-04 20:21:05 +02:00
Salman Ahmed
8abff4881b
Hide the corresponding rotation handle when holding scale handle
2021-05-04 07:31:55 +03:00
Salman Ahmed
b2a0c2b563
Consider drag handles active using mouse down instead of when dragged
2021-05-04 06:41:26 +03:00
Salman Ahmed
5f33c3514e
Move selection box control internal events to drag handles
2021-05-04 06:37:22 +03:00
Salman Ahmed
fd7a6b3a7c
Finish transforms on controls load complete
2021-05-04 06:37:20 +03:00
Dean Herbert
b28e1569ca
Remove no-longer-relevant matching comment
2021-05-03 20:09:50 +09:00
Salman Ahmed
840c22a3b1
Add back mis-removed fade transform
2021-05-03 12:16:40 +03:00
Dean Herbert
4f8240f19a
Merge branch 'master' into corner-rotation-controls
2021-05-03 18:02:23 +09:00
Dean Herbert
fdd0713988
Merge branch 'fix-selection-handler-visibility' into skin-bindables
2021-05-03 17:40:03 +09:00
Dean Herbert
3268a75f05
Remove intermediate container to fix tests
2021-05-03 17:35:56 +09:00
Dean Herbert
839ac968a9
Fix tooltips displaying for hidden SelectionHandler
content
2021-05-03 17:28:24 +09:00
Dean Herbert
4cfa858dc4
Fix tooltips displaying for hidden SelectionHandler
content
2021-05-03 15:37:15 +09:00
Dean Herbert
01984de9c7
Use existing GetStateFromSelection
helper function
2021-05-03 15:13:32 +09:00
Dean Herbert
8c9cfb6301
Remove unsafe access to Composer.HitObjects
2021-05-03 14:28:35 +09:00
Salman Ahmed
b83aa0bd76
Avoid LINQ in update
2021-05-02 06:21:14 +03:00
Salman Ahmed
0aa17e7c95
Rewrite selection box computation logic with RectangleF
's helper methods
2021-05-02 02:51:06 +03:00
Salman Ahmed
07fe99025f
Use bounding box of blueprint for computing selection box area
2021-05-02 02:36:40 +03:00
Bartłomiej Dach
eef135f8dc
Merge branch 'master' into remove-unused-triangles
2021-04-30 21:51:23 +02:00
Dan Balasescu
e6eea73b8b
Merge branch 'master' into basic-compose-checks
2021-04-30 23:41:46 +09:00
Dean Herbert
e4f895b490
Fix editor buttons inheriting from TriangleButton
when they have no need to
2021-04-30 14:48:37 +09:00
Dean Herbert
9c62c90cfc
Refactor SelectionBlueprint
and MoveSelectionEvent
to work in screen-space coordinates
...
Until now, the implementation of the overrides in `SelectionBlueprint`
have been confusing to the point where I would just implement by
trial-and-error (or copying from an existing implementation). This was
due to a combination of using "object" space coordinates
(ie. the thing the `Blueprint` is operating on) and screen-space coordinates.
This change switches all event related coordinates to screen-space,
which is how we already handle rotation/scale operations. With the
introduction of other editor types where the related objects are
drawables, this also makes a lot more sense.
2021-04-29 16:10:42 +09:00
Dean Herbert
f3c7694eeb
Rename methods to match generally how these find-methods are named elsewhere
2021-04-28 16:57:52 +09:00
Dean Herbert
48d6c9ac4b
Move snap/divisor helper methods to inside ControlPointInfo
2021-04-28 16:47:30 +09:00
Dean Herbert
e0906daebf
Change one remaining instance of incorrect terminology in xmldoc
2021-04-28 13:49:41 +09:00
Dean Herbert
4c9e94da2b
Move context menu logic to base class
2021-04-28 13:43:16 +09:00
Dean Herbert
532ec40395
Remove unnecessary newline
2021-04-28 12:04:48 +09:00
Dean Herbert
43772f4303
Remove duplicated call to initially select blueprint
2021-04-28 12:03:41 +09:00
Dean Herbert
e4f2e0131c
Rename AllowDeselection
to better match use case
2021-04-28 12:02:55 +09:00
Dean Herbert
a9a5809e94
Fix incorrect xmldoc in MoveSelectionEvent
2021-04-28 11:46:52 +09:00
Dean Herbert
d0be8f9fb3
Remove one more out-of-date comment
2021-04-28 11:45:36 +09:00
Dean Herbert
bc455005a5
Fix incorrect coordinate space mention in xmldoc
2021-04-28 11:44:50 +09:00
Dean Herbert
61d4eb1777
Remove unnecessary and out-of-place xmldoc
2021-04-28 11:44:19 +09:00
Dean Herbert
aa1cb65eaa
Rename region to be more inclusive
2021-04-28 11:42:22 +09:00
Dean Herbert
42255f8d33
Rename and xmldoc selection completed method
2021-04-27 19:01:29 +09:00
Dean Herbert
7ec5ea1eb5
Remove hitobject terminology from base classes
2021-04-27 19:01:29 +09:00
Dean Herbert
ff06a27a12
Revert changes to OnBlueprint
methods and handle select-on-addition locally
2021-04-27 19:01:29 +09:00
Dean Herbert
f97b14a20a
Fix binding direction of selected items
2021-04-27 19:01:29 +09:00
Dean Herbert
dd3d8e5d03
Make SelectionHandler
abstract to ensure things get implemented
2021-04-27 19:01:29 +09:00
Dean Herbert
32416e4e31
Move model selection handling to base SelectionHandler
class
2021-04-27 19:01:29 +09:00
Dean Herbert
eac139ca0e
Allow BlueprintContainer to perform movement without an ISnapProvider
2021-04-27 19:01:29 +09:00
Dean Herbert
f2e56bd306
Refactor editor selection/blueprint components to be generic
2021-04-27 19:01:29 +09:00
Naxess
7b9ed924be
Rename snapping methods
...
Further separates them from `IBeatSnapProvider`'s `SnapTime`, and groups them together more, to prevent confusion between the two interfaces.
Also changes the xmldoc of the reference time to that of `IBeatSnapProvider` for consistency.
2021-04-26 16:07:30 +02:00
Naxess
049e42fa85
Move snapping responsibility to IBeatmap
...
Seems `EditorBeatmap` already implements a different kind of `SnapTime` from `IBeatSnapProvider`, so method names here aren't great.
This is very similar to what https://github.com/ppy/osu/pull/12558 is doing, so may need to do some duplicate resolution later, especially surrounding `ClosestBeatSnapDivisor`.
Worth noting that this change makes 1/7, 1/5, etc unsupported for now, as we now rely on `BindableBeatDivisor.VALID_DIVISORS`.
2021-04-26 05:07:24 +02:00
Salman Ahmed
485da47d89
Revert "Inherit VisibilityContainer
and make duration constant protected"
...
This reverts commit c58ef4230d
. Uhh, how did I push this..
2021-04-26 01:41:42 +03:00
Salman Ahmed
b252485e1a
Remove protected expose of HandlingMouse
setter
...
Regardless of `OnDragEnd()`, `OnMouseUp()` will still be called resetting the value of that state back.
2021-04-25 20:13:23 +03:00
Salman Ahmed
7390a12e4b
SelectionBoxDragHandleDisplay -> SelectionBoxDragHandleContainer
2021-04-25 20:03:15 +03:00
Salman Ahmed
c58ef4230d
Inherit VisibilityContainer
and make duration constant protected
2021-04-25 20:03:15 +03:00
Salman Ahmed
79e2b232d8
Improve English
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-04-25 19:26:53 +03:00
Salman Ahmed
a8c460f7df
Replace separated top-centered rotation button with rotation drag handles
2021-04-25 10:17:36 +03:00
Salman Ahmed
77f7d4c963
Add composite managing display of selection box drag handles
2021-04-25 10:17:36 +03:00
Salman Ahmed
ab71782674
Use colour fade transform for selection box controls
...
To become harminous with the fade transforms of the rotation control
2021-04-25 10:14:31 +03:00
Salman Ahmed
62bcc5f76d
Add property for tracking whether control is during operation
2021-04-25 10:14:31 +03:00
Salman Ahmed
206fc94b8c
Add rotation drag handle component
2021-04-24 08:00:36 +03:00
Salman Ahmed
4bfa9cd6b6
Change inheritance of selection box buttons to base control instead
2021-04-24 08:00:29 +03:00
Salman Ahmed
decd8803bc
Abstract base appearence and hover update from drag handles
2021-04-24 07:45:53 +03:00
Dan Balasescu
93b53f54fa
Merge pull request #12531 from peppy/editor-add-nudge-shortcuts
...
Add simple key based time nudging support to editor
2021-04-22 21:14:51 +09:00
Dean Herbert
a5364b224f
Add simple key based time nudging support to editor
2021-04-22 18:47:04 +09:00
Dean Herbert
1884c18a2c
Ignore movement operations which have no offset
2021-04-22 18:12:03 +09:00
Dean Herbert
9d8f0c854d
Setup configuration item for editor hit animations
2021-04-21 18:05:40 +09:00
Dean Herbert
c6c91cd9a5
Refactor WaveformOpacityMenuItem
to not receive whole config
2021-04-21 18:05:26 +09:00
Dean Herbert
26430e3cb5
Merge pull request #12492 from Naxesss/bg-audio-quality-checks
...
Add background and audio checks
2021-04-21 00:10:32 +09:00
Naxess
3e1b6b3b34
Simplify verifier run call args
...
Uses the resolved working beatmap instead of resolving it every time.
Also uses the EditorBeatmap itself as playable beatmap, as it is of type `IBeatmap` already, and `.PlayableBeatmap` forwards everything anyway.
2021-04-20 13:34:12 +02:00
Naxess
496df411a7
Remove now unused import
2021-04-20 02:39:11 +02:00
Naxess
0e6b66f457
Merge branch 'master' into bg-audio-quality-checks
2021-04-20 02:36:13 +02:00
Naxess
8656176ab8
Add the playable beatmap as check argument
...
This is different from the working beatmap's `.Beatmap` property in that it is mutated by the ruleset/editor.
So hit objects, for example, are actually of type `Slider` and such instead of the legacy `ConvertSlider`.
This should be preferred over `workingBeatmap.Beatmap`.
2021-04-20 01:31:51 +02:00
Bartłomiej Dach
0825fc57a9
Move foreground colour helper into OsuColour
2021-04-19 18:24:48 +02:00
Bartłomiej Dach
97573fb11d
Merge branch 'master' into combo-colours-display
2021-04-19 18:21:57 +02:00
Dean Herbert
a40dcd4b8d
Add a touch more space in the timing column
2021-04-19 18:53:06 +09:00
Dean Herbert
097a347533
Adjust Add different background colour for timing area
2021-04-19 18:25:30 +09:00
Dean Herbert
5bce5d2057
Update design logic
2021-04-19 18:25:20 +09:00
Dean Herbert
1ebc5ac5cc
Remove unused legacy class
2021-04-19 16:36:00 +09:00
Dean Herbert
8da561a2a6
Soften colours and adjust padding slightly
2021-04-19 16:35:36 +09:00
Dean Herbert
f8b20ca8aa
Add new display for effect row attribute
2021-04-19 16:35:36 +09:00
Dean Herbert
ec249a0edb
Add new display for sample row attribute
2021-04-19 16:23:28 +09:00
Dean Herbert
6465a72060
Add bubbled word class for use in attribute rows
2021-04-19 16:23:28 +09:00
Dean Herbert
3aad0a8b9c
Add new display for difficulty row attribute
2021-04-19 16:23:06 +09:00
Dean Herbert
d3cebfb6fb
Use explicit label
2021-04-19 16:23:06 +09:00
Dean Herbert
a10a8680d0
Add new display for timing row attributes
2021-04-19 16:23:06 +09:00
Dean Herbert
f4baff9e04
Make TimingScreen
use rounded screen and adjust spacing/padding
2021-04-19 14:35:35 +09:00
Dean Herbert
e143afb598
Split out rounded content screen from SetupScreen for use in other places
2021-04-19 14:28:32 +09:00
Dean Herbert
513e470b52
Adjust grid spacing to allow attributes to use more width
2021-04-19 13:24:53 +09:00
Dean Herbert
0c918410d0
Make "add" button more visible
2021-04-19 13:15:24 +09:00
Dean Herbert
658c23c925
Give more space to the parameter adjustment area
2021-04-19 13:15:17 +09:00
Bartłomiej Dach
6f2ebb20a7
Fix test failing due to null beatmap skin
...
Also annotate the field on `EditorBeatmap` as nullable for future
travelers.
2021-04-18 20:46:42 +02:00
Bartłomiej Dach
07a00cd681
Add colours section with combo colour display
2021-04-18 20:46:42 +02:00
Bartłomiej Dach
a8027d87b6
Fix unreadable colour hex code text due to low contrast
...
Logic is shared with the timeline blueprints which also have the same
problem of displaying text on top of a combo colour.
Slightly modified the formula. Seems to yield better results on a
subjective check.
2021-04-18 20:44:55 +02:00
Dean Herbert
cfc7664094
Use full path
2021-04-18 21:05:23 +09:00
Dean Herbert
e76565dbc5
Fix selection box not displaying after pasting a selection in the editor
...
Closes #12471 .
2021-04-18 20:28:39 +09:00
Naxess
ef65c8910f
Fix resolved fields
2021-04-18 01:15:13 +02:00
Naxess
400f8b3938
Add GetStream
to IWorkingBeatmap
...
This is necessary to obtain the filesize of the audio and background files.
2021-04-17 17:47:13 +02:00
Naxess
448574e7e6
Use WorkingBeatmap
instead of IBeatmap
...
This lets us access things like the background, track, etc. which are necessary for quality and filesize checks.
Also improves the structure of the `CheckBackgroundTest` class in the process.
2021-04-17 17:33:53 +02:00
Dean Herbert
d9d50f0e88
Add border showing selected blueprints in timeline
2021-04-16 18:16:22 +09:00
Dan Balasescu
3c8e2b8b32
Merge branch 'master' into fix-potential-deselection-crash
2021-04-16 16:27:47 +09:00
Dan Balasescu
d3acbcced7
Merge pull request #12437 from peppy/fix-editor-placement-commit-false
...
Fix placement blueprints not being correctly removed after a rolled back placement
2021-04-16 16:25:05 +09:00
Dean Herbert
c59906e925
Fix an occasional crash when deleting a HitObject via internal means
2021-04-16 15:55:33 +09:00
Dean Herbert
119c9b4294
Fix placement blueprints not being correctly removed after a rolled back placement
2021-04-16 14:11:33 +09:00
Dean Herbert
42c066e6f2
Fix slider not displaying in timeline during zero-duration placement
2021-04-16 13:38:55 +09:00
Dean Herbert
c2340f1fe8
Move zoom settings back to run in a non-loaded state
2021-04-16 01:01:03 +09:00
Dean Herbert
15d48a924b
Set the timeline's height to a sane non-zero default
...
This isn't required but makes the initial appearance animation nicer.
2021-04-16 00:58:32 +09:00
Dean Herbert
7cf15fe729
Merge pull request #12412 from peppy/timeline-adjustments
...
Update timeline control point display
2021-04-15 22:43:26 +09:00
Andrei Zavatski
71b06d7e61
Simplify ExtendableCircle even more
2021-04-15 15:53:21 +03:00
Dan Balasescu
7beaf0ce55
Merge branch 'master' into timeline-adjustments
2021-04-15 21:51:00 +09:00
Dean Herbert
ad671ee07a
Merge branch 'master' into timeline-adjustments
2021-04-15 20:42:38 +09:00
Dean Herbert
0dc1577f68
Split out control point visualisation logic and add special kiai duration handling
2021-04-15 18:42:30 +09:00