1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 10:27:35 +08:00
Commit Graph

2647 Commits

Author SHA1 Message Date
OliBomby
c23a7b014e add missing } 2023-04-25 18:17:07 +02:00
OliBomby
065464d90c Fixed DifficultyPointPiece 2023-04-25 18:12:53 +02:00
Dean Herbert
9f4b1f0f24 Always round editor rotation to integer values 2023-04-20 14:30:01 +09:00
Bartłomiej Dach
73bd0feef5
Fix incorrectly implemented localisation 2023-04-10 15:03:33 +02:00
Bartłomiej Dach
6fec476147
Simplify snap implementation 2023-04-10 14:55:30 +02:00
cdwcgt
ce6a87b4a3
Merge remote-tracking branch 'upstream/master' into export 2023-04-09 15:02:47 +09:00
Dean Herbert
8d2e852ffd Fix overbearing key down handling 2023-04-08 22:30:36 +09:00
Dean Herbert
a1fc4def1d Remove redundant method override 2023-04-08 22:18:07 +09:00
Micha Lehmann
3c4a25e53f Fix tooltip text not resetting when ending an editor rotation 2023-04-08 14:28:52 +02:00
Micha Lehmann
580d5745c0 Add "(snapped)" to the tooltip when snap-rotating in the editor 2023-04-08 14:15:49 +02:00
Dean Herbert
f72dd86b42 Fix code quality issues and avoid updating bindable twice per operation 2023-04-08 10:40:36 +09:00
Micha Lehmann
c827c2810b Improve editor selection rotation value wrapping
This fixes two issues the previous algorithm had:
1.  A half-turn rotation used to show up as -180°.
2.  Rotating more than 180° in one drag event would overwhelm it
    and cause the value to go outside its range.

