1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 22:22:55 +08:00
Commit Graph

800 Commits

Author SHA1 Message Date
Bartłomiej Dach
b6e3e42445
Merge branch 'master' into bspline-sliders 2023-11-20 12:03:29 +09:00
cs
360864fd7b Hide catmull curve type when possible 2023-11-15 07:45:28 +01:00
cs
520642975b Fix control point hover text and context menu 2023-11-15 07:45:09 +01:00
cs
ceeaf5b67c CI fixes and small tweaks 2023-11-15 07:09:33 +01:00
Thomas Müller-Höhne
90ec6895d1 Automatic red control point generation & corner threshold 2023-11-14 16:53:01 +09:00
cs
fa976a5aa0 Fix code style/quality issues 2023-11-13 08:25:27 +01:00
Thomas Müller-Höhne
e6b4dfba36 Fix doubled control point at beginning of drawn slider 2023-11-13 12:49:59 +09:00
Thomas Müller-Höhne
c24b3543ab Fix OnDragStart on macOS 2023-11-13 12:47:12 +09:00
ratinfx
fab6fc9adb Updated comments, renamed method 2023-11-12 15:09:15 +01:00
ratinfx
4e7c40f1d7 Do Split and Parse before checking HitObjects 2023-11-12 14:58:46 +01:00
cs
54b8244a18 CI Fixup 2023-11-11 15:02:06 +01:00
ratinfx
4e1e19728c Refactor HitObject selection in Composer 2023-11-11 14:02:42 +01:00
cs
3f85aa79c5 Add free-hand drawing of sliders to the editor 2023-11-11 13:33:25 +01:00
Thomas Müller-Höhne
926636cc03 Generalize Bezier curves to BSplines of Nth degree 2023-11-11 13:32:53 +01:00
Dean Herbert
35e11c7c63
Rename diagonal scale variable and update xmldoc 2023-11-10 17:55:02 +09:00
Dean Herbert
ec3b6e47fb
Change selection handling to adjust Size instead of Scale for edge nodes 2023-11-10 14:22:28 +09:00
ratinfx
aa87e0a44d HitObject Selection logic and separation for gamemodes
+ moved time_regex into EditorTimestampParser
2023-11-07 01:36:58 +01:00
Bartłomiej Dach
dcfd6a0a8a
Remove DistancedHitObjectComposer inheritance from osu! composer 2023-10-19 11:46:30 +02:00
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
Dean Herbert
5341a335a6
Bypass Parent nullability checks for now 2023-10-17 17:48:45 +09:00
Dean Herbert
81485c548c Move LegacyLastTickOffset specification to generation code and stop passing everywhere 2023-09-29 14:32:29 +09:00
Dean Herbert
990c54519b
Merge branch 'master' into limit-gameplay-sprite-dimensions 2023-09-26 16:40:32 +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
8e16b1d507 Simplify some maximum size specs 2023-09-20 12:48:15 +09:00
Dean Herbert
1a37543d28 Rename SliderVelocity to SliderVelocityMultiplier to distinguish from Velocity 2023-09-06 19:01:08 +09:00
Bartłomiej Dach
3c191ff9ea
Expand allowable rotation range to [-360, 360] 2023-08-19 15:09:59 +02:00
Dean Herbert
63080d049f Adjust icons slightly 2023-08-17 19:08:18 +09:00
Bartłomiej Dach
19f892687a
Add precise rotation control to osu! editor 2023-08-16 11:37:52 +02:00
Bartłomiej Dach
262f25dce8
Make SelectionRotationHandler a Component 2023-07-30 20:18:33 +02:00
Bartłomiej Dach
821cd08f34
Merge branch 'master' into selection-operations-refactor 2023-07-30 19:29:06 +02:00
Dean Herbert
eac6271bd0 Add new property to avoid overlapping usages 2023-07-25 18:14:03 +09:00
Dean Herbert
2f7d38d98b Merge branch 'master' into fix-editor-blueprint-input-extension 2023-07-25 18:14:02 +09:00
Bartłomiej Dach
aec3ca250c
Migrate SelectionHandler to use SelectionRotationHandler 2023-07-23 20:56:22 +02:00
Bartłomiej Dach
ba904fd77b
Migrate osu! rotation handling to SelectionRotationHandler 2023-07-23 20:56:22 +02:00
Bartłomiej Dach
4622255cc7
Move out helper methods to static class 2023-07-23 18:24:20 +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
4a6a5b174a Fix editor blueprints being selectable for too long when hit markers are enabled
Addresses https://github.com/ppy/osu/discussions/24163.
2023-07-19 14:59:22 +09:00
Dean Herbert
dd8774a640 Vertically centre the editor osu! playfield 2023-07-14 13:21:28 +09: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
95ad18ed2e Reduce the radius of note-to-note snapping in osu! editor
Stable uses `0.15f`, but for whatever reason that feels too large still.

