1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 07:20:24 +08:00
Commit Graph

815 Commits

Author SHA1 Message Date
Bartłomiej Dach
3ab083b696
Split IPositionSnapProvider from IDistanceSnapProvider
In preparation to remove `DistancedHitObjectComposer`, split off
`IPositionSnapProvider` from `IDistanceSnapProvider`.

`DistancedHitObjectComposer` was not touching `IPositionSnapProvider`'s
only interface member at all, it was just forwarding it for subclasses
to override to their own leisure.
2023-10-19 11:45:24 +02:00
Bartłomiej Dach
7abd7fe658
Remove redundant explicit array type specification 2023-10-17 10:26:02 +02:00
Dean Herbert
4381169a3f
Combine selection and input handling logic for beat snap grids across all rulesets 2023-10-17 17:09:42 +09:00
Dean Herbert
d26d4b8b79
Cache IScrollingInfo at a HitObjectComposer level automatically 2023-10-17 16:42:22 +09:00
Dean Herbert
165cd07428
Persist the state of "show speed changes" between editor sessions
Addresses https://github.com/ppy/osu/discussions/25149.
2023-10-17 16:01:02 +09:00
Dean Herbert
41a8239e49 Remvoe null default for mods which can't be null 2023-09-20 15:27:50 +09:00
Dean Herbert
c6cc858967 Change implementation of "show speed changes" to require explicit ruleset support 2023-09-20 15:27:30 +09:00
Dean Herbert
c5397bdbb3
Merge branch 'master' into mania-edit-disable-sv 2023-09-20 14:23:07 +09:00
Dean Herbert
12611a09f1
Merge branch 'master' into editor/checks/delayed-hitsounds 2023-09-20 14:18:41 +09:00
Dean Herbert
1a37543d28 Rename SliderVelocity to SliderVelocityMultiplier to distinguish from Velocity 2023-09-06 19:01:08 +09:00
tsrk
a4e146ad9b
style: remove usage of HIT_FLOURISH
Unaware clueless usage
2023-09-01 21:02:43 +02:00
tsrk
2e2dcd99a6
fix(AudioCheckUtils): use Path.GetExtension()
To avoid filename escaping
2023-09-01 20:56:54 +02:00
tsrk
5f00d3e2a4
style: convert to using declaration for less nesting 2023-09-01 20:54:02 +02:00
Dean Herbert
37c2b330a2 Move toggle implementation to work on all scrolling rulesets automatically 2023-09-01 19:53:10 +09:00
tsrk
5ecd5142d8
fix(AudioCheckUtils): add license header 2023-08-29 23:27:15 +02:00
tsrk
b3d432b0d5
fix: issue template typo in CheckDelayedHitsounds 2023-08-29 20:15:33 +02:00
tsrk
c1a7ad09b4
style: move common audio utils to separate static class 2023-08-29 20:10:35 +02:00
tsrk
a7a64b57e9
fix: use using statement for waveform auto-disposal 2023-08-29 19:46:19 +02:00
tsrk
a04333c17b
style: use HitSampleInfo.All properties 2023-08-29 19:42:37 +02:00
tsrk
29a46f5b36
style(editor/checks): add issues for delays with no silence 2023-08-25 11:46:09 +02:00
tsrk
4c32e9a479
style: use more rigorous hitsound filtering 2023-08-25 00:37:45 +02:00
tsrk
50dbf564a5
revert: use old wording
This makes more sense wrt to the complete silence thing.