This comes at the cost of a negligible performance hit,
since a division (modulo) is performed instead of just addition/subtraction.
2023-04-08 01:30:29 +02:00
Micha Lehmann
f1de560d57 Snap editor selection rotation when holding shift 2023-04-08 01:30:29 +02:00
Dean Herbert
e31a90e043 Don't cycle selection when more than one items are selected 2023-03-21 21:31:10 +09:00
Dean Herbert
1cf870d956 Add test coverage and fix fail case where a drag selection ends incorrectly with cyclic selection 2023-03-15 15:16:48 +09:00
Dean Herbert
6546f5968a Merge branch 'master' into skin-editor-cyclic-selection 2023-03-14 20:43:56 +09:00
Dean Herbert
4f7be332f3 Revert isDraggingBlueprint to field 2023-03-08 19:24:03 +09:00
Dean Herbert
245c3c025c Refactor endClickSelection to reduce nesting 2023-03-08 19:23:32 +09:00
Bartłomiej Dach
72695f7c90
Merge branch 'master' into omit-barline-in-timing-control-point 2023-03-07 22:46:24 +01:00
Dean Herbert
21bdbb20e6 Add optional support for cyclic selection to BlueprintContainer 2023-03-07 14:22:12 +09:00
mk56-spn
908651cc11 make ResetConfirmDialog properly utilise its parent's logic
Adjust name of `DeleteAction` to `DangerousAction`
2023-03-05 20:57:26 +01:00
Dean Herbert
6ff1fb6b1a Adjust sizing to allow for timing point information now being longer than before 2023-03-02 18:57:54 +09:00
Dean Herbert
044b0604b2 Move OmitFirstBarLine to TimingControlPoint 2023-02-28 19:29:31 +09:00
mk56-spn
90227a6496 Rename DeleteConfirmationDialog.cs into DangerousActionDialog.cs 2023-02-27 21:57:59 +01:00
Bartłomiej Dach
1ba1298850
Merge branch 'master' into blueprint-improve-visuals 2023-02-19 15:55:30 +01:00
Bartłomiej Dach
d9ca7102f0
Use more generic wording for future-proofing 2023-02-19 15:06:40 +01:00
Maximilian Kruse
723a043c43 naming change from Hitobject to HitObject 2023-02-19 10:18:22 +01:00
Maximilian Kruse
ddd37bb319 Add setting to disable automatic seeking after object placement 2023-02-18 19:43:45 +01:00
cdwcgt
e84e011d5d Merge branch 'master' into export 2023-02-17 22:15:19 +09:00
Dean Herbert
16d94b4ea2 Improve visuals of skin blueprint 2023-02-17 18:19:46 +09:00
Joseph Madamba
cb51b9e350 Use existing ModdingBeatmap activity 2023-02-12 15:01:50 -08:00
Joseph Madamba
bbeef53569 Add TestingBeatmap activity 2023-02-12 13:11:42 -08:00
Joseph Madamba
afb66d8af4 Make user activity class names more specific 2023-02-12 12:32:17 -08:00
Bartłomiej Dach
a3cc0d23b3
Fix typo in xmldoc 2023-02-11 16:26:32 +01:00
Dean Herbert
6d876fdb9a Automatically select the closest timing point on entering the timing screen 2023-02-10 17:48:56 +09:00
Dean Herbert
03e623d1d2 Move ControlPointList to own file 2023-02-10 17:37:31 +09:00
Dean Herbert
e162fd56da Change the way initial state saving works in EditorChangeHandler to be closer to first change 2023-02-07 16:22:51 +09:00
Dean Herbert
e4b17588f5 Add missing xmldoc to new methods in EditorChangeHandler 2023-02-06 14:11:40 +09:00
Dean Herbert
10ab4d572a Merge branch 'master' into skin-editor-undo-support 2023-02-06 13:46:50 +09:00
Bartłomiej Dach
63f7d326c2
Merge branch 'master' into fix-editor-positional-nudge-undo 2023-02-03 21:31:05 +01:00
Dean Herbert
2cda277c09 Add a basic change handler to the skin editor 2023-02-03 18:57:50 +09:00
Dean Herbert
3345e34544 Move beatmap specific logic out of EditorChangeHandler 2023-02-03 17:53:54 +09:00
Dean Herbert
b437501b0f Fix beatmap editor positional nudging not being undoable 2023-02-03 17:28:58 +09:00
Dean Herbert
554f14151c Apply NRT to EditorChangeHandler 2023-02-03 17:13:24 +09:00
Dean Herbert
b19047b90b Fix skin editor component list having uneven padding 2023-02-03 16:55:51 +09:00
Bartłomiej Dach
7483967157
Merge branch 'master' into SliderEnd-Snap 2023-01-23 21:33:16 +01:00
Bartłomiej Dach
1f40b2daf6
Clean up xmldocs 2023-01-23 21:22:18 +01:00
Wleter
f8d8a627b8 change property name 2023-01-18 22:00:39 +01:00
Wleter
40e99069fc fix typos and newlines 2023-01-18 21:43:09 +01:00
Wleter
ab78dd0436 add collection of selection points. 2023-01-18 21:34:23 +01:00
Wleter
c9375c056e revert back name change 2023-01-18 15:54:24 +01:00
Dean Herbert
ecb4727aec Fix formatting issues 2023-01-18 17:33:14 +09:00
Wleter
788033e1b8 fix unnecessary newline 2023-01-17 21:13:54 +01:00
Wleter
b8e6a2d87b filter currentEndPointPositions 2023-01-17 20:41:49 +01:00
ansel
00acea59fc Move some strings to common 2023-01-15 19:37:40 +03:00
ansel
5d2e09137c Remove text padding in editor menu for now 2023-01-15 14:40:53 +03:00
ansel
8777d5349b Use existing strings 2023-01-15 14:39:34 +03:00
ansel
87650044bb Localise create/save dialog 2023-01-15 01:50:47 +03:00
ansel
78e562903d Localise part of editor 2023-01-15 01:50:47 +03:00
ansel
24df23f420 Localise background header 2023-01-15 01:49:19 +03:00
ansel
76eefc7573 Add support for localisation where it was missing 2023-01-15 01:46:11 +03:00
ekrctb
e610d19d55
Merge branch 'master' into 18469 2023-01-14 19:53:08 +09:00
ansel
f70dedfd17 Enable nullability for design screen 2023-01-14 02:24:48 +03:00
ansel
4b42240fba Enable nullability for setup screen 2023-01-14 02:24:28 +03:00
ansel
78adaa9b03 Enable nullability for timing screen 2023-01-14 02:23:21 +03:00
Dylan Nantz
6028abff39 Code Quality 2023-01-13 10:16:52 -05:00
Dylan Nantz
5dd0aaccef Merge branch 'master' of https://github.com/ppy/osu into 18469 2023-01-13 09:54:29 -05:00
Dylan Nantz
e38075c4ef Use PlacementState to check juice stream placement 2023-01-13 09:37:23 -05:00
ansel
2365b065a4 Enable nullability for editor components 2023-01-12 18:07:54 +03:00
Wleter
98ffcd33c7
Merge branch 'ppy:master' into SliderEnd-Snap 2023-01-10 21:22:13 +01:00
Wleter
88060a3ea0 add snapping for slider's end 2023-01-10 21:21:09 +01:00
Bartłomiej Dach
e08b7c615b
Merge branch 'master' into wcd-length-fix 2023-01-08 19:44:12 +01:00
Bartłomiej Dach
9fd305a970
Merge branch 'master' into editor-bg-refresh 2023-01-08 18:57:04 +01:00
ansel
aaeb43fbb2 Return older file if new one is null 2023-01-07 18:15:57 +03:00
Salman Ahmed
a65466bdac
Merge branch 'master' into previewTime 2023-01-07 15:07:09 +03:00
Salman Ahmed
abca13eb6c Rewrite visualisation piece to bind once and without potential event leak 2023-01-07 14:40:15 +03:00
Salman Ahmed
904c76e437 Use sane BeatmapInfo for preview time mutation
`EditorBeatmap.BeatmapInfo` is usually the correct instance for mutating
properties that should persist in the database.
2023-01-07 14:23:36 +03:00
ansel
b47cef838c Nullability 2023-01-07 03:08:02 +03:00
ansel
167ac8b5dd Fix editor object being requered 2023-01-07 03:03:52 +03:00
ansel
9364c7775d Refresh background on file change in editor 2023-01-06 19:26:30 +03:00
ansel
e90c698e62 Fix WCD does not take into account start time of control points 2023-01-06 16:35:39 +03:00
Dean Herbert
c0cfa66510
Merge pull request #21754 from Feodor0090/waveform-invalidate
Reload waveform on track replacement in editor
2023-01-06 19:57:27 +08:00
ansel
c6e2104ec2 Refresh waveforms instead of recreating the whole component 2023-01-06 03:46:49 +03:00
Bartłomiej Dach
b689ad6d80
Fix changing preview point not prompting for save 2023-01-01 19:54:26 +01:00
Bartłomiej Dach
efdd557f3b
Adjust binding logic 2023-01-01 19:45:23 +01:00
Bartłomiej Dach
452ebddfd2
Adjust visual appearance of preview time part
- Use slightly different hue of green to distinguish from difficulty
  control points. The colour is still not ideal, but picking
  a distinctive enough hue is pretty hard.