I've ballparked this.

Addresses https://github.com/ppy/osu/discussions/23806.
2023-06-08 17:44:33 +09:00
Salman Ahmed
62cb6a98ca Remove redundant nullable suppression directives 2023-06-07 08:20:41 +03:00
Bartłomiej Dach
e35201cb99
Don't snap non-head slider nodes to distance grid during placement either
1cd69220ef only disabled snapping the
aforementioned nodes to distance grid for already-placed sliders.
`SliderPlacementBlueprint` has its own logic for placement, so the fix
needs to be mirrored there too.
2023-05-26 19:51:20 +02:00
Dean Herbert
1cd69220ef Fix slider path placement snapping non-head nodes to distanced snapping grid
As discussed at https://github.com/ppy/osu/discussions/23531.
2023-05-25 21:41:43 +09:00
Dean Herbert
804671ca74 Split out grid snapping modes into "relative" and "global" types 2023-05-25 21:41:19 +09:00
Dean Herbert
b58ab28765 Make EditorClock non-nullable in PlacementBlueprint 2023-05-17 21:40:52 +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
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
OliBomby
c44f71a737 remove all regular usage of DifficultyControlPoint 2023-04-26 17:55:38 +02:00
OliBomby
9f8d7bccba fix usings 2023-04-26 17:34:02 +02:00
OliBomby
d97daee96b remove all non-test usage of SampleControlPoint 2023-04-26 13:55:39 +02:00
Dean Herbert
45e3e3623b Fix spinners being selectable for too long after they fade in the editor
The actual visual extension is only applied to `HitCircle`s (which does include slider
start / end), and should not be applied to spinners in the first place.