Refs: f7599c5b
2023-08-24 23:52:41 +02:00
tsrk
f7599c5bc4
style: reword 2023-08-24 23:41:56 +02:00
tsrk
273593a0ee
style: typo 2023-08-24 23:25:42 +02:00
tsrk
208e94e9be
style(editor/checks): add type nullability for Stream 2023-08-24 21:33:54 +02:00
tsrk
df55a2f683
style(editor/checks): fix inconsistent argument names 2023-08-24 21:31:28 +02:00
tsrk
a885bf6ebf
feat(editor/checks): check for delayed hitsounds
I really just borrowed the implementation from MapsetVerifier
2023-08-24 21:05:40 +02:00
Bartłomiej Dach
caad931a16
Move comment to more fitting place 2023-07-28 22:10:10 +02:00
Bartłomiej Dach
6d018c08af
Rename Apply{Vertical -> Horizontal}Centering to match common understanding 2023-07-28 22:09:28 +02:00
Dean Herbert
c9155f85ab Fix playfield not taking up full width correclty when not vertically centered 2023-07-28 16:40:14 +09:00
Dean Herbert
deba6e2508 Fix osu!taiko editor playfield missing a piece
Regressed with recent centering changes in https://github.com/ppy/osu/pull/24220
2023-07-27 02:24:10 +09:00
Bartłomiej Dach
57ccf82f34
Merge branch 'master' into song-select-drain-length 2023-07-25 22:40:45 +02:00
Dean Herbert
eac6271bd0 Add new property to avoid overlapping usages 2023-07-25 18:14:03 +09:00
Dean Herbert
9cfe9164fa Add helper method to get drain length (and rename some usages) 2023-07-25 16:58:41 +09:00
Bartłomiej Dach
d7b674bf2b
Merge branch 'master' into verify-breaks 2023-07-22 17:42:55 +02:00
Bartłomiej Dach
699b66be42
Do not reimplement binary sort manually 2023-07-22 17:12:21 +02:00
Dean Herbert
b58354ac64 Fix playfield getting cut off (again) at tall aspect ratios 2023-07-21 15:20:20 +09:00
Dean Herbert
f489dbd7a9 Reduce width of right toolbar ever so slightly (and use more shared constants) 2023-07-21 14:39:15 +09:00
NiceAesth
fa29c25097 Change check to use binary search 2023-07-20 00:32:35 +03:00
NiceAesth
ff529d9df7 Rename variables, fix check message formatting 2023-07-17 20:48:53 +03:00
NiceAesth
3888471148 Add break length and bounds checks 2023-07-16 23:03:21 +03:00
Dean Herbert
b20190ed4f Merge branch 'master' into fix-blueprint-end-placement 2023-07-12 17:38:47 +09:00
NiceAesth
1dae1d8f0a Account for break time 2023-07-11 13:40:19 +03:00
Dean Herbert
a0e6748882 Fix slider blueprint placement when ending placement outside the playfield
As mentioned in https://github.com/ppy/osu/discussions/24161
2023-07-11 17:29:53 +09:00
NiceAesth
9a2915f423 Add beatmap minimum length checks 2023-07-10 17:29:49 +03:00
Dean Herbert
df5b389629 Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
Dean Herbert
0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Dean Herbert
1ab3b43b59 Fix weird right-toolbox distance snapping display in osu!catch editor 2023-06-09 14:36:17 +09:00
Dean Herbert
a842f79ad4 Refactor IWorkingBeatmap.Background to GetBackground() 2023-06-08 16:19:32 +09:00
Bartłomiej Dach
53c91349fe
Merge branch 'master' into slider-control-point-no-distance-snap 2023-05-26 19:52:54 +02:00
Bartłomiej Dach
adee624a8f
Change PlacementBlueprint.AutomaticBankAssignment to property
Mostly for consistency.
2023-05-25 21:32:21 +02:00
Dean Herbert
804671ca74 Split out grid snapping modes into "relative" and "global" types 2023-05-25 21:41:19 +09:00
Dean Herbert
3a05dffa50 Add "auto" bank selection during placement 2023-05-24 17:11:12 +09:00
Dean Herbert
a22ad98cb7 Fix hotkeys not actually working 2023-05-24 14:56:11 +09:00
Dean Herbert
298989ffd2 Merge branch 'master' into sample-set-controls 2023-05-24 14:03:04 +09:00
Bartłomiej Dach
afdddb0195
Merge pull request #23582 from peppy/placement-blueprint-timeline-combo-fixes
Fix timeline blueprint display not showing correct combo number / colour during placement
2023-05-20 15:02:55 +02:00
Dean Herbert
ee522253cb Remove a couple of unnecessary volume declarations 2023-05-18 14:12:57 +09:00
Dean Herbert
b58ab28765 Make EditorClock non-nullable in PlacementBlueprint 2023-05-17 21:40:52 +09:00
Dean Herbert
0b25818bd2 Update combo information on placement blueprint 2023-05-17 17:26:19 +09:00
Dean Herbert
e43f2c2c43 Improve previous hitobject lookup efficient and correctness 2023-05-17 17:19:29 +09:00
Dean Herbert
7d7d402d4e Apply NRT to PlacementBlueprint 2023-05-17 17:19:29 +09:00
Dean Herbert
83dcd78826 Make HitSampleInfo.Bank non-nullable 2023-05-16 18:12:56 +09:00
Dean Herbert
0c1959ef2f Allow commiting / undoing placement of blueprints using back / select bindings 2023-05-12 16:06:20 +09:00
Dean Herbert
f443cfb93e Move blueprint validity conditions to allow more correct external usage of EndPlacement
Until now, these were haphazardly enforce inline in blueprint
implementations. The only thing stopping complete breakage is that
`EndPlacement` wasn't called (too much) from outside the blueprint,
leaving them responsible for their own placement.