- Place the preview time part at the bottom rather at the top.
  Not sure why it was at the top; not only could it overlap with the
  control points, but it also looked quite badly misaligned there
  when bookmarks were displayed at the bottom.
2023-01-01 19:42:55 +01:00
Bartłomiej Dach
a82f1a6abd
Adjust method naming and copy 2023-01-01 18:50:47 +01:00
Bartłomiej Dach
0e59b55a12
Merge branch 'master' into previewTime 2023-01-01 18:38:19 +01:00
cdwcgt
23c485c763
readonly 2022-12-30 22:59:56 +09:00
cdwcgt
a91da2284d
safe way to pass bindable 2022-12-30 22:58:46 +09:00
Berkan Diler
c7ca4bbba5 Use generic Enum methods 2022-12-26 20:36:39 +01:00
ansel
f25439e359 Move track change subscription to LoadComplete 2022-12-23 01:54:49 +03:00
Salman Ahmed
0cb9b79834 Fix ZoomableScrollContainer potentially not updating content width on setup 2022-12-23 00:56:38 +03:00
Salman Ahmed
30de9ba795 Dispose previous waveform on track reload 2022-12-23 00:35:59 +03:00
ansel
20370bd5ae Invalidate waveform on track load 2022-12-22 20:49:09 +03:00
ansel
d0645ce151 Rewrite waveform invalidation 2022-12-22 15:59:51 +03:00
ansel
f2e8776529 Bind to clock instead of music controller 2022-12-22 15:35:53 +03:00
ansel
a18ece8610 Listen for track reload in timing screen 2022-12-22 01:24:23 +03:00
ansel
7089bb6c23 Listen for track reload in timeline 2022-12-22 01:23:59 +03:00
ansel
66a02374da Clear cached waveform on track change in editor 2022-12-22 01:23:24 +03:00
Dean Herbert
4a7d7c6ed9 Use MaxBy in all locations that can and update inspection level to match dotnet-build 2022-12-19 16:47:10 +09:00
Dean Herbert
ba54551313 Merge branch 'master' into guard-url-protocols 2022-12-16 18:23:16 +09:00
Dean Herbert
27c497145f Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0 2022-12-16 18:16:26 +09:00
cdwcgt
a4d28aff6d
fix typo 2022-12-16 10:48:56 +09:00
cdwcgt
79e27c2d9d
PreviewTimePart will not show if preview time is -1 2022-12-16 10:44:07 +09:00
cdwcgt
f0246df1a9
only get; 2022-12-16 09:58:58 +09:00
cdwcgt
c164744064
Add ability to set preview time 2022-12-16 01:03:30 +09:00
Dean Herbert
b8904fe747 Move ImportParameters to better home 2022-12-13 21:41:26 +09:00
Dean Herbert
cb16d62700 Hook up ImportParameter flow with IModelImporter caller methods 2022-12-13 21:29:32 +09:00
cdwcgt
e02b8cb199
Group export methods into their respective managers 2022-12-11 18:30:24 +09:00
cdwcgt
a1fc33668c
Merge branch 'master' into export 2022-12-09 23:40:26 +09:00
Dean Herbert
5a69656764
Merge pull request #21496 from peppy/fix-zero-length-spinners
Fix being able to place zero-length spinners
2022-12-02 19:25:00 +09:00
Dan Balasescu
850931120d
Merge pull request #21479 from peppy/fix-wrong-last-hit-object-time
Fix some components not accounting for final hold notes in osu!mania beatmaps
2022-12-02 18:12:00 +09:00
Dean Herbert
d1296a22ce Update timeline blueprint's end time logic to better match new blueprint implementation 2022-12-02 17:57:15 +09:00
Dan Balasescu
a39bd634c4
Merge pull request #21405 from LumpBloom7/Editor-DrawableRuleset-Dependencies
Provide DrawableRulesetDependencies from HitObjectComposer
2022-12-02 17:31:31 +09:00
Dan Balasescu
d684aa75b8
Merge pull request #21477 from peppy/fix-mania-timeline-blueprint-colour
Fix osu!mania editor timeline showing bright-white blueprints
2022-12-02 16:55:29 +09:00
Dean Herbert
a2db0afe19 Avoid querying GetLastObjectTime twice in editor seek flow 2022-12-02 16:07:24 +09:00
Dean Herbert
8cf89fcb81 Use Highlight1 instead of dull grey 2022-12-02 15:30:47 +09:00
Dean Herbert
896f2d8f74 Fix multiple instances of last hitobject time being calculated incorrectly 2022-12-01 18:04:06 +09:00
Dean Herbert
f34a79b1a9 Set a better default colour for timeline blueprints when no colour information is available 2022-12-01 17:03:53 +09:00
Dean Herbert
bbf023cf68 Fix incorrect culture used when parsing timeline popup textbox content 2022-12-01 16:12:29 +09:00
Derrick Timmermans
5c8fce1c08
Remove extra blank line 2022-11-30 13:05:14 +01:00
Derrick Timmermans
6a61e70766
Expose Ruleset from HitObjectComposer instead 2022-11-30 12:17:58 +01:00
Dean Herbert
4215f4f5d7 Merge branch 'master' into Editor-DrawableRuleset-Dependencies 2022-11-30 17:42:46 +09:00
Dean Herbert
2a3b24d058 Avoid need for implicit null casting 2022-11-30 14:21:04 +09:00
Dean Herbert
0659c84341 Rename method to be more in line with project naming 2022-11-30 14:17:49 +09:00
Jai Sharma
7dbf379351 Don't use verbatim string literals 2022-11-29 18:22:07 +00:00
Derrick Timmermans
70c320b2e8
Provide ruleset dependencies only to Compose Placement Blueprints 2022-11-27 21:43:33 +01:00
Jai Sharma
218c04c174 Code quality 2022-11-27 03:23:08 +00:00
Jai Sharma
6000e14668 Correctly select issue row 2022-11-27 03:08:54 +00:00
Jai Sharma
3c56b9c93a Add OnRowSelected event to EditorTable 2022-11-27 02:47:54 +00:00
Jai Sharma
792334a190 Move Control Group timing data into it's own component 2022-11-27 02:47:02 +00:00
Jai Sharma
b6d7bec240 Remove #nullable disabled from EditorTable and it's derived classes 2022-11-27 02:45:56 +00:00
Jai Sharma
1a914d0df7 Remove #nullable disable from TimingScreen 2022-11-27 02:43:22 +00:00
Bartłomiej Dach
894ef15e79
Merge branch 'master' into update-framework 2022-11-26 16:19:36 +01:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Bartłomiej Dach
fca3e7e39f
Merge branch 'master' into editor-seek-control-points 2022-11-24 21:53:47 +01:00
Dean Herbert
37f725bfa2 Reverse directionality of up/down traversal keys to match scroll 2022-11-24 13:55:58 +09:00
Bartłomiej Dach
30f9cc46a7
Protect offset and bpm adjustments from null selection too 2022-11-23 17:25:43 +01:00
Dean Herbert
9b9b8a5977 Add ability to seek between control points in editor using down/up arrows
Matches stable. Addresses #21376.
2022-11-23 15:59:32 +09:00
Dean Herbert
d146f86511 Fix crash when hitting 'T' to tap timing while no timing point is selected 2022-11-23 15:39:56 +09:00
cdwcgt
e37d30a373
refactor based on reviews
removed LegacyExportManager