Addresses https://github.com/ppy/osu/discussions/22949.
2023-03-28 18:49:59 +09:00
Bartłomiej Dach
49443f0b55
Inline temporary variable 2023-02-04 14:36:30 +01:00
Bartłomiej Dach
a1343dacc1
Merge branch 'master' into SnapToReverseSlider 2023-02-04 14:14:37 +01:00
Wleter
60f6484073 fix spaces 2023-02-03 16:13:37 +01:00
Wleter
f7f13cb9d9 fix formatting 2023-02-03 16:13:04 +01:00
Wleter
20e220df56 prioritize closest snap position 2023-02-03 16:05:16 +01:00
Wleter
23e9bdd554 check every snap position in blueprint 2023-02-02 14:22:30 +01:00
Dean Herbert
7344d34d5b Move where class specs to next line 2023-01-26 17:12:41 +09:00
Dean Herbert
13937cf555
Merge branch 'master' into stream-tool-2 2023-01-26 16:08:20 +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
Dean Herbert
ecb4727aec Fix formatting issues 2023-01-18 17:33:14 +09:00
Wleter
00f15d19f9 fix double newlines 2023-01-17 21:11:21 +01:00
Wleter
e5863fbaf1 add ScreenSpaceEndPoint field 2023-01-10 21:20:09 +01:00
Wleter
38bb7ac0c7 add fields for path's end location 2023-01-10 21:16:34 +01:00
Dean Herbert
192536643c Fix some more inspections 2022-12-16 20:21:19 +09:00
OliBomby
d458c3a012 Fix variable which didnt get renamed 2022-12-07 10:13:40 +01:00
OliBomby
10b5900710 made PathControlPointVisualiser generic 2022-12-07 10:13:40 +01:00
Dan Balasescu
ee62f3c0d3 Fix test failure
Similar to SliderPlacementBlueprint.
2022-12-02 18:32:43 +09:00
Dean Herbert
45ea183cc3 Fix being able to place zero-length spinners
Also always snap a spinner's end time using beat snap (matches stable).
2022-12-02 17:57:15 +09:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Dean Herbert
12606122e3 Fix sliders not correctly taking on full available length after changing curve type 2022-11-17 13:59:07 +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
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
andy840119
b0673636ca Remove nullable disable annotation in the osu ruleset. 2022-11-05 16:49:55 +08:00
Bartłomiej Dach
23134aea61
Update outdated comment 2022-11-04 19:48:19 +01:00
Dean Herbert
36c08b69fe Fix failing tests 2022-11-04 20:47:49 +09:00
Dean Herbert
20021551bb Fix editor selection behaviour regressions due to new path visualiser optimisation 2022-11-04 19:36:59 +09:00
Dan Balasescu
74f3b9b18d
Merge pull request #20965 from peppy/reduce-slider-blueprint-overhead
Only draw path visualiser when hovered or single slider is selected
2022-10-28 16:01:30 +09:00
Dean Herbert
300ffbb500 Don't bother checking for null editorBeatmap 2022-10-28 14:35:55 +09:00
Dean Herbert
10c658e440
Ensure updateVisualDefinition is called once on load
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-10-28 14:34:24 +09:00
Bartłomiej Dach
d657005ffa
Merge branch 'master' into avoid-unnecessary-path-updates 2022-10-27 20:07:46 +02:00
Dean Herbert
7faf5cd1f6 Fix one more null edge case 2022-10-28 01:20:17 +09:00
Dean Herbert
e582d9d5a8 Remove unused using statements 2022-10-28 01:17:09 +09:00
Dean Herbert
361153f598 Fix nullref in tests due to missing EditorBeatmap dependency 2022-10-27 19:05:50 +09:00
Dean Herbert
39e0362db1 Reduce size of spinner blueprint to better represent gameplay size 2022-10-27 16:15:22 +09:00
Dean Herbert
0c7672e124 Avoid unnecessarily refreshing SliderBodyPiece's path 2022-10-27 16:02:04 +09:00
Dean Herbert
2f172b66cf Block hover if a multi-selection is made to avoid overlapping path visualisers 2022-10-27 14:52:46 +09:00
Dean Herbert
097d310d74 Only draw path visualiser when hovered or single slider is selected 2022-10-27 14:40:14 +09:00
Bartłomiej Dach
4db01fc970
Merge branch 'master' into fix-time-snapping-when-nearby-objects 2022-10-26 23:31:17 +02:00
Bartłomiej Dach
8b8d0c2293
Fix typo in comment 2022-10-26 23:30:14 +02:00
Dean Herbert
d03161ec01 Apply distance snap time component even when nearby object snap kicks in 2022-10-26 14:39:39 +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
2f0283e4d4 Simplify logic with new multi-grid snap support 2022-10-25 14:22:30 +09:00
Dean Herbert
2b850694fa Merge branch 'allow-distance-grid-snap' into grid-momentary-shortcuts 2022-10-25 14:10:45 +09:00
Dean Herbert
02a3f8c17f Allow both distance snap and grid snap to be applied at the same time 2022-10-25 14:09:22 +09:00