By moving this conditional out of the provided paramters to
`EndPlacement`, it allows more flexible usage of that method externally.
Coming in a future PR.
2023-05-12 16:02:22 +09:00
Dean Herbert
cc70d89bf9 Move editor inspector classes out of ruleset namespace 2023-05-05 15:57:38 +09:00
Dean Herbert
4663057060 Split out EditorInspector implementation for reuse 2023-05-05 15:54:15 +09:00
Dean Herbert
76b2f0e6dd Show slider velocity in hit object inspector 2023-05-05 15:15:18 +09:00
Dean Herbert
6b017ac05f
Merge pull request #23308 from OliBomby/sample-control-points
Remove SampleControlPoint and DifficultyControlPoint from HitObject
2023-05-03 14:21:51 +09:00
Dean Herbert
67f83f246b Add more padding around playfield in editor to avoid overlap with tool areas
Closes #23130.
2023-05-02 15:37:02 +09:00
Dean Herbert
e3c384c6b5 Merge branch 'master' into sample-control-points 2023-05-02 14:38:39 +09:00
OliBomby
cf5211aec9 Enable current distance snap when exactly on a hit object 2023-05-01 19:22:52 +02:00
OliBomby
2a94757154 Make sure the first object you place has bank and volume 2023-05-01 00:49:01 +02:00
OliBomby
83111223e0 fix null sample 2023-04-30 01:08:52 +02:00
OliBomby
c44f71a737 remove all regular usage of DifficultyControlPoint 2023-04-26 17:55:38 +02:00
OliBomby
ebe1d852f5 remove other usages of hitobject SampleControlPoint 2023-04-25 16:01:43 +02:00
Bartłomiej Dach
60358c7203
Perform first inspector text update immediately
Provides better and more consistent initial state for the inspector.
2023-04-10 14:13:53 +02:00
Bartłomiej Dach
641415ca32
Unify displayed duration format for single/multiple selection 2023-04-10 14:05:32 +02:00
Dean Herbert
ad717d2368 Fix scheduled calls piling up during transactions 2023-04-06 23:39:36 +09:00
Dean Herbert
9c8b25e034 Fix display not always updating when expected by updating on a schedule 2023-04-05 13:45:24 +09:00
Dean Herbert
f07d859532 Optimise how often we update the display 2023-04-04 19:31:33 +09:00
Dean Herbert
3209b09270 Move inspector into own file 2023-04-04 19:17:34 +09:00
Dean Herbert
4aed483005 Tidy up dependency resolution 2023-04-04 19:14:30 +09:00
Dean Herbert
195b5fc3f1 Add view for selections of size != 1 2023-04-04 19:11:48 +09:00
Dean Herbert
b0d5761667 Add object type 2023-04-04 19:05:50 +09:00
Dean Herbert
c356c163fa Add hit object inspector view 2023-04-04 19:03:45 +09:00
Dean Herbert
f9ebdadfe8 Move right-side editor toolbox to base HitObjectComposer
Move right-side editor toolbox to base `HitObjectComposer`
2023-04-04 19:00:56 +09:00
Bartłomiej Dach
d9ca7102f0
Use more generic wording for future-proofing 2023-02-19 15:06:40 +01:00
Bartłomiej Dach
aac32a2c9f
Combine config and time checks into one
Functionally equivalent right now, but the combined variant is more
localised to what it actually needs to do, and less error-prone if
any new code gets appended to the method.
2023-02-19 13:14:51 +01:00
Maximilian Kruse
f3522c4162 change bindable seekToHitObject to private 2023-02-19 10:18:02 +01:00
Maximilian Kruse
ddd37bb319 Add setting to disable automatic seeking after object placement 2023-02-18 19:43:45 +01:00
Joseph Madamba
191259c050 Use equals instead and update other usage 2023-02-04 19:58:48 -08:00
Dean Herbert
b792dc3af0
Merge pull request #22281 from cdwcgt/editor-check-previewtime
Add preview time setting check
2023-02-02 15:10:06 +09:00
Dean Herbert
5b3d7a8f26 Fix typo in missing-preview-point message 2023-02-02 14:34:59 +09:00
Dean Herbert
c2cde8361a Fix message not reading well 2023-02-02 14:33:41 +09:00
Dean Herbert
3a861fd943 Remove multiple cases of excess braces 2023-02-02 14:28:21 +09:00
cdwcgt
76296eb35a Consistent with BeatmapsetVerifier 2023-02-01 11:52:14 +08:00
Bartłomiej Dach
1f40b2daf6
Clean up xmldocs 2023-01-23 21:22:18 +01:00
cdwcgt
5afb733fb2
change IssueTemplatePreviewTimeConflict's text 2023-01-23 15:26:28 +09:00
Dean Herbert
73f083a316 Refactor how additional points are provided to avoid confusion 2023-01-23 14:13:46 +09:00
Wleter
f8d8a627b8 change property name 2023-01-18 22:00:39 +01:00
Wleter
ab78dd0436 add collection of selection points. 2023-01-18 21:34:23 +01:00
cdwcgt
e5eab72aeb
add check for preview time setting 2023-01-19 01:08:37 +09:00
Wleter
e5863fbaf1 add ScreenSpaceEndPoint field 2023-01-10 21:20:09 +01:00
Dean Herbert
ba99f1288c Update IBeatSnapProvider documentation to mention the pre-divided BeatSnap 2022-12-02 17:57:15 +09: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
Derrick Timmermans
93ba84e5ff
Fix code style 2022-11-27 21:48:44 +01:00
Derrick Timmermans
70c320b2e8
Provide ruleset dependencies only to Compose Placement Blueprints 2022-11-27 21:43:33 +01: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
Dean Herbert
76e9382e0b Fix triangles showing on ExpandableButtons when in contracted state 2022-11-25 20:18:35 +09:00
Derrick Timmermans
65e5c9a3ae
Dispose DrawableRulesetDependencies in HitObjectComposer 2022-11-25 08:27:22 +01:00
Derrick Timmermans
7b620392fe
Provide DrawableRulesetDependencies from HitObjectComposer 2022-11-24 13:13:45 +01: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
e02c477008
Merge pull request #21017 from andy840119/remove-nullable-disable-in-the-checks
Remove nullable disable in the checks.
2022-11-06 18:39:03 +09:00
Dean Herbert
29bc653d24 Remove incorrect double multiplication and add missing test coverage 2022-11-01 17:17:54 +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
a1a9238bd1 Use empty string instead of null because issue template not accept null. 2022-10-30 16:31:07 +08:00
andy840119
505ec800da File name should be nullable. 2022-10-30 16:29:54 +08:00
andy840119
db48a57fa7 Remove nullable disable annotation in some checks class. 2022-10-30 16:28:49 +08:00
andy840119
24c27e62f6 Remove nullable disable annotation in the issue and issue template-related class. 2022-10-30 16:25:15 +08:00
Dean Herbert
6b53ea3400 Enable distance snapping when DS value is changed via user interaction 2022-10-26 13:37:01 +09:00
Dean Herbert
7d59bc6e2f Merge branch 'grid-momentary-shortcuts' into read-current-distance-snap 2022-10-26 13:28:04 +09:00
Dean Herbert
54ae16badc Move distance snap toggle button implementation to DistancedHitObjectComposer 2022-10-26 13:27:23 +09:00
Dean Herbert
8d9a85e9e5
Fix typos in xmldoc
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-10-26 13:14:12 +09:00
Bartłomiej Dach
48057412f5
Merge branch 'master' into grid-momentary-shortcuts 2022-10-25 22:17:08 +02:00
Dean Herbert
2b850694fa Merge branch 'allow-distance-grid-snap' into grid-momentary-shortcuts 2022-10-25 14:10:45 +09:00
Dean Herbert
d0e6bda9ef Stop HitObjectComposer from handling Shift+Number keys 2022-10-24 15:19:36 +09:00
Dean Herbert
f516e32949 Improve UI a bit 2022-10-21 23:35:53 +09:00
Dean Herbert
bb921ff9a7 Fix incorrect current DS value when inside a slider 2022-10-21 23:35:47 +09:00
Dean Herbert
f6de366766 Combine display and button into one control 2022-10-21 23:21:07 +09:00
Dean Herbert
645a84b1d6 Display current distance snap and add button to update to use it 2022-10-21 22:58:36 +09:00
Dean Herbert
7dc03097ff Change distance snap to never account for slider velocity
This is a nuanced detail that was implemented incorrectly from the
outset. When mapping, generally a mapper chooses the distance spacing
with no regard to the SV. It has always been common to have a lower
or higher distance spacing than SV, but with the way the lazer editor
has worked, the SV was multiplied into the distance snap grid display,
incorectly changing its spacing depending on the "reference object"
(which is usually the previous hitobject chronologically).
2022-10-21 21:51:24 +09:00
Dean Herbert
6cdfddea62 Always enable distance spacing when adusting distance space multiplier 2022-10-21 16:10:55 +09:00
Dean Herbert
b9f41611a7 Fix bank potentially being overwritten during placement 2022-10-19 21:48:18 +09:00
Dean Herbert
50e24ddd87 Add icon and radio button logic 2022-10-19 21:35:08 +09:00
Dean Herbert
860214c22a Adjust paddings to feel better now that backgrounds are visible of toolboxes 2022-10-18 14:38:45 +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
Dean Herbert
ccbac08985
Merge pull request #20593 from ekrctb/catch-editor-height
Allow arbitrary height catch editor
2022-10-18 12:10:49 +09:00
Dean Herbert
32c3e35762 Change background colour to a lighter tint to avoid clash with slider bars 2022-10-14 19:38:27 +09:00
Dean Herbert
4d99c7002b Add background behind editor toolbox groups 2022-10-13 16:36:19 +09:00
ekrctb
9247ff3e0a Allow changing scrolling speed in catch editor
Scroll speed is not saved and doesn't affect gameplay.
It is purely a feature for a better visualization.
It is currently bind to scroll speed increase/decrease.
Default F3/F4 crashes with editor shortcuts so it has to be changed.
2022-10-06 18:06:16 +09:00
Dean Herbert
ac99c1ad69 Migrate the majority of existing file lookups to use new extension methods 2022-08-10 16:01:16 +09:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}() 2022-06-24 11:57:45 +02:00
Dean Herbert
bd5037fcad Fix new hitobject placements not taking on the existing sample settings
Similar to velocity / difficulty points, a user expectation is that
volume and sample settings will be transferred to newly placed objects
from the most recent one.

Closes https://github.com/ppy/osu/issues/18742.
2022-06-18 13:49:59 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Bartłomiej Dach
e511c1dfff
Merge branch 'master' into use-normalised-precise-scrolling 2022-05-27 16:55:13 +02:00
Dean Herbert
17206bbebf Update screen padding and colouring to better match new designs 2022-05-24 18:43:22 +09:00
Susko3
88217e0c98 Adjust ScrollDelta usages to account for normalised IsPrecise values 2022-05-23 20:22:27 +02:00