Separated the method of CreateZip method and the default export method
2022-11-21 18:58:01 +09:00
Bartłomiej Dach
1269afd0c5
Merge pull request #21307 from frenzibyte/disable-scroll-speed-on-osu
Hide scroll speed control from effects section on rulesets which don't support it
2022-11-20 16:17:55 +01:00
Salman Ahmed
4b0ba86bd0 Identify scrolling rulesets using temporary DrawableRuleset instances 2022-11-20 04:12:52 +03:00
Bartłomiej Dach
c05c1625f2
Merge branch 'master' into editor-test-play-dont-retain-test-time 2022-11-19 12:09:04 +01:00
Salman Ahmed
60c424837b
Merge branch 'master' into disable-scroll-speed-on-osu 2022-11-19 12:13:45 +03:00
Salman Ahmed
2e3af97892 Remove unused using 2022-11-19 12:13:36 +03:00
Salman Ahmed
290369db47 Hide scroll speed slider on rulesets which don't support it 2022-11-19 06:42:27 +03:00
Salman Ahmed
016de2f5a0 Fix editor not always playing hitsounds with clock offsets applied 2022-11-19 05:15:22 +03:00
cdwcgt
4e457871f3
impossible null and remove storage 2022-11-19 01:03:22 +09:00
cdwcgt
4b29941b47
add LegacyExportManager 2022-11-18 20:00:00 +09:00
Salman Ahmed
90cd386323 Fix timeline potentially scrolling at extents while not dragging 2022-11-18 09:43:16 +03:00
Dean Herbert
a4e713a61f When returning to the editor after test play, use the original editor time rather than the point of exit 2022-11-17 12:36:24 +09:00
Dean Herbert
bfcd9e0f45 Don't seek to current editor location when location is close to (or before) the first object 2022-11-17 12:32:35 +09:00
Salman Ahmed
7a28a7f2a0 Move IGameplaySettings override to compose screen to keep test mode unaffected 2022-11-17 01:45:16 +03:00
cdwcgt
e1a21e0cf9
create a task to export to avoid block main thread
Code quality and remove some #nullable disable
2022-11-17 01:08:06 +09:00
Dean Herbert
ee6fffec5f Fix combo colour normalisation setting not applying to editor test play 2022-11-16 17:54:49 +09:00
Dan Balasescu
db25e9e9c8 Merge branch 'master' into combo-colour-brightness-limit 2022-11-11 15:31:28 +09:00
Dan Balasescu
94772a9cda
Merge pull request #21147 from peppy/fix-timeline-editor-crash
Fix editor hard crash when beatmap file specified out-of-range timeline zoom value
2022-11-10 22:59:55 +09:00
Dan Balasescu
606d42c679
Merge pull request #21184 from peppy/skinnable-things-cleanup
Skinnable class naming pass
2022-11-10 12:52:08 +09:00
Dan Balasescu
051f7f4c68
Merge pull request #21173 from peppy/toggle-hit-markers
Add the ability to toggle off hit marker displays in the editor
2022-11-10 12:23:53 +09:00
Dean Herbert
3547c04002
Merge branch 'master' into skinnable-things-cleanup 2022-11-10 12:09:32 +09:00
Dean Herbert
1aa0e40f2f Add "Component" prefix to lookup naming 2022-11-09 17:46:43 +09:00
Dean Herbert
c908969d9b Rename ISkinComponent to ISkinLookup 2022-11-09 17:46:43 +09:00
Dean Herbert
4457648b1c Fix editor playing too many sounds when user performs a manual seek during playback 2022-11-09 17:42:33 +09:00
Dean Herbert
4448fcb3c8 Override combo colour brightness normalisation setting only in editor 2022-11-08 18:29:10 +09:00
Dean Herbert
ada039151b Add the ability to toggle off hit marker displays in the editor 2022-11-08 18:07:06 +09:00
Dean Herbert
9650ae1329 Limit editor background dim to 75% maximum 2022-11-08 17:20:37 +09:00
Dean Herbert
349d262c18 Remove commented unbind 2022-11-08 17:19:48 +09:00
Dean Herbert
b166e477c2
Merge branch 'master' into editor-background 2022-11-08 17:18:34 +09:00
Dean Herbert
f6d93fcd5a Fix editor hard crash when beatmap file specified out-of-range timeline zoom value 2022-11-07 12:54:02 +09:00
Dan Balasescu
fc191807c6 Fix velocity test failing with no audio device 2022-11-03 13:59:22 +09:00
Dean Herbert
0e502de8b4 Rename field to match usage 2022-11-02 18:04:42 +09:00
Dean Herbert
c3eb0c6330 Merge branch 'master' into editor-background 2022-11-02 17:43:38 +09:00
cdwcgt
9884618290
rename editorDim to editorBackgroundDim 2022-11-02 15:12:15 +09:00
Dean Herbert
2a88409dfe Fix time snap of sliders not matching when SV is not 1.0x
This regressed with https://github.com/ppy/osu/pull/20850 because the
function was used in other places which expect it to factor slider
velocity into the equation.

Rather than reverting, I've added a new argument, as based on the method
naming alone it was hard to discern whether SV should actually be
considered.

The reason for the change in #20850 was to avoid the SV coming in from a
reference object which may not have a correct SV in the first place. In
such cases, passing `false` to the function will give the expected
behaviour.
2022-11-01 15:12:58 +09:00
andy840119
a753369d3e Reuse function TimeAtPosition() and PositionAtTime(). 2022-10-30 17:21:50 +08:00
D.Headley
21d68bfb84 Delete unused button 2022-10-28 16:40:21 +02:00
cdwcgt
6991195d69
let editor dim different from gameplay dim 2022-10-26 15:22:57 +09:00
Dean Herbert
2016d33055 Offset start of distance snap grid drawing if reference object's start time doesn't align
Closes #20938.
2022-10-26 13:11:26 +09:00
Bartłomiej Dach
f5ca447b8e
Rename one more "{duplicate -> clone}" reference 2022-10-25 21:34:41 +02:00
Bartłomiej Dach
bcdf24b972
Merge branch 'master' into add-editor-object-clone 2022-10-25 21:33:52 +02:00
Dean Herbert
4d4f6e25ba Rename to "clone" instead of "duplicate" 2022-10-25 11:43:23 +09:00
Dean Herbert
1e579e06f8 Fix duplicate working incorrectly if there is no selection currently made 2022-10-25 11:42:12 +09:00
cdwcgt
a2682b3ce3
background dim settings for editor
View -> Background Dim

follow `DimLevel` and `BlurLevel`

Co-Authored-By: Dead_Bush_Sanpai <DeadBushSanpai@yandex.com>
2022-10-24 23:55:33 +09:00
cdwcgt
de881cc5cb
useless #nullable disable 2022-10-24 23:17:28 +09:00
Dean Herbert
1d5df15027 Add ability to use Shift+Number to set current beat divisor in editor 2022-10-24 15:20:15 +09:00
Dean Herbert
e72a71a28e Add simple editor "duplicate objects" key binding 2022-10-24 14:01:34 +09:00
Dean Herbert
849b50a38f
Use ToUpperInvariant for added safety
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-10-21 00:16:33 +09:00
Dean Herbert
372a655be1 Ensure placement uses currently selected bank 2022-10-19 21:39:51 +09:00
Dean Herbert
50e24ddd87 Add icon and radio button logic 2022-10-19 21:35:08 +09:00
Dean Herbert
9222cb379f Add sample bank suport to editor selection handler 2022-10-19 20:53:18 +09:00
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 Playfields 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 ctors 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 InvalidOperationExceptions
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
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dean Herbert
7692bac35a Simplify refetch (and ensure to invalidate after processing) 2022-06-24 21:02:38 +09:00
Dean Herbert
f71f6302fd Remove unnecessary null casts 2022-06-24 14:50:11 +09:00
Dean Herbert
ef258122d2 Move GetDifficultyRating helper method to StarDifficulty 2022-06-23 19:51:58 +09:00
Dean Herbert
97fcf8cec9
Merge pull request #18668 from smoogipoo/editor-controlpoint-undo-redo 2022-06-23 04:02:24 +09:00
Jamie Taylor
950551f4fd
Fix metronome arm being stuck white when paused 'close enough' to center 2022-06-22 15:33:42 +09:00
Dean Herbert
b7b7de115f
Merge pull request #18744 from nekodex/new-metronome-sfx
New audio feedback for metronome
2022-06-21 17:16:41 +09:00
Dean Herbert
7d988da2c7
Merge pull request #18788 from peppy/editor-seek-constant-while-playing
Change editor seek-while-playing modifier to be BPM agnostic
2022-06-21 15:28:46 +09